基于89C51單片機(jī)課程設(shè)計(jì)_第1頁
基于89C51單片機(jī)課程設(shè)計(jì)_第2頁
基于89C51單片機(jī)課程設(shè)計(jì)_第3頁
基于89C51單片機(jī)課程設(shè)計(jì)_第4頁
基于89C51單片機(jī)課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(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ìn)步,越來越多的電子廠品趨向于低成本,高性能,耐用性好的方向發(fā)展。特別是趨向于自動(dòng)化控制的方向走。89c51作為控制芯片是最好不過的選擇啦。它具有強(qiáng)大的功能,并且簡(jiǎn)單易于操作,安全性與穩(wěn)定性較高,價(jià)格便宜,適合中小型電子廠品開發(fā)中的控制器。就像我們的課程設(shè)計(jì),基于89c51單片機(jī)的電子時(shí)鐘的課程設(shè)計(jì)。這款課程設(shè)計(jì)用到的主要材料有89c51單片機(jī),1602液晶顯示屏,矩陣鍵盤,以及一些電容電阻元件等等。使用89c51作為電子時(shí)鐘的控制器很簡(jiǎn)單,就是由于其經(jīng)濟(jì)型與穩(wěn)定性和易操作性。顯示電路上,就在使用7段數(shù)碼管和1602液晶顯示屏上糾結(jié)了一陣子。7段數(shù)碼管的好處在于他更適用于室外環(huán)

2、境,但由于其操作復(fù)雜等等其他外在原因,最終還是選擇了使用1602做顯示電路。1602不僅操作上臂數(shù)碼管簡(jiǎn)單許多,而且使用1602能在很大程度上是電路圖盡量簡(jiǎn)化,便于操作與錯(cuò)誤的檢修。并且1602價(jià)格也比較便宜?;?9c51電子時(shí)鐘的設(shè)計(jì),利用了單片機(jī)內(nèi)部的一個(gè)自帶定時(shí)/計(jì)數(shù)器來實(shí)現(xiàn)定時(shí)功能,并通過內(nèi)部程序,實(shí)現(xiàn)對(duì)時(shí)分秒,年月日這幾個(gè)輸出數(shù)值的自增,并且通過編寫程序,實(shí)現(xiàn)通過鍵盤控制時(shí)分秒,年月日大小的調(diào)整,這是必要的功能。最后通過1602液晶顯示電路將時(shí)間顯示在其上。這樣的電子時(shí)鐘比較精準(zhǔn),其主要誤差來源與晶振的誤差,即使是這樣,他的誤差也只是微妙級(jí)別,對(duì)于日常生活中的時(shí)間計(jì)數(shù)是足夠的啦。關(guān)

3、鍵詞:89c51單片機(jī) 1602液晶顯示屏 矩陣鍵盤 keil軟件目錄1、課程設(shè)計(jì)任務(wù)書與評(píng)閱表 32、前言 62、概述 62.1基于89c51電子時(shí)鐘設(shè)計(jì)目的 72.2課程設(shè)計(jì)的組成部分 3、電子時(shí)鐘設(shè)計(jì)的內(nèi)容 93.1液晶1602顯示電路設(shè)計(jì)93.2單片機(jī)晶振電路與復(fù)位電路設(shè)計(jì) 3.3鍵盤調(diào)試電路的設(shè)計(jì)3.4總體電路設(shè)計(jì)13.5單片機(jī)程序的編寫14、總結(jié)234.1遇到的問題與解決辦法4.2體會(huì)與收獲5、附錄:參考資料1、前言單片機(jī)是什么?單片機(jī)又稱單片微控制器,它不是完成某一個(gè)邏輯功能的芯片,而是把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片上。概括的講:一塊芯片就成了一臺(tái)計(jì)算機(jī)。它的體積小、質(zhì)量輕、價(jià)格

4、便宜、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。單片機(jī)作為應(yīng)用最廣泛的控制系統(tǒng)之一,具有體積小,易于控制,價(jià)格便宜,安全可靠等等優(yōu)良的性能而被廣泛的關(guān)注。無論是小到兒童玩具,到工業(yè)控制系統(tǒng),大到航天航空系統(tǒng)的設(shè)計(jì)與操作之中,隨處可見單片機(jī)的蹤影。大學(xué)電子專業(yè),電氣專業(yè),通信等專業(yè)開設(shè)單片機(jī)課程,對(duì)人才的培養(yǎng)無疑是有著重大的意義的。單片機(jī)的學(xué)習(xí),主要是注重于對(duì)單片機(jī)內(nèi)部存儲(chǔ)結(jié)構(gòu),引腳的結(jié)構(gòu)與功能,以及各引腳之間的區(qū)別,用法上面的不同。同樣,單片機(jī)是一門技術(shù),需要大量的動(dòng)手實(shí)踐才能真正的掌握其基本原理,才能真正的控制單片機(jī)并設(shè)計(jì)其程序,使其運(yùn)行在指定的程序之下。課程設(shè)計(jì)是在校學(xué)生素質(zhì)教育的重要環(huán)節(jié),是理論

