基于51系列單片機與DS1302時鐘芯片的電子時鐘C語言Proteus仿真報告_第1頁
基于51系列單片機與DS1302時鐘芯片的電子時鐘C語言Proteus仿真報告_第2頁
基于51系列單片機與DS1302時鐘芯片的電子時鐘C語言Proteus仿真報告_第3頁
基于51系列單片機與DS1302時鐘芯片的電子時鐘C語言Proteus仿真報告_第4頁
基于51系列單片機與DS1302時鐘芯片的電子時鐘C語言Proteus仿真報告_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、基于單片機的電子時鐘: 班級: 學號: 指導教師: 完成日期: 目 錄摘要一、引言1二、基于單片機的電子時鐘硬件選擇分析22.1主要IC芯片選擇22.1.1微處理器選擇22.1.2 DS1302簡介 42.1.3 DS1302引腳說明 42.2電子時鐘硬件電路設計 52.2.1時鐘電路設計6 2.2.2整點報時功能7三、Protel軟件畫原理圖83.1系統(tǒng)工作流程圖 83.2原理圖 9四、proteus軟件仿真與調試 94.1電路板的仿真 94.2軟件調試 9五、 源程序 10六、課設心得13七、參考文獻13基于單片機電子時鐘設計摘 要電子時鐘主要是利用電子技術將時鐘電子化、數(shù)字化,擁有時鐘精

2、確、體積小、界面友好、可擴展性能強等特點,被廣泛應用于生活和工作當中。另外,在生活和工農業(yè)生產中,也常常需要溫度,這就需要電子時鐘具有多功能性。本設計主要為實現(xiàn)一款可正常顯示時鐘/日歷、帶有定時鬧鈴的多功能電子時鐘。本文對當前電子鐘開發(fā)手段進行了比較和分析,最終確定了采用單片機技術實現(xiàn)多功能電子時鐘。本設計應用AT89C52芯片作為核心,6位LED數(shù)碼管顯示,使用DS1302實時時鐘日歷芯片完成時鐘/日歷的基本功能。這種實現(xiàn)方法的優(yōu)點是電路簡單,性能可靠,實時性好,時間精確,操作簡單,編程容易。該電子時鐘可以應用于一般的生活和工作中,也可通過改裝,提高性能,增加新功能,從而給人們的生活和工作帶

3、來更多的方便。關鍵詞:電子時鐘;多功能;AT89C52;時鐘日歷芯片17 / 20一、引 言時間是人類生活必不可少的重要元素,如果沒有時間的概念,社會將不會有所發(fā)展和進步。從古代的水漏、十二天干地支,到后來的機械鐘表以與當今的石英鐘,都充分顯現(xiàn)出了時間的重要,同時也代表著科技的進步。致力于計時器的研究和充分發(fā)揮時鐘的作用,將有著重要的意義。1.1 多功能電子時鐘研究的背景和意義20世紀末,電子技術獲得了飛速的發(fā)展。在其推動下,現(xiàn)代電子產品幾乎滲透到了社會的各個領域,有力的推動和提高了社會生產力的發(fā)展與信息化程度,同時也使現(xiàn)代電子產品性能進一步提升,產品更新?lián)Q代的節(jié)奏也越來越快。 時間對人們來說

4、總是那么寶貴,工作的忙碌性和繁雜容易使人忘記當前的時間。然而遇到重大事情的時候,一旦忘記時間,就會給自己或他人造成很大麻煩。平時我們要求上班準時,約會或召開會議必然要提與時間;火車要準點到達,航班要準點起飛;工業(yè)生產中,很多環(huán)節(jié)都需要用時間來確定工序替換時刻。所以說能隨時準確的知道時間并利用時間,是我們生活和工作中必不可少的1。 電子鐘是采用電子電路實現(xiàn)對時、分、秒進行數(shù)字顯示的計時裝置,廣泛應用于個人家庭,車站, 碼頭辦公室等公共場所,成為人們日常生活中不可少的必需品。由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應用,使得數(shù)字鐘的精度,遠遠超過老式鐘表,鐘表的數(shù)字化給人們生產生活帶來了極大的

