版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 成績: 分</p><p> 課程設(shè)計(jì)名稱: 單片機(jī)課程設(shè)計(jì) </p><p> 題 目: 數(shù)字式電子鐘的設(shè)計(jì) </p><p> 學(xué)生姓名: </p><p> 專 業(yè): </p><
2、;p> 班 級: </p><p> 學(xué) 號: </p><p> 指導(dǎo)教師: </p><p> 日期: 2013年 12 月25日</p><p> 課 程 設(shè) 計(jì) 任 務(wù) 書</p>
3、<p><b> 數(shù)字式電子鐘的設(shè)計(jì)</b></p><p><b> 設(shè)計(jì)內(nèi)容:</b></p><p> 以單片機(jī)At89C51為主控制器芯片,使用若干數(shù)碼管及開關(guān)按鍵,設(shè)計(jì)一個(gè)電子鐘的硬件系統(tǒng),并編寫軟件程序。</p><p><b> 設(shè)計(jì)任務(wù)與要求:</b></p&
4、gt;<p> 1、單片機(jī)要有復(fù)位電路和時(shí)鐘電路;</p><p> 2、電子鐘通過數(shù)碼管顯示小時(shí)、分鐘、秒信息,時(shí)間范圍00小時(shí)00分00秒~23小時(shí)59分59秒;</p><p> 3、通過按鍵對電子鐘進(jìn)行小時(shí)、分鐘、秒的時(shí)間設(shè)定;</p><p> 4、利用proteus仿真軟件畫出系統(tǒng)仿真圖;</p><p>
5、 5、利用匯編語言或C語言編寫程序。</p><p> 關(guān)鍵詞電子鐘AT89C51仿真設(shè)計(jì)軟件設(shè)計(jì)</p><p><b> 目 錄</b></p><p> 1.ATM89C51 介紹………………………………… 2</p><p> 2.顯示設(shè)計(jì) ………………………………… 4
6、</p><p> 2.1LED顯示原理 ………………………………… 4</p><p> 3按鍵設(shè)計(jì) ………………………………… 5</p><p> 4復(fù)位電路設(shè)計(jì) ………………………………… 6</p><p> 5.仿真設(shè)計(jì) ………………………………… 7</p><p&g
7、t; 6結(jié)論 ………………………………… 7</p><p> 附錄:程序 ………………………………… 9</p><p> 1.ATM89C51 介紹</p><p> AT89C2051單片機(jī),帶有2KB Flash可編程、可擦除只讀存儲器(E2PROM)的低壓、高性能8位CMOS微型計(jì)算機(jī)。擁有15條可編程I/O引腳,2
8、個(gè)16位定時(shí)器/計(jì)數(shù)器,6個(gè)中斷源,可編程串行UART通道,并能直接驅(qū)動(dòng)LED輸出。</p><p> 僅僅是為了完成時(shí)鐘設(shè)計(jì)或者是環(huán)境溫度采集設(shè)計(jì),應(yīng)用AT89C2051單片機(jī)完全可以實(shí)現(xiàn)。但是將兩種功能結(jié)合在一片單片機(jī)上,就需要更多的I/O引腳,故本設(shè)計(jì)采用具有32根I/O引腳的AT89C51單片機(jī)。</p><p> AT89C51單片機(jī)是一款低功耗,低電壓,高性能CMOS 8位
9、單片機(jī),片內(nèi)含4KB(可經(jīng)受1000次擦寫周期)的FLASH可編程可反復(fù)擦寫的只讀程序存儲器(EPROM),器件采用CMOS工藝和ATMEI公司的高密度、非易失性存儲器(NURAM)技術(shù)制造,其輸出引腳和指令系統(tǒng)都與MCS-51兼容。片內(nèi)的FLASH存儲器允許在系統(tǒng)內(nèi)可改編程序或用常規(guī)的非易失性存儲器編程器來編程。因此,AT89C51是一種功能強(qiáng),靈活性高且價(jià)格合理的單片機(jī),可方便的應(yīng)用在各個(gè)控制領(lǐng)域[6]。</p>&l
10、t;p> AT89C51具有以下主要性能:</p><p> 4KB可改編程序Flash存儲器;</p><p> 全靜態(tài)工作:0——24Hz;</p><p> 128×8字節(jié)內(nèi)部RAM;</p><p> 32個(gè)外部雙向輸入/輸出(I/O)口;</p><p> 6個(gè)中斷優(yōu)先級; 2個(gè)1
11、6位可編程定時(shí)計(jì)數(shù)器;</p><p><b> 可編程串行通道;</b></p><p><b> 片內(nèi)時(shí)鐘振蕩器。</b></p><p> 此外,AT89C51是用靜態(tài)邏輯來設(shè)計(jì)的,其工作頻率可下降到0Hz,并提供兩種可用軟件來選擇的省電方式——空閑方式(Idle Mode)和掉電方式(Power Down M
12、ode)。在空閑方式中,CPU停止工作,而RAM、定時(shí)器/計(jì)數(shù)器、串行口和中斷系統(tǒng)都繼續(xù)工作。在掉電方式中,片內(nèi)振蕩器停止工作,由于時(shí)鐘被“凍結(jié)”,使一切功能都暫停,只保存片內(nèi)RAM中的內(nèi)容,直到下一次硬件復(fù)位為止[8]。</p><p> 圖1 AT89C51芯片引腳圖</p><p> AT89C51為適應(yīng)不同的產(chǎn)品需求,采用PDIP、TQFP、PLCC三種封裝形式,本系統(tǒng)采用雙列
13、直插PDIP封裝形式,如圖1。</p><p><b> 2.顯示設(shè)計(jì)</b></p><p> 就時(shí)鐘而言,通??刹捎肔CD顯示或LED顯示。對于一般的段式LCD,需要專門的驅(qū)動(dòng)電路,而且LCD顯示的可視性較差;對于具有驅(qū)動(dòng)電路和微處理器接口的液晶顯示模塊(字符或點(diǎn)陣),一般采用并行接口,對微處理器的接口要求較高,占用資源多。另外,AT89C51本身沒有專門的液
14、晶驅(qū)動(dòng)接口。LED結(jié)構(gòu)簡單,體積小,功耗低,響應(yīng)速度快,易于匹配,壽命長,可靠性高,而且顯示亮度高,價(jià)格便宜,市場上也有專門的時(shí)鐘顯示組合LED。故本設(shè)計(jì)中應(yīng)用7位8段共陰LED實(shí)現(xiàn)顯示部分,顯示面板分布如圖3.6。</p><p> 2.1LED顯示原理</p><p> 多個(gè)發(fā)光二極管封裝在一起的七段數(shù)碼顯示器按其連接形式可分為共陽顯示器和共陰顯示器。圖7-1所示為共陽和共陰的七段
15、顯示器,在顯示器中除了顯示數(shù)字必須的七段筆畫外,還提供了小數(shù)點(diǎn)。共陽顯示器的陽極連接在一起,此時(shí)對陽極提供一正電壓,通過限流電阻控制其陰極為高電平或是低電平來決定其暗或是亮。共陰顯示器的陰極連在一起,此時(shí)可將陰極接地,通過限流電阻控制其陽極為高電平或是低電平來決定其亮或是暗。</p><p><b> 圖2七段數(shù)碼顯示器</b></p><p> 采用七段數(shù)碼顯示
16、器顯示的字型受到顯示器本身結(jié)構(gòu)的限制。因此,在顯示比較復(fù)雜的字符、漢字或圖形時(shí),可采用點(diǎn)陳顯示的辦法。</p><p> LED顯示分動(dòng)態(tài)顯示和靜態(tài)顯示:本設(shè)計(jì)采用動(dòng)態(tài)顯示方式。本設(shè)計(jì)采用動(dòng)態(tài)顯示的硬件電路簡單,有助于設(shè)計(jì)。</p><p><b> 3按鍵設(shè)計(jì)</b></p><p><b> 按鍵圖如下圖所示</b&g
17、t;</p><p> OK鍵:該鍵為校時(shí)選擇鍵,在正常顯示時(shí)間狀態(tài)下,第一次按下后,只顯示分。按UP和UN鍵開始校對分鐘。第二次按下后,只顯示小時(shí),按UP和UN鍵開始校對小時(shí)。第三次按下后,復(fù)位。</p><p> UP鍵:該鍵為調(diào)整鍵,在校時(shí)的狀態(tài)下,按下一次加一。</p><p> UN鍵:該鍵為調(diào)整鍵,在校時(shí)的狀態(tài)下,按下一次減一。</p>
18、<p> OK鍵連接89C51芯片的P2.6接口。</p><p> UP鍵連接89C51芯片的P2.7接口。</p><p> S3鍵連接89C51芯片的P3.2接口。</p><p><b> 4復(fù)位電路設(shè)計(jì):</b></p><p><b> 復(fù)位電路如下所示</b>&
19、lt;/p><p><b> 5.仿真設(shè)計(jì)</b></p><p><b> 仿真電路圖如下所示</b></p><p><b> 6結(jié)論</b></p><p> 過去人們應(yīng)用時(shí)鐘僅僅是為了明確當(dāng)前時(shí)間。隨著生產(chǎn)力的發(fā)展,社會的進(jìn)步,生產(chǎn)生活對時(shí)鐘的需求越來越大,對時(shí)鐘的
20、體型、功能的要求也各有不同。所以多功能電子時(shí)鐘在今后的應(yīng)用也會越來越廣泛。</p><p> 基于單片機(jī)實(shí)現(xiàn)電子時(shí)鐘,僅僅是眾多方法之一。并且市場上的實(shí)時(shí)時(shí)鐘日歷芯片品類繁多,IC化的傳感器各種各樣,顯示方式也愈趨于人性化。所以多功能電子時(shí)鐘有多種實(shí)現(xiàn)方案,能夠?qū)崿F(xiàn)的功能也很多,筆者已經(jīng)通過仿真和調(diào)試,實(shí)現(xiàn)了時(shí)間日歷顯示和校對、鬧鈴等功能。本文采用51單片機(jī)C語言進(jìn)行編程,當(dāng)然也可以應(yīng)用匯編語言編程。由于筆者能
21、力有限,提供的程序還可以進(jìn)一步優(yōu)化,并且還可以根據(jù)需求為電子時(shí)鐘增設(shè)新功能。如鬧鈴,報(bào)警功能等等。</p><p> 通過此次的仿真,學(xué)習(xí)并會使用Protues軟件。也讓我們把所學(xué)的知識得到了一定的實(shí)踐。明白了單片機(jī)各種芯片的用途。讓我對各種電路有了大概的了解。所以說,實(shí)踐是學(xué)習(xí)和生活的連接橋梁。在這次的設(shè)計(jì)中,對生活中的電子鐘有了很大的了解。通過元件和程序?qū)崿F(xiàn)電子鐘的顯示。讓我們把理論知識用到實(shí)際中去。對電子
22、產(chǎn)品有了更深入的了解,程序只有多練才能提高。</p><p><b> 附錄1:程序</b></p><p> #include<reg52.h></p><p> #include"key.h"</p><p> #define uchar unsigned char</p
23、><p> #define uint unsigned int</p><p> sbit E1 = P2^0;</p><p> sbit E2 = P2^1;</p><p> sbit E3 = P2^2;</p><p> sbit E4 = P2^3;</p>
24、;<p> sbit E5 = P2^4;</p><p> sbit E6 = P2^5;</p><p> uchar code dis[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//顯示函數(shù)斷碼</p><p> uchar h=23,min=59,s=
25、50;</p><p> uchar j=0;</p><p> uchar dinwei=0,key=0;</p><p> void ys(uint x)//延時(shí)函數(shù)</p><p><b> {</b></p><p> uchar y=123;</p>
26、<p> while(x--)</p><p><b> {</b></p><p> while(y--){;}</p><p><b> }</b></p><p><b> }</b></p><p> void xiansh
27、ih(void) //顯示小時(shí)</p><p><b> { </b></p><p> P1=0xff;P1=dis[h/10];E1=1;E2=0;E3=0;E4=0;E5=0;E6=0;ys(5);</p><p> P1=0xff;P1=dis[h%10];E1=0;E2=1;E3=0;E4=0
28、;E5=0;E6=0;ys(5);</p><p><b> }</b></p><p> void xianshimin(void) //顯示分鐘</p><p><b> {</b></p><p> P1=0xff;P1=dis[min/10];E1=0;E2=0;E3=1;
29、E4=0;E5=0;E6=0;ys(5);</p><p> P1=0xff;P1=dis[min%10];E1=0;E2=0;E3=0;E4=1;E5=0;E6=0;ys(5);</p><p><b> }</b></p><p> void xianshis(void) //顯示秒</p><p>
30、<b> {</b></p><p> P0=0xff;P0=dis[s/10];E1=0;E2=0;E3=0;E4=0;E5=1;E6=0;ys(5);</p><p> P0=0xff;P0=dis[s%10];E1=0;E2=0;E3=0;E4=0;E5=0;E6=1;ys(5);</p><p><b> }<
31、/b></p><p> void ysh(uint ms) //顯示延時(shí)小時(shí)</p><p><b> {</b></p><p> while(ms--)</p><p><b> {</b></p><p> xianshih();<
32、;/p><p><b> }</b></p><p><b> }</b></p><p> void ysmin(uint ms) //顯示延時(shí)分鐘</p><p><b> {</b></p><p> while(ms--
33、)</p><p><b> {</b></p><p> xianshimin();</p><p><b> }</b></p><p><b> }</b></p><p> void yss(uint ms) //顯示延
34、時(shí)秒</p><p><b> {</b></p><p> while(ms--)</p><p><b> {</b></p><p> xianshis();</p><p><b> }</b></p><p>
35、<b> }</b></p><p> void KeyProc(uchar key1)//按鍵校準(zhǔn)函數(shù)</p><p><b> {</b></p><p> if(dinwei==0){ysh(5);ysmin(5);yss(5);}</p><p> if(dinwei==1
36、)ysmin(15);</p><p> if(dinwei==2)ysh(15);</p><p> if(key==ENTER)</p><p><b> {</b></p><p><b> dinwei++;</b></p><p> if(dinwei&g
37、t;2)dinwei=0;</p><p><b> }</b></p><p> if(dinwei==1)</p><p><b> { </b></p><p> if(key1==UP)min++;</p><p> if(key1==DOWN)min--
38、;</p><p> if(min==60)min=0;</p><p> if(min>59)min=59;</p><p><b> }</b></p><p> if(dinwei==2)</p><p><b> {</b></p>&l
39、t;p> if(key1==UP)h++;</p><p> if(key1==DOWN)h--;</p><p> if(h==24)h=0;</p><p> if(h>23)h=23;</p><p><b> }</b></p><p><b> }<
40、;/b></p><p> void main() //主函數(shù)</p><p><b> {</b></p><p> void tiaozheng(void);//調(diào)整檢測函數(shù)</p><p> TMOD=0x10;</p><p><b> I
41、T0=1;</b></p><p><b> TH0=0x63;</b></p><p><b> TL0=0xbf;</b></p><p><b> EA=1;</b></p><p><b> ET1=1;</b></p&g
42、t;<p><b> TR1=1;</b></p><p><b> while(1)</b></p><p><b> {</b></p><p> if(dinwei==0){xianshih();xianshimin();xianshis();}</p>&l
43、t;p> if(dinwei==1)xianshimin();</p><p> if(dinwei==2)xianshih();</p><p> if(s>59)min++,s=0;</p><p> if(min>59)h++,min=0;</p><p> if(h>23)h=0;</p>
44、<p> tiaozheng();</p><p><b> }</b></p><p><b> }</b></p><p> void Timer0() interrupt 3 //定時(shí)函數(shù)</p><p><b> {</b></p>
45、<p><b> TH1=0x63;</b></p><p><b> TL1=0xbf;</b></p><p><b> if(j==25)</b></p><p><b> {</b></p><p><b> j=
46、0;</b></p><p><b> s++;</b></p><p><b> }</b></p><p><b> j++;</b></p><p><b> }</b></p><p> void
47、tiaozheng (void) //調(diào)整時(shí)間函數(shù)</p><p> { </p><p> key=KeyScanNUM();</p><p> if(key==UP||key==DOWN||key==ENTER)</p><p><b> {</b></p>
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計(jì)——數(shù)字電子鐘
- 單片機(jī)課程設(shè)計(jì)--數(shù)字電子鐘
- 單片機(jī)課程設(shè)計(jì)--數(shù)字電子鐘
- 《單片機(jī)技術(shù)》電子鐘課程設(shè)計(jì)---數(shù)字電子鐘
- 單片機(jī)數(shù)字電子鐘課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--數(shù)字電子鐘
- 單片機(jī)課程設(shè)計(jì)--數(shù)字電子鐘設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--數(shù)字鐘電子鐘
- 單片機(jī)課程設(shè)計(jì)---數(shù)字電子鐘的設(shè)計(jì)
- 單片機(jī)電子鐘課程設(shè)計(jì)---數(shù)字電子鐘
- 單片機(jī)課程設(shè)計(jì)數(shù)字電子鐘
- 單片機(jī)課程設(shè)計(jì)--基于單片機(jī)的數(shù)字電子鐘
- 課程設(shè)計(jì)----基于單片機(jī)的數(shù)字電子鐘設(shè)計(jì)
- 電子鐘課程設(shè)計(jì)--基于單片機(jī)的電子鐘設(shè)計(jì)
- 電子鐘單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--電子鐘
- 單片機(jī)課程設(shè)計(jì)(電子鐘)
- 單片機(jī)課程設(shè)計(jì)--多功能數(shù)字電子鐘
- 單片機(jī)課程設(shè)計(jì)— 多功能數(shù)字電子鐘
- 單片機(jī)數(shù)字時(shí)鐘課程設(shè)計(jì)--單片機(jī)多功能電子鐘設(shè)計(jì)
評論
0/150
提交評論