單片機(jī)電子時(shí)鐘設(shè)計(jì)報(bào)告_第1頁
單片機(jī)電子時(shí)鐘設(shè)計(jì)報(bào)告_第2頁
單片機(jī)電子時(shí)鐘設(shè)計(jì)報(bào)告_第3頁
單片機(jī)電子時(shí)鐘設(shè)計(jì)報(bào)告_第4頁
單片機(jī)電子時(shí)鐘設(shè)計(jì)報(bào)告_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、單片機(jī)電子時(shí)鐘設(shè)計(jì)報(bào)告題 目: 單片機(jī)電子時(shí)鐘設(shè)計(jì)報(bào)告 專 業(yè): 電子信息工程 年 級: 2013 學(xué)生姓名: 學(xué) 號: 聯(lián)系電話: 完成日期:2014年5月20摘要本次設(shè)計(jì)以stc89c52芯片為核心,鋪以必要的外圍電路,設(shè)計(jì)了以個(gè)簡易的電子時(shí)鐘,它以5v直流電源供電。在硬件方面,除了cpu外,使用1602液晶為顯示器。首先對液晶屏初始化,經(jīng)過程序控制,進(jìn)行走時(shí)。通過1602液晶能夠比較準(zhǔn)確顯示年、月、日、星期、時(shí)、分、秒。采用動(dòng)態(tài)掃描按鍵,實(shí)現(xiàn)對年、月、日、星期、時(shí)、分、秒進(jìn)行校準(zhǔn)。關(guān)鍵字:stc89c52、1602液晶abstractthis design uses the stc89c

2、52 chip as the core, with the necessary peripheral circuits, design a simple electronic clock, it uses 5v dc power supply. in terms of hardware, in addition to cpu, use 1602 lcd display. the lcd screen initialization, through program control, to go. through the 1602 liquid crystal can accurately dis

3、play year, month, day, week, time, minutes, seconds. the dynamic scan button, realize to calibrate the year, month, day, week, time, minutes, seconds.keywords: stc89c52, 1602摘要2abstract21緒論42電子時(shí)鐘概述43電子時(shí)鐘設(shè)計(jì)方案43.1兩種設(shè)計(jì)控制器方案的選擇43.2兩種設(shè)計(jì)控制器方案的選擇54系統(tǒng)電路64.1lcd1602液晶時(shí)序圖:64.2硬件電路框圖:85程序設(shè)計(jì)流程圖:95.1電路原理圖105.2電路p

4、cb圖115.3部分程序125.5存在問題145.6解決方法14總結(jié)15附錄:原件清單171緒論單片機(jī)是一種集成電路芯片,它將各種功能集成到一塊硅片上并且內(nèi)含完善的微型計(jì)算機(jī)系統(tǒng)。單片機(jī)自推出到現(xiàn)在已經(jīng)發(fā)展了二十多年,應(yīng)用領(lǐng)域有工業(yè)生產(chǎn)、通訊以及交通設(shè)備,還有辦公自動(dòng)化、pc機(jī)外圍器件、汽車電子器件以及網(wǎng)絡(luò)通訊等。單片機(jī)的優(yōu)點(diǎn)有集成度高、功能強(qiáng)、可靠性高、體積小、功耗低、使用方便、價(jià)格低廉等,所以本設(shè)計(jì)討論的電子時(shí)鐘系統(tǒng)就是利用單片機(jī)制成。2電子時(shí)鐘概述單片機(jī)可以很容易實(shí)現(xiàn)芯片的智能化,所以在電子鐘的基礎(chǔ)上,人們可以根據(jù)自己的需要以及場合要求添加不同的附加功能。需要整點(diǎn)報(bào)時(shí)可添加蜂鳴器,需要測

5、量環(huán)境溫度可以添加溫度傳感器,或者檢測空氣質(zhì)量、空氣濕度等,也可以設(shè)置定時(shí)鬧鈴功能甚至還可以添加usb端口讀取其他設(shè)備數(shù)據(jù)。3電子時(shí)鐘設(shè)計(jì)方案3.1兩種設(shè)計(jì)控制器方案的選擇方案一:采用專用的實(shí)時(shí)時(shí)鐘芯片。時(shí)下常用的時(shí)鐘芯片有ds1302、sb2068、pcf8485等。這些芯片可以完成秒計(jì)時(shí)工作,進(jìn)而計(jì)出小時(shí)、年月日等。方案二:完全用軟件方法實(shí)現(xiàn)計(jì)時(shí),需要利用單片機(jī)stc89c52中斷功能,具體操作是:設(shè)置幾個(gè)字節(jié)分別存放秒、分、時(shí)、日、周、月、年等信息。利用定時(shí)器實(shí)現(xiàn)1秒定時(shí)中斷,這便是秒信息,每一次中斷都使秒字節(jié)加1;軟件設(shè)置當(dāng)秒字節(jié)累計(jì)到60時(shí),分字節(jié)加1,同時(shí)秒字節(jié)清零;當(dāng)分字節(jié)累計(jì)加