5、方便,而且大擴展了鐘表原先的報時功能。諸如定時自動報警、0按時自動打鈴、定時廣播、自動起閉路燈、定時開關烘箱、通斷動力設備、甚至各種定時電氣的自動啟用等,所有這些,都是以鐘表數(shù)字化為基礎的。因此,研究數(shù)字鐘與擴大其應用,有著非?,F(xiàn)實的意義。1.2 電子時鐘的功能電子時鐘主要是利用電子技術將時鐘電子化、數(shù)字化,擁有時間精確、體積小、界面友好、可擴展性能強等特點,被廣泛應用于生活和工作當中。當今市場上的電子時鐘品類繁多,外形小巧別致。也有體型較大的,諸如公共場所的大型電子報時器等。電子時鐘首先是數(shù)字化了的時間顯示或報時器,在此基礎上,人們可以根據不同場合的要求,在時鐘上加置其他功能,比如定時鬧鈴,

6、萬年歷,環(huán)境溫度、濕度檢測,環(huán)境空氣質量檢測,USB擴展口功能等。本設計電子時鐘主要功能為:1. 具有時間顯示和手動校對功能,24小時制;2. 具有年、月、日顯示和手動校對功能;3. 具有整點報時功二、基于單片機的電子時鐘硬件選擇分析考慮單片機貨源充足、價格低廉,可軟硬件結合使用,能夠較方便的實現(xiàn)系統(tǒng)的多功能性,故采用單片機作為本設計的硬件基礎。2.1主要IC芯片選擇2.1.1微處理器選擇目前在單片機系統(tǒng)中,應用比較廣泛的微處理器芯片主要為8XC5X系列單片機。該系列單片機均采用標準MCS-52核,硬件資源相互兼容,品類齊全,功能完善,性能穩(wěn)定,體積小,價格低廉,貨源充足,調試和編程方便,所以

7、應用極為廣泛。例如比較常用的AT89C2052單片機,帶有2KB Flash可編程、可擦除只讀存儲器(E2PROM)的低壓、高性能8位CMOS微型計算機。擁有15條可編程I/O引腳,2個16位定時器/計數(shù)器,6個中斷源,可編程串行UART通道,并能直接驅動LED輸出。僅僅是為了完成時鐘設計或者是環(huán)境溫度采集設計,應用AT89C2052單片機完全可以實現(xiàn)。但是將兩種功能結合在一片單片機上,就需要更多的I/O引腳,故本設計采用具有32根I/O引腳的AT89C52單片機。AT89C52單片機是一款低功耗,低電壓,高性能CMOS 8位單片機,片含4KB(可經受1000次擦寫周期)的FLASH可編程可反

8、復擦寫的只讀程序存儲器(EPROM),器件采用CMOS工藝和ATMEI公司的高密度、非易失性存儲器(NURAM)技術制造,其輸出引腳和指令系統(tǒng)都與MCS-52兼容。片的FLASH存儲器允許在系統(tǒng)可改編程序或用常規(guī)的非易失性存儲器編程器來編程。因此,AT89C52是一種功能強,靈活性高且價格合理的單片機,可方便的應用在各個控制領域6。AT89C52具有以下主要性能:1. 4KB可改編程序Flash存儲器;2. 全靜態(tài)工作:024Hz;3. 128×8字節(jié)部RAM;4. 32個外部雙向輸入/輸出(I/O)口;5. 6個中斷優(yōu)先級; 2個16位可編程定時計數(shù)器;6. 可編程串行通道;7.

9、片時鐘振蕩器。此外,AT89C52是用靜態(tài)邏輯來設計的,其工作頻率可下降到0Hz,并提供兩種可用軟件來選擇的省電方式空閑方式(Idle Mode)和掉電方式(Power Down Mode)。在空閑方式中,CPU停止工作,而RAM、定時器/計數(shù)器、串行口和中斷系統(tǒng)都繼續(xù)工作。在掉電方式中,片振蕩器停止工作,由于時鐘被“凍結”,使一切功能都暫停,只保存片RAM中的容,直到下一次硬件復位為止。圖2.1 AT89C52芯片PDIP封裝引腳圖AT89C51為適應不同的產品需求,采用PDIP、TQFP、PLCC三種封裝形式,本系統(tǒng)采用雙列直插PDIP封裝形式。2.1.2 DS1302簡介DS1302是美

