版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基于AT89C51單片機的數(shù)字(shz)時鐘設計小組(xioz)成員:共二十四頁設計簡介一設計背景二AT89C51單片機簡介 三設計方案四硬件電路設計五軟件設計與程序代碼 六主要內容共二十四頁一、設計簡介本設計利用Atmel公司的AT89C51單片機對電子時鐘進行開發(fā),設計了實現(xiàn)所需功能的硬件電路,應用匯編進行軟件編程,并用Proteus軟件進行仿真演示、驗證。主要介紹用單片機內部的定時/計數(shù)器來實現(xiàn)電子時鐘的方法,本設計由單片機80C51芯片和LED數(shù)碼管為核心,輔以必要的電路,構成了一個單片機的數(shù)字電子時鐘。它的計時周期為24小時,顯滿刻度為“23時59分59秒”,且配有3個獨立鍵盤,可以
2、靈活地調節(jié)時間,并具有一定的擴展性。 共二十四頁二、設計背景十一世紀的今天,最具代表性的計時產品就是電子萬年歷,它是近代世界鐘表業(yè)界的第三次革命。第一次是擺和擺輪游絲的發(fā)明,相對穩(wěn)定的機械振蕩頻率源使鐘表的走時差從分級縮小到秒級,代表性的產品就是帶有擺或擺輪游絲的機械鐘或表。第二次革命是石英晶體振蕩器的應用,發(fā)明了走時精度更高的石英電子鐘表,使鐘表的走時月差從分級縮小到秒級。第三次革命就是單片機數(shù)碼計時技術的應用(電子萬年歷),使計時產品的走時日差從分級縮小到1/600萬秒,從原有傳統(tǒng)指針計時的方式發(fā)展為人們日常更為熟悉的夜光數(shù)字顯示方式,直觀明了,并增加了全自動日期、星期、溫度以及其他日常附
3、屬信息的顯示功能,它更符合消費者的生活需求!共二十四頁四、設計方案1、主程序主程序執(zhí)行流程圖如圖1所示。主程序先對顯示單元和定時器計數(shù)器初始化,然后重復調用數(shù)碼管顯示模塊和按鍵處理模塊,當有建按下,則轉入相應的功能程序。 共二十四頁共二十四頁四、設計方案2、數(shù)碼管顯示模塊 本設計的顯示模塊采用6位一體共陽極數(shù)碼管,顯示分為時鐘顯示模式,從右到左依次顯示秒個位,秒十位,分個位,分十位,時個位,時十位;數(shù)碼管顯示的信息用6個內存單元存放,這6個內存單元為顯示緩沖區(qū),其中秒個位和秒十位,分個位和分十位,時個位和時十位分別由秒數(shù)據(jù),分數(shù)據(jù)和小時數(shù)據(jù)分拆得到。共二十四頁四、設計方案3、定時器計數(shù)器T0中
4、斷服務程序 定時器計數(shù)器T0用于時間計時,選擇方式1,重復定時,定時時間設為20MS,定時時間到則溢出中斷,計50次則對秒單元加1,秒單元加到60則對分單元加1,同時秒單元清零。分單元加到60的時候,則對時單元加1,同時分單元清零,時單元加到24的時候則對時單元清零,標志一天時間計滿,此時所以單元清零。在對各單元計數(shù)的同時,把它們的值放到存儲器單元的制定位置 共二十四頁四、設計方案4、按鍵處理模塊 按鍵處理設置為:如果沒有按鍵,則為時鐘模式,時鐘正常走時.按鍵KEY1為工作模式鍵,用于時鐘顯示或調秒、調分、調時的功能切換選擇。R3寄存器記錄KEY1按鍵的次數(shù),R3=0,顯示時鐘;R3=1,調秒
5、;R3=2,調分;R3=3,調時。按鍵KEY2為增1鍵,對選定的被調項的當前值增1;按鍵KEY3為減1鍵,對選定的被調項的當前值減1共二十四頁五、硬件電路設計共二十四頁六、軟件設計與程序代碼 1、軟件選擇與介紹 Proteus7.8是一款電路分析實物仿真系統(tǒng),可仿真各種電路和IC,并支持單片機,元件庫齊全,使用方便,是不可多得的專業(yè)的單片機軟件仿真系統(tǒng) 。共二十四頁六、軟件設計與程序代碼 2、軟件仿真電路全圖 1.模式(msh)0顯示(xinsh)時鐘共二十四頁2.模式(msh)1第1次按KEY1鍵選擇(xunz)調秒共二十四頁3.模式(msh)2第2次按KEY1鍵選擇(xunz)調分共二十四
6、頁4.模式(msh)3第3次按KEY1鍵選擇(xunz)調時共二十四頁六、軟件設計與程序代碼 3、程序代碼KEY1 BIT P1.0KEY2 BIT P1.1KEY3 BIT P1.2CLK BIT P1.3LOAD BIT P1.4DIN BIT P1.5SECOND DATA 30HMINUTE DATA 31HHOUR DATA 32H ORG 0000H AJMP MAIN ORG 000BH AJMP TIMER0MAIN:MOV SP,#60H MOV TMOD,#01H;定時器T0方式(fngsh)設置 MOV TH0,#0B1H;定時器T0裝入初值20ms MOV TL0,#0
7、E0H SETB ET0;T0中斷允許(ynx) SETB EA;總中斷允許 MOV R2,#50;T0中斷為1s SETB TR0;啟動T0 MOV SECOND,#00H MOV MINUTE,#00H MOV HOUR,#08H ;初始化時間8點00分00秒 MOV A,HOUR時間值送顯示緩沖區(qū)79H7EH ANL A,#0F0H SWAP A MOV 79H,A共二十四頁 MOV A,HOUR ANL A,#0FH MOV 7AH,A MOV A,MINUTE ANL A,#0F0H SWAP A MOV 7BH,A MOV A,MINUTE ANL A,#0FH MOV 7CH,A
8、 MOV A,SECOND ANL A,#0F0H SWAP A MOV 7DH,A MOV A,SECOND ANL A,#0FH MOV 7EH,A MOV R3,#00H;R3初值設為0,顯示(xinsh)時鐘 ACALL INI7219;調用7219初始化子程序I NI7219:MOV 50H,#0FH;顯示測試寄存器設置(shzh) MOV 51H,#00H;非測試模式,正常顯示MOV R0,#50HACALL SEND7219MOV 50H,#0CH;關閉顯示寄存器MOV 51H,#01H;正常顯示MOV R0,#50HACALL SEND7219MOV 50H,#0BH;掃描界限
9、寄存器MOV 51H,#05H;6位顯示MOV R0,#50HACALL SEND7219MOV 50H,#0AH;亮度寄存器,其值為000EH,設置為0AH共二十四頁 MOV 51H,#09HMOV R0,#50HACALL SEND7219MOV 50H,#09H;譯碼方式(fngsh)寄存器MOV 51H,#0FFH;8位顯示全部B譯碼MOV R0,#50HACALL SEND7219RETDISPLAY:MOV 50H,#01H;顯示子程序 MOV 51H,79H;顯示緩沖區(qū)設在79H7EH單元MOV R0,#50H;其內容從左至右一次顯示在數(shù)碼管顯示器上ACALL SEND7219M
10、OV 50H,#02HMOV 51H,7AH MOV R0,#50HACALL SEND7219MOV 50H,#03HMOV 51H,7BHMOV R0,#50HACALL SEND7219MOV 50H,#04HMOV 51H,7CHMOV R0,#50HACALL SEND7219MOV 50H,#05HMOV 51H,7DHMOV R0,#50HACALL SEND7219MOV 50H,#06HMOV 51H,7EHMOV R0,#50HACALL SEND7219RET共二十四頁SEND7219:CLR LOAD;向7219寫入數(shù)據(jù)子程序 MOV R4,#02H;寫入16位串行數(shù)據(jù)
11、CLR CLOP1: MOV R1,#08H MOV A,R0LOP2: RLC A MOV DIN,C SETB CLK CLR CLK DJNZ R1,LOP2 INC R0 DJNZ R4,LOP1 SETB LOAD RET;鍵掃描處理(chl)子程序KEY: JNB KEY1,KK1;判斷KEY1鍵是否按下 JB KEY1,$;等待KEY1鍵是否釋放INC R3;模式(msh)值增1 ,在0、1、2、3間逐項切換 CJNE R3,#04H,JMPKK3;當讓中的模式值為4時,在設置為0 MOV R3,#00HJMPKK3:AJMP KK3;轉至KK3,按R3內容選擇顯示KK1:JNB
12、 KEY2,KK2;判斷KEY2鍵是否按下 JB KEY2,$;等待KEY2鍵釋放MOV A,R3;根據(jù)當前R3值對時間項增1調整RL AMOV DPTR,#KJMP1JMP A+DPTRKJMP1: AJMP DISCLK AJMP SINC AJMP MINC AJMP HINC共二十四頁SINC: MOV A,SECOND;秒增1 ADD A,#01H DA A MOV SECOND,A CJNE A,#60H,DISS1 MOV 30H,#01HDISS1:AJMP DISS;轉至秒顯示(xinsh)緩沖區(qū)設置MINC:MOV A,MINUTE;分增1 ADD A,#01H DA A
13、MOV MINUTE,A CJNE A,#60H,DISM1 MOV MINUTE,#00HDISM1:AJMP DISM;轉至分顯示緩沖區(qū)設置HINC: MOV A,HOUR;時增1 ADD A,#01H DA A MOV HOUR,A CJNE A,#24H,DISH1 MOV HOUR,#00HDISH1:AJMP DISH;轉至時顯示緩沖區(qū)設置KK2:JNB KEY3,KK3;判斷KEY3是否按下 JB KEY3,$;等待(dngdi)KEY3鍵釋放MOV A,R3RL AMOV DPTR,#KJMP2JMP A+DPTRKJMP2:AJMP DISCLK AJMP SDEC AJMP
14、 MDEC AJMP HDECSDEC:MOV A,#9AH;秒減1 CLR C SUBB A,#01H ADD A,SECOND DA A共二十四頁MOV SECOND,A CJNE A,#00H,DISS2 MOV SECOND,#59HDISS2:AJMP DISS;轉至秒顯示(xinsh)緩沖區(qū)設置MDEC:MOV A,#9AH;分減1 CLR C SUBB A,#01H ADD A,MINUTE DA A MOV MINUTE,A CJNE A,#0,DISM2 MOV MINUTE,#59HDISM2:AJMP DISM;轉至分顯示緩沖區(qū)設置HDEC:MOV A,#9AH;時減1
15、CLR C SUBB A,#01H ADD A,HOUR DA A MOV HOUR,A CJNE A,#99H,DISH2 MOV HOUR,#23HDISH2:AJMP DISH;轉至時顯示緩沖區(qū)設置(shzh)KK3:MOV A,R3 RL AMOV DPTR,#KJMP3 JMP A+DPTRKJMP3:AJMP DISCLK ;R3=0顯示時鐘 AJMP DISS;R3=1顯示秒 AJMP DISM;R3=2顯示分 AJMP DISH;R3=3顯示時DISCLK:MOV R0,#79H MOV R1,#HOUR MOV R4,#03H共二十四頁CFLOOP:MOV A,R1 SWAP
16、 A ANL A,#0FH MOV R0,A INC R0 MOV A,R1 ANL A,#0FH MOV R0,A INC R0 DEC R1 DJNZ R4,CFLOOP SETB TR0 RETDISS:CLR TR0;顯示(xinsh)秒,時與分的數(shù)碼管不亮 MOV A,SECOND SWAP A ANL A,#0FH MOV 7DH,A MOV A,SECOND ANL A,#0FH MOV 7EH,A MOV 79H,#0FH MOV 7AH,#0FH MOV 7BH,#0FH MOV 7CH,#0FH AJMP KK5DISM:CLR TR0;顯示(xinsh)分,時與秒的數(shù)碼管
17、不亮 MOV A,MINUTE SWAP A ANL A,#0FH MOV 7BH,A MOV A,MINUTE ANL A,#0FH MOV 7CH,A MOV 79H,#0FH MOV 7AH,#0FH MOV 7DH,#0FH MOV 7EH,#0FH AJMP KK5共二十四頁DISH: CLR TR0;顯示時,分與秒的數(shù)碼管不亮 MOV A,HOUR SWAP A ANL A,#0FH MOV 79H,A MOV A,HOUR ANL A,#0FH MOV 7AH,A MOV 7BH,#0FH MOV 7CH,#0FH MOV 7DH,#0FH MOV 7EH,#0FHKK5:RET
18、;定時器T0中斷處理子程序TIMER0:PUSH ACC;保護現(xiàn)場 PUSH PSW MOV TH0,#0B1H;重裝定時常數(shù) MOV TL0,#0E0H DJNZ R2,NEXT;判斷是否中斷了50次,不足50次,中斷返回MOV R2,#50;若達到(d do)50次,計時滿1s,刷新時間單元格 MOV A,SECOND ADD A,#01H DA A MOV SECOND,A CJNE A,#60H,NEXTS1:MOV SECOND,#00H MOV A,MINUTEADD A,#01HDA AMOV MINUTE,ACJNE A,#60H,NEXTS2:MOV MINUTE,#00H MOV A,HOUR ADD A,#01H DA A MOV HOUR,A CJNE A,#24H,NEXT MOV HOUR,#00HNEXT:POP PSW;恢復(huf)現(xiàn)場 POP ACCRETI;中斷返回 END共二十四頁內容摘要基于AT89C51單片機的數(shù)字時鐘設計。本設計利用At
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 辦公樓租賃合同
- 2025年個人住房抵押貸款合同電子簽章操作范本3篇
- 二零二四年建筑弱電改造節(jié)能環(huán)保施工合同3篇
- 旅游地產項目推廣居間合同
- 2025年鋼材行業(yè)供應鏈金融服務合同范本
- 旅游度假區(qū)開發(fā)建設合同
- 金融科技領域投資合同
- 金融服務外包合同保密與責任豁免協(xié)議
- 米面糧油采購合同
- 違約合同退租協(xié)議
- 成品移動公廁施工方案
- 2025年度部隊食堂食材采購與質量追溯服務合同3篇
- 新人教版一年級下冊數(shù)學教案集體備課
- 消防產品目錄(2025年修訂本)
- 地方性分異規(guī)律下的植被演替課件高三地理二輪專題復習
- 繪本 課件教學課件
- 光伏項目風險控制與安全方案
- 9.2提高防護能力教學設計 2024-2025學年統(tǒng)編版道德與法治七年級上冊
- 催收培訓制度
- 牧場物語-礦石鎮(zhèn)的伙伴們-完全攻略
- ISO 22003-1:2022《食品安全-第 1 部分:食品安全管理體系 審核與認證機構要求》中文版(機翻)
評論
0/150
提交評論