6、到60時(shí),時(shí)字節(jié)加1,同時(shí)分字節(jié)清零;時(shí)字節(jié)累計(jì)加到24時(shí),日字節(jié)加一,時(shí)字節(jié)清零。以此類推,再實(shí)現(xiàn)周、月、年的計(jì)時(shí)。這種設(shè)計(jì)方案的硬件電路更加簡單,單片機(jī)自己即可完成計(jì)時(shí),但缺點(diǎn)是每次執(zhí)行main程序,定時(shí)器都需要重新賦值,每當(dāng)單片機(jī)斷電時(shí),程序即停止,也就無法繼續(xù)完成計(jì)時(shí)工作。本次電子時(shí)鐘的制作方案采用方案二,這有利于我們對51單片機(jī)內(nèi)部中斷定制器的運(yùn)用。3.2兩種設(shè)計(jì)控制器方案的選擇方案一:采用led數(shù)碼管動(dòng)態(tài)顯示。優(yōu)點(diǎn):當(dāng)顯示位數(shù)較多時(shí),采用動(dòng)態(tài)顯示方式比較節(jié)省i/o 口,硬件電路也較靜態(tài)顯示簡單,也比較省電;缺點(diǎn):其穩(wěn)定度不如靜態(tài)顯示方式。而且在顯示位數(shù)較多時(shí)cpu要輪番掃描,占用c

7、pu較多的時(shí)間。方案二:采用lcd1602液晶顯示模塊。液晶顯示器以其微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧的諸多優(yōu)點(diǎn),在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中得到越來越廣泛的應(yīng)用。1602液晶字符型液晶模塊是一種用5x7點(diǎn)陣圖形來顯示字符的液晶顯示器,根據(jù)顯示的容量可以分為1行16個(gè)字、2行16個(gè)字、2行20個(gè)字等。本次電子時(shí)鐘的制作方案采用方案二,此模塊的電路較為簡單,操作比較簡便,可以顯示完整的時(shí)間。4系統(tǒng)電路硬件系統(tǒng)模塊:按鍵輸入模塊、單片機(jī)控制模塊、lcd1602液晶顯示模塊。4.1lcd1602液晶時(shí)序圖:4.2硬件電路框圖:按鍵輸入模塊單片機(jī)stc89c52控制模塊lcd1602液晶顯示模

8、塊。上電開始5程序設(shè)計(jì)流程圖:定義全局變量,對時(shí)間附初值1602初始化子函數(shù):數(shù)的拆分子函數(shù):時(shí)間函數(shù)按鍵掃描函數(shù);判斷時(shí)間加減定時(shí)器中斷;走時(shí)函數(shù)主函數(shù)5.1電路原理圖5.2電路pcb圖5.3部分程序void init()rw=0;lcden=0;write_com(0x38);/顯示模式write_com(0x0c);/顯示光標(biāo)write_com(0x06);/每寫一個(gè)光標(biāo)左移write_com(0x01);/清屏write_com(0x80);/設(shè)置指針for(num=0;num15;num+)write_date(tablenum);delay(5);write_com(0x80+0x

9、40);/設(shè)置指針for(num=0;num12;num+) /整屏左移write_date(table1num);delay(5);/每寫一個(gè)字延時(shí)5毫秒 tmod=0x01;/定時(shí)器0的方式1th0=(65536-50000)/256;/裝初值,對256求模tl0=(65536-50000)%256;/裝初值,對256求余ea=1;et0=1;tr0=1;/開啟定時(shí)器void display_year(uchar add,uint date)uchar qian,bai,shi,ge;qian=date/1000;bai=date/100%10;shi=date/10%10;/對十位求模g

10、e=date%10;/對各位求余write_com(0x80+add);write_date(0x30+qian);write_date(0x30+bai);write_date(0x30+shi);write_date(0x30+ge);5.5存在問題1、液晶屏出現(xiàn)閃動(dòng),時(shí)間視乎在走時(shí),效果不明顯。2、液晶屏指無顯示針指令。3、用按鍵調(diào)時(shí)間時(shí),光標(biāo)顯示在其他地方。4、月、日、時(shí)、分、秒顯示可以正常顯示,但星期、年份無法正常顯示。5、寫好后下載進(jìn)單片機(jī),發(fā)現(xiàn)都有顯示,但時(shí)間不走時(shí)。5.6解決方法1、1602地址可能有重疊的數(shù)據(jù)。可能在初始化時(shí)沒有清屏。2、指針地址語句沒有寫在需要顯示數(shù)據(jù)的地方

