單片機(jī)電子時鐘課程設(shè)計_第1頁
單片機(jī)電子時鐘課程設(shè)計_第2頁
單片機(jī)電子時鐘課程設(shè)計_第3頁
單片機(jī)電子時鐘課程設(shè)計_第4頁
單片機(jī)電子時鐘課程設(shè)計_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、拗#1)寧虎電子線路設(shè)計課程設(shè)計說明書數(shù)字電子鐘系、部:電氣與信息工程系學(xué)生姓名:l雷鋒專業(yè):電子信息工程班級:電子0901班完成時間:2012-12-18摘要時鐘,自從它發(fā)明的那天起,就成為人類的朋友,但隨著時間的推移,科學(xué) 技術(shù)的不斷發(fā)展,人們對時間計量的精度要求越來越高,應(yīng)用越來越廣。 怎樣讓 時鐘更好的為人民服務(wù), 怎樣讓我們的老朋友煥發(fā)青春呢?這就要求人們不斷設(shè) 計出新型時鐘。數(shù)字電子鐘的設(shè)計方法有多種, 其中,利用單片機(jī)實現(xiàn)的電子鐘具有編程靈 活,便于電子鐘功能的擴(kuò)充, 即可用該電子鐘發(fā)出各種控制信號, 精確度高等特 點,同時可以用該電子鐘發(fā)出各種控制信號。本文主要介紹用單片機(jī)內(nèi)部

2、的定時 / 計數(shù)器來實現(xiàn)電子時鐘的方法,本設(shè)計 由單片機(jī)AT89S52芯片和LED數(shù)碼管為核心,輔以必要的電路,構(gòu)成了一個單片 機(jī)電子時鐘。與傳統(tǒng)機(jī)械表相比,它具有走時精確 , 顯示直觀等特點。它的計時 周期為 24小時,顯滿刻度為“ 23時59分59秒” ,另外具有校時功能等特點。 該電子鐘可以做到的功能:上電或按鍵復(fù)位后能自動顯示系統(tǒng)提示符 “P. ”進(jìn)入時鐘準(zhǔn)備狀態(tài)。第一次 按電子鐘啟動 /暫停鍵,電子鐘從 0時 0分 0秒開始運行,進(jìn)入時鐘運行狀態(tài)。 再次按電子鐘啟動 / 暫停鍵,則電子鐘進(jìn)入時鐘暫停狀態(tài),此時可按下調(diào)整鍵調(diào) 整時間,分別通過時間加,時間減兩個按鍵調(diào)整時間。調(diào)整結(jié)束后可

3、按啟動/ 暫停鍵再次進(jìn)入時鐘運行狀態(tài)。通過設(shè)置的 A、B、C、D四個鍵來調(diào)整運行,并且 利用了 8位LED顯示時分秒。此電子鐘嚴(yán)格按照要求設(shè)計,最終達(dá)到預(yù)期的效果,能夠正確顯示“P”點以及時分秒的計時,算是一次比較成功的設(shè)計了。關(guān)鍵詞 :電子鐘;單片機(jī);匯編ABSTRACTClock, since it was invented that day, becomes the friend of mankind, but as time goes on, the continuous development of science and technology, people on the time

4、 measurement accuracy is higher and higher, more and more wide application. How to let the clock to better serve the people, how to make our old friend bloom? This requests the people to continue to design a new clock.The design of digital electronic clock methods are various, among them, realize th

5、e use of single-chip electronic clock with programming flexibility, ease of electronic clock function expansion, can use the electric clock out of control signal, high accuracy, and can use the electric clock out of control signal.This paper mainly introduces the MCU internal timer / counter to real

6、ize the electronic clock method, designed by the MCU and AT89S52 chip and LED digital tube as the core, supplemented by necessary circuit, composed of a single-chip electronic clock. Compared with the traditional mechanical watches, it has a precise path, intuitive display characteristics. Its time

7、period is 24 hours, was in full scale as twenty-three fifty-nine 59 seconds, and a school function etc. The electronic clock can achieve the function of:Power on or reset button to automatically display the system prompt P. into clock ready state 2 for the first time by electronic clock start / adju

8、sting keys, electronic bell from 0 when 0 minute 0 seconds start running, enter the clock running state. Again by the electronic clock start / adjusting keys, electronic bell clock adjustment state is entered, this time by the adjusting button to adjust the time, after adjustment according to the st

9、art / adjusting key again into the clock running state. By setting the A, B, C, D four keys to adjust the operation, and the use of 8 bit LED is displayed every minute.The electronic clock in strict accordance with the requirements of the design, finally achieve the desired effect, can correctly dis

