51單片機(jī)實(shí)現(xiàn)電子時(shí)鐘功能_第1頁
51單片機(jī)實(shí)現(xiàn)電子時(shí)鐘功能_第2頁
51單片機(jī)實(shí)現(xiàn)電子時(shí)鐘功能_第3頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第一章設(shè)計(jì)要求及系統(tǒng)組成1.1設(shè)計(jì)要求并且可以任利用單片機(jī)最小系統(tǒng)設(shè)計(jì)一個(gè)電子時(shí)鐘,顯示方式為*:*意修改時(shí)間。1.2系統(tǒng)組成原理框圖如圖1.1復(fù)位電路圖1.1系統(tǒng)原理框圖第二章系統(tǒng)設(shè)計(jì)方案2.1系統(tǒng)設(shè)計(jì)方案電路原理圖如圖2.1所示圖2.1電路原理圖2.2電路模塊組成及其工作原理2.2.1 時(shí)鐘電路系統(tǒng)時(shí)鐘源由內(nèi)部時(shí)鐘方式產(chǎn)生,時(shí)鐘電路由12MH晶振和兩個(gè)30PF瓷片電容組成,構(gòu)成自激振蕩,形成振蕩源提供給單片機(jī)。電容可在5PF到30PF之間選擇,電容的大小對(duì)振蕩頻率有微小影響,可起頻率微調(diào)作用。時(shí)鐘電路如圖2.2所示復(fù)位電路單片機(jī)復(fù)位有上電復(fù)位和手動(dòng)復(fù)位兩種方式,上電復(fù)位是接通電源后利用RC

2、充電來實(shí)現(xiàn)復(fù)位。手動(dòng)復(fù)位是通過人為干預(yù),強(qiáng)制系統(tǒng)復(fù)位。復(fù)位電路如圖2.3所示,可以實(shí)現(xiàn)上電復(fù)位和手動(dòng)復(fù)位功能223按鍵電路在單片機(jī)的P1.0、P1.1、P1.2三個(gè)I/O 口接三個(gè)簡(jiǎn)易按鍵,通過不斷檢測(cè) 按鍵狀態(tài),識(shí)別按鍵的按下順序和次數(shù)即可實(shí)現(xiàn)時(shí)間的任意修改。按鍵電路如圖2.4所示。224 1602 液晶顯示模塊電路本設(shè)計(jì)是通過對(duì)1602液晶顯示屏的控制來實(shí)現(xiàn)時(shí)間的顯示。1602液晶顯示模塊的驅(qū)動(dòng)如下所述:16RT1602CU2U1二5w0B7|biiT£?圖2.4 1602液晶屏實(shí)物圖1602采用標(biāo)準(zhǔn)的16腳接口,其中:第1腳:VSS為地電源第2腳:VDD接 5V正電源第3腳:V

3、0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高,對(duì)比度過高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10K的電位器調(diào)整對(duì)比度 第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。第5腳:RW為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫 操作。當(dāng)RS和 RW共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng) RS為低電平RW為高電平時(shí)可以讀忙信號(hào),當(dāng) RS為高電平RW為低 電平時(shí)可以寫入數(shù)據(jù)。第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模 塊執(zhí)行命令。第714腳:D0- D7為8位雙向數(shù)據(jù)線第1516腳:空腳1602顯示屏的時(shí)序圖如圖2.5rInt

4、ent I SrgnaiY DATA_/聰蹤廠LFT_AAA.I1 iInhirucdoflBusy 料即 Been Bust Fig 5eci圖2.5 1602時(shí)序圖PIQPQOPUmP12P13F02PO.iP14P04PI5PQ5PL6P06P17P072INTIP20INTOP2IP2;AT«9C 5 LT1F23TOF24P25LA. VPP2&P27XIX2RESETR.XDTKDRDALETWKF3ENLCDIfiPtN畢RSlRAFIDOlDttobJdaDfeb?1602液晶顯示屏與單片機(jī)的連線圖如圖2.6所示圖2.6 1602與單片機(jī)連線圖第三章 程序設(shè)計(jì)

5、及其調(diào)試3.1 程序設(shè)計(jì)程序設(shè)計(jì)如下:#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit lcdrs=P2A0。sbit lcswr=P2A1 。sbit lcden=P2A2 。sbit s1=P1A0 。sbit s2=P1A1 。sbit s3=P1A2 。sbit rd=P3A7 。uchar count,s1num 。char miao,shi,fen 。uchar code table=" 2018-6-14 TUN"uchar code table1=&

6、quot; 00:00:00"void delay(uint z>uint x,y 。for(x=z 。 x>0。 x->for(y=110 。 y>0。 y-> 。void write_com(uchar com>lcdrs=0 。lcswr=0 。P0=com。delay(5> 。lcden=1 。delay(5> 。lcden=0 。void write_date(uchar date>lcdrs=1 。lcden=0 。P0=date。delay(5> 。lcden=1 。delay(5> 。 lcden=0

