共阳极数码管动态扫描c语言,《C语言编程实训》实训指导书三
1 C 語言編程實訓(xùn)語言編程實訓(xùn) 實訓(xùn)指導(dǎo)書三實訓(xùn)指導(dǎo)書三 適應(yīng)專業(yè) 應(yīng)用電子技術(shù)適應(yīng)專業(yè) 應(yīng)用電子技術(shù) 廣州康大職業(yè)技術(shù)學(xué)院自動化系廣州康大職業(yè)技術(shù)學(xué)院自動化系 二二 0 一一 0 年十一月年十一月 2 C 語言編程實訓(xùn)語言編程實訓(xùn) 實訓(xùn)三八紅旗手實訓(xùn)三八紅旗手 單片機時鐘程序設(shè)計單片機時鐘程序設(shè)計 一 實訓(xùn)目的 1 掌握 LED 顯示 鍵盤 定時 計數(shù)器綜合應(yīng)用程序的設(shè)計方法 2 熟悉運用 PROTEUS ISIS 仿真調(diào)試單片機時鐘程序的基本操作 二 實訓(xùn)設(shè)施 PROTEUS 計算機軟件 PC 機 三 實訓(xùn)要求 1 使用 C 語言編程 實現(xiàn)由單片機控制 LED 數(shù)碼管顯示時 分 秒的電子時鐘 并具有用按 鍵修改時鐘參數(shù)的功能 采用 2 個按鍵 2 寫出 1000 字以上的實訓(xùn)總結(jié)報告 內(nèi)容以單片機時鐘程序設(shè)計及源程序清單為主 四 實訓(xùn)內(nèi)容 1 設(shè)計單片機時鐘硬件系統(tǒng) 1 學(xué)習(xí)單片機時鐘工作原理 6 位七段 LED 顯示器 共陽極數(shù)碼管 采用動態(tài)掃描的方法進行顯示 即逐個循環(huán)點亮 各位顯示器 這樣雖然在任一時刻只有一位顯示器被點亮 但是由于間隔時間較短 不超 過 10 毫秒 且人眼具有視覺殘留效應(yīng) 因此看起來與全部顯示器持續(xù)點亮效果完全一樣 動態(tài)掃描時 單片機芯片的 P1 口 P1 0 P1 5 輸出段控信號 P3 口 P3 0 P3 5 輸 出位控信號 當(dāng)兩口為高電平時 該字段就不顯示 當(dāng)兩口為低電平時 就顯示相應(yīng)字段 時間校正的操作方法 兩按鍵串聯(lián) 接在單片機芯片的 P2 4 與 P2 5 之間 按下按鍵 K1 可調(diào)整 分 按下按鍵 K2 可調(diào)整 時 2 使用 PROTEL 繪制電路原理圖 從 PROTEUS 庫中選取以下元器件 7SEG MPX2 CA 或 7SEG MPX6 CA 六位數(shù)碼管 AT89C51 單片機 BUTTON 按鍵 CAP CAP ELEC 電容 電解電容 CRYSTAL 晶振 RES 電阻 放置元器件 放置電源和地 終端 連線 元器件屬性設(shè)置 3 電氣檢測 繪制完全的電路原理如圖 3 1 所示 圖 3 1 單片機電子時鐘電路原理圖 2 學(xué)習(xí)識讀單片機時鐘程序 程序清單 include include define define uintuint unsignedunsigned intint define define ucharuchar unsignedunsigned charchar voidvoid keys keys sbitsbit P30 P3 0 P30 P3 0 sbitsbit P31 P3 1 P31 P3 1 sbitsbit P32 P3 2 P32 P3 2 sbitsbit P33 P3 3 P33 P3 3 sbitsbit P34 P3 4 P34 P3 4 sbitsbit P35 P3 5 P35 P3 5 sbitsbit key P2 4 key P2 4 sbitsbit key1 P2 5 key1 P2 5 4 ucharuchar codecode table 10 table 10 0 xc0 0 xf9 0 xa4 0 xb0 0 x99 0 x92 0 x82 0 xf8 0 x80 0 x90 0 xc0 0 xf9 0 xa4 0 xb0 0 x99 0 x92 0 x82 0 xf8 0 x80 0 x90 ucharuchar hour 23 minute 59 second 0 hour 23 minute 59 second 0 uintuint a b dd ee gg hh a b dd ee gg hh staticstatic charchar count 0 count 0 voidvoid delay uintdelay uint z z intint x y x y for x z x 0 x for x z x 0 x for y 110 y 0 y for y 110 y 0 y voidvoid int1 int1 interruptinterrupt 1 1 usingusing 2 2 TH0 65536 50000 256 TH0 65536 50000 256 TL0 65536 50000 256 TL0 65536 50000 256 count count voidvoid main main TMOD 0 x01 TMOD 0 x01 TH0 65536 50000 256 TH0 65536 50000 256 TL0 65536 50000 256 TL0 65536 50000 256 EA 1 EA 1 ET0 1 ET0 1 TR0 1 TR0 1 for for a hour 10 a hour 10 b hour 10 b hour 10 dd minute 10 dd minute 10 ee minute 10 ee minute 10 gg second 10 gg second 10 hh second 10 hh second 10 keys keys P3 0X00 P3 0X00 P1 table a P1 table a P30 1 P30 1 delay 1 delay 1 P3 0X00 P3 0X00 P1 table b P1 table b P31 1 P31 1 delay 1 delay 1 P3 0X00 P3 0X00 P1 table dd P1 table dd 5 P32 1 P32 1 delay 1 delay 1 P3 0X00 P3 0X00 P1 table ee P1 table ee P33 1 P33 1 delay 1 delay 1 P3 0X00 P3 0X00 P1 table gg P1 table gg P34 1 P34 1 delay 1 delay 1 P3 0X00 P3 0X00 P1 table hh P1 table hh P35 1 P35 1 delay 1 delay 1 if count 20 if count 20 count 0 count 0 second second if second 60 if second 60 second 0 second 0 minute minute if minute 60 if minute 60 minute 0 minute 0 hour hour if hour 24 if hour 24 hour 0 hour 0 voidvoid keys keys if key 0 if key 0 delay 5 delay 5 if key 0 if key 0 while key while key delay 5 delay 5 minute minute if minute 60 if minute 60 minute 0 minute 0 6 delay 10 delay 10 if key1 0 if key1 0 delay 5 delay 5 if key1 0 if key1 0 while key1 while key1 delay 5 delay 5 hour hour if hour 24 if hour 24 hour 0 hour 0 delay 10 delay 10 3 PROTEUS 仿真 1 加載目標代碼文件 鼠標指針指在器件 AT89C51 上 先右擊再左擊 在彈出的屬性編輯對話框 Program File 一欄中單擊打開按鈕 出現(xiàn)文件瀏覽對話框 找到單片機時鐘的機器碼文件 單擊 打開 按鈕 完成添加文件 在 Clock Frequency 欄中把頻率設(shè)定為 12MHZ 單擊 OK 按鈕退出 2 全速仿真 單擊運行按鈕 啟動仿真 仿真運行片斷如下圖 3 2 所示 通過按動開關(guān) K1 K2 閉 合 可以進行 分 和 時 的加 1 調(diào)整 7
展開閱讀全文
總結(jié)
以上是生活随笔為你收集整理的共阳极数码管动态扫描c语言,《C语言编程实训》实训指导书三的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 焕字开头的成语有哪些啊?
- 下一篇: android 不固定指示器,Andro