MSP430單片機(jī)實(shí)用技術(shù)講座_13_第9講簡(jiǎn)單的端口_顯示_中斷綜合應(yīng)用_第1頁(yè)
MSP430單片機(jī)實(shí)用技術(shù)講座_13_第9講簡(jiǎn)單的端口_顯示_中斷綜合應(yīng)用_第2頁(yè)
MSP430單片機(jī)實(shí)用技術(shù)講座_13_第9講簡(jiǎn)單的端口_顯示_中斷綜合應(yīng)用_第3頁(yè)
MSP430單片機(jī)實(shí)用技術(shù)講座_13_第9講簡(jiǎn)單的端口_顯示_中斷綜合應(yīng)用_第4頁(yè)
MSP430單片機(jī)實(shí)用技術(shù)講座_13_第9講簡(jiǎn)單的端口_顯示_中斷綜合應(yīng)用_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 MSP430單片機(jī)實(shí)用技術(shù)講座 (13第9講簡(jiǎn)單的端口、 顯示、 中斷綜合應(yīng)用南京航空航天大學(xué)魏小龍本講將結(jié)合定時(shí)器、 端口、 中斷等430資源進(jìn)行綜合應(yīng)用。 具體要求如下 :1.硬件連接硬件連接 (如 圖1 很簡(jiǎn)單, 在P4端口連接 了8只發(fā)光二極管LED0LED7, 在P1端口連接了44鍵盤(pán) (16鍵 。 P1同時(shí)通過(guò)138、 164擴(kuò)展了8位數(shù)碼顯示器。2.軟件要求a 編寫(xiě)掃描鍵盤(pán)軟 件; b編寫(xiě)數(shù)碼管顯示程 序;c 鍵盤(pán)使用中斷編 寫(xiě);dP4連接的發(fā)光二極 管的發(fā)光強(qiáng)度通過(guò)鍵盤(pán)控 制, 共分 16亮度等級(jí) ; e分別控制單個(gè)發(fā)光 二極管 (可對(duì)LED0到LED7進(jìn)行分別控制其亮度 ;

2、 f在數(shù)碼管上顯示每只發(fā)光二極管的亮度, 對(duì)應(yīng)關(guān)系為 :第一只數(shù)碼管顯示的數(shù)值 對(duì)應(yīng)第一只發(fā)光二極管的亮度, 后面依次類推, 第八只數(shù)碼管 顯示的數(shù)值對(duì)應(yīng)第八只發(fā)光二極管的亮度。3.分析 首先編寫(xiě)基本硬件程序, 鍵盤(pán)與數(shù)碼管顯示已經(jīng)在上一講 說(shuō)清楚了, 這里只管調(diào)用就可以了。 發(fā)光二極管顯示也很簡(jiǎn)單, 高電平亮, 低電平熄。 那么如何實(shí)現(xiàn)發(fā)光二極管LED0LED7顯示的亮暗調(diào)節(jié)呢。 先看看 圖2所示的4個(gè)不同信號(hào)a、 b、 c、 d。 假設(shè)它們的周期都 是100Hz, 則這些信號(hào)送發(fā)光二極管后, 我們看不到發(fā)光二極 管的亮與熄, 我們看到的都是亮, 只不過(guò)亮度不一樣而已 (因 為人眼睛的視覺(jué)暫

3、停緣故 。 很顯然, 信號(hào)a 驅(qū)動(dòng)發(fā)光二極管最 暗, 信號(hào)d驅(qū)動(dòng)發(fā)光二極管最亮。 本講所使用的硬件有16只掃 描鍵盤(pán), 我們定義按0號(hào)按鍵顯示最暗, 按F號(hào)按鍵顯示最亮。根據(jù)軟件要求e要求分別控制單個(gè)發(fā)光二極管 (可對(duì)LED0到LED7進(jìn)行分別控制其亮度 , 那么如何實(shí)現(xiàn)呢?我們可以將 亮度數(shù)據(jù)存放在顯示緩存里, 則disbuffer0的數(shù)據(jù)表示LED0的 亮度, 則disbuffer1的數(shù)據(jù)表示LED1的亮度. . . . . . 這樣只要在 顯示緩存中取對(duì)應(yīng)的亮度數(shù)值去控制發(fā)光二極管的顯示就可 以了。數(shù)碼管的顯示方法為 :在顯示緩存中取數(shù)據(jù)移位到驅(qū)動(dòng)對(duì) 應(yīng)數(shù)碼管的74HC164, 并延時(shí)顯

4、示一會(huì)兒。 這一講的硬件共有 8只數(shù)碼管, 需要8次移位與延時(shí)等待, 而亮度等級(jí)有16級(jí), 所 以可以使用兩次移位, 也就是顯示程序再來(lái)一遍, 構(gòu)成16次。 這樣可以將顯示程序作為整個(gè)系統(tǒng)的主程序, 發(fā)光二極管的亮 度控制內(nèi)嵌在顯示程序中, 則要將上一講的顯示程序進(jìn)行改造。 同時(shí)需要注意鍵盤(pán)與顯示程序的兼容性能, 這一講要求鍵盤(pán)使 用中斷, 而顯示與鍵盤(pán)合用口線, 見(jiàn) 圖3、 圖4。因?yàn)槭呛嫌每诰€, 所以在顯示程序中如果改變了鍵盤(pán)中斷 線的狀態(tài)而滿足了中斷條件, 則必然會(huì)進(jìn)入中斷, 因?yàn)镃PU認(rèn) 為是有按鍵了, 從而進(jìn)入了鍵盤(pán)中斷, 所以要避免這種情況。 具 體方法 :在顯示程序中進(jìn)行端口操作

5、之前關(guān)閉中斷, 在端口操作完成之后, 清除端口的中斷標(biāo)志, 然后打開(kāi)中斷。 只有在顯 示的延時(shí)顯示時(shí)間段, 鍵盤(pán)才可能中斷。 這樣就避免了顯示程 序?qū)︽I盤(pán)的干擾, 同時(shí)也實(shí)現(xiàn)了口線的合用。很顯然, 顯示程序可以直接作為整個(gè)程序的主循環(huán)! 圖5是顯示程序的框圖。發(fā)光二極管顯示對(duì)應(yīng)亮度的程序思路 :在顯示程序中每顯圖 2 示一個(gè)數(shù)碼管, 變量con_time增1, 則 在顯示程序的開(kāi)始判斷與控制發(fā)光二 極管的顯示亮度 :如果第一個(gè)發(fā)光二 極管的亮度值為1, 則在顯示程序的 16次循環(huán)中只有第一次亮, 如果第一 個(gè)發(fā)光二極管的亮度值為5, 則在顯 示程序的16次循環(huán)中只有前5次亮, 其它都熄。 顯示程序見(jiàn)本刊網(wǎng)站。系統(tǒng)主程序很簡(jiǎn)單,首先初始 化, 然后主循環(huán) :調(diào)用顯示程序。顯示程序同時(shí)用數(shù)碼管顯示各個(gè) 發(fā)光二極管的亮度等級(jí)值與發(fā)光二極管的不同亮度顯示。 在顯示的延時(shí)中 等待鍵盤(pán)中斷, 輸入?yún)?shù)。 圖 5圖 2程序設(shè)計(jì)主程序利用延時(shí)子程序產(chǎn)生矩 形波序列, 同頻矩形波的個(gè)數(shù)和矩 形波的脈寬通過(guò)中斷服務(wù)程序來(lái)更 新。 中斷服務(wù)程序控制頻率變化的 方向, 即頻率升高和降低交替變化 ; 利用修改T0中斷時(shí)間常數(shù)重裝來(lái)更 新同頻矩形波的延時(shí)時(shí)間 ; 修改參 數(shù)R1來(lái)更新不同頻率矩形波頻率。圖3為其程序流程圖, 在本刊的 網(wǎng)站上給出了源程序, 供讀者參考。系統(tǒng)調(diào)試根據(jù)方案連

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論