10、play P and of accurate timing, is a successful design.Key words: electronic clock; single-chip microcomputer; compilation目錄1 電子鐘功能及總體方案的介紹 11.1 電子鐘功能介紹 . 11.1.1 基本功能要求 11.2 總體方案介紹 . 11.2.1 計時方案 11.2.2 鍵盤/顯示方案 12 硬件系統(tǒng)設(shè)計 32.1 硬件系統(tǒng)各模塊功能介紹 . 32.1.1 顯示電路 . 32.1.2 鍵盤控制電路 . 32.1.3 電子鐘的啟、停及時間調(diào)整 . 43 軟件系統(tǒng)設(shè)計

11、53.1 單片機(jī)的使用資源情況 . 53.2 電子鐘程序流程框圖 . 63.2.1 主程序流程框圖 . 63.2.2 鍵掃子程序流程框圖 73.2.3 中斷服務(wù)程序流程框圖 83.2.4 顯示子程序流程框圖 93.3 電子鐘總體程序清單 . 104 電子鐘設(shè)計結(jié)論 184.1 使用說明書 . 184.1.1 操作說明 184.2 電子鐘運行結(jié)果 . 184.2.1 待機(jī) 184.2.2 啟動 184.2.3 運行 194.3 誤差分析 . 194.4 設(shè)計體會 . 19參考文獻(xiàn) 20附 錄 21II1 電子鐘功能及總體方案的介紹1.1 電子鐘功能介紹1.1.1 基本功能要求可調(diào)整運行的電子鐘具

12、有三種工作狀態(tài): “P. ”狀態(tài)、運行狀態(tài)、調(diào)整狀態(tài)。(1) 、“P. ”狀態(tài),依靠上電或按復(fù)位鍵進(jìn)入,在此狀態(tài)下,按B、C、D鍵均 無效,按 A 鍵有效,進(jìn)入運行狀態(tài);(2) 、運行狀態(tài),按A鍵進(jìn)入,在此狀態(tài)下,按B、C、D鍵均無效,只有按A 鍵有效,按下A鍵后,退出運行狀態(tài),進(jìn)入暫停狀態(tài);(3) 、調(diào)整狀態(tài),在暫停此狀態(tài)下,按 A、B、C、D鍵均有效。如按下A鍵, 則退出調(diào)整狀態(tài),進(jìn)入運行狀態(tài);按下 B鍵,則分別對時、分、秒位進(jìn)行選擇, 按下C、D鍵對選擇的位進(jìn)行加減,調(diào)整結(jié)束后必須按A鍵,即可退出調(diào)整狀態(tài), 進(jìn)入運行狀態(tài)?;竟δ芤螅骸癙. ”穩(wěn)定地顯示在LED顯示器的最左端數(shù)碼管上,

13、無 A鍵按下(在“ P. ” 狀態(tài)下,按下B、C、D鍵無效),則不進(jìn)入電子鐘的運行狀態(tài),繼續(xù)顯示“ P.”。按下A鍵后,電子鐘以起始時間:00時00分00秒開始運行。再次按下A鍵后,電子鐘退出運行狀態(tài),進(jìn)入暫停狀態(tài),利用 B、C、D鍵 把電子鐘的顯示時間修改為當(dāng)前實時時間, 時間修改正確后可再次按下 A鍵,電 子鐘則退出調(diào)整狀態(tài),進(jìn)入運行狀態(tài)。注意:每次按下C、D鍵,只允許加一,不允許連加。1.2 總體方案介紹1.2.1 計時方案利用AT89S52單片機(jī)內(nèi)部的定時/計數(shù)器進(jìn)行中斷定時,配合軟件延時實現(xiàn) 時、分、秒的計時。該方案節(jié)省硬件成本,且能使讀者在定時 /計數(shù)器的使用、 中斷及程序設(shè)計方面