11、,一定要注意顯示數(shù)據(jù)顯示指令和顯示指令的先后順序。3、在按鍵掃描中找到加調(diào),或減調(diào)的程序。在他們每個(gè)if語句結(jié)束的“”后面加上相應(yīng)的顯示數(shù)據(jù)語句。4、這里要明白對數(shù)據(jù)的處理,月、日、時(shí)、分、秒都是兩位數(shù),星期是三位數(shù)(英文前三個(gè)字母),年份是四位數(shù)。所以我們可以分別對兩位,三位,四位數(shù)的分離子函數(shù)。聲明含參的子函數(shù),參數(shù)是你要命名的星期,年,月、日、等。thousand=num/1000;hundred=num/100%10;ten=num/10%10;one=num%10;然后再寫入相應(yīng)的命令,在相應(yīng)的地方寫入數(shù)據(jù),然后再寫上相應(yīng)的指針地址分別顯示這四位數(shù)。如果在程序中需要顯示年份,直接調(diào)用

12、四位常數(shù)分離的子函數(shù)即可。同理,兩位數(shù)也是一樣的處理。星期可以在之前定義好星期的數(shù)組名,如:uchar code week0=sun;等。然后在下面寫上子函數(shù)如下圖所視:剩下的星期以此類推寫入即可。5、如果走時(shí)函數(shù)寫在中斷中,就把走時(shí)函數(shù)放到主函數(shù)中即可??偨Y(jié)1、這只我第二次接觸單片機(jī),通過編寫程序來實(shí)現(xiàn)一個(gè)簡單的電子時(shí)鐘。這次的學(xué)習(xí)我分為十二個(gè)過程,即十二節(jié)課。具體過程為:第一課:看郭天祥視頻,認(rèn)識了解單片機(jī)stc89c52內(nèi)部定時(shí)器中斷操作,然后弄清1602液晶的使用,學(xué)會(huì)結(jié)合數(shù)據(jù)表讀、寫程序。如:液晶初始化、指針設(shè)置函數(shù)、數(shù)據(jù)寫入函數(shù)、光標(biāo)閃爍;實(shí)現(xiàn)隨意操作某個(gè)地址寫入數(shù)據(jù),實(shí)現(xiàn)整屏移動(dòng)

13、,清零等效果。第二課:定時(shí)器啟動(dòng),十位個(gè)位拆分、時(shí)分秒走時(shí)、定時(shí)器中斷;實(shí)現(xiàn)第二行的時(shí)分秒走時(shí)。第三課:寫入鍵盤掃描函數(shù),即判斷按鍵第一次按下判斷松手定時(shí)器關(guān)閉光標(biāo)地址移動(dòng)到第四次按下時(shí)光標(biāo)停止閃動(dòng)定時(shí)器開啟。第四課:(嵌套式)分別對時(shí)分秒寫入加1指令,注意時(shí)序的先后。即:光標(biāo)隨功能鍵按下移動(dòng),通過判斷功能鍵按下的次數(shù),對相應(yīng)的時(shí)分秒進(jìn)行自加。第五課:(嵌套式)分別對時(shí)分秒寫入減1指令,注意時(shí)序的先后。即:光標(biāo)隨功能鍵按下移動(dòng),通過判斷功能鍵按下的次數(shù),對相應(yīng)的時(shí)分秒進(jìn)行自減(注意對所寫程序加以注釋,以便日后理清)。第六課:增加星期數(shù)組并且定義,在中斷函數(shù)中調(diào)用星期函數(shù)、寫入月份指令。(閏年計(jì)

14、算公式:1.普通年能被4整除且不能被100整除的為閏年2.世紀(jì)年能被400整除的是閏年),注意時(shí)序的先后,留意寫數(shù)據(jù)和寫指針地址時(shí)要先判斷,后執(zhí)行(注意對所寫程序加以注釋,以便日后理清)。第七課:由于前一課星期指令不能執(zhí)行,故重更改星期函數(shù)。即:利用switch函數(shù)分別對周一至周日進(jìn)行設(shè)置,在主函數(shù)中調(diào)用,滿足條件的就執(zhí)行,不合條件的break跳出。第八課:寫入對“千百十個(gè)”四位數(shù)的才分,在中斷函數(shù)中寫入年地址指針并寫入數(shù)據(jù)。實(shí)現(xiàn)年份計(jì)時(shí)。注意對數(shù)的拆分算法,對條件的判斷。第九課:增加鍵盤掃描指令。即對按下功能鍵的次數(shù),光標(biāo)隨之移動(dòng)到相應(yīng)的星期、日、月、年的指針位置。隨后在鍵盤掃描中增加對星期的自加函數(shù)。實(shí)現(xiàn)通過按鍵對星期進(jìn)行增加功能。第十課:增加鍵盤掃描指令。即在相應(yīng)的位置寫入對年份的增、減指令。注意時(shí)序與位置的判斷,再寫入數(shù)據(jù)指令。

溫馨提示

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

評論

0/150

提交評論