C51單片機(jī)LCD電子時鐘課程設(shè)計(jì)_第1頁
C51單片機(jī)LCD電子時鐘課程設(shè)計(jì)_第2頁
C51單片機(jī)LCD電子時鐘課程設(shè)計(jì)_第3頁
C51單片機(jī)LCD電子時鐘課程設(shè)計(jì)_第4頁
C51單片機(jī)LCD電子時鐘課程設(shè)計(jì)_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余16頁可下載查看

下載本文檔

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

文檔簡介

1、中南大學(xué)自動化工程訓(xùn)練設(shè)計(jì)題目 LCD時鐘程序設(shè)計(jì)指導(dǎo)老師設(shè)計(jì)者專業(yè)班級自動化級班號設(shè)計(jì)日期2016年9月目錄一、設(shè)計(jì)任務(wù)要求分析11、1設(shè)計(jì)總體方案及其方案論證1。二、 。組成電路介紹12、1復(fù)位電路:b2、2晶振電路:2、3鍵盤控制系統(tǒng)設(shè)訃:2。2、4鬧鐘部分:32、5顯示電路設(shè)計(jì)。32、5、1 LCD1602 簡介3。三、 軟件設(shè)計(jì)43、1程序主流程圖53、2初始化流程圖5。3、3延時中斷子程序&3、4時間設(shè)宜子程序7。四、系統(tǒng)測試7。4、1測試方法7。4、2測試結(jié)果74、3結(jié)果分析五、源程序8。一、設(shè)計(jì)任務(wù)要求分析本設(shè)計(jì)要實(shí)現(xiàn)得功能就是:實(shí)時顯示當(dāng)前得時鐘,并且可以設(shè)定鬧鈴,以

2、蜂鳴器鳴 響5秒得方式作為鬧鈴。1、1設(shè)計(jì)總體方案及其方案論證按照系統(tǒng)得設(shè)計(jì)功能所要求得,液晶顯示電子時鐘原理圖如圖所示。液晶顯示電子時鐘原理圖本系統(tǒng)以AT 8 9 C 5 1單片機(jī)為核心,該單片機(jī)可把數(shù)據(jù)進(jìn)行處理,從而把數(shù)據(jù)傳輸?shù)斤@示模塊LCD 1 602液晶顯示器,實(shí)現(xiàn)時間及日期得顯示。以LCD液晶顯示 器為顯示模塊,把單片機(jī)傳來得數(shù)據(jù)顯示出來,并且顯示多樣化,還可以對時間與日期 進(jìn)行設(shè)置,主要鼎按鍵來實(shí)現(xiàn)。二、組成電路介紹2、1復(fù)位電路:復(fù)位電路復(fù)位電路有兩種方式:上電復(fù)位與按鈕復(fù)位,我們主要用按鈕復(fù)位方式。如圖所 示:2、2晶振電路:晶振電路如圖所示:晶振模塊原理圖選取原則:電容選取2

3、2 p F,晶振為12MH z o1) 電源:AT89S 5 1單片機(jī)得供電電源就是5 V得直流電。2) EA 非/Vpp 腳:我們沒有用外部擴(kuò)展ROM,因此EA非/V p p為高電平,即接+5V電源。按鍵需要4個,分別實(shí)現(xiàn)為時間調(diào)整、時間得加、時間得減、鬧鐘調(diào)整四個功能。用單片機(jī)得4個I/O 口接收控制信號,其電路如圖所示:按鍵調(diào)時電路通過控制鍵來控制所要調(diào)節(jié)得就是時、分、還就是秒。在控制鍵按下后LCD中會 在相應(yīng)得位置出現(xiàn)光標(biāo),這時在通過加數(shù)鍵或減數(shù)鍵來控制時分秒得加或減。在調(diào)鬧 鐘鍵按下后LCD中也會在相應(yīng)得位置出現(xiàn)光標(biāo),這時也通過加數(shù)鍵或減數(shù)鍵來設(shè)置鬧 鐘。2: 4鬧鐘部分:鬧鐘部分主