14、得到鍛煉與提高,對單片機(jī)的指令系統(tǒng)能有更深入的了解, 從而對學(xué)好單片機(jī)技術(shù)這門課程起到一定的作用。1.2.2 鍵盤/顯示方案AT89S52勺P0口和P2口外接由八個LED數(shù)碼管(LED7LED0構(gòu)成的顯示器, 用P0 口作LED的段碼輸出口,P2口作八個LED數(shù)碼管的位控輸出線,P1 口外接 四個按鍵A、B C D構(gòu)成鍵盤電路。AT89S52是一種低功耗,高性能的 CMOS位微型計算機(jī)。它帶有 8K Flash 可編程和擦除的只讀存儲器(EPROM該器件采用ATMEL勺高密度非易失性存儲 器技術(shù)制造,與工業(yè)上標(biāo)準(zhǔn)的80C51和80C52的指令系統(tǒng)及引腳兼容,片內(nèi)Flash 集成在一個芯片上,可

15、用與解決復(fù)雜的問題,且成本較低。簡易電子鐘的功能不 復(fù)雜,采用其現(xiàn)有的I/O便可完成,所以本書中采用此的設(shè)計方案,結(jié)構(gòu)如圖 1 如示。圖1電子鐘原理框圖242 硬件系統(tǒng)設(shè)計2.1 硬件系統(tǒng)各模塊功能介紹2.1.1 顯示電路在本次課程設(shè)計中,我采用的是八位共陽數(shù)碼管,顯示原理跟單個LED的顯 示原理完全相同, 在段控線和位控線都串接一個電阻, 以提高其輸出功率, 在這 里采用 470 歐母電阻。2.1.2 鍵盤控制電路鍵盤是最常用的輸入設(shè)備, 是實現(xiàn)人機(jī)對話的紐帶。 按其結(jié)構(gòu)形式可分為非 編碼鍵盤和編碼鍵盤。編碼鍵盤采用硬件方法產(chǎn)生鍵碼。 每按下一個鍵,鍵盤能自動生成鍵盤代碼, 鍵數(shù)較多,且具有

16、去抖動功能。這種鍵盤使用方便,但硬件較復(fù)雜。非編碼鍵盤 僅提供按鍵開關(guān)工作狀態(tài),其鍵碼由軟件確定,這種鍵盤鍵數(shù)較少,硬件簡單, 廣泛應(yīng)用于各種單片機(jī)應(yīng)用系統(tǒng), 在單片機(jī)控制電路中, 可把單片機(jī)使用的鍵盤 分為獨立式和矩陣式兩種。 獨立式實際上就是一組獨立的按鍵, 這些按鍵可直接 與單片機(jī)的 I/O 口連接, 即每個按鍵獨占一條口線, 這種接法簡單。 矩陣式鍵盤 也稱行列式鍵盤, 因為鍵的數(shù)目較多, 所以鍵按行列組成矩陣。 本設(shè)計中鍵盤數(shù) 目較少,且為安裝方便,因此在本設(shè)計中采用獨立式接法。按從一個鍵到鍵的功能被執(zhí)行主要應(yīng)包括兩項工作: 一是鍵的識別, 即在鍵 盤中找出被按的是哪個鍵, 另一項是

17、鍵功能的實現(xiàn)。 第一項工作是使用接口電路 實現(xiàn)的,而第二項工作則是通過執(zhí)行相應(yīng)服務(wù)程序來完成。 具體來說, 鍵盤接口 應(yīng)完成以下操作功能:(1) 鍵盤掃描,以判定是否有鍵被按下(稱之為“閉合鍵” )。(2) 鍵識別,以確定閉合鍵的行列位置。(3) 產(chǎn)生閉合鍵的鍵碼。(4) 排除多鍵、串鍵(復(fù)鍵)及去抖動。以上這些內(nèi)容通常是以軟硬件結(jié)合的方式來完成的, 即在軟件的配合下由接 口電路來完成。但具體哪些由硬件哪些由軟件完成,要看接口電路的情況。 總的原則是,硬件復(fù)雜軟件就簡單,硬件簡單軟件就得復(fù)雜一些。2.1.3 電子鐘的啟、停及時間調(diào)整電子鐘設(shè)置4個按鍵通過程序控制來完成電子鐘的啟、停及時間調(diào)整A

18、鍵控制電子鐘的啟、停;B鍵選擇位;C鍵位加;D鍵位減。2.2 系統(tǒng)電路圖2.2.1電路原理圖見附錄2.2.2 電路PCB圖見附錄2.2.3電路元器件布局圖見附錄2.3 元器件清單器件型號數(shù)量器件型號數(shù)量單片機(jī)AT89S521個按鍵普通4個晶振12MHZ1個開關(guān)6腳開關(guān)1個電容22uf,33pf若干數(shù)碼管HSN5642S2個電阻普通若干下載接口10針接口1個單排針10針接口1個蜂鳴器脈沖式1個圖2元器件清單3 軟件系統(tǒng)設(shè)計3.1 單片機(jī)的使用資源情況3.1.1 資源使用說明P3 口為二極管的控制端P0 口用作地址/數(shù)據(jù)總線P2 口用作地址/數(shù)據(jù)總線P1.0、P1.1、P1.2、P1.3 口線作為

19、鍵盤輸入端既在AT89S52的P3 口用來接八個發(fā)光二極管的陰極,控制其亮與滅,P0 口和P2 口外接由8個LED數(shù)碼管構(gòu)成的顯示器,用 P0 口作LED的段碼輸出口(P0.0P0.7對應(yīng)于LED的adp), P2 口作LED的位控輸出線,P2 口外接四個 個按鍵A B C、D (分別對應(yīng)于P1.0、P1.1、P1.2、P1.3 口)用于調(diào)整顯示接 口電路。3.1.2 數(shù)碼管顯示模塊 數(shù)碼管顯示是通過調(diào)用顯示子程序來實現(xiàn)的,由于數(shù)碼管的顯示要有實時性,所以在執(zhí)行其他程序時依然要經(jīng)常調(diào)用顯示子程序。數(shù)碼管的段控由CPU改變P2 口相應(yīng)位電平來實現(xiàn)。3.1.3 按鍵控制模塊 開始/暫停,位選擇按鍵

20、由外部中斷來實現(xiàn),加鍵,減鍵通過鍵盤掃描來實現(xiàn)。3.2電子鐘程序流程框圖3.2.1主程序流程框圖開始1r系統(tǒng)初始化F1P.顯示進(jìn)入自動計時狀態(tài)進(jìn)入時間設(shè)置狀態(tài)圖3主程序流程框圖322鍵掃子程序流程框圖323中斷服務(wù)程序流程框圖秒加1圖5中斷服務(wù)程序流程框圖3.2.4 顯示子程序流程框圖圖 6 顯示子程序流程圖3.3 電子鐘總體程序清單/* 課程設(shè)計 電子鐘 */* 電子 0901 班 全昌熾 */* crystal=12Mhz */* P2 口位控口,P0 口段控口 ,鍵盤si控制P1 口 */#include#include#define uchar unsigned char#define

21、 uint unsigned int/* 共陽數(shù)碼管字型碼 */*0,1,2,3,4,5,6,7,8,9,p.,滅*/Char codedis_code=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x0c,0x ff,0xbf;/*P 點顯示代碼序號 */char find_code=11,11,11,10,11,11,11,11;char s=0,m=0,h=0;char x,y=0,n=0;bit s2bz=0;bit s5bz=0;bit a=0;/ 函數(shù)名: void Delay1ms(uint count)/ 功能: 延時時間

22、為 1ms/ 輸入?yún)?shù): count,1ms 計數(shù)/說明:總共延時時間為1ms乘以count,crystal=12Mhz/* 延遲函數(shù) */void Delay1ms(uint count)uint j;while(count-!=0)for(j=0;j80;j+);/* 顯示函數(shù) */ void put_on_leds()char i,j=0xfe;char k; for(i=0;i=60)s=0;find_code7=m%10; find_code0=m/10; m+;if(m=60) m=0; find_code2=h%10; find_code3=h/10; h+;if(h=24) h

