版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
./單片機(jī)課程設(shè)計(jì)姓名:劉韶輝學(xué)號(hào):1402250232班級(jí):自動(dòng)化11402成績:指導(dǎo)老師:吳玉蓉設(shè)計(jì)時(shí)間:2016年12月26日~2017年1月5日目錄TOC\o"1-3"\h\u1.設(shè)計(jì)要求12.系統(tǒng)總體方案23.硬件電路設(shè)計(jì)34.系統(tǒng)軟件設(shè)計(jì).45.課程設(shè)計(jì)體會(huì)156.參考文獻(xiàn)157.系統(tǒng)實(shí)物圖16附錄1電路原理圖17附錄2原件清單18一、設(shè)計(jì)要求利用51單片機(jī)開發(fā)電子時(shí)鐘,實(shí)現(xiàn)時(shí)間顯示、調(diào)整功能。具體要求如下:按以上要求制定設(shè)計(jì)方案,并繪制出系統(tǒng)工作框圖;按要求設(shè)計(jì)部分外圍電路,并與單片機(jī)仿真器、單片機(jī)實(shí)驗(yàn)箱、電源等正確可靠的連接,給出電路原理圖;用仿真器及單片機(jī)實(shí)驗(yàn)箱進(jìn)行程序設(shè)計(jì)與調(diào)試;利用鍵盤輸入調(diào)整秒、分和小時(shí)時(shí)刻,數(shù)碼管顯示時(shí)間;二、系統(tǒng)總體方案1.時(shí)鐘計(jì)數(shù):形成秒、分、小時(shí),系統(tǒng)時(shí)間采用24小時(shí)制。利用單片機(jī)內(nèi)部的定時(shí)器/計(jì)數(shù)器來實(shí)現(xiàn),它的處理過程如下:首先設(shè)定單片機(jī)內(nèi)部的一個(gè)定時(shí)器/計(jì)數(shù)器工作于定時(shí)方式,對機(jī)器周期計(jì)數(shù)形成基準(zhǔn)時(shí)間〔如10ms,然后用另一個(gè)定時(shí)器/計(jì)數(shù)器或軟件計(jì)數(shù)的方法對基準(zhǔn)時(shí)間計(jì)數(shù)形成秒〔對10ms計(jì)數(shù)100次,秒計(jì)60次形成分,分計(jì)60次形成小時(shí),小時(shí)計(jì)24次則計(jì)滿一天。2.顯示:采用8個(gè)LED顯示系統(tǒng)當(dāng)前時(shí)間,顯示格式為"時(shí)-分-秒"〔如12-25-09。3.設(shè)置功能:用戶可以對系統(tǒng)的時(shí)間進(jìn)行設(shè)置。沒有按鍵時(shí),則時(shí)鐘正常走時(shí)。當(dāng)按下K0鍵,進(jìn)入調(diào)分狀態(tài),時(shí)鐘停止走動(dòng),此時(shí),按K1或K2鍵可進(jìn)行加1或減1操作;繼續(xù)按K0鍵可分別進(jìn)行分和時(shí)的調(diào)整,此時(shí),按K1或K2鍵可進(jìn)行加1或減1操作;最后按K0鍵將退出調(diào)整狀態(tài),時(shí)鐘開始計(jì)時(shí)運(yùn)行。4.系統(tǒng)框圖STC89C51STC89C51復(fù)位復(fù)位電路電源電路電源電路按鍵按鍵電路顯示電路顯示電路晶振晶振電路三、硬件電路設(shè)計(jì)1.時(shí)鐘電路〔晶振電路單片機(jī)利用外部12MHZ晶振構(gòu)成振蕩電路作為時(shí)鐘源,單片機(jī)內(nèi)部具有一個(gè)高增益反向放大器,用于構(gòu)成振蕩器。通常在引腳XTAL1和XTAL2跨接石英晶體和兩個(gè)補(bǔ)償電容構(gòu)成自激振蕩器,結(jié)構(gòu)如圖所示:圖2時(shí)鐘電路圖2.按鍵電路按鍵處理設(shè)置為:當(dāng)有沒鍵按下時(shí),時(shí)鐘正常運(yùn)行;當(dāng)按一次K1,時(shí)鐘停止走動(dòng),按K2對秒進(jìn)行調(diào)整;當(dāng)K1按2次時(shí),按K2對分進(jìn)行調(diào)整;當(dāng)K1按下3次時(shí),按K2對小時(shí)進(jìn)行調(diào)整,當(dāng)按下4次K1時(shí),校時(shí)完畢,時(shí)鐘按設(shè)定的時(shí)間進(jìn)行正常走時(shí)。當(dāng)按1次K3進(jìn)入鬧鐘設(shè)置界面,時(shí)鐘繼續(xù)進(jìn)行走時(shí),按K2對秒進(jìn)行設(shè)置;當(dāng)按2次K3,按K2對分進(jìn)行設(shè)置;當(dāng)按3次K3,按K2對秒進(jìn)行設(shè)置;當(dāng)按下4次K3時(shí),鬧鐘設(shè)置完畢進(jìn)入時(shí)鐘顯示界面。電路如下圖:圖3獨(dú)立按鍵電路3.復(fù)位電路單片機(jī)小系統(tǒng)常采用上電自動(dòng)復(fù)位和手動(dòng)按鍵復(fù)位兩種方式實(shí)現(xiàn)系統(tǒng)的復(fù)位操作,上電復(fù)位要求接通電源后,自動(dòng)實(shí)現(xiàn)復(fù)位操作,手動(dòng)復(fù)位要求在電源接通的條件下,在單片機(jī)運(yùn)行期間,用按鈕開關(guān)操作使單片機(jī)復(fù)位,其結(jié)構(gòu)圖如下圖,上電自動(dòng)復(fù)位通過電容C充電來實(shí)現(xiàn),手動(dòng)按鍵復(fù)位是通過按鍵將電阻R與Vcc接通來實(shí)現(xiàn)。 圖4復(fù)位電路4.單片機(jī)系統(tǒng)STC89C51是STC公司生產(chǎn)的一種低功耗、高性能CMOS8位微控制器,具有4K在系統(tǒng)可編程Flash存儲(chǔ)器。STC89C51使用經(jīng)典的MCS-51內(nèi)核,但做了很多的改進(jìn)使得芯片具有傳統(tǒng)51單片機(jī)不具備的功能。在單芯片上,擁有靈巧的8位CPU
和在系統(tǒng)可編程Flash,使得STC89C51為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被圖5單片機(jī)系統(tǒng)凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。最高運(yùn)作頻率35MHz,6T/12T可選。5.數(shù)碼管顯示電路將所有數(shù)碼管的8個(gè)顯示段碼"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會(huì)亮。通過分時(shí)輪流控制各個(gè)數(shù)碼管的COM端,就使各個(gè)數(shù)碼管輪流受控顯示,電路如下圖:圖6數(shù)碼管顯示電路四、軟件設(shè)計(jì)本系統(tǒng)的軟件系統(tǒng)主要可分為主程序、定時(shí)計(jì)數(shù)中斷程序、按鍵程序、延時(shí)程序四大模塊。設(shè)計(jì)思路:本系統(tǒng)主要可分為主程序、定時(shí)計(jì)數(shù)中斷程序、按鍵程序、延時(shí)程序和共陰極數(shù)碼管顯示程序。定時(shí)中斷程序是利用單片機(jī)內(nèi)部定時(shí)器0實(shí)現(xiàn)1秒的定時(shí),然后利用軟件延時(shí)實(shí)現(xiàn)分小時(shí),時(shí)間調(diào)整程序是利用單片機(jī)的內(nèi)部存貯器,把調(diào)整好的時(shí)間寫到顯示時(shí)間的存貯單元,然后啟動(dòng)定時(shí)器開始計(jì)時(shí)并顯示,延時(shí)程序是利用軟件實(shí)現(xiàn)延時(shí)達(dá)到去抖的目的和數(shù)碼管動(dòng)態(tài)顯示的延時(shí)。主程序就是利用這些子程序中斷程序?qū)崿F(xiàn)顯示、定時(shí)等功能。1.軟件流程圖〔1主程序開始開始初始化初始化鍵盤掃描鍵盤掃描顯示顯示〔2鍵盤掃描程序開始開始計(jì)時(shí)滿1s計(jì)時(shí)滿1s秒加1秒加1滿60s滿60s開始時(shí)間顯示時(shí)清零時(shí)滿24分清零,時(shí)加1分滿60秒清零,分加1開始時(shí)間顯示時(shí)清零時(shí)滿24分清零,時(shí)加1分滿60秒清零,分加1〔3顯示程序開始開始時(shí)間數(shù)據(jù)個(gè)十位分離時(shí)間數(shù)據(jù)個(gè)十位分離i=0i=0i>8?i>8?送位選碼送位選碼結(jié)束消隱送段選碼結(jié)束消隱送段選碼2、程序清單#include<reg52.h>#defineuintunsignedint#defineucharunsignedcharucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};sbitk0=P1^0;sbitk1=P1^1;sbitk2=P1^2;ints0,s1,min0,min1,h0,h1,shi,fen,miao,count,slnum,a0,a1,b0,b1,c0,c1;voiddelay<uintz>//延時(shí)函數(shù)1ms{uintx,y;for<x=z;x>0;x-->for<y=90;y>0;y-->;}voidinit<>//初始化函數(shù){P0=table[0];P2=0xff;shi=23;fen=59; //上電時(shí)間23-59-50miao=50;s1=miao/10;s0=miao%10;min1=fen/10;min0=fen%10;h1=shi/10;h0=shi%10; //分離出個(gè)位十位TMOD=0x01;TH0=<65536-50000>/256;TL0=<65536-50000>%256; //基準(zhǔn)時(shí)間為20msEA=1;ET0=1;TR0=1; //打開中斷定時(shí)器}voiddisplay0<>//{P2=0x80;P0=table[h1];delay<1>;P0=0x00; //消隱P2=0x40;P0=table[h0];delay<1>;P0=0x00;P2=0x20;P0=0x40;delay<1>;P0=0x00;P2=0x10;P0=table[min1];delay<1>;P0=0x00;P2=0x08;P0=table[min0];delay<1>;P0=0x00;P2=0x04;P0=0x40; //讓時(shí)分秒中間顯示"—"delay<1>;P0=0x00;P2=0x02;P0=table[s1];delay<1>;P0=0x00;P2=0x01;P0=table[s0];delay<1>;P0=0x00;}voiddisplay2<> 該顯示函數(shù)是讓閃爍顯示函數(shù)的子函數(shù){P2=0x80;P0=table[a1];delay<1>;P0=0x00;P2=0x40;P0=table[a0];delay<1>;P0=0x00;P2=0x20;P0=0x40;delay<1>;P0=0x00;P2=0x10;P0=table[b1];delay<1>;P0=0x00;P2=0x08;P0=table[b0];delay<1>;P0=0x00;P2=0x04;P0=0x40;delay<1>;P0=0x00;P2=0x02;P0=table[c1];delay<1>;P0=0x00;P2=0x01;P0=table[c0];delay<1>;P0=0x00;}voiddisplay3<> 閃爍顯示函數(shù),用于未松手閃爍{intn;for<n=0;n<40;n++>{display0<>;}for<n=0;n<35;n++>{display2<>;}}voidkryscan<>//鍵盤掃描函數(shù){if<k0==0>{delay<3>; //延時(shí)去抖if<k0==0> //確認(rèn)K0已按下{slnum++;while<!k0> //判斷是否松手display0<>; //未松手閃爍顯示if<slnum==1>{TR0=0; //關(guān)閉定時(shí)器,時(shí)鐘停止走動(dòng)c1=10;c0=10;a1=h1;a0=h0;b0=min0;b1=min1; //讓秒鐘閃,時(shí)鐘分鐘顯示}if<slnum==2>{c1=s1;c0=s0;a1=h1;a0=h0;b0=10;b1=10; //讓分鐘閃,秒鐘時(shí)鐘顯示}if<slnum==3>{c1=s1;c0=s0;a1=10;a0=10;b0=min0;b1=min1; //讓時(shí)鐘閃,秒鐘分鐘顯示}if<slnum==4>{c1=s1;c0=s0;a1=h1;a0=h0;b0=min0;b1=min1;slnum=0; //全部顯示,不閃爍TR0=1; //打開定時(shí)器,時(shí)鐘繼續(xù)}}}if<slnum!=0>{if<k1==0>{delay<3>;if<k1==0> //K1是否按下{while<!k1> //判斷是否松手display3<>; //閃爍顯示if<slnum==1>{miao++;if<miao==60>miao=0;s1=miao/10;s0=miao%10; //秒鐘加一}if<slnum==2>{fen++;if<fen==60>fen=0;min1=fen/10;min0=fen%10; //分鐘加一}if<slnum==3>{shi++;if<shi==24>shi=0;h1=shi/10;h0=shi%10; //時(shí)鐘加一}}}if<k2==0>{delay<3>;if<k2==0>{while<!k2>display3<>;if<slnum==1>{miao--;if<miao==-1>miao=59;s1=miao/10;s0=miao%10; //秒鐘減一}if<slnum==2>{fen--;if<fen==-1>fen=59;min1=fen/10;min0=fen%10; //分鐘減一}if<slnum==3>{shi--;if<shi==-1>shi=23;h1=shi/10;h0=shi%10; //時(shí)鐘減一}}}}}voiddisplay1<> //按鍵檢查閃爍顯示函數(shù){intn;for<n=0;n<40;n++>{display0<>;kryscan<>;}for<n=0;n<35;n++>{display2<>;kryscan<>;}}voidmain<>//主函數(shù){init<>;while<1>{display0<>;kryscan<>;if<!slnum==0>display1<>;}}voidtimer0<>interrupt1//中斷函數(shù){TH0=<65536-50000>/256;TL0=<65536-50000>%256;count++;if<count==20>{count=0;miao++;if<miao==60>{miao=0;fen++;if<fen==60>{fen=0;shi++;if<shi==24>shi=0;h1=shi/10;h0=shi%10;}min1=fen/10;min0=fen%10;}s1=miao/10;s0=miao%10;}}五、設(shè)計(jì)心得體會(huì) 通過本次課程設(shè)計(jì),加強(qiáng)了我對單片機(jī)這門課程的理
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度安全生產(chǎn)標(biāo)準(zhǔn)化咨詢服務(wù)及現(xiàn)場指導(dǎo)合同3篇
- 2024生物質(zhì)鍋爐余熱回收利用項(xiàng)目合作協(xié)議3篇
- 2025年度大理石地暖系統(tǒng)設(shè)計(jì)與施工合同3篇
- 2024軟件系統(tǒng)銷售合同系統(tǒng)購買合同
- 2024物業(yè)企業(yè)服務(wù)能力提升與市場拓展合作協(xié)議3篇
- 敦煌壁畫與文創(chuàng)知到智慧樹章節(jié)測試課后答案2024年秋酒泉職業(yè)技術(shù)學(xué)院
- 森林防火施工員聘用協(xié)議
- 建筑工程節(jié)能改造合同
- 別墅鋅鋼欄桿安裝施工協(xié)議
- 健身中心圍墻施工協(xié)議
- 校長在評估反饋會(huì)上的表態(tài)發(fā)言稿(5篇)
- 個(gè)人貸款業(yè)務(wù)營銷技巧課件
- 新人教版小學(xué)三年級(jí)數(shù)學(xué)上冊知識(shí)點(diǎn)整理歸納培訓(xùn)課件
- 霉菌性陰道炎VVC的分類及診治
- 預(yù)制艙技術(shù)方案思源弘瑞課件
- 四年級(jí)科學(xué)《運(yùn)動(dòng)與摩擦力》說課課件
- 訴訟費(fèi)退費(fèi)確認(rèn)表
- 全球變暖視野下中國與墨西哥的能源現(xiàn)狀分析
- 新外研版八年級(jí)上冊英語全冊教案(教學(xué)設(shè)計(jì))
- 2022年(高級(jí))茶藝師職業(yè)資格考試參考題庫-下(多選、判斷題部分)
- 邊坡安全施工組織方案
評論
0/150
提交評論