4、要山蜂鳴器,三極管,電阻組成。其電路圖如圖所示:LS1 吒0*0鬧鐘電路當(dāng)單片機(jī)得P 1 "5接口輸出為高電平時,蜂鳴器響,當(dāng)輸出為低電平時,蜂鳴器 停止。2、5顯示電路設(shè)計(jì)2、5、1 LCD16 0 2 簡介LCD 1 602液晶也叫16 0 2字符型液晶,它就是一種專門用來顯示字母、數(shù)字、符 號等得點(diǎn)陣型液晶模塊,它有若干個5X 7或者5X1 1等點(diǎn)陣字符位組成,每個點(diǎn)陣字 符位都可以顯示一個字符。每位之間有一個點(diǎn)距得間隔,每行之間也有也有間隔,起到 了字符間距與行間距得作用,正因?yàn)槿绱?所以她不能顯示圖形(用自定義CG RAM, 顯示效果也不好)。1 602LCD就是指顯示得內(nèi)

5、容為1 6X2,即可以顯示兩行,每行16 個字符液晶模塊(顯示字符與數(shù)字)。目前市面上字符液晶絕大多數(shù)就是基于HD4478 0液晶芯片得,控制原理就是完全相同得,因此基于HD4 478 0寫得控制程序可以很 方便地應(yīng)用于市面上大部分得字符型液晶。(1)LCD 1 6 02得主要技術(shù)參數(shù)顯示容量:16 X2個字符;芯片工作電壓:4、55、5V;工作電流:2、0mA(5、0V);模塊最佳工作電壓:5、0V;字符尺寸:2、95X4、3 5 (WXH)mmo(2)LCD1 6 02引腳功能說明1602 LCD采用標(biāo)準(zhǔn)得14腳(無背光)或16腳(帶背光)接口,各引腳接口說明 如下:第1腳:VSS為地電源

6、;第2腳:VDD接5V正電源;第3腳:VL為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地時對比度 最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K得電位器調(diào)整對比度; 第4腳:RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器;第5腳:R/W為讀寫信號線,高電平時進(jìn)行讀操作,低電平時進(jìn)行寫操作。當(dāng)RS 與R/W共同為低電平時可以寫入指令或者顯示地址,當(dāng)RS為低電平R/W為高電平時 可以讀忙信號,當(dāng)RS為高電平R /W為低電平時可以寫入數(shù)據(jù);第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令; 第廠14腳:D0D 7 ,為8位雙向數(shù)據(jù)線;第15腳:

7、背光源正極;第16腳:背光源負(fù)極。160 2液晶模塊得讀寫操作,屏幕與光標(biāo)得操作都就是通過指令編程來實(shí)現(xiàn)得。 本顯示電路將單片機(jī)得P0 口作為液晶得數(shù)據(jù)口,由于P0 口沒有上拉電阻,所以需額 外加一個排阻作為上拉電阻,利用P1 口作為其讀寫控制端,具體電路如圖。LCD1LumetS58SSSSS21顯示電路三、軟件設(shè)計(jì)軟件設(shè)計(jì)就是本次設(shè)計(jì)中不可缺少得環(huán)節(jié),就是本次設(shè)計(jì)能夠完成得最重要得環(huán) 節(jié)之一。在完成了硬件電路得設(shè)計(jì)之后,依據(jù)系統(tǒng)設(shè)計(jì)要求與硬件電路開始系統(tǒng)軟件 部分得設(shè)計(jì)。本系統(tǒng)軟件設(shè)計(jì)包括:主程序、系統(tǒng)初始化子程序、延時中斷子程序、 時間設(shè)置子程序。首先進(jìn)行模塊設(shè)汁,最后進(jìn)行各模塊得整合以

8、完成整個軟件系統(tǒng)。3、1程序主流程圖主流程圖3、2初始化流程圖系統(tǒng)初始化模塊得主要功能就是完成系統(tǒng)得初始化以及設(shè)定系統(tǒng)得工作狀態(tài),初 始化部分包括以下方面得內(nèi)容:(1)單片機(jī)定時器0初始化以及各種I/O 口定義;(2) 1602液晶初始化清屏及設(shè)定工作方式;(3) 系統(tǒng)進(jìn)入正常工作狀態(tài)。_開始)LCD功能設(shè)宜 lcdzk設(shè)旨LCD賦初值定時器賦初值開中斷升定時器1(結(jié)束)初始化流程圖3、3延時中斷子程序1開始、'THO=(65536-46080)/256TLO=(65536-46080)%256定時50msyear=0miao+亠一丄-、miao=60i-i否fen+7en=60 &#