23、=0;/ 重裝初值/ 判斷是否循環(huán) 20 次,即/ 給顯示緩沖數(shù)組賦值/ 秒自加/ 判斷是否達(dá)到 1 分鐘/ 秒清零/ 分自加/ 判斷是否達(dá)到 1 小時/ 分清零/ 時自加/ 判斷是否達(dá)到 1 天/ 時清零1s/* 顯示初始化 */void chushihua()find_code4=s%10; find_code5=s/10; find_code6=12; find_code7=m%10; find_code0=m/10; find_code1=12;find_code2=h%10;find_code3=h/10; put_on_leds();/* 按鍵中斷函數(shù) */void INTT0()

24、 interrupt 0 using 0s2bz=!s2bz;void INTT1() interrupt 2 using 2s5bz=1;/ 中斷初始化 , 打開中斷/* 主函數(shù) */ void main() EA=1;ET0=1; EX0=1;EX1=1;IT0=1;IT1=1;ET1=1;TMOD=0X01;TH0=0x3c;TL0=0xb0;while(1)put_on_leds();if(s2bz=1)while(1)n=0; chushihua(); TR0=1; if(s2bz=0) while(s2bz=0) TR0=0; put_on_leds(); if(s5bz=1) s

25、5bz=0; if(n=23)h=-1;break;case 2:/n 等于 2,分自加m+;find_code0=m/10;find_code7=m%10;put_on_leds();if(m=59)m=-1;break;case 3:/n 等于 3 ,秒自加s+;find_code5=s/10;find_code4=s%10;put_on_leds();if(s=59)s=-1;break; break; case 0x08:/ 減按下switch(n)case 1:/n 等于 1,時自減 h=24;h-;case 2:case 3:find_code3=h/10;find_code2=h

26、%10; put_on_leds();if(h=0)h=24;break;/n 等于 2,分自減m=60;m-;find_code0=m/10;find_code7=m%10; put_on_leds();if(m=0)m=60;break;/n 等于 3,秒自減s=60;s-;find_code5=s/10;find_code4=s%10; put_on_leds();if(s=0)s=60;break;break; 4電子鐘設(shè)計結(jié)論4.1使用說明書4.1.1操作說明(1) 時間顯示:電子鐘上電后,8個數(shù)碼管顯示初始狀態(tài)即最左邊的一個數(shù)碼管顯示 P.。如 果未顯示P.,只需按一下復(fù)位鍵即可使其顯示出 P.。按

溫馨提示

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

最新文檔

評論

0/150

提交評論