7、。void init(>uchar num 。lcden=0 。write_com(0x38> 。write_com(0x0c> 。write_com(0x06> 。write_com(0x01> 。write_com(0x80> 。for(num=0。 num<15 num+> write_date(tablenum> delay(5> 。write_com(0x80+0x40> 。for(num=0。num<12 num+>write_date(table1num> delay(5> 。TMOD=0x

8、O1TH0=(65536-50000>/256。TL0=(65536-50000>%256。EA=1。ET0=1。TR0=1。void write_sfm(uchar add,uchar date>uchar shi,ge 。shi=date/10 。ge=date%10。 write_com(0x80+0x40+add> 。 write_date(0x30+shi> 。write_date(0x30+ge> 。void keyscan(>rd=0。if(s1=0>delay(5> 。if(s1=0>s1num+。while(!s1&

9、gt; 。if(s1num=1>TR0=0。write_com(0x80+0x40+10> 。 write_com(0x0f> 。if(s1num=2>write_com(0x80+0x40+7> 。if(s1num=3>write_com(0x80+0x40+4> 。if(s1num=4>s1num=0。write_com(0x0c> 。 TR0=1。if(s1num!=0>if(s2=0>delay(5> 。if(s2=0>while(!s2> 。if(s1num=1>miao+。if(miao=60

10、>miao=0。 write_sfm(10,miao> 。 write_com(0x80+0x40+10> 。if(s1num=2>fen+ 。if(fen=60>fen=0 。 write_sfm(7,fen> 。 write_com(0x80+0x40+7> 。if(s1num=3>shi+ 。if(shi=24>shi=0 。 write_sfm(4,shi> 。 write_com(0x80+0x40+4> 。if(s3=0>delay(5> 。 if(s3=0> while(!s3> 。if(s

11、1num=1>miao- 。if(miao=-1> miao=59。write_sfm(10,miao> 。 write_com(0x80+0x40+10> 。if(s1num=2>fen- 。if(fen=-1> fen=59 。write_sfm(7,fen> 。 write_com(0x80+0x40+7> 。if(s1num=3>shi- 。if(shi=-1> shi=23 。write_sfm(4,shi> 。write_com(0x80+0x40+4> 。void main(>init(> 。wh

12、ile(1>keyscan(> 。void timer0(> interrupt 1TH0=(65536-50000>/256。TL0=(65536-50000>%256。 count+ 。if(count=18>count=0 。miao+。if(miao=60>miao=0。 fen+ 。 if(fen=60> fen=0 。shi+ 。if(shi=24>shi=O。 write_sfm(4,shi> 。write_sfm(7,fe n>。write_sfm(10,miao> 。3.2實(shí)驗(yàn)調(diào)試實(shí)驗(yàn)過程中出現(xiàn)了很多的問

13、題,經(jīng)過反復(fù)的程序修改和調(diào)試,最終完成了本 設(shè)計(jì)的要求,實(shí)現(xiàn)了電子時(shí)鐘功能。在電路焊接前,通過protues單片機(jī)仿真軟件多次調(diào)試和仿真,得出了正確 的實(shí)驗(yàn)結(jié)果。Protues仿真圖如圖3.1所示。I1:cs:WILF.二T£6-SW1映F7 gWSTj - j - jU2 -XTOL1FDDTAEOXTA12RBTP 口 *口FD-SAtSP 口辟綽FDJMV7*桂陀a©ALE 目PZ-4MC 陀來13F2JSfAUpinP1L1Pi.irw.Fi2歸劌moPH3F1i.tPISP3STT1F1.6WIP1,T加"3lC ni726 ¥LL: 鬥43t

14、fJZ77Z12LED 1602圖3.1 protues 仿真圖結(jié)論經(jīng)過兩周的課程設(shè)計(jì),不斷的測(cè)試與分析,最終完成了電子時(shí)鐘的設(shè)計(jì)與制作。在實(shí)驗(yàn)的設(shè)計(jì)及仿真測(cè)試時(shí),當(dāng)沒有得出正確的實(shí)驗(yàn)現(xiàn)象是,必須冷靜、沉著的思考問題的來源,切勿太過緊張。在電路的焊接過程,須仔細(xì)再仔細(xì), 案部分焊接導(dǎo)線,切勿亂了頭緒。這樣才能在電路制作過程中減少許多不必要 的錯(cuò)誤。本次設(shè)計(jì)組要是程序設(shè)計(jì)部分,在程序設(shè)計(jì)過程中,出現(xiàn)了很多的問 題,經(jīng)過和組員的多次討論與研究、,并參閱了一些電子資料,解決的很多難 題。此課程設(shè)計(jì)主要考察了對(duì)單片機(jī)技術(shù)原理及程序設(shè)計(jì)基礎(chǔ)等知識(shí)。理論結(jié)合 實(shí)踐,使得在平時(shí)學(xué)習(xí)的單片機(jī)技術(shù)知識(shí)有了一個(gè)新的認(rèn)識(shí)。此次設(shè)計(jì)的電子時(shí)鐘是一個(gè)典型的單片機(jī)應(yīng)用實(shí)例。通過本次設(shè)計(jì),使

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論