9、39;衛(wèi)匸二 par=10Q二year+ i:衛(wèi)<crjponth=month+是4shi+'shi=24_'否day+ 卜延時中斷子程序秒設(shè)宜流程圖系統(tǒng)測試3、4時間設(shè)置子程序這里僅畫出了秒設(shè)置流程圖,其她時間及日期設(shè)置類似。4、1測試方法系統(tǒng)單片機(jī)代碼釆用C語言編寫,p r oteus進(jìn)行原理圖得設(shè)計(jì),ke i 1軟件進(jìn)行代碼得編譯,通過keil與p ro t eus軟件得充分利用,將編譯好得執(zhí)行代碼加載到原 理圖中得單片機(jī)里面進(jìn)行原理圖仿真,通過仿真對系統(tǒng)得代碼程序與原理圖進(jìn)行測 試,瞧就是否達(dá)到系統(tǒng)得設(shè)計(jì)要求。4、2測試結(jié)果(1)通過按調(diào)時健、加減鍵得調(diào)節(jié),我們可

10、以設(shè)定岀具體得時間1:00:00,觀察LCD液晶屏如圖所示精確顯示出我們所設(shè)定得時間時間。(2)通過按鍵調(diào)節(jié)調(diào)鬧鐘4鍵(m( 間。結(jié)果分;Je)來設(shè)兔其麗我們可以平耀序得?到清晰得蜂鳴聲/-3i:C甲J能要求。斤 確而且清晰地以通過按C3起inc#i n c Lu d « defineude<r<gn eR3sbitRlQ)口sbi t rw=P2 1 ;/定義讀寫得 i o 口sbi t r s=P2'0;4定義接收與發(fā)送指令得io 口 sbit lcden=P22"/義使能端得 io 口sbit kl=P30;/泄義凋時鍵得io 口sbit k2=P

11、3'l;/定義加數(shù)鍵得io口sbit k3= P 3八2;/定義減數(shù)鍵得io 口sbit k4=P33;/左義調(diào)鬧鐘鍵得io 口uc h ar c o u nt, c o u n tl, num, num 1 , n um2;c h a r h, min, sec, hl, mini, s ec 1 ;ucha r table = " u c h a r t ablel = " void delay ( u int23: 5 9 :57;0 0 :00: 0 0;ms )3/延時程序inti;w h i le (ms)(for( i = 0; i < 2 5

12、0 ; i+)a _nop_ O ;_nop_();。 _nop_();_nop_();)del a yl (u c h a r z)/延時程序u i n t x y;f o r (x=z: x>0;x)f or( y =110;y>0;y); re t u rn 0; b it writ e_busy()。 bit result;rs =0;arw = 1;aI cde n = 1;_ n op_ 0 ;_nop_();_no p_():_nop_();r esult = (bi t ) ( P 0 & 0 x 8 0);a I c d en= 0:/判斷就是否為繁忙狀態(tài)