5、與實(shí)踐相結(jié)合的橋梁和紐帶。單片機(jī)課程設(shè)計(jì),要求學(xué)生更多的完成軟硬結(jié)合的動(dòng)手實(shí)踐方案,解決目前學(xué)生課程設(shè)計(jì)過程中普遍存在的缺乏動(dòng)手能力的現(xiàn)象. 單片機(jī)課程設(shè)計(jì)是繼電子技術(shù)、和單片機(jī)原理及在電氣測(cè)控學(xué)科中的應(yīng)用課程之后開出的實(shí)踐環(huán)節(jié)課程,其目的和任務(wù)是訓(xùn)練學(xué)生綜合運(yùn)用已學(xué)課程“電子技術(shù)基礎(chǔ)”、“單片機(jī)原理及在電氣測(cè)控學(xué)科中的應(yīng)用”的基本知識(shí),獨(dú)立進(jìn)行單片機(jī)應(yīng)用技術(shù)和開發(fā)工作,掌握單片機(jī)程序設(shè)計(jì)、調(diào)試和應(yīng)用電路設(shè)計(jì)、分析及調(diào)試檢測(cè)。要求學(xué)生在實(shí)驗(yàn)室做出產(chǎn)品或仿真調(diào)試。所以,個(gè)高校開設(shè)單片機(jī)課程設(shè)計(jì)課程,不僅是對(duì)同學(xué)們動(dòng)手能力的培養(yǎng),同時(shí)也是在培養(yǎng)同學(xué)們的一種學(xué)習(xí)方法,堅(jiān)持時(shí)間與理論相結(jié)合。2、概述單

6、片機(jī)對(duì)于學(xué)電子或是通信等專業(yè)的學(xué)生來說并不陌生,同樣,它的重要性也無需多介紹。當(dāng)前的工業(yè)控制等等控制類系統(tǒng)正在逐步像自動(dòng)化方向,以實(shí)現(xiàn)自動(dòng)控制,自動(dòng)應(yīng)答緊急情況,自動(dòng)辨別多重相應(yīng)并作出相應(yīng)的答復(fù)為目標(biāo)。當(dāng)前的許多控制系統(tǒng)也是實(shí)現(xiàn)了某一些功能。像常用的控制芯片有atmel公司的89系列單片機(jī),還有更復(fù)雜一些的dsp數(shù)字處理芯片,因特爾公司的電腦cpu芯片等等。單片機(jī)課程設(shè)計(jì)主要是將理論與實(shí)踐相結(jié)合的一次過程,通過自己設(shè)計(jì)單片機(jī)外圍電路,并且編寫相應(yīng)的控制程序來實(shí)現(xiàn)預(yù)定的功能。這是一次很好的實(shí)踐機(jī)會(huì)。2.1、基于89c51電子時(shí)鐘設(shè)計(jì)目的學(xué)習(xí)單片機(jī)最重要的方法就是實(shí)現(xiàn)理論與實(shí)踐相結(jié)合的學(xué)習(xí)方法。有

7、些工程師說過,能利用單片機(jī)設(shè)計(jì)并實(shí)現(xiàn)電子時(shí)鐘,技能基本上掌握單片機(jī)的使用。所以設(shè)計(jì)電子時(shí)鐘的真正目的不在于設(shè)計(jì)出成品而投入使用,而是在于熟悉單片機(jī)的基本功能與編程來實(shí)現(xiàn)單片機(jī)的控制。作為大學(xué)生,以后出去就業(yè)或是繼續(xù)學(xué)業(yè),都要有一定的動(dòng)手能力和實(shí)踐能力,而這,便是電子時(shí)鐘設(shè)計(jì)的另一個(gè)目的。2.2、課程設(shè)計(jì)的組成部分1、程序框圖的設(shè)計(jì) 2、設(shè)計(jì)功能框圖11.0592mhz晶振復(fù)位電路設(shè)計(jì) 提供外部時(shí)鐘震蕩 usb電腦供電模塊顯示模塊單片機(jī)控制模塊 電壓 數(shù)據(jù)從單片機(jī)提供5v 至1602顯示 通過鍵盤掃描 來實(shí)現(xiàn)對(duì)時(shí)間 的調(diào)節(jié)鍵盤控制模塊 分析: 第一部分:通過usb的物理特性,再通過芯片max23