10、國DALLAS公司推出的一種高性能、低功耗的實時時鐘日歷芯片,附加31字節(jié)靜態(tài)RAM,采用SPI三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號和RAM數(shù)據。實時時鐘可提供秒、分、時、日、星期、月和年,一個月小于31天時可以自動調整,且具有閏年補償功能。工作電壓寬達2.55.5V。采用雙電源供電(主電源和備用電源),可設置備用電源充電方式,提供了對后備電源進行涓細電流充電的能力。有主電源和備份電源雙引腳,而且備份電源可由大容量電容(1F)來替代。需要強調的是,DS1302需要使用32.768KHz的晶振。2.1.3 DS1302引腳說明圖2.2 DS1302芯片引腳圖其

11、的引腳功能參照表2.1。表2.1 DS1302引腳功能說明引腳號名稱功能1VCC1備份電源輸入2X132.768KHz晶振輸入3X232.768KHz晶振輸出4GND地5RST控制移位寄存器/復位6I/O數(shù)據輸入/輸出7SCLK串行時鐘8VCC2主電源輸入2.2電子時鐘硬件電路設計電子鬧鐘至少要包括秒信號發(fā)生器、時間顯示電路、按鍵電路、供電電源、鬧鈴指示電路等幾部分。硬件電路框圖參照圖2.3。該系統(tǒng)使用AT89C51單片機作為核心,通過讀取時鐘日歷芯片DS1302數(shù)據,完成此電子時鐘的主要功能時鐘。使用比較通用的8段共陽數(shù)碼管,做7位顯示,分別顯示時、分、秒。圖2.3 多功能電子時鐘硬件系統(tǒng)框

12、圖鍵盤是為了完成時鐘/日歷的校對和日歷/溫度的顯示功能。由于此電子時鐘要求具有鬧鈴功能,所以設計有鬧鈴電路,進行聲音響鈴。整個電路使用了兩種電源,+5V電源將為整個電路供電。而+3V電源僅作為DS1302的備用電源。當+5V電源被切斷后,DS1302啟用+3V電源,可以保持DS1302繼續(xù)工作。當+5V電源恢復供電,LED依舊顯示當前時間,而不會因為斷電使系統(tǒng)復位到初始化時間,避免了重新校時的麻煩。2.2.1時鐘電路設計系統(tǒng)時鐘應用了實時時鐘日歷芯片DS1302,其連接如圖2.4。該硬件電路設計簡單,抗干擾能力強。如圖,AT89C51單片機P1.7直接接DS1302的RST端,上電后,AT89

13、C51的P1.7腳自動輸出高電平。P1.5作為串行時鐘接口,P1.6作為時鐘數(shù)據的I/O。DS1302采用雙電源供電,平時由+5V電源供電,當+5V掉電之后,由圖中BT1(+3V備用電池)供電。特別需要注意X1和X2兩端連接的晶振Y1,該晶振頻率為32.768KHz。圖2.4 系統(tǒng)時鐘電路2.2.2整點報時功能采用蜂鳴器鬧鈴結構簡單,控制方便,但是發(fā)出的鬧鈴聲音單一。也可以在編程的時候編寫一段音樂程序,待鬧鈴時間到時,調用該音樂程序給揚聲器,便響起音樂。不過該方法只能做一些簡單音樂,并且音樂程序會占用很多單片機存儲資源。還有一種方法是采用錄音放音芯片1420做鬧鈴,先對錄放音設備錄入一段音樂,

