實(shí)驗(yàn)四 數(shù)碼管顯示控制_第1頁(yè)
實(shí)驗(yàn)四 數(shù)碼管顯示控制_第2頁(yè)
實(shí)驗(yàn)四 數(shù)碼管顯示控制_第3頁(yè)
實(shí)驗(yàn)四 數(shù)碼管顯示控制_第4頁(yè)
實(shí)驗(yàn)四 數(shù)碼管顯示控制_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

實(shí)驗(yàn)四實(shí)驗(yàn)四 數(shù)碼管顯示控制數(shù)碼管顯示控制 一 實(shí)驗(yàn)?zāi)康囊?實(shí)驗(yàn)?zāi)康?1 熟悉 Keil uVision2 軟件的使用 2 掌握 LED 數(shù)碼管顯示接口技術(shù) 3 理解單片機(jī)定時(shí)器 中斷技術(shù) 二 實(shí)驗(yàn)設(shè)備及儀器實(shí)驗(yàn)設(shè)備及儀器 Keil Vision2 軟件 單片機(jī)開發(fā)板 PC 機(jī)一臺(tái) 三 實(shí)驗(yàn)原理及內(nèi)容三 實(shí)驗(yàn)原理及內(nèi)容 1 開發(fā)板上使用的 LED 數(shù)碼管是四位八段共陰數(shù)碼管 將公共端 COM 接地 GND 其內(nèi)部結(jié)構(gòu)原理圖 如圖 4 1 所示 圖 4 1 共陰四位八段 LED 數(shù)碼管的原理圖 圖 4 1 表明共陰四位八段數(shù)碼管的 位選端 低電平有效 段選端 高電 平有效 即當(dāng)數(shù)碼管的位為低電平 且數(shù)碼管的段為高電平時(shí) 相應(yīng)的段才會(huì) 被點(diǎn)亮 實(shí)驗(yàn)開發(fā)板中 LED 數(shù)碼管模塊的電路原理圖 如圖 4 2 所示 a h SP2 SP1 P0 0 P0 3 P0 4 P0 7 圖 4 2 LED 數(shù)碼管模塊電路原理圖 圖中 當(dāng) P1 0 段控制 有效時(shí) P0 0 P0 7 分別對(duì)應(yīng)到數(shù)碼管的 a h 段 當(dāng) P1 1 位控制 有效時(shí) P0 0 P0 7 分別對(duì)應(yīng)到 DIG1 DIG8 訓(xùn)練內(nèi)容一 輪流點(diǎn)亮數(shù)碼管來檢測(cè)數(shù)碼管是否正常 參考程序 ORG 00H AJMP MAIN MAIN SETB P1 2 LED 流水燈模塊鎖存器的控制位 MOV P0 0FFH 關(guān)閉 LED 燈 CLR P1 2 SETB P1 3 點(diǎn)陣模塊的行控制鎖存器 MOV P0 0 關(guān)閉點(diǎn)陣行 CLR P1 3 MOV A 11111110B 數(shù)碼管 位選信號(hào) 初值 低電平有效 LOOP SETB P1 1 數(shù)碼管位控制鎖存器有效 MOV P0 A CLR P1 1 RL A 形成新的 位選信號(hào) 為選擇下一位數(shù)碼管做準(zhǔn)備 SETB P1 0 數(shù)碼管段控制鎖存器有效 MOV P0 0FFH 數(shù)碼管的所有段點(diǎn)亮 顯示 8 CLR P1 0 CALL DELAY SJMP LOOP DELAY MOV R5 0 延時(shí)子程序 D1 MOV R6 0 D2 NOP DJNZ R6 D2 DJNZ R5 D1 RET END 訓(xùn)練內(nèi)容二 靜態(tài)顯示 0 9 計(jì)數(shù) 參考程序 ORG 00H AJMP MAIN MAIN SETB P1 2 MOV P0 0FFH 關(guān)閉 LED 燈 CLR P1 2 SETB P1 3 MOV P0 0 關(guān)閉點(diǎn)陣行 CLR P1 3 MOV A 11111110B SETB P1 1 MOV P0 A 數(shù)碼管 位選 CLR P1 1 MOV DPTR TABLE 初始化表首地址 LOOP MOV R0 0 顯示數(shù)字從 0 開始 MOV R1 10 顯示數(shù)字個(gè)數(shù) NEXT MOV A R0 MOVC A A DPTR 查表 獲取顯示字型碼 SETB P1 0 數(shù)碼管段控制鎖存器有效 MOV P0 A 顯示 CLR P1 0 INC R0 下一個(gè)數(shù)字 ACALL DELAY DJNZ R1 NEXT SJMP LOOP DELAY MOV R5 0 D1 MOV R6 0 D2 NOP NOP DJNZ R6 D2 DJNZ R5 D1 RET TABLE DB 3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 6FH 共陰字碼表 0 9 END 訓(xùn)練內(nèi)容三 動(dòng)態(tài)顯示 00 99 計(jì)數(shù) 動(dòng)態(tài)顯示 也稱掃描顯示 是一種按位輪流點(diǎn)亮各位數(shù)碼管的顯示方式 即在某個(gè)時(shí)刻 只讓其中某一個(gè)數(shù)碼管 位選端 有效 并送出相應(yīng)的字型顯 示碼 此時(shí) 其他的數(shù)碼管因 位選端 無效而處于熄滅狀態(tài) 下一時(shí)刻 按 順序選通另一個(gè)數(shù)碼管 并送出相應(yīng)的字型顯示碼 依此規(guī)律循環(huán)下去 即可 使各位數(shù)碼管分別間斷地顯示出相應(yīng)的字符 由于人眼的 視覺駐留效應(yīng) 只 要能保證每個(gè)數(shù)碼管顯示間斷的時(shí)間間隔小于眼睛的駐留時(shí)間 就可以給人一 種連續(xù)顯示的視覺效果 在顯示位數(shù)較多時(shí) 動(dòng)態(tài)顯示方式可節(jié)省 I O 接口資源 硬件電路與靜態(tài) 顯示方式簡(jiǎn)單 但其顯示亮度低于靜態(tài)顯示方式 由于 CPU 要不斷地依次掃描 顯示程序 將占用 CPU 更多的時(shí)間 若顯示位數(shù)較少 采用靜態(tài)顯示方式更加 簡(jiǎn)便 參考程序 ORG 00H AJMP MAIN MAIN SETB P1 2 LED 流水燈模塊鎖存器的控制位 MOV P0 0FFH 關(guān)閉 LED 燈 CLR P1 2 SETB P1 3 點(diǎn)陣模塊的行控制鎖存器 MOV P0 0 關(guān)閉點(diǎn)陣行 CLR P1 3 MOV DPTR TABLE 初始化表首地址 START MOV R0 0 顯示數(shù)據(jù)的初值 從數(shù)字 0 開始顯示 NEXT MOV A R0 MOV B 10 DIV AB 分解將要顯示的數(shù)據(jù) 分為十位 個(gè)位 MOV R2 A 十位送 R2 MOV R3 B 個(gè)位送 R3 MOV R1 100 每個(gè)數(shù)字顯示的次數(shù) 100 次 即更長(zhǎng)延時(shí) LOOP VIEW MOV A R2 MOVC A A DPTR 獲取十位的顯示碼 SETB P1 0 MOV P0 A 顯示十位 CLR P1 0 SETB P1 1 MOV P0 11111110B 位選 選中顯示十位的數(shù)碼管 CLR P1 1 ACALL DELAY MOV A R3 MOVC A A DPTR 獲取個(gè)位的顯示碼 SETB P1 0 MOV P0 A 顯示個(gè)位 CLR P1 0 SETB P1 1 MOV P0 11111101B 位選 選中顯示個(gè)位的數(shù)碼管 CLR P1 1 ACALL DELAY DJNZ R1 LOOP VIEW 每個(gè)數(shù)字循環(huán)顯示 R1 次 即延時(shí) INC R0 下一個(gè)數(shù)字 CJNE R0 100 NEXT 若小于 100 繼續(xù)計(jì)數(shù)和顯示 若大于 100 則從 0 開始重新計(jì)數(shù) SJMP START DELAY MOV R6 25 延時(shí)子程序 1ms D1 MOV R7 20 D2 DJNZ R7 D2 DJNZ R6 D1 RET TABLE DB 3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 6FH 共陰字碼表 0 9 END 訓(xùn)練內(nèi)容四 利用定時(shí)器中斷實(shí)現(xiàn) 60 秒計(jì)時(shí) 具有啟動(dòng)按鍵和清 0 按鍵 說明 利用定時(shí)器 T0 產(chǎn)生 50ms 的延時(shí) 即每 50ms 中斷一次 計(jì)滿 20 次 20 50ms 1s 秒計(jì)數(shù)單元加 1 4 位獨(dú)立按鍵電路原理圖 如圖 4 3 所示 4 位獨(dú)立按鍵使用了 P2 4 P2 5 P2 6 P2 7 四位 I O 口 當(dāng)鍵按下時(shí) 為低電平 因此 可以通過 檢測(cè)低電平來檢測(cè)按鍵是否按下 本實(shí)驗(yàn)中 選用 s6 為啟動(dòng)按鍵 s11 為暫停 按鍵 A18 為清 0 按鍵 采用查詢法檢測(cè)按鍵狀態(tài) 在按下暫停按鍵或清 0 按 鍵后 需重新按下啟動(dòng)按鍵 才能繼續(xù)計(jì)時(shí) 圖 4 3 四位獨(dú)立按鍵 流程圖如圖 4 4 4 5 4 6 所示 關(guān)閉流水燈 點(diǎn)陣模塊 初始化 定時(shí)器T0 中斷 DPTR 表首地址 T0中斷次數(shù)20 R0 顯示初值0 R1 啟動(dòng)定時(shí)器T0 調(diào)用數(shù)碼管顯示子程序 暫停定時(shí)器T0 啟動(dòng)按鍵 開始 N N Y 暫停按鍵 Y 暫停定時(shí)器T0 T0中斷次數(shù)20 R0 顯示初值0 R1 N 清0按鍵 Y 圖 4 4 主程序流程圖 數(shù)碼管顯示位數(shù)2 R3 位選信號(hào)初值11111110B R2 顯示值R0清0 分別取十位 個(gè)位的字型碼并顯示 延時(shí) 顯示值R0 60 顯示子程序 N Y N R3 1 0 或2位取完 Y 分解成十位 個(gè)位 子程序返回 圖 4 5 數(shù)碼管掃描顯示程序 保護(hù)現(xiàn)場(chǎng) 重新裝載T0初值 重置中斷次數(shù) R0 20 1s T0中斷子程序 N Y 秒單元R1加1 中斷返回 圖 4 6 T0 中斷服務(wù)子程序 參考程序 ORG 00H JMP MAIN ORG 0BH JMP TIM0 MAIN SETB P1 2 LED 流水燈模塊鎖存器的控制位 MOV P0 0FFH 關(guān)閉 LED 燈 CLR P1 2 SETB P1 3 點(diǎn)陣模塊的行控制鎖存器 MOV P0 0 關(guān)閉點(diǎn)陣行 CLR P1 3 MOV TMOD 01H 定時(shí)器 T0 工作在方式 2 MOV TH0 HIGH 15536 MOV TL0 LOW 15536 初值 50ms MOV IE 82H 開中斷 MOV DPTR TABLE 表首地址 MOV R0 20 存放定時(shí)器中斷的循環(huán)次數(shù) MOV R1 0 顯示初值 從 0 開始顯示 START JB P2 4 IF STOP 啟動(dòng)按鍵 s6 啟動(dòng)定時(shí)器 T0 SETB TR0 啟動(dòng)定時(shí)器 T0 IF STOP JB P2 5 IF CLR 暫停按鈕 S11 CLR TR0 IF CLR JB P2 6 LED SCAN 清 0 按鈕 s18 CLR TR0 MOV R0 20 MOV R1 0 LED SCAN ACALL SCAN 調(diào)用顯示子程序 SJMP START SCAN 掃描顯示子程序 CJNE R1 60 LED VIEW 到 60 則清零 MOV R1 0 LED VIEW MOV A R1 分解數(shù)字 MOV B 10 DIV AB MOV 20H B 個(gè)位 MOV 21H A 十位 MOV R2 11111110B 位選信號(hào)的初值 MOV R3 2 數(shù)碼管顯示 2 位數(shù) MOV A 21H 個(gè)位 準(zhǔn)備顯示 DISP 分別顯示十位 個(gè)位 MOVC A A DPTR SETB P1 0 MOV P0 A 顯示字型碼 CLR P1 0 SETB P1 1 MOV P0 R2 輸出位選信號(hào) CLR P1 1 MOV A R2 形成下一個(gè)位選信號(hào) RL A MOV R2 A CALL DELAY 掃描延時(shí) MOV A 20H 十位 準(zhǔn)備顯示 DJNZ R3 DISP RET TIM0 定時(shí)器 T0 中斷子程序 PUSH ACC 現(xiàn)場(chǎng)保護(hù) MOV TH0 HIGH 15536 重新裝載初值 TH0 TL0 MOV TL0 LOW

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論