8、2實(shí)現(xiàn)在線提供單片機(jī)5v電壓。 第二部分:?jiǎn)纹瑱C(jī)控制模塊,有編寫程序控制單片機(jī)引腳點(diǎn)位的變化來時(shí)時(shí)控制1602的顯示。 第三部分:鍵盤控制模塊,為三個(gè)獨(dú)立鍵盤,通過鍵盤的通斷來控制i/o管腳電位的高低,實(shí)現(xiàn)人機(jī)通信。 第四部分:顯示模塊,為1602液晶顯示。3、電子時(shí)鐘設(shè)計(jì)的內(nèi)容 3.1液晶1602顯示電路的設(shè)計(jì)1602電路連接圖:操作指令與數(shù)據(jù)代碼設(shè)定: 操作時(shí)序圖:由1602液晶顯示屏的各引腳功能以及時(shí)序圖容易知道,在使用1602時(shí)1號(hào)引腳接地gnd。2號(hào)引腳接到電源正極(5v)。3號(hào)引腳為一電位器,可使用滑動(dòng)變阻器來實(shí)現(xiàn)其功能。4.、5、6號(hào)引腳為液晶的控制信號(hào),ea=1,打開液晶顯示;

9、rs為數(shù)據(jù)/指令寫入端,rs=1,寫入數(shù)據(jù),rs=0則寫入指令。7-14腳為數(shù)據(jù)或指令入口,與單片機(jī)的一個(gè)i/o口相連。3.2晶振與復(fù)位電路設(shè)計(jì)單片機(jī)的工作需要外部固定提供的頻率,才能使單片機(jī)正常的工作,復(fù)位電路是為了方便單片機(jī)調(diào)試的時(shí)候便于恢復(fù)。復(fù)位電路由剛開始上電時(shí),電容沖滿電,并斷開,當(dāng)開關(guān)按下,電容放電,給rst一個(gè)脈沖,并且時(shí)間超過兩個(gè)機(jī)器周期,失心符為功能。 3.3鍵盤電路的設(shè)計(jì) 鍵盤為4*4的矩陣鍵盤模式,鍵盤的八只引腳接在單片機(jī)的p3口上,通過對(duì)鍵盤的逐次掃描來確定是否有鍵被摁下,來返回值達(dá)到控制的目的。 3.4總體電路的設(shè)計(jì)原件清單: 該電路的原件比較簡(jiǎn)單,能夠?qū)崿F(xiàn)電子時(shí)鐘的

10、設(shè)計(jì)。通過按鍵盤能夠?qū)崿F(xiàn)對(duì)年月日,時(shí)分秒的控制。使用usb供電。3.5單片機(jī)程序設(shè)計(jì)#include sbit rs=p35;sbit lcden=p34;sbit wr=p36;sbit wela=p26;sbit dula=p27;sbit s9=p30;sbit s13=p31;sbit s17=p32;sbit rd=p37;uchar shi,fen,miao,nian,yue,ri;uchar table0= 2020-12-21; /chushihuauchar table1= 00:00:00;/chushihuauchar table=0123456789;uchar tem

11、p,shi,fen,miao,nian,yue,ri,num;void delay(uchar z)/延時(shí)子程序uint i,j;for(i=z;i0;i-)for(j=110;j0;j-);void wrrt_com(uchar a)/指令函數(shù)wrtt_comrs=1;rs=0;wr=1;wr=0;lcden=1;p0=a;lcden=0;delay(5);void wrrt_date(uchar b) /數(shù)據(jù)函數(shù)wrttdaters=0;rs=1;wr=1;wr=0;lcden=1;p0=b;lcden=0;delay(5);void display1(uchar add,uchar da

12、t) /顯示shi fen miao 函數(shù)uchar shi,ge;shi=dat/10;ge=dat%10;wrrt_com(0x80+0x40+add);wrrt_date(tableshi);wrrt_date(tablege);void display2(uchar add,uchar dat) /顯示yue ri函數(shù)uchar shi,ge;shi=dat/10;ge=dat%10;wrrt_com(0x80+add);wrrt_date(tableshi);wrrt_date(tablege);void display3(uchar add,uchar dat) /顯示nian函數(shù)

