共阳极数码管动态扫描c语言,《C语言编程实训》实训指导书三
1 C 語言編程實訓語言編程實訓 實訓指導書三實訓指導書三 適應專業 應用電子技術適應專業 應用電子技術 廣州康大職業技術學院自動化系廣州康大職業技術學院自動化系 二二 0 一一 0 年十一月年十一月 2 C 語言編程實訓語言編程實訓 實訓三八紅旗手實訓三八紅旗手 單片機時鐘程序設計單片機時鐘程序設計 一 實訓目的 1 掌握 LED 顯示 鍵盤 定時 計數器綜合應用程序的設計方法 2 熟悉運用 PROTEUS ISIS 仿真調試單片機時鐘程序的基本操作 二 實訓設施 PROTEUS 計算機軟件 PC 機 三 實訓要求 1 使用 C 語言編程 實現由單片機控制 LED 數碼管顯示時 分 秒的電子時鐘 并具有用按 鍵修改時鐘參數的功能 采用 2 個按鍵 2 寫出 1000 字以上的實訓總結報告 內容以單片機時鐘程序設計及源程序清單為主 四 實訓內容 1 設計單片機時鐘硬件系統 1 學習單片機時鐘工作原理 6 位七段 LED 顯示器 共陽極數碼管 采用動態掃描的方法進行顯示 即逐個循環點亮 各位顯示器 這樣雖然在任一時刻只有一位顯示器被點亮 但是由于間隔時間較短 不超 過 10 毫秒 且人眼具有視覺殘留效應 因此看起來與全部顯示器持續點亮效果完全一樣 動態掃描時 單片機芯片的 P1 口 P1 0 P1 5 輸出段控信號 P3 口 P3 0 P3 5 輸 出位控信號 當兩口為高電平時 該字段就不顯示 當兩口為低電平時 就顯示相應字段 時間校正的操作方法 兩按鍵串聯 接在單片機芯片的 P2 4 與 P2 5 之間 按下按鍵 K1 可調整 分 按下按鍵 K2 可調整 時 2 使用 PROTEL 繪制電路原理圖 從 PROTEUS 庫中選取以下元器件 7SEG MPX2 CA 或 7SEG MPX6 CA 六位數碼管 AT89C51 單片機 BUTTON 按鍵 CAP CAP ELEC 電容 電解電容 CRYSTAL 晶振 RES 電阻 放置元器件 放置電源和地 終端 連線 元器件屬性設置 3 電氣檢測 繪制完全的電路原理如圖 3 1 所示 圖 3 1 單片機電子時鐘電路原理圖 2 學習識讀單片機時鐘程序 程序清單 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 一欄中單擊打開按鈕 出現文件瀏覽對話框 找到單片機時鐘的機器碼文件 單擊 打開 按鈕 完成添加文件 在 Clock Frequency 欄中把頻率設定為 12MHZ 單擊 OK 按鈕退出 2 全速仿真 單擊運行按鈕 啟動仿真 仿真運行片斷如下圖 3 2 所示 通過按動開關 K1 K2 閉 合 可以進行 分 和 時 的加 1 調整 7
展開閱讀全文
總結
以上是生活随笔為你收集整理的共阳极数码管动态扫描c语言,《C语言编程实训》实训指导书三的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 焕字开头的成语有哪些啊?
- 下一篇: samsnite电脑包多少钱?