13、。 return r esul t ;v o id w r i te_( u char )/寫指令函數(shù)while (w r ite_busy0);。rs=O:。rw=O;lcde n =0;P0=;_nop_ (); 。 _n op_(); 。_no P.O ;_no p_();。lcden= 1 :_nop_ 0 ; 。_nop_();寫數(shù)據(jù)函數(shù)/設(shè)泄地址數(shù)據(jù)指針二8 0 +地址變量vo i d write_data(uch a r date)while(w r ite_b u sy();r s = 1 :。rw=0:。lcden=0;。P 0=dat e :_nop_ (); 。_n o

14、p_();_nop_();_no p_(); lcden=l;。_nop_();_nop_();。_nop_();。_nop_();void wr i t e _pos (u c ha r pos)v o i d w r i te_sfm ( u char add, uchar d a t uint shi, g e;sh i =date/ 1 0 ;g e = d a te%10;浹 r ite_( 0 x80+0x4 0 +add): write_data (0x30+ s hi);w r i t e _data (Ox 30+ge);)void writ e _sfml (u c har

15、 a d d, u c h a r d ate)/設(shè)晝鬧鐘時分秒及其顯示與地址w i nt shi» ge;shi=date / 10;ge= d ate%l 0 ; wri t e_(0x 8 0+ a dd):/鍵盤掃描wr i t e _data (0x30+ shi); w r i te_ d a ta(0 x 3 0 +ge) void k ey s ca n ()辻(kl=0)d e 1 ayl ;i f (kl=0)whi I e (!k 1 );num+4-;if (n um= = l)"RO二 0 ;write_(0 x 8 0十Ox 4 0 + 1 wr

16、 i te_(0x0 f );if (num=2)w r i te_ (0x80+ 0 x40+8);if (num=3)。wr i t e_(0x 8 0+0x40+5);i f (n u m=4)g num=0;a w r it e _ (0x0c);T R0=l;Jif(num!=0)i f( k 2 =0)de I ayl(5);if (k2= 0 )。wh i 1 e(! k2)i f (num=l)s e c+:g i f (sec= 6 0) og s e c=0:g wri t e_sfm (10, sec);g wri t e_(Ox 8 0 +0x40+ 0 x 1 0 )

17、:。 Jif (num= 2 )000 mi n +;3 i f (min=6 0 )3*n i n=0:write_ s fm(7, mi n );«»wr i te_( 0 x80+0x40+8);aif ( n um=3)goooh+:gi f (h= 2 4) ah 二 0 :沁 r i te_sfm (4, h); write_(0 x 8 0 +0x40+ 5 );gif (k3=0)d e layl(5);i f (k3=0)。whi 1 e(! k3):g i t ( num=l)g sec :if(se c =-l)s ec=5 9 : write_ s

18、f m (10, sec);g write_( 0x8 0-0x 4 O+Ox 1 0);。i f (num=2)g 。 m i n:g if (mi n =二一1 )呦 i n 二 5 9 ;o wr i t e_sf m (7, min);3 wri t e_(0x80-0x40+8);。i f (num=3)3 if (h=-l)3 h= 2 3 ;a wr i te_ s fm (4, h);a wr i te_( 0 x80+ 0 x40+ 5 ); jJ oif(k4=O)delayl(5);。if(k4=0)。while (! k 4):num 1 +;g i i (numl =

19、1)w r ite_sfml (10, s e cl):。 wri t e_sfm 1 (7, mini);。wri t e _ s fml (4, hl);。i f (n uml=2) w r ite_ (0x8 0 +11);。w r i te_(0x0f);。 aif (nu m 1=3)g 。write_( 0 x 8 0 +8):gi f ( numl= 4 )g writ e _(0x80+5);if (numl = =5)。 n um 1 =0;writ e_(0x 0 c);。 wri t e_sfm (10, sec):g write_sfm min);g writers f

20、 m (4, h );。 。 if (numl! =0)if (k2=0) delayl(5 ); i f (k2 =0)gwh訂 e (!k2)辻(n um 1 =2)O 3o sec 1+;4 i f ( s ecl =60)。3 secl=0;。 write_s f ml (10, seel);。3 wr i t e_(0 x 80+0x 1 0);。if ( num 1 =3)oooo 4minl+;沖if(m i nl=60)Mnin 1 =0;gwrite_s f m 1 ( 7 min 1 );3write_(0x8 0 +8);jg i f (numl = = 4 )3 ooo

21、co h +;皿 i f (h 1 = 2 4)yhl二 0 ;write_ s fm 1 (4, hl):r it e _ (0 x 8 0+5);ooo 8 J。 i f (k3=0)。 de 1 a y 1 (5);if(k3=0)。 。wh i le(! k3);。i f (nu ml=2)。if ( s e c 1= 1 )aseel =59;。wr i te_sfml (10, seel):writ e _(0x80+0 xlO):Qg if (numl= 3 )o mini;if (minl= 1)min=59;。 write_ s f m 1 (7, m i nl) g wri

22、 t e _(0 x 80+8);。 a i f ( n u m 1=4)x hl;。if (hl= 1 )3 hl=23;4 wri t e _sfml(4, hl);4 wr i te_(0x80+ 5 );g: ojvo i d init 0uin t i:。h=23:mi n 二 5 9;sec=5 7 ;a hl-00:程序初始化函數(shù)mi n 1=0 0 ;sec1=0 0 ;n um=0;a lcde n =0; wri t e_( 0 x38):delay (1);。 write_(0 xOc);d elay ( 1 );wri t e_( 0x0 6 ):d el a y(l);a wr i t e _(0x01 ):o d e la y (1):。i 二0;whi 1 e( t ab 1 el i ! = ' 0

溫馨提示

  • 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

提交評論