13、uchar qian,bai,shi,ge;bai=dat/1000;qian=dat/100%10;shi=dat/10%10;ge=dat%10;wrrt_com(0x80+add);wrrt_date(tableqian);wrrt_date(tablebai);wrrt_date(tableshi);wrrt_date(tablege);void init() /初始化時(shí)鐘顯示uint i,j;wela=0;dula=0;nian=2012;yue=12;ri=21;shi=0;fen=0;miao=0;temp=0;num=0;rd=0;wrrt_com(0x01);wrrt_com

14、(0x38);wrrt_com(0x0c);wrrt_com(0x06);wrrt_com(0x80);for(i=0;i12;i+)wrrt_date(table0i); /初始化日期寫在1602上delay(1);wrrt_com(0x80+0x40); /初始化shi fen miaofor(j=0;j11;j+)wrrt_date(table1j);delay(1);ea=1;et0=1;tmod=0x01;th0=(65536-50000)/256;tl0=(65536-50000)%256;tr0=1; void clock() /時(shí)間變化掃描顯示if(miao=60) miao=

15、0;fen+;if(fen=60)fen=0;shi+;if(shi=24)shi=0;ri+;display1(3,shi);display1(6,fen);display1(9,miao);if(ri=30)ri=0;yue+;if(yue=30);yue=0;nian+;display3(2,nian);display2(7,yue);display2(10,ri);void keyscan()rd=0;if(s9=0)delay(5);if(s9=0)while(!s9);num+;if(num=1)tr0=0;wrrt_com(0x80+0x40+10);wrrt_com(0x0f)

16、;if(num=2)wrrt_com(0x80+0x40+7);wrrt_com(0x0f);if(num=3)wrrt_com(0x80+0x40+4);wrrt_com(0x0f);if(num=4)wrrt_com(0x80+11);wrrt_com(0x0f);if(num=5)wrrt_com(0x80+8);wrrt_com(0x0f);if(num=6)wrrt_com(0x80+5);wrrt_com(0x0f);if(num=7)tr0=1;wrrt_com(0x0c);num=0;if(num!=0)if(s13=0)delay(5);if(s13=0)while(!s13

17、);if(num=1)miao+;wrrt_com(0x06);display1(9,miao);wrrt_com(0x80+0x40+10);wrrt_com(0x0f);if(miao=60)miao=0;if(num=2)fen+;wrrt_com(0x06);display1(6,fen);wrrt_com(0x80+0x40+7);wrrt_com(0x0f);if(fen=60)fen=0;if(num=3)shi+;wrrt_com(0x06);display1(3,shi);wrrt_com(0x80+0x40+4);wrrt_com(0x0f);if(shi=24)shi=0

18、;if(num=4)ri+;wrrt_com(0x06);display2(10,ri);wrrt_com(0x80+11);wrrt_com(0x0f);if(ri=30)ri=0;if(num=5)yue+;wrrt_com(0x06);display2(7,yue);wrrt_com(0x80+8);wrrt_com(0x0f);if(yue=12)yue=0;if(num=6)nian+;wrrt_com(0x06);display3(2,nian);wrrt_com(0x80+5);delay(1);if(num!=0)if(s17=0)delay(5);if(s17=0)while

19、(!s17);if(num=1)miao-;wrrt_com(0x06);display1(9,miao);wrrt_com(0x80+0x40+10);wrrt_com(0x0f);if(miao=60)miao=0;if(num=2)fen-;wrrt_com(0x06);display1(6,fen);wrrt_com(0x80+0x40+7);wrrt_com(0x0f);if(fen=60)fen=0;if(num=3)shi-;wrrt_com(0x06);display1(3,shi);wrrt_com(0x80+0x40+4);wrrt_com(0x0f);if(shi=24)

20、shi=0;if(num=4)ri-;wrrt_com(0x06);display2(10,ri);wrrt_com(0x80+11);wrrt_com(0x0f);if(ri=30)ri=0;if(num=5)yue-;wrrt_com(0x06);display2(7,yue);wrrt_com(0x80+8);wrrt_com(0x0f);if(yue=12)yue=0;if(num=6)nian-;wrrt_com(0x06);display3(2,nian);wrrt_com(0x80+5);delay(1);void main()init();while(1)if(tr0=1)clock();keyscan(); void timer0() interrupt 1th0=(65536-50000)/256;tl0=(65536-5

溫馨提示

  • 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)論