版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
目錄一、引言········二、設(shè)計(jì)課題·········三、系統(tǒng)總體方案·········四、系統(tǒng)硬件設(shè)計(jì)······
1.硬件電路原理圖2.元件清單五、系統(tǒng)軟件設(shè)計(jì)·········1.軟件流程圖2.程序清單六、系統(tǒng)實(shí)物圖········課程設(shè)計(jì)體會(huì)········八、參考文獻(xiàn)及網(wǎng)站·········九、附錄·········引言單片機(jī)因?qū)⑵渲饕M成部分集成在一個(gè)芯片上而得名,就是把中央處理器、隨機(jī)存儲(chǔ)器、只讀存儲(chǔ)器、中斷系統(tǒng)、定時(shí)器/計(jì)數(shù)器以及I/O接口電路等部件集成在一個(gè)芯片上。基于單片機(jī)設(shè)計(jì)的數(shù)字鐘精確度較高,因?yàn)樵诔绦虻膱?zhí)行過程中,任何指令都不影響定時(shí)器的正常計(jì)數(shù),即便程序很長(zhǎng)也不會(huì)影響中斷的時(shí)間。數(shù)字鐘是采用數(shù)字電路實(shí)現(xiàn)對(duì)日期、時(shí)、分、秒,數(shù)字顯示的計(jì)時(shí)裝置,由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過老式鐘表,鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地?cái)U(kuò)展了鐘表的報(bào)時(shí)功能。數(shù)字鐘已成為人們?nèi)粘I钪械谋匦杵罚瑥V泛應(yīng)用于家庭、車站、碼頭、劇院、辦公室等場(chǎng)所,給人們的生活、學(xué)習(xí)、工作帶來極大的方便。不僅如此,在現(xiàn)代化的進(jìn)程中,也離不開電子鐘的相關(guān)功能和原理,比如機(jī)械手的控制、家務(wù)的自動(dòng)化、定時(shí)自動(dòng)報(bào)警、按時(shí)自動(dòng)打鈴、時(shí)間程序自動(dòng)控制、定時(shí)廣播、自動(dòng)起閉路燈、定時(shí)開關(guān)烘箱、通斷動(dòng)力設(shè)備、甚至各種定時(shí)電氣的自動(dòng)啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。而且是控制的核心部分。因此,研究數(shù)字鐘及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實(shí)的意義。本設(shè)計(jì)使用12MHZ晶振與單片機(jī)AT89C51相連接,以AT89C51芯片為核心,采用動(dòng)態(tài)掃描方式顯示,通過使用該單片機(jī),加之在顯示電路部分使用HD74LS373驅(qū)動(dòng)電路,實(shí)現(xiàn)在8個(gè)LED數(shù)碼管上顯示時(shí)間,通過4個(gè)按鍵進(jìn)行調(diào)時(shí)、復(fù)位等功能,在實(shí)現(xiàn)各功能時(shí)數(shù)碼管進(jìn)行相應(yīng)顯示。軟件部分用C語言實(shí)現(xiàn),分為顯示、延遲、調(diào)時(shí)、復(fù)位等部分。通過軟硬件結(jié)合達(dá)到最終目的。二.設(shè)計(jì)課題:基于單片機(jī)的數(shù)字時(shí)鐘設(shè)計(jì)三.系統(tǒng)總體方案圖2.1整體設(shè)計(jì)思路針對(duì)要實(shí)現(xiàn)的功能,擬采用AT89C51單片機(jī)進(jìn)行設(shè)計(jì),AT89C51單片機(jī)是一款低功耗,高性能CMOS8位單片機(jī),片內(nèi)含4KB在線可編程(ISP)的可反復(fù)擦寫1000次的Flash只讀程序存儲(chǔ)器,器件采用高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu)。這樣,既能做到經(jīng)濟(jì)合理又能實(shí)現(xiàn)預(yù)期的功能。在程序方面,采用分塊設(shè)計(jì)的方法,這樣既減小了編程難度、使程序易于理解,又能便于添加各項(xiàng)功能。程序可分為鬧鐘的聲音程序、顯示程序、鬧鐘顯示程序、調(diào)時(shí)顯示、定時(shí)程序。運(yùn)用這種方法,關(guān)鍵在于各模塊的兼容和配合,若各模塊不匹配會(huì)出現(xiàn)意想不到的錯(cuò)誤。四、系統(tǒng)硬件設(shè)計(jì)1.硬件電路原理圖(1)復(fù)位電路單片機(jī)有兩種基本復(fù)位方式:即上電復(fù)位和按鍵復(fù)位。本次設(shè)計(jì)用按鍵復(fù)位,如下圖所示,通過接通按鈕開關(guān),使單片機(jī)進(jìn)入復(fù)位狀態(tài)。本次按鍵復(fù)位清零。各元件參考下圖。時(shí)鐘電路鍵盤電路按鍵處理設(shè)置為:如沒有按鍵,則時(shí)鐘正常走時(shí)。按下K0鍵:進(jìn)入調(diào)分狀態(tài),時(shí)鐘停止走動(dòng);按K1和K2鍵:可進(jìn)行加1和減1操作;繼續(xù)按K0鍵:可分別進(jìn)行分和小時(shí)的調(diào)整;最后按K0鍵:退出調(diào)整狀態(tài),時(shí)鐘開始計(jì)時(shí)運(yùn)行電路圖如下:(4)顯示電路本次數(shù)碼管采用共陰極8段式LED數(shù)碼管QH5011AS。該數(shù)碼管參數(shù)見附錄本系統(tǒng)共用8個(gè)數(shù)碼管,從右到左依次顯示秒個(gè)位、秒十位、橫線、分個(gè)位、分十位、橫線、時(shí)個(gè)位和時(shí)十位。數(shù)碼管顯示的信息用8個(gè)內(nèi)存單元存放,這8個(gè)內(nèi)存單元稱為顯示緩沖區(qū),其中秒個(gè)位和秒十位、分個(gè)位和分十位、時(shí)個(gè)位和時(shí)十位分別由秒數(shù)據(jù)、分?jǐn)?shù)據(jù)和小時(shí)數(shù)據(jù)分拆得到。在本系統(tǒng)中數(shù)碼管顯示采用軟件譯碼動(dòng)態(tài)顯示。在存儲(chǔ)器中首先建立一張顯示信息的字段碼表,顯示時(shí),先從顯示緩沖區(qū)中取出顯示的信息,然后通過查表程序在字段碼表中查出所顯示的信息的字段碼,從P0口輸出,同時(shí)在P2口將對(duì)應(yīng)的位選碼輸出選中顯示的數(shù)碼管,就能在相應(yīng)的數(shù)碼管上顯示顯示緩沖區(qū)的內(nèi)容。同時(shí)采用NPN型三極管,三極管接法如下圖,其中當(dāng)三極管基極高電平時(shí),數(shù)碼管共陰極為高電平,三極管基極接低電平時(shí),數(shù)碼管共陰極為低電平,該位選中。還采用了74LS373鎖存器,用來緩存輸入數(shù)碼管段選的高低電平,提高電路穩(wěn)定性。電路圖如下:總原理圖:元件清單品名規(guī)格型號(hào)數(shù)量單片機(jī)及座子STC89C51RC1晶振12MHz1獨(dú)石電容30pF2電解電容47μF2電解電容10μF1按鍵4RJ電阻10KΩ4RJ電阻510Ω8RJ電阻4.7KΩ8三極管2N5551NPN8鎖存器及座子74LS37318段式LED數(shù)碼管QH5011AS8連孔板14cm*21cm帶電源插座孔和USB插座孔1導(dǎo)線若干焊錫絲若干交流220V-直流5V適配器1A,5W1交流220V-直流5V適配器配套插座1ISP下載編程工具STC89C51RC/RD+系列ISP經(jīng)濟(jì)型下載編程工具1焊錫膏系統(tǒng)軟件設(shè)計(jì)1.軟件流程圖(1)主程序執(zhí)行流程如圖,主程序先對(duì)顯示單元和定時(shí)器/計(jì)數(shù)器初始化,然后重復(fù)調(diào)用數(shù)碼管顯示模塊和按鍵處理模塊,當(dāng)有鍵按下,則轉(zhuǎn)入相應(yīng)的功能程序開始顯示單元清0進(jìn)入功能程序按下鍵否?調(diào)用顯示子程序允許T0中斷T0、T1設(shè)為16位計(jì)數(shù)模式開始顯示單元清0進(jìn)入功能程序按下鍵否?調(diào)用顯示子程序允許T0中斷T0、T1設(shè)為16位計(jì)數(shù)模式否是(2)中斷服務(wù)流程圖中斷返回時(shí)單元清0時(shí)單元=24?時(shí)單元加1,分單元清0分單元=60?分單元加1,秒單元清0秒單元=60?秒單元加1,50ms計(jì)數(shù)器清050ms計(jì)數(shù)器=20?50ms計(jì)數(shù)器加1現(xiàn)場(chǎng)保護(hù),重置初值啟動(dòng)下個(gè)50ms開始中斷返回時(shí)單元清0時(shí)單元=24?時(shí)單元加1,分單元清0分單元=60?分單元加1,秒單元清0秒單元=60?秒單元加1,50ms計(jì)數(shù)器清050ms計(jì)數(shù)器=20?50ms計(jì)數(shù)器加1現(xiàn)場(chǎng)保護(hù),重置初值啟動(dòng)下個(gè)50ms開始否是 否 是否 是否是是中斷服務(wù)程序流程圖(3)按鍵掃描流程圖Key2鍵按下否?調(diào)用10ms延時(shí)子程序Key2鍵按下否?時(shí)或分減1,至0則取模Key0鍵按下否?0<Con<3?Key0鍵按下否?EA=1調(diào)用10ms延時(shí)子程序Key1鍵按下否?時(shí)或分加1,加滿則清0Key1鍵按下否?EA=0,TR0=1,ET0=1調(diào)用10ms延時(shí)子程序Con加1,TR0=0,ET0=0開始Key2鍵按下否?調(diào)用10ms延時(shí)子程序Key2鍵按下否?時(shí)或分減1,至0則取模Key0鍵按下否?0<Con<3?Key0鍵按下否?EA=1調(diào)用10ms延時(shí)子程序Key1鍵按下否?時(shí)或分加1,加滿則清0Key1鍵按下否?EA=0,TR0=1,ET0=1調(diào)用10ms延時(shí)子程序Con加1,TR0=0,ET0=0開始否 是否 是否 是 是 否否 是 是 否否 是 是顯示從秒到時(shí),從個(gè)位到十位依次掃描,并分別延時(shí)1ms,滅一次開始(4)顯示函數(shù)流程圖顯示從秒到時(shí),從個(gè)位到十位依次掃描,并分別延時(shí)1ms,滅一次開始2.程序清單采用C語言描寫//采用8位LED軟件譯碼動(dòng)態(tài)顯示程序//使用89C51單片機(jī),12MHZ晶振,P0輸出字段碼,P2輸出位選碼//用共陰極LED數(shù)碼管,KEY0為調(diào)時(shí)位選擇鍵,KEY1為加1鍵,KEY2為減1鍵#include<reg51.h>#definecharunsignedcharcharcodedis_7[12]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40};//共陰極LED數(shù)碼管"0~9","滅"和"-"的字段碼charcodescan_con[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//位選擇碼chardatadis[8]={0x00,0x00,0x0b,0x00,0x00,0x0b,0x00,0x00};//顯示緩沖區(qū),時(shí),分,秒初始為0,0x0b為"-"的編碼chardatatimedata[3]={0x00,0x00,0x00};//分別為秒,分和小時(shí)的值chardatams50=0x00,con=0x00,con1=0x00,con2=0x00;sbitkey0=P1^0;sbitkey1=P1^1;sbitkey2=P1^2;//1ms延時(shí)函數(shù)delay1ms(intt){inti,j;for(i=0;i<t;i++)for(j=0;j<120;j++) ;}//按鍵處理函數(shù)keyscan(){EA=0;if(key0==0){delay1ms(10);while(key0==0);con++;TR0=0;ET0=0;if(con>=3){con=0;TR0=1; ET0=1;} }if(con!=0){if(key1==0){ delay1ms(10); while(key1==0); timedata[con]++; if(con==2)con1=24; elsecon1=60; if(timedata[con]>=con1) {timedata[con]=0;} }}if(con!=0){if(key2==0){delay1ms(10);while(key2==0);timedata[con]--;if(con==2)con2=23;elsecon2=59;if(timedata[con]<=0){timedata[con]=con2;}}}EA=1;}//數(shù)碼管顯示函數(shù)scan(){chark;dis[0]=timedata[0]%10;dis[1]=timedata[0]/10;dis[3]=timedata[1]%10;dis[4]=timedata[1]/10;dis[6]=timedata[2]%10;dis[7]=timedata[2]/10;for(k=0;k<8;k++){P0=dis_7[dis[k]];P2=scan_con[k];delay1ms(1);P2=0x00;}}//主函數(shù)main(){TH0=0x3c;TL0=0xb0;TMOD=0x01;ET0=1;TR0=1;EA=1;while(1){ scan(); keyscan(); }}//定時(shí)器、計(jì)數(shù)器T0中斷服務(wù)函數(shù)voidtime_intt0(void)interrupt1{ET0=0;TR0=0;TH0=0x3c;TL0=0xb0;TR0=1;ms50++;if(ms50==20){ms50==0x00;timedata[0]++;if(timedata[0]==60){ timedata[0]=0; timedata[1]++; if(timedata[1]==60) { timedata[1]=0; timedata[2]++; if(timedata[2]==24) { timedata[2]=0; } } }}ET0=1;}系統(tǒng)實(shí)物圖課程設(shè)計(jì)體會(huì)這次電子技術(shù)課程設(shè)計(jì),我很用心的去完成,當(dāng)總原理圖繪好的那一刻,心里有說不出的滿足感。從這次課程設(shè)計(jì)中,我真正學(xué)到了很多有用的知識(shí)。拿到課題后,我首先將《單片機(jī)原理與應(yīng)用及C51程序設(shè)計(jì)》中有關(guān)本次設(shè)計(jì)的內(nèi)容復(fù)習(xí)了一遍,比如七段譯碼顯示器、計(jì)數(shù)器、振蕩器等等。然后根據(jù)設(shè)計(jì)要求,我去圖書館查閱了相關(guān)的資料,對(duì)整體框架做了一個(gè)初步的了解。做完準(zhǔn)備工作后就正式開始設(shè)計(jì)與繪圖。先要將沒每一功能模塊設(shè)計(jì)出來,再整體排版、連接。這次設(shè)計(jì)讓我熟練掌握了課本上的一些理論知識(shí),在這次課程設(shè)計(jì)中,反復(fù)查找資料,發(fā)現(xiàn)電路中的錯(cuò)誤和改善電路中的錯(cuò)誤,讓我將課本上的理論知識(shí)重新過了一遍?;剡^頭來一想,其實(shí)設(shè)計(jì)這些電路也并不是很困難,而且還十分有意思,特別是用protues將電路圖模擬成功后很有成就感。課程設(shè)計(jì)是一個(gè)學(xué)習(xí)新知識(shí)、鞏固加深所學(xué)課本理論知識(shí)的過程,它培養(yǎng)了我們綜合運(yùn)用知識(shí)的能
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年電動(dòng)工業(yè)滑升門項(xiàng)目可行性研究報(bào)告
- 治藤蔓病化學(xué)品市場(chǎng)發(fā)展現(xiàn)狀調(diào)查及供需格局分析預(yù)測(cè)報(bào)告
- 假肢市場(chǎng)發(fā)展現(xiàn)狀調(diào)查及供需格局分析預(yù)測(cè)報(bào)告
- 有線網(wǎng)絡(luò)安裝維護(hù)維修承包合同協(xié)議書
- 甲板鞋產(chǎn)品入市調(diào)查研究報(bào)告
- 氣動(dòng)千斤頂產(chǎn)業(yè)運(yùn)行及前景預(yù)測(cè)報(bào)告
- 設(shè)備租賃轉(zhuǎn)讓合同范本
- 2024年變壓器采購(gòu)合同(3篇)
- 2024小貸公司借款合同協(xié)議書
- 電動(dòng)編發(fā)器市場(chǎng)發(fā)展現(xiàn)狀調(diào)查及供需格局分析預(yù)測(cè)報(bào)告
- 2024年房地產(chǎn)開發(fā)商與裝修公司裝修合同
- 二年級(jí)排球教案
- 小數(shù)乘除法豎式計(jì)算專項(xiàng)練習(xí)題大全(每日一練共15份)
- 天津市和平區(qū)2024-2025學(xué)年九年級(jí)上學(xué)期期中考試英語試題
- 2024版抗菌藥物DDD值速查表
- 小學(xué)二年級(jí)數(shù)學(xué)上冊(cè)期中試卷(全套)
- DB11T 1580-2018 生產(chǎn)經(jīng)營(yíng)單位安全生產(chǎn)應(yīng)急資源調(diào)查規(guī)范
- 各省中國(guó)鐵路限公司2024招聘(目前38183人)高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 北師大版(2024新版)七年級(jí)上冊(cè)數(shù)學(xué)期中學(xué)情評(píng)估檢測(cè)試卷(含答案解析)
- (高清版)JTG 5142-2019 公路瀝青路面養(yǎng)護(hù)技術(shù)規(guī)范
- 預(yù)防接種工作規(guī)范(2023年版)解讀課件
評(píng)論
0/150
提交評(píng)論