14、當?shù)皆O定時間時,單片機控制錄放音設備放音。采用錄放音電路,鈴聲可以是預先設定的一段自己喜歡的音樂,符合電器設備人性化的要求。且1420芯片可以分段錄音,還具有語音報時功能。另外,也可以購置一塊音樂集成電路,加置在單片機和蜂鳴器之間,當單片機連接鬧鈴電路的管腳送出高電平時,音樂集成電路會給蜂鳴器特定脈沖,使蜂鳴器發(fā)聲。此類集成電路體積較小,使用方便,不足的是音樂簡單、單一。鬧鈴的鬧鐘不是本設計中的重點,故采用最簡單的方法,占用單片機一根I/O口P1.7, 中間用PNP型三極管S9012連接P1.7和蜂鳴器。當P1.7引腳為低電平時,S9012的發(fā)射極和集電極導通,使蜂鳴器發(fā)聲。當響鈴標志位為“1

15、”時,P1.7送一定頻率脈沖,使蜂鳴器U11發(fā)出聲音。如圖2.5圖2.5 鬧鈴電路1、 Protel軟件畫原理圖3.1系統(tǒng)工作流程圖3.2 原理圖四、proteus軟件仿真與調試4.1電路板的仿真 利用keil軟件編寫源程序。在protues中畫好其電路圖如下圖4.1所示:4.2軟件調試在硬件調試完畢的基礎上,需要進一步完善程序,也就是進入軟件調試階段。在本設計中,軟件調試主要分兩大部分:實時時鐘日歷子程序調試、按鍵子程序調試。將這兩部分調試成功,那么整個設計的軟件部分也就基本完成了。圖4.1 數(shù)字鐘仿真圖五、 源程序用C語言編寫:#include <reg52.h>#includ

16、e <intrins.h>#define uchar unsigned char#define uint unsigned intuchar data_7seg10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,;uchar hour,min,sec;sbit shi=P10;sbit fen=P11;sbit miao=P12;sbit rst=P14;sbit sck=P15;sbit io=P16;sbit fm=P17;/*函數(shù)聲明:*/void write_ds1302_byte(uchar dat);void wri

17、te_ds1302(uchar add,uchar dat);uchar read_ds1302(uchar add);void read_rtc();void set_rtc();void display();void delay(int n);void show();void fmzz(); /*DS1302單字節(jié)寫入:*/void write_ds1302_byte(uchar dat)uchar i;for (i=0;i<8;i+)sck=0;io=dat&0x01;dat=dat>>1;sck=1; /*DS1302多字節(jié)寫入:*/void write_ds

18、1302(uchar add,uchar dat)rst=0;_nop_();sck=0;_nop_();rst=1;_nop_();write_ds1302_byte(add);write_ds1302_byte(dat);rst=0;_nop_();io=1;sck=1; /*DS1302讀?。?/uchar read_ds1302(uchar add) uchar i,value;rst=0;_nop_();sck=0;_nop_();rst=1;_nop_();write_ds1302_byte(add);for (i=0;i<8;i+)value=value>>1;

19、sck=0;if (io) value=value|0x80;sck=1;rst=0;_nop_();sck=0;_nop_(); sck=1;io=1;return value; /*調整時間:*/void set_rtc() if (shi=0) delay(100); if (shi=0) hour=(hour>>4)*10+(hour&0x0f); hour+; if (hour=24) hour=0; hour=(hour/10)<<4)+(hour%10); write_ds1302(0x84,hour); if (fen=0) delay(100)

20、; if (fen=0) min=(min>>4)*10+(min&0x0f); min+; if (min=60) min=0; min=(min/10)<<4)+(min%10); write_ds1302(0x82,min); if (miao=0) delay(100); if (miao=0) sec=(sec>>4)*10+(sec&0x0f); sec+; if (sec=60) sec=0; sec=(sec/10)<<4)+(sec%10); write_ds1302(0x80,sec); /*讀取時間:*/vo

21、id read_rtc() hour=read_ds1302(0x85); min=read_ds1302(0x83); sec=read_ds1302(0x81); /*顯示時間:*/void display() unsigned int a=1;P2=0x01;P0=data_7seghour/16;delay(a);P2=0x02;P0=data_7seghour%16;delay(a);P2=0x04;P0=data_7segmin/16;delay(a);P2=0x08;P0=data_7segmin%16;delay(a);P2=0x10;P0=data_7segsec/16;delay(a);P2=0x20;P0=data_7segsec%1

溫馨提示

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

最新文檔

評論

0/150

提交評論