版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 摘要:</b></p><p> 隨著時代的進(jìn)步,越來越多的電子廠品趨向于低成本,高性能,耐用性好的方向發(fā)展。特別是趨向于自動化控制的方向走。89c51作為控制芯片是最好不過的選擇啦。它具有強(qiáng)大的功能,并且簡單易于操作,安全性與穩(wěn)定性較高,價格便宜,適合中小型電子廠品開發(fā)中的控制器。就像我們的課程設(shè)計,基于89c51單片機(jī)的電子時鐘的課程設(shè)計。</p&g
2、t;<p> 這款課程設(shè)計用到的主要材料有89c51單片機(jī),1602液晶顯示屏,矩陣鍵盤,以及一些電容電阻元件等等。</p><p> 使用89c51作為電子時鐘的控制器很簡單,就是由于其經(jīng)濟(jì)型與穩(wěn)定性和易操作性。顯示電路上,就在使用7段數(shù)碼管和1602液晶顯示屏上糾結(jié)了一陣子。7段數(shù)碼管的好處在于他更適用于室外環(huán)境,但由于其操作復(fù)雜等等其他外在原因,最終還是選擇了使用1602做顯示電路。160
3、2不僅操作上臂數(shù)碼管簡單許多,而且使用1602能在很大程度上是電路圖盡量簡化,便于操作與錯誤的檢修。并且1602價格也比較便宜。</p><p> 基于89c51電子時鐘的設(shè)計,利用了單片機(jī)內(nèi)部的一個自帶定時/計數(shù)器來實現(xiàn)定時功能,并通過內(nèi)部程序,實現(xiàn)對時分秒,年月日這幾個輸出數(shù)值的自增,并且通過編寫程序,實現(xiàn)通過鍵盤控制時分秒,年月日大小的調(diào)整,這是必要的功能。最后通過1602液晶顯示電路將時間顯示在其上。&
4、lt;/p><p> 這樣的電子時鐘比較精準(zhǔn),其主要誤差來源與晶振的誤差,即使是這樣,他的誤差也只是微妙級別,對于日常生活中的時間計數(shù)是足夠的啦。</p><p> 關(guān)鍵詞:89c51單片機(jī) 1602液晶顯示屏 矩陣鍵盤 keil軟件</p><p><b> 目錄</b></p><p> 1、課程設(shè)計任務(wù)書
5、與評閱表…………………………………… 3</p><p> 2、前言…………………………………………………………… 6</p><p> 2、概述…………………………………………………………… 6</p><p> 2.1基于89C51電子時鐘設(shè)計目的……………………… 7</p><p> 2.2課程設(shè)計的組成部分………………………
6、………… </p><p> 3、電子時鐘設(shè)計的內(nèi)容………………………………………… 9</p><p> 3.1液晶1602顯示電路設(shè)計………………………………93.2單片機(jī)晶振電路與復(fù)位電路設(shè)計 ……………………</p><p> 3.3鍵盤調(diào)試電路的設(shè)計…………………………………</p><p> 3.4總體電路設(shè)計………
7、…………………………………1</p><p> 3.5單片機(jī)程序的編寫……………………………………1</p><p> 4、總結(jié)……………………………………………………………23</p><p> 4.1遇到的問題與解決辦法……………………………</p><p> 4.2體會與收獲……………………………………………</p>
8、<p> 5、附錄:參考資料</p><p><b> 1、前言</b></p><p> 單片機(jī)是什么?單片機(jī)又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機(jī)系統(tǒng)集成到一個芯片上。概括的講:一塊芯片就成了一臺計算機(jī)。它的體積小、質(zhì)量輕、價格便宜、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。</p><p> 單
9、片機(jī)作為應(yīng)用最廣泛的控制系統(tǒng)之一,具有體積小,易于控制,價格便宜,安全可靠等等優(yōu)良的性能而被廣泛的關(guān)注。無論是小到兒童玩具,到工業(yè)控制系統(tǒng),大到航天航空系統(tǒng)的設(shè)計與操作之中,隨處可見單片機(jī)的蹤影。大學(xué)電子專業(yè),電氣專業(yè),通信等專業(yè)開設(shè)單片機(jī)課程,對人才的培養(yǎng)無疑是有著重大的意義的。</p><p> 單片機(jī)的學(xué)習(xí),主要是注重于對單片機(jī)內(nèi)部存儲結(jié)構(gòu),引腳的結(jié)構(gòu)與功能,以及各引腳之間的區(qū)別,用法上面的不同。同樣,單
10、片機(jī)是一門技術(shù),需要大量的動手實踐才能真正的掌握其基本原理,才能真正的控制單片機(jī)并設(shè)計其程序,使其運行在指定的程序之下。</p><p> 課程設(shè)計是在校學(xué)生素質(zhì)教育的重要環(huán)節(jié),是理論與實踐相結(jié)合的橋梁和紐帶。單片機(jī)課程設(shè)計,要求學(xué)生更多的完成軟硬結(jié)合的動手實踐方案,解決目前學(xué)生課程設(shè)計過程中普遍存在的缺乏動手能力的現(xiàn)象. 《單片機(jī)課程設(shè)計》是繼《電子技術(shù)》、和《單片機(jī)原理及在電氣測控學(xué)科中的應(yīng)用》課程之后開出
11、的實踐環(huán)節(jié)課程,其目的和任務(wù)是訓(xùn)練學(xué)生綜合運用已學(xué)課程“電子技術(shù)基礎(chǔ)”、“單片機(jī)原理及在電氣測控學(xué)科中的應(yīng)用”的基本知識,獨立進(jìn)行單片機(jī)應(yīng)用技術(shù)和開發(fā)工作,掌握單片機(jī)程序設(shè)計、調(diào)試和應(yīng)用電路設(shè)計、分析及調(diào)試檢測。要求學(xué)生在實驗室做出產(chǎn)品或仿真調(diào)試。</p><p> 所以,個高校開設(shè)單片機(jī)課程設(shè)計課程,不僅是對同學(xué)們動手能力的培養(yǎng),同時也是在培養(yǎng)同學(xué)們的一種學(xué)習(xí)方法,堅持時間與理論相結(jié)合。</p>
12、<p><b> 2、概述</b></p><p> 單片機(jī)對于學(xué)電子或是通信等專業(yè)的學(xué)生來說并不陌生,同樣,它的重要性也無需多介紹。當(dāng)前的工業(yè)控制等等控制類系統(tǒng)正在逐步像自動化方向,以實現(xiàn)自動控制,自動應(yīng)答緊急情況,自動辨別多重相應(yīng)并作出相應(yīng)的答復(fù)為目標(biāo)。當(dāng)前的許多控制系統(tǒng)也是實現(xiàn)了某一些功能。像常用的控制芯片有ATMEL公司的89系列單片機(jī),還有更復(fù)雜一些的DSP數(shù)字處理
13、芯片,因特爾公司的電腦CPU芯片等等。</p><p> 單片機(jī)課程設(shè)計主要是將理論與實踐相結(jié)合的一次過程,通過自己設(shè)計單片機(jī)外圍電路,并且編寫相應(yīng)的控制程序來實現(xiàn)預(yù)定的功能。這是一次很好的實踐機(jī)會。</p><p> 2.1、基于89C51電子時鐘設(shè)計目的</p><p> 學(xué)習(xí)單片機(jī)最重要的方法就是實現(xiàn)理論與實踐相結(jié)合的學(xué)習(xí)方法。有些工程師說過,能利用單片
14、機(jī)設(shè)計并實現(xiàn)電子時鐘,技能基本上掌握單片機(jī)的使用。所以設(shè)計電子時鐘的真正目的不在于設(shè)計出成品而投入使用,而是在于熟悉單片機(jī)的基本功能與編程來實現(xiàn)單片機(jī)的控制。作為大學(xué)生,以后出去就業(yè)或是繼續(xù)學(xué)業(yè),都要有一定的動手能力和實踐能力,而這,便是電子時鐘設(shè)計的另一個目的。</p><p> 2.2、課程設(shè)計的組成部分</p><p><b> 1、程序框圖的設(shè)計</b>&
15、lt;/p><p><b> 2、設(shè)計功能框圖</b></p><p><b> 提供外部時鐘震蕩</b></p><p> 電壓 數(shù)據(jù)從單片機(jī)</p><p> 提供5v 至1602顯示</p><p>
16、<b> 通過鍵盤掃描</b></p><p> 來實現(xiàn)對時間 </p><p><b> 的調(diào)節(jié)</b></p><p> 分析: 第一部分:通過USB的物理特性,再通過芯片MAX232實現(xiàn)在線提供單片機(jī)5v電壓。</p&g
17、t;<p> 第二部分:單片機(jī)控制模塊,有編寫程序控制單片機(jī)引腳點位的變化來時時控制1602的顯示。</p><p> 第三部分:鍵盤控制模塊,為三個獨立鍵盤,通過鍵盤的通斷來控制I/O管腳電位的高低,實現(xiàn)人機(jī)通信。</p><p> 第四部分:顯示模塊,為1602液晶顯示。</p><p> 3、電子時鐘設(shè)計的內(nèi)容</p>&l
18、t;p> 3.1液晶1602顯示電路的設(shè)計</p><p> 1602電路連接圖:</p><p> 操作指令與數(shù)據(jù)代碼設(shè)定:</p><p><b> 操作時序圖:</b></p><p> 由1602液晶顯示屏的各引腳功能以及時序圖容易知道,在使用1602時</p><p>
19、 1號引腳接地GND。</p><p> 2號引腳接到電源正極(5v)。</p><p> 3號引腳為一電位器,可使用滑動變阻器來實現(xiàn)其功能。</p><p> 4.、5、6號引腳為液晶的控制信號,EA=1,打開液晶顯示;RS為數(shù)據(jù)/指令寫入端,RS=1,寫入數(shù)據(jù),RS=0則寫入指令。</p><p> 7-14腳為數(shù)據(jù)或指令入口,與
20、單片機(jī)的一個I/O口相連。</p><p> 3.2晶振與復(fù)位電路設(shè)計</p><p> 單片機(jī)的工作需要外部固定提供的頻率,才能使單片機(jī)正常的工作,復(fù)位電路是為了方便單片機(jī)調(diào)試的時候便于恢復(fù)。復(fù)位電路由剛開始上電時,電容沖滿電,并斷開,當(dāng)開關(guān)按下,電容放電,給RST一個脈沖,并且時間超過兩個機(jī)器周期,失心符為功能。</p><p> 3.3鍵盤電路的設(shè)計&l
21、t;/p><p> 鍵盤為4*4的矩陣鍵盤模式,鍵盤的八只引腳接在單片機(jī)的P3口上,通過對鍵盤的逐次掃描來確定是否有鍵被摁下,來返回值達(dá)到控制的目的。</p><p> 3.4總體電路的設(shè)計</p><p><b> 原件清單:</b></p><p> 該電路的原件比較簡單,能夠?qū)崿F(xiàn)電子時鐘的設(shè)計。通過按鍵盤能夠?qū)?/p>
22、現(xiàn)對年月日,時分秒的控制。</p><p><b> 使用usb供電。</b></p><p> 3.5單片機(jī)程序設(shè)計</p><p> #include <reg52.h></p><p> sbit rs=P3^5;</p><p> sbit lcden=P3^4;&l
23、t;/p><p> sbit wr=P3^6;</p><p> sbit wela=P2^6;</p><p> sbit dula=P2^7;</p><p> sbit s9=P3^0;</p><p> sbit s13=P3^1;</p><p> sbit s17=P3^2;
24、</p><p> sbit rd=P3^7;</p><p> uchar shi,fen,miao,nian,yue,ri;</p><p> uchar table0[]=" 2020-12-21"; //chushihua</p><p> uchar table1[]=" 00:00:
25、00";//chushihua</p><p> uchar table[]="0123456789";</p><p> uchar temp,shi,fen,miao,nian,yue,ri,num;</p><p> void delay(uchar z)//延時子程序</p><p>&l
26、t;b> {</b></p><p><b> uint i,j;</b></p><p> for(i=z;i>0;i--)</p><p> for(j=110;j>0;j--);</p><p><b> }</b></p><p&g
27、t; void wrrt_com(uchar a)//指令函數(shù)wrtt_com</p><p><b> {</b></p><p><b> rs=1;</b></p><p><b> rs=0;</b></p><p><b> wr=1;<
28、/b></p><p><b> wr=0;</b></p><p><b> lcden=1;</b></p><p><b> P0=a;</b></p><p><b> lcden=0;</b></p><p>
29、;<b> delay(5);</b></p><p><b> }</b></p><p> void wrrt_date(uchar b) //數(shù)據(jù)函數(shù)wrtt——date</p><p><b> {</b></p><p><b> rs=0
30、;</b></p><p><b> rs=1;</b></p><p><b> wr=1;</b></p><p><b> wr=0;</b></p><p><b> lcden=1;</b></p><p&
31、gt;<b> P0=b;</b></p><p><b> lcden=0;</b></p><p><b> delay(5);</b></p><p><b> }</b></p><p> void display1(uchar add,
32、uchar dat) //顯示shi fen miao 函數(shù)</p><p><b> {</b></p><p> uchar shi,ge;</p><p> shi=dat/10;</p><p> ge=dat%10;</p><p> wrrt_com(0x80+0x40
33、+add);</p><p> wrrt_date(table[shi]);</p><p> wrrt_date(table[ge]);</p><p><b> }</b></p><p> void display2(uchar add,uchar dat) //顯示yue ri函數(shù)</p>
34、;<p><b> {</b></p><p> uchar shi,ge;</p><p> shi=dat/10;</p><p> ge=dat%10;</p><p> wrrt_com(0x80+add);</p><p> wrrt_date(table[sh
35、i]);</p><p> wrrt_date(table[ge]);</p><p><b> }</b></p><p> void display3(uchar add,uchar dat) //顯示nian函數(shù)</p><p><b> {</b></p><
36、;p> uchar qian,bai,shi,ge;</p><p> bai=dat/1000;</p><p> qian=dat/100%10;</p><p> shi=dat/10%10;</p><p> ge=dat%10;</p><p> wrrt_com(0x80+add);<
37、;/p><p> wrrt_date(table[qian]);</p><p> wrrt_date(table[bai]);</p><p> wrrt_date(table[shi]);</p><p> wrrt_date(table[ge]);</p><p><b> }</b>
38、</p><p> void init() //初始化時鐘顯示</p><p><b> {</b></p><p><b> uint i,j;</b></p><p><b> wela=0;</b></p><p><
39、;b> dula=0;</b></p><p> nian=2012;</p><p><b> yue=12;</b></p><p><b> ri=21;</b></p><p><b> shi=0;</b></p><p
40、><b> fen=0;</b></p><p><b> miao=0;</b></p><p><b> temp=0;</b></p><p><b> num=0;</b></p><p><b> rd=0;</b
41、></p><p> wrrt_com(0x01);</p><p> wrrt_com(0x38);</p><p> wrrt_com(0x0c);</p><p> wrrt_com(0x06);</p><p> wrrt_com(0x80);</p><p> for
42、(i=0;i<12;i++)</p><p><b> {</b></p><p> wrrt_date(table0[i]); //初始化日期寫在1602上</p><p> delay(1);</p><p><b> }</b></p><p> w
43、rrt_com(0x80+0x40); //初始化shi fen miao</p><p> for(j=0;j<11;j++)</p><p><b> {</b></p><p> wrrt_date(table1[j]);</p><p><b> delay(1);</b>
44、;</p><p><b> }</b></p><p><b> EA=1;</b></p><p><b> ET0=1;</b></p><p> TMOD=0x01;</p><p> TH0=(65536-50000)/256;<
45、;/p><p> TL0=(65536-50000)%256;</p><p><b> TR0=1;</b></p><p><b> }</b></p><p> void clock() //時間變化掃描顯示</p><p><b>
46、{</b></p><p> if(miao==60)</p><p><b> {</b></p><p><b> miao=0;</b></p><p><b> fen++;</b></p><p> if(fen==60)
47、</p><p><b> {</b></p><p><b> fen=0;</b></p><p><b> shi++;</b></p><p> if(shi==24)</p><p><b> {</b><
48、/p><p><b> shi=0;</b></p><p><b> ri++;</b></p><p><b> }</b></p><p> display1(3,shi);</p><p><b> }</b><
49、/p><p> display1(6,fen);</p><p><b> }</b></p><p> display1(9,miao);</p><p> if(ri==30)</p><p><b> {</b></p><p><
50、;b> ri=0;</b></p><p><b> yue++;</b></p><p> if(yue==30);</p><p><b> {</b></p><p><b> yue=0;</b></p><p>&l
51、t;b> nian++;</b></p><p> display3(2,nian);</p><p><b> }</b></p><p> display2(7,yue);</p><p><b> }</b></p><p> displa
52、y2(10,ri);</p><p><b> }</b></p><p> void keyscan()</p><p><b> {</b></p><p><b> rd=0;</b></p><p><b> if(s9==
53、0)</b></p><p><b> {</b></p><p><b> delay(5);</b></p><p><b> if(s9==0)</b></p><p><b> {</b></p><p>
54、; while(!s9);</p><p><b> num++;</b></p><p> if(num==1)</p><p><b> {</b></p><p><b> TR0=0;</b></p><p> wrrt_com(0x
55、80+0x40+10);</p><p> wrrt_com(0x0f);</p><p><b> }</b></p><p> if(num==2)</p><p><b> {</b></p><p> wrrt_com(0x80+0x40+7);</p
56、><p> wrrt_com(0x0f);</p><p><b> }</b></p><p> if(num==3)</p><p><b> {</b></p><p> wrrt_com(0x80+0x40+4);</p><p> w
57、rrt_com(0x0f);</p><p><b> }</b></p><p> if(num==4)</p><p><b> {</b></p><p> wrrt_com(0x80+11);</p><p> wrrt_com(0x0f);</p&g
58、t;<p><b> }</b></p><p> if(num==5)</p><p><b> {</b></p><p> wrrt_com(0x80+8);</p><p> wrrt_com(0x0f);</p><p><b>
59、 }</b></p><p> if(num==6)</p><p><b> {</b></p><p> wrrt_com(0x80+5);</p><p> wrrt_com(0x0f);</p><p><b> }</b></p>
60、<p> if(num==7)</p><p><b> {</b></p><p><b> TR0=1;</b></p><p> wrrt_com(0x0c);</p><p><b> num=0;</b></p><p>
61、<b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> if(num!=0)</p><p><b> {</b></p><p> if(s13==0)<
62、;/p><p><b> {</b></p><p><b> delay(5);</b></p><p> if(s13==0)</p><p><b> {</b></p><p> while(!s13);</p><p
63、> if(num==1)</p><p><b> {</b></p><p><b> miao++;</b></p><p> wrrt_com(0x06);</p><p> display1(9,miao);</p><p> wrrt_com(0x
64、80+0x40+10);</p><p> wrrt_com(0x0f);</p><p> if(miao==60)</p><p><b> {</b></p><p><b> miao=0;</b></p><p><b> }</b>
65、</p><p><b> }</b></p><p> if(num==2)</p><p><b> {</b></p><p><b> fen++;</b></p><p> wrrt_com(0x06);</p><
66、;p> display1(6,fen);</p><p> wrrt_com(0x80+0x40+7);</p><p> wrrt_com(0x0f);</p><p> if(fen==60)</p><p><b> {</b></p><p><b> fen=
67、0;</b></p><p><b> }</b></p><p><b> }</b></p><p> if(num==3)</p><p><b> {</b></p><p><b> shi++;</b
68、></p><p> wrrt_com(0x06);</p><p> display1(3,shi);</p><p> wrrt_com(0x80+0x40+4);</p><p> wrrt_com(0x0f);</p><p> if(shi==24)</p><p>&
69、lt;b> {</b></p><p><b> shi=0;</b></p><p><b> }</b></p><p><b> }</b></p><p> if(num==4)</p><p><b>
70、 {</b></p><p><b> ri++;</b></p><p> wrrt_com(0x06);</p><p> display2(10,ri);</p><p> wrrt_com(0x80+11);</p><p> wrrt_com(0x0f);<
71、/p><p> if(ri==30)</p><p><b> {</b></p><p><b> ri=0;</b></p><p><b> }</b></p><p><b> }</b></p>&
72、lt;p> if(num==5)</p><p><b> {</b></p><p><b> yue++;</b></p><p> wrrt_com(0x06);</p><p> display2(7,yue);</p><p> wrrt_com(
73、0x80+8);</p><p> wrrt_com(0x0f);</p><p> if(yue==12)</p><p><b> {</b></p><p><b> yue=0;</b></p><p><b> }</b></p
74、><p><b> }</b></p><p> if(num==6)</p><p><b> {</b></p><p><b> nian++;</b></p><p> wrrt_com(0x06);</p><p&
75、gt; display3(2,nian);</p><p> wrrt_com(0x80+5);</p><p><b> delay(1);</b></p><p><b> }</b></p><p><b> }</b></p><p
76、><b> }</b></p><p><b> }</b></p><p> if(num!=0)</p><p><b> {</b></p><p> if(s17==0)</p><p><b> {</b>
77、;</p><p><b> delay(5);</b></p><p> if(s17==0)</p><p><b> {</b></p><p> while(!s17);</p><p> if(num==1)</p><p>&l
78、t;b> {</b></p><p><b> miao--;</b></p><p> wrrt_com(0x06);</p><p> display1(9,miao);</p><p> wrrt_com(0x80+0x40+10);</p><p> wrrt
79、_com(0x0f);</p><p> if(miao==60)</p><p><b> {</b></p><p><b> miao=0;</b></p><p><b> }</b></p><p><b> }</b
80、></p><p> if(num==2)</p><p><b> {</b></p><p><b> fen--;</b></p><p> wrrt_com(0x06);</p><p> display1(6,fen);</p><
81、;p> wrrt_com(0x80+0x40+7);</p><p> wrrt_com(0x0f);</p><p> if(fen==60)</p><p><b> {</b></p><p><b> fen=0;</b></p><p><b&
82、gt; }</b></p><p><b> }</b></p><p> if(num==3)</p><p><b> {</b></p><p><b> shi--;</b></p><p> wrrt_com(0x0
83、6);</p><p> display1(3,shi);</p><p> wrrt_com(0x80+0x40+4);</p><p> wrrt_com(0x0f);</p><p> if(shi==24)</p><p><b> {</b></p><p&
84、gt;<b> shi=0;</b></p><p><b> }</b></p><p><b> }</b></p><p> if(num==4)</p><p><b> {</b></p><p><b
85、> ri--;</b></p><p> wrrt_com(0x06);</p><p> display2(10,ri);</p><p> wrrt_com(0x80+11);</p><p> wrrt_com(0x0f);</p><p> if(ri==30)</p>
86、<p><b> {</b></p><p><b> ri=0;</b></p><p><b> }</b></p><p><b> }</b></p><p> if(num==5)</p><p&g
87、t;<b> {</b></p><p><b> yue--;</b></p><p> wrrt_com(0x06);</p><p> display2(7,yue);</p><p> wrrt_com(0x80+8);</p><p> wrrt_com
88、(0x0f);</p><p> if(yue==12)</p><p><b> {</b></p><p><b> yue=0;</b></p><p><b> }</b></p><p><b> }</b>
89、</p><p> if(num==6)</p><p><b> {</b></p><p><b> nian--;</b></p><p> wrrt_com(0x06);</p><p> display3(2,nian);</p><
90、p> wrrt_com(0x80+5);</p><p><b> delay(1);</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p>&
91、lt;p><b> }</b></p><p><b> }</b></p><p> void main()</p><p><b> {</b></p><p><b> init();</b></p><p>
92、<b> while(1)</b></p><p><b> {</b></p><p> if(TR0==1)</p><p><b> {</b></p><p><b> clock();</b></p><p>&
93、lt;b> }</b></p><p> keyscan();</p><p><b> }</b></p><p><b> }</b></p><p> void timer0() interrupt 1</p><p><b>
94、{</b></p><p> TH0=(65536-50000)/256;</p><p> TL0=(65536-50000)%256;</p><p><b> temp++;</b></p><p> if(temp==20)</p><p><b> {&
95、lt;/b></p><p><b> temp=0;</b></p><p><b> miao++;</b></p><p><b> }</b></p><p><b> }</b></p><p><b&
96、gt; 4、總結(jié)</b></p><p> 4、1遇到的問題與解決辦法:</p><p> 這次的單片機(jī)課程設(shè)計出現(xiàn)的最主要的問題就是如何實現(xiàn)通過鍵盤對時間的調(diào)整,難度在于如何從過c語言編寫程序來實現(xiàn),并且要與前面的顯示電路,以及控制電路的協(xié)調(diào)工作。遇到而第二個難題就是如何實現(xiàn)鍵盤的掃描程序。</p><p> 鍵盤掃描這個問題主要是通過網(wǎng)絡(luò)來解
97、決的。通過觀看網(wǎng)絡(luò)上面的視屏教程,學(xué)會了如何通過掃描,返回函數(shù)值來確定是否有鍵按下。</p><p> 通過鍵盤來實現(xiàn)對時間的調(diào)整這個難題是通過相互討論來完成的。我們先確定要用的按鍵有那幾個,初步確定為三個,一個功能鍵,一個時間加,一個時間減。再通過中斷以及1602顯示程序相結(jié)合,實現(xiàn)了對時間的調(diào)整。</p><p> 總結(jié)來說,這次課程設(shè)計的只要問題是來源于實現(xiàn)鍵盤對時間的調(diào)整這一功
98、能。主要的解決問題的方法是通過集體討論,網(wǎng)絡(luò)上查資料來實現(xiàn)解決的。</p><p><b> 4、2體會與收獲</b></p><p> 這次的單片機(jī)課程設(shè)計,提到的最大的收獲便是動手實踐的能力有所提高。在過去的理論學(xué)習(xí)中,我們并沒有將理論的知識聯(lián)系電路圖,并且還要通過自己編寫程序來實現(xiàn)課程預(yù)定的功能。這樣就將我們的理論與實際緊密的相結(jié)合起來啦。</p>
99、;<p> 另外一個收獲,便是學(xué)會啦合作的用處。在過去的學(xué)習(xí)中,學(xué)習(xí)的好壞關(guān)鍵在于自己是否努力的學(xué)習(xí),與他人的關(guān)系并不是很大。,但是對于這樣一個工程項目而言,團(tuán)隊的力量就顯現(xiàn)出來啦。一個人的力量是有限的,一個人的智慧也是有限的。只有把大家的智慧結(jié)合起來,才能更好地完成這個工程。</p><p><b> 參考書籍:</b></p><p> 《51
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計_基于89c51的數(shù)字電子時鐘的設(shè)計
- 基于89c51單片機(jī)電子數(shù)字時鐘設(shè)計
- 51單片機(jī)電子時鐘課程設(shè)計
- 51單片機(jī)電子時鐘課程設(shè)計報告
- 基于c語言單片機(jī)電子時鐘課程設(shè)計
- 基于單片機(jī)at89c51的電子時鐘的課程設(shè)計
- 89c51單片機(jī)課程設(shè)計
- 單片機(jī)電子時鐘課程設(shè)計
- 單片機(jī)電子時鐘課程設(shè)計
- 單片機(jī)電子時鐘課程設(shè)計
- 單片機(jī)電子時鐘課程設(shè)計
- 課程設(shè)計----單片機(jī)電子時鐘
- 51單片機(jī)電子時鐘課程設(shè)計實驗報告
- 基于at89c51單片機(jī)的電子時鐘設(shè)計
- 51單片機(jī)電子時鐘課程設(shè)計實驗報告
- 51單片機(jī)電子時鐘課程設(shè)計實驗報告
- 畢業(yè)設(shè)計(論文)-基于at89c51單片機(jī)電子時鐘的設(shè)計
- 單片機(jī)課程設(shè)計---單片機(jī)電子時鐘
- 單片機(jī)電子時鐘課程設(shè)計報告
- c51單片機(jī)lcd電子時鐘課程設(shè)計
評論
0/150
提交評論