版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、單片機(jī)原理及應(yīng)用課程設(shè)計(jì)任務(wù)書(shū)14系(部):電信系 專業(yè): 指導(dǎo)教師:課題名稱數(shù)碼管顯示電子鐘設(shè)計(jì)設(shè)計(jì)內(nèi)容及要求1、課題內(nèi)容:設(shè)計(jì)一種基于AT89S52單片機(jī)的數(shù)碼管顯示電子時(shí)鐘,要求如下:(1)、能正確顯示時(shí)間,時(shí)鐘由數(shù)碼管顯示,顯示格式為:XX小時(shí)¾XX分¾XX秒。(2)、時(shí)間能夠由按鍵調(diào)整,誤差小于1S。(3)、鬧鐘功能:時(shí)間運(yùn)行到與鬧鐘設(shè)定時(shí)間時(shí),鬧鐘響(持續(xù)響5秒)。(4)、報(bào)時(shí)功能:時(shí)間運(yùn)行到正點(diǎn)時(shí)間時(shí),鬧鐘響,幾點(diǎn)鐘就響幾聲(每聲持續(xù)響2秒,每?jī)陕曋g時(shí)間間隔2秒)。 2、要求:完成該系統(tǒng)的硬件和軟件的設(shè)計(jì),在Proteus軟件上仿真通過(guò),提交一篇課程設(shè)計(jì)說(shuō)明
2、書(shū)。設(shè)計(jì)工作量1、匯編或C51語(yǔ)言程序設(shè)計(jì);2、程序調(diào)試;3、在Proteus上進(jìn)行仿真成功;4、提交一份完整的課程設(shè)計(jì)說(shuō)明書(shū),包括設(shè)計(jì)原理、程序設(shè)計(jì)、程序分析、仿真分析、調(diào)試過(guò)程,參考文獻(xiàn)、設(shè)計(jì)總結(jié)等。進(jìn)度安排起止日期(或時(shí)間量)設(shè)計(jì)內(nèi)容(或預(yù)期目標(biāo))備注第一天課題介紹,答疑,收集材料,C51介紹第二天設(shè)計(jì)方案論證,練習(xí)編寫(xiě)C51程序第三天第六天程序設(shè)計(jì)第六天第八天 程序調(diào)試、仿真第九天第十天系統(tǒng)測(cè)試并編寫(xiě)設(shè)計(jì)說(shuō)明書(shū)教研室意見(jiàn)年 月 日系(部)主管領(lǐng)導(dǎo)意見(jiàn)年 月 日目 錄摘 要51、 設(shè)計(jì)任務(wù)與要求51.1 基本設(shè)計(jì)任務(wù)51.2 功能要求說(shuō)明52、 方案論證與選擇62.1 單片機(jī)的型號(hào)選擇6
3、2.2 控制選擇方案63、 總體設(shè)計(jì)63.1 主程序63.2 顯示子程序83.3 定時(shí)鬧鐘與整點(diǎn)報(bào)時(shí)程序93.4 定時(shí)器T0中斷服務(wù)程序93.5 按鍵功能設(shè)置104、系統(tǒng)主要元件介紹114.1 AT89C51單片機(jī)的介紹114.2 LED數(shù)碼管介紹115、 仿真及測(cè)試125.1 程序調(diào)試及仿真125.2 程序測(cè)試及結(jié)果分析126、程序設(shè)計(jì)體會(huì)13參考文獻(xiàn)13摘 要 該電子時(shí)鐘由AT89C51,BUTTON,七段數(shù)碼管等構(gòu)成,采用晶振電路作為驅(qū)動(dòng)電路,由延時(shí)程序和循環(huán)程序產(chǎn)生的一秒定時(shí),達(dá)到時(shí)分秒的計(jì)時(shí),六十秒為一分鐘,六十分鐘為一小時(shí),滿二十四小時(shí)重新計(jì)時(shí)。而電路中的四個(gè)控制鍵擁有多種不同的功
4、能,可以實(shí)現(xiàn)電子鐘精確到秒的調(diào)整和鬧鐘的調(diào)整,應(yīng)用Proteus的ISIS軟件實(shí)現(xiàn)了單片機(jī)電子時(shí)鐘系統(tǒng)的設(shè)計(jì)與仿真。該方法仿真效果真實(shí)、準(zhǔn)確,節(jié)省了硬件資源。關(guān)鍵詞:數(shù)碼管;單片機(jī);電子鐘;鍵盤(pán)控制1、 設(shè)計(jì)任務(wù)與要求本任務(wù)為:數(shù)碼管顯示電子鐘。設(shè)計(jì)任務(wù)具體內(nèi)容如下:1.1 基本設(shè)計(jì)任務(wù)依據(jù)命題題意,本設(shè)計(jì)采用AT89C51進(jìn)行24小時(shí)計(jì)時(shí)并用數(shù)碼管顯示。要求其顯示時(shí)間范圍是00:00:0023:59:59,具備有時(shí)分秒校準(zhǔn)功能。電子鐘上面要帶有鬧鐘,鬧鐘與時(shí)鐘之間能隨時(shí)切換,鬧鐘具備時(shí)分秒設(shè)置功能。1.2 功能要求說(shuō)明設(shè)計(jì)一個(gè)具有特定功能的電子鐘。該電子鐘具有設(shè)定鬧鐘(持續(xù)響5秒),及整點(diǎn)報(bào)
5、時(shí)功能。時(shí)間運(yùn)行到正點(diǎn)時(shí)間時(shí),鬧鐘響,幾點(diǎn)鐘就響幾聲(每聲持續(xù)響2秒,每?jī)陕曋g時(shí)間間隔2秒)。2、 方案論證與選擇2.1 單片機(jī)的型號(hào)選擇通過(guò)對(duì)多種單片機(jī)性能的分析,最終認(rèn)為AT89C51是最理想的電子時(shí)鐘開(kāi)發(fā)芯片。AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的低電壓,高性能CMOS8位微處理器,器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,而且它與MCS-51兼容,且具有4K字節(jié)可編程閃爍存儲(chǔ)器和1000寫(xiě)/擦循環(huán),數(shù)據(jù)保留時(shí)間為
6、10年等特點(diǎn),是最好的選擇。2.2 控制選擇方案直接加減:使用7按鍵,1按鍵切換鬧鐘,6按鍵對(duì)時(shí)分秒分別加減,控制方式相當(dāng)簡(jiǎn)單,但需要較多按鍵與I/O口,功能一般,成本較高。矩陣鍵盤(pán):使用16按鍵對(duì)時(shí)分秒直接設(shè)置,能最為靈活的對(duì)數(shù)字鐘進(jìn)行設(shè)置,功能強(qiáng)大,但控制方式相對(duì)困難,成本較高,需要較多按鍵與I/O口。換位加減:使用4按鍵,1鍵切換鬧鐘,1鍵換位,另兩鍵加減,控制方式相對(duì)簡(jiǎn)單,占用I/O口少,成本低廉,但功能一般。經(jīng)過(guò)反復(fù)比較,在3種方案中選取了第3種換位加減,此方案成本低,功能已經(jīng)足夠滿足電子鐘的需要,而且硬件軟件均比較簡(jiǎn)單。3、 總體設(shè)計(jì)3.1 主程序 設(shè)計(jì)中計(jì)時(shí)采用定時(shí)器T0中斷完成
7、。主程序循環(huán)調(diào)用顯示子程序和查鍵,當(dāng)端口有開(kāi)關(guān)按下時(shí),轉(zhuǎn)入相應(yīng)的功能程序。流程圖如圖3-1所示。 圖3-1 主程序流程/*主函數(shù)*/void main(void)TMOD=0x11; /time0為定時(shí)器,方式1TH0=0x3c; /預(yù)置計(jì)數(shù)初值,50msTL0=0xb0;TH1=(65535-50000)/256;TL1=(65535-50000)%256;EA=1; /總中斷開(kāi)ET0=1; /允許定時(shí)器0中斷TR0=1;ET1=1;TR1=1;buzz=0; /開(kāi)啟定時(shí)器0 while (1) keyscan(); /按鍵掃描 dinshi(); /定時(shí)鬧鐘 switch(temp2) /
8、顯示時(shí)間 case 0:display(hour1,minite1,seconde1);break; case 1:display(hour2,minite2,seconde2);break; 3.2 顯示子程序 顯示子程序每次顯示6個(gè)連續(xù)內(nèi)存單元的十進(jìn)制BCD碼數(shù)據(jù)。由于采用7段共陽(yáng)LED數(shù)碼管動(dòng)態(tài)掃描實(shí)現(xiàn)數(shù)據(jù)顯示,顯示十進(jìn)制BCD碼數(shù)據(jù)對(duì)應(yīng)段碼存放在ROM中。 顯示時(shí)取內(nèi)存地址中數(shù)據(jù),然后查表得對(duì)應(yīng)顯示段碼從P0口輸出,P2口將為對(duì)應(yīng)的數(shù)碼管供電,于是數(shù)碼管就會(huì)顯示該地址單元的數(shù)據(jù)。void display(uchar hour,uchar minite,uchar seconde)/*顯
9、示子程序*/ uchar h1,h2,m1,m2,s1,s2;s2=seconde/10;s1=seconde%10; m2=minite/10;m1=minite%10; h2=hour/10;h1=hour%10;P2=0XFE; /1111 1110if(temp1=1)/功能選項(xiàng),通過(guò)點(diǎn)提醒來(lái)調(diào)節(jié)相應(yīng)位的時(shí)間P0=dispcodes1|0x80;/點(diǎn)提醒elseP0=dispcodes1;/秒個(gè)位delay(1);P2=0XFD;/1111 1101P0=dispcodes2;/秒十位delay(1);P2=0XFB; /1111 1011P0=dispcode10;/間隔符 -del
10、ay(1);P2=0XF7; /1111 0111 if(temp1=2)/P0=dispcodem1|0x80;elseP0=dispcodem1;/分個(gè)位delay(1);P2=0XEF; /1110 1111 P0=dispcodem2;/分十位delay(1);P2=0XDF; /1101 1111P0=dispcode10;/間隔符 -delay(1);P2=0XBF; /1011 1111if(temp1=3)P0=dispcodeh1|0x80;/時(shí)個(gè)位elseP0=dispcodeh1;delay(1);P2=0X7F; /0111 1111P0=dispcodeh2;/時(shí)十位
11、delay(1);3.3 定時(shí)鬧鐘與整點(diǎn)報(bào)時(shí)程序void dinshi( ) /*定時(shí)鬧鐘 */uint i; if(hour1=hour2&&minite1=minite2&&(seconde1>=seconde2&&seconde1<seconde2+5) for(i=0;i<20;i+) buzz=1; buzz=0; void zhengdian (void)/*整點(diǎn)報(bào)警*/if(seconde1=0&&minite1=0)temp=hour1;flag=1; /標(biāo)記buzz=1;3.4 定時(shí)器T0中斷服
12、務(wù)程序 定時(shí)溢出中斷周期設(shè)為50MS,中斷進(jìn)入后先進(jìn)行定時(shí)中斷初值校正,當(dāng)中斷累加到20次時(shí),對(duì)秒計(jì)數(shù)單元進(jìn)行加1操作。時(shí)鐘最大計(jì)時(shí)值為23時(shí)59分59秒。#7FH存放“熄滅符”數(shù)據(jù),用于時(shí)間調(diào)整時(shí)的閃爍功能。在計(jì)數(shù)單元中,采用十進(jìn)制BCD碼計(jì)數(shù),滿十進(jìn)位。 在程序中采用12MHZ晶振頻率,精度為1MS,定時(shí)初值為50MS,用循環(huán)程序進(jìn)行20次循環(huán)可到1S。當(dāng)1S到時(shí)調(diào)用加1程序并判斷秒、分是否為60,當(dāng)秒為60時(shí),秒清零,分加1;當(dāng)分為60時(shí),分清零。終端結(jié)束時(shí),分時(shí)計(jì)時(shí)單元數(shù)據(jù)移入對(duì)應(yīng)顯示單元。void timer0(void) interrupt 1 /定時(shí)器0方式1,50ms中斷一次
13、TH0=0x3c; /手動(dòng)加載計(jì)數(shù)脈沖次數(shù) TL0=0xb0; mstcnt+; zhengdian(); /用于計(jì)算時(shí)間,每隔50ms加1 if(mstcnt=20) /mstcnt滿20即為一秒 seconde1+; /秒+1time_pro( ); /時(shí)間處理mstcnt=0; /對(duì)計(jì)數(shù)單元的清零,重新開(kāi)始計(jì) 圖3-4 定時(shí)器T0中斷服務(wù)流程圖3.5 按鍵功能設(shè)置電子時(shí)鐘設(shè)置4個(gè)按鍵通過(guò)程序控制來(lái)完成電子時(shí)鐘的時(shí)間調(diào)整。調(diào)整時(shí)鐘時(shí)只設(shè)計(jì)了加鍵、減鍵、模式鍵、鬧鐘鍵。K1鍵為模式設(shè)置;k2鍵加一鍵;K3鍵減一鍵;k4鍵鬧鐘設(shè)置鍵。 (1)、k1鍵:模式設(shè)置鍵,直接按下模式鍵時(shí)可以調(diào)節(jié)時(shí)間,
14、多次按鍵時(shí),調(diào)節(jié)在秒、分、時(shí)之間變換。 (2)、k2鍵:進(jìn)入模式后,調(diào)節(jié)位出現(xiàn)一個(gè)標(biāo)志點(diǎn),按一下k2鍵則該位加一。同理,按下k3鍵該位減一。 (3)、k4鍵:按下k4鍵,數(shù)碼管顯示程序既定的鬧鐘時(shí)刻,按下模式鍵,出現(xiàn)標(biāo)志點(diǎn)后按k2、k3調(diào)節(jié)鬧鐘。4、系統(tǒng)主要元件介紹4.1 AT89C51單片機(jī)的介紹AT89C51單片機(jī)是把那些作為控制應(yīng)用所必需的基本內(nèi)容都集成在一個(gè)尺寸有限的集成電路芯片上。如果按功能劃分,它由如下功能部件組成,即微處理器(CPU)、數(shù)據(jù)存儲(chǔ)器(RAM)、程序存儲(chǔ)器(ROM)、并行I/O口(4個(gè)8位I/O口)、串行口、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)及特殊功能寄存器。它們都是通過(guò)片內(nèi)單
15、一總線連接而成,其基本結(jié)構(gòu)依舊是微處理器(CPU)加上外圍芯片的傳統(tǒng)結(jié)構(gòu)模式。但對(duì)各種功能部件的控制是采用特殊功能寄存器的集中控制方式,以實(shí)現(xiàn)不同的功能。AT89C51單片機(jī)如圖4-1所示。 圖4-1 單片機(jī)4.2 LED數(shù)碼管介紹 LED數(shù)碼管實(shí)際上是由七個(gè)發(fā)光管組成8字形構(gòu)成的,加上小數(shù)點(diǎn)就是8個(gè)。這些段分別由字母a,b,c,d,e,f,g,dp來(lái)表示。當(dāng)數(shù)碼管特定的段加上電壓后,這些特定的段就會(huì)發(fā)亮,以形成我們眼睛看到的字樣了。如:顯示一個(gè)“2”字,那么應(yīng)當(dāng)是a亮b亮g亮e亮d亮f不亮c不亮dp不亮。LED數(shù)碼管有一般亮和超亮等不同之分,也有0.5寸、1寸等不同的尺寸。小尺寸數(shù)碼管的顯示
16、筆畫(huà)常用一個(gè)發(fā)光二極管組成,而大尺寸的數(shù)碼管由二個(gè)或多個(gè)發(fā)光二極管組成,一般情況下,單個(gè)發(fā)光二極管的管壓降為1.8V左右,電流不超過(guò)30mA。發(fā)光二極管的陽(yáng)極連接到一起連接到電源正極的稱為共陽(yáng)數(shù)碼管,發(fā)光二極管的陰極連接到一起連接到電源負(fù)極的稱為共陰數(shù)碼管。常用LED數(shù)碼管顯示的數(shù)字和字符是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。ED的7段數(shù)碼管利用單只LED組合排列成“8”字型的數(shù)碼管,分別引出它們的電極,點(diǎn)亮相應(yīng)的點(diǎn)劃來(lái)顯示出0-9的數(shù)字。在這次的設(shè)計(jì)中采用的均是共陰極的LED顯示,當(dāng)I/O口輸出為高電平的時(shí)候,對(duì)應(yīng)段就被點(diǎn)亮。 圖4-2 LED數(shù)碼管5、 仿真及測(cè)
17、試5.1 程序調(diào)試及仿真本程序通過(guò)Keil單片機(jī)開(kāi)發(fā)平臺(tái)實(shí)現(xiàn)程序的編譯,鏈接,生成HEX文件。程序再編譯過(guò)程中可以發(fā)現(xiàn)錯(cuò)位,并及時(shí)改正,在設(shè)計(jì)時(shí)非常重要,使錯(cuò)誤被扼殺在搖籃中。通過(guò)Keil和硬件仿真平臺(tái)Proteus的聯(lián)合,可以將設(shè)計(jì)效果仿真出來(lái),根據(jù)效果,有目的的改變?cè)O(shè)計(jì),優(yōu)化程序。仿真圖如下:圖5-1 電子鐘仿真圖5.2 程序測(cè)試及結(jié)果分析測(cè)試步驟:1) 加載程序。2) 設(shè)定鬧鐘為05:01:00,并試聽(tīng)鬧鐘是否準(zhǔn)確。3) 試聽(tīng)每次整點(diǎn)報(bào)時(shí)是否準(zhǔn)確。4) 試驗(yàn)各按鍵功能是否正常。測(cè)試結(jié)果如下 鬧鐘與整點(diǎn)報(bào)時(shí)功能均正確無(wú)誤,各按鍵功能均正常。測(cè)試結(jié)果分析通過(guò)對(duì)測(cè)試數(shù)據(jù)的分析,可以看出,數(shù)字鐘
18、能實(shí)現(xiàn)時(shí)鐘計(jì)時(shí),并帶有鬧鐘與整點(diǎn)報(bào)時(shí)功能,即數(shù)字鐘已經(jīng)實(shí)現(xiàn)了題目所給出的所有要求。6、程序設(shè)計(jì)體會(huì)通過(guò)這次的設(shè)計(jì)使我認(rèn)識(shí)到本人對(duì)單片機(jī)方面的知識(shí)知道的太少了,對(duì)于書(shū)本上的很多知識(shí)還不能靈活運(yùn)用,尤其是對(duì)程序設(shè)計(jì)語(yǔ)句的理解和運(yùn)用,不能夠充分理解每個(gè)語(yǔ)句的具體含義,導(dǎo)致編程的程序過(guò)于復(fù)雜,使得需要的存儲(chǔ)空間增大。損耗了過(guò)多的內(nèi)存資源。本次的設(shè)計(jì)使我從中學(xué)到了一些很重要的東西,那就是如何從理論到實(shí)踐的轉(zhuǎn)化,怎樣將我所學(xué)到的知識(shí)運(yùn)用到我以后的工作中去。在大學(xué)的課堂的學(xué)習(xí)只是在給我們灌輸專業(yè)知識(shí),而我們應(yīng)把所學(xué)的用到我們現(xiàn)實(shí)的生活中去,此次的電子時(shí)鐘設(shè)計(jì)給我奠定了一個(gè)實(shí)踐基礎(chǔ),我會(huì)在以后的學(xué)習(xí)、生活中磨練自己,使自己適應(yīng)于以后的競(jìng)爭(zhēng),同時(shí)在查找資料的過(guò)程中我也學(xué)到了許多新的知識(shí),在和同學(xué)協(xié)作過(guò)程中增進(jìn)同學(xué)間的友誼,使我對(duì)團(tuán)隊(duì)精神的積極性和重要性有了更加充分的理解。 我知道,今后我的路還是很長(zhǎng),我要學(xué)的東西也有很多。通過(guò)這次實(shí)習(xí),我深刻的認(rèn)識(shí)到計(jì)算機(jī)專
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2021年華夏航空分析報(bào)告48
- 人力資源管理(管理科學(xué)研究所課件)
- 羊水污染的健康宣教
- 同型胱氨酸尿癥的臨床護(hù)理
- 上頜竇癌的健康宣教
- 《數(shù)學(xué)應(yīng)用問(wèn)題專題》課件
- 《第一章》課件-第七章第三節(jié):大數(shù)據(jù)技術(shù)與應(yīng)用-大數(shù)據(jù)相關(guān)知識(shí)
- 胎動(dòng)的健康宣教
- 孕期呼吸道過(guò)敏的健康宣教
- 孕期打嗝的健康宣教
- 鄭州市中原區(qū)2022-2023學(xué)年七年級(jí)上學(xué)期期末數(shù)學(xué)試題
- 【A電器公司存貨管理存在的問(wèn)題及優(yōu)化建議探析3400字(論文)】
- 食品營(yíng)養(yǎng)學(xué)智慧樹(shù)知到期末考試答案章節(jié)答案2024年華南理工大學(xué)
- 基層民兵整組調(diào)研報(bào)告總結(jié)
- 某智慧口岸建設(shè)需求
- 汽車技工的汽車維修技能培訓(xùn)
- 綜合英語(yǔ)智慧樹(shù)知到期末考試答案章節(jié)答案2024年喀什大學(xué)
- 口腔科醫(yī)療安全隱患
- 《建筑施工安全檢查標(biāo)準(zhǔn)》JGJ59-20248
- 憲法知識(shí)宣傳總結(jié)報(bào)告
- (正式版)SHT 3078-2024 立式圓筒形料倉(cāng)工程設(shè)計(jì)規(guī)范
評(píng)論
0/150
提交評(píng)論