單片機(jī)控制系統(tǒng)實習(xí)報告_第1頁
單片機(jī)控制系統(tǒng)實習(xí)報告_第2頁
單片機(jī)控制系統(tǒng)實習(xí)報告_第3頁
單片機(jī)控制系統(tǒng)實習(xí)報告_第4頁
單片機(jī)控制系統(tǒng)實習(xí)報告_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

基于單片機(jī)電子秒表的設(shè)計本次設(shè)計的數(shù)字電子秒表系統(tǒng)采用以AT89S52單片機(jī)為中心器件,運用其定期器/計數(shù)器定期和計數(shù)的原理,結(jié)合顯示電路、LED數(shù)碼管以及外部中斷電路來設(shè)計秒表。將軟、硬件有機(jī)地結(jié)合起來,使得系統(tǒng)可以實現(xiàn)四位LED顯示,顯示時間為00.00~60.00秒,計時精度為0.01秒,能對的地進(jìn)行計時。其中軟件系統(tǒng)采用C語言編寫程序,包括延時程序,定期中斷服務(wù),按鍵掃描,顯示程序等,并運用PROTEUS強(qiáng)大的功能來仿真,在仿真中就可以觀測到實際的工作狀態(tài)。本設(shè)計重要特點是計時精度到達(dá)0.01s,處理了老式的由于計時精度不夠?qū)е碌恼`差和不公平性,是多種體育競賽的必備設(shè)備之一。設(shè)計規(guī)定:電子秒表設(shè)計,具有一般秒表的功能;單片機(jī)是使用按鍵啟動、停止和復(fù)位。二、總體方案的設(shè)計:設(shè)計中包括硬件電路的設(shè)計和系統(tǒng)程序的設(shè)計。其硬件電路重要有主控制器,計時與顯示電路和復(fù)位、啟動和停表電路等。主控制器采用單片機(jī)AT89S52,顯示電路采用共陰極LED數(shù)碼管顯示計時時間。本設(shè)計運用AT89S52單片機(jī)的定期器/計數(shù)器定期和計數(shù)的原理,使其能精確計時。運用中斷系統(tǒng)使其能實現(xiàn)開始暫停的功能。P0口輸出段碼數(shù)據(jù),P2.0-P2.3口作位碼掃描輸出,P2.4、P2.5口接兩個按鈕開關(guān),分別實現(xiàn)開始、暫停功能,RST作為復(fù)位開關(guān)。硬件電路圖按照圖1進(jìn)行設(shè)計。AT89S52AT89S52單片機(jī)驅(qū)動電路顯示模塊3個控制開關(guān)復(fù)位及時鐘電路數(shù)碼管顯示時間圖1系統(tǒng)構(gòu)成框圖按鍵電路的處理。這三個鍵可以采用中斷的措施,也可以采用掃描的措施來識別。復(fù)位鍵重要功能在于數(shù)值復(fù)位,對于時間的規(guī)定不是很嚴(yán)格。而開始和停止鍵則是用于對時間的鎖定,需要比較精確的控制。因此可以對復(fù)位按鍵采用掃描的方式,而對開始和停止鍵采用外部中斷的方式。顯示電路采用7段數(shù)碼管作為顯示介質(zhì),數(shù)碼管顯示可以分為靜態(tài)顯示和動態(tài)顯示兩種。由于本設(shè)計需要采用四位數(shù)碼管顯示時間,假如靜態(tài)顯示則占用的口線多,硬件電路復(fù)雜,因此采用動態(tài)顯示。時鐘電路按照圖2所示電路進(jìn)行設(shè)計連接就能使系統(tǒng)可靠起振并能穩(wěn)定運行。圖中,電容器C1、C2起穩(wěn)定振蕩頻率、迅速起振的作用,電容值采用大小為22pF的電容和12MHz的晶振。圖2內(nèi)部振蕩電路復(fù)位電路在上電后,由于電容充電,使RST持續(xù)一段高電平時間。當(dāng)單片機(jī)已在運行之中時,按下復(fù)位鍵也能使RST持續(xù)一段時間的高電平,從而實現(xiàn)上電且開關(guān)復(fù)位的操作。如圖3所示,采用的電容值為10μF的電容和電阻為1K的電阻。圖3單片機(jī)復(fù)位電路通過以上設(shè)計,將各部分電路與單片機(jī)有機(jī)的結(jié)合到一起,硬件部分的設(shè)計便完畢,剩余的部分就是對單片機(jī)的編程,使單片機(jī)按程序運行,實現(xiàn)數(shù)字電子秒表的所有功能。原理電路圖及功能分析:用開關(guān)控制計時模式的選擇:單計時模式;用開關(guān)控制秒表的啟動、停止和復(fù)位。圖4、電路原理圖四、主程序設(shè)計本系統(tǒng)程序重要模塊由主程序、定期中斷服務(wù)程序、外部中斷1服務(wù)程序構(gòu)成。其中主程序是整個程序的主體??梢詫Ω鱾€中斷程序進(jìn)行調(diào)用,協(xié)調(diào)各個子程序之間的聯(lián)絡(luò)。系統(tǒng)(上電)復(fù)位后,進(jìn)入主程序。首先對系統(tǒng)進(jìn)行初始化,包括設(shè)置各入口地址、中斷的啟動、對各個數(shù)據(jù)緩存區(qū)清“0”、賦定期器初值,初始化完畢后,就進(jìn)入數(shù)碼管顯示程序。數(shù)碼管顯示程序?qū)︼@示緩存區(qū)內(nèi)的數(shù)值進(jìn)行調(diào)用并在數(shù)碼管上進(jìn)行動態(tài)顯示。當(dāng)復(fù)位鍵按下后,程序返回開始,重新對系統(tǒng)進(jìn)行初始化。在主程序中還進(jìn)行了賦寄存區(qū)的初始值、設(shè)置定期器初值以及啟動外部中斷等操作,當(dāng)定期時間到后就轉(zhuǎn)去執(zhí)行定期中斷程序。當(dāng)外部中斷有祈求則去執(zhí)行外部中斷服務(wù)程序,并在執(zhí)行完后返回主程序。五、參照程序:#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintsbitstart=P2^4;//開始計時sbitstop=P2^5;//停止計時sbitdian=P0^7;//停止計時unsignedcharshi,ge,dian0,dian1;//全局變量charTT=0;charLL=0;//unitttt1;ucharcodetabledu[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0-9共陰數(shù)碼管ucharcodetablewe[]={0XFE,0XFD,0XFB,0XF7};//數(shù)碼管位選/***************************延時程序*******************************/voiddelay(ucharms)//延時程序{ uchary; for(;ms>0;ms--) for(y=120;y>0;y--);}/******************定期器1中斷程序********************************/voidtimer0(void)interrupt1{ TH0=(65536-10000)/256; //10ms TL0=(65536-10000)%256; LL++; if(LL==100) //1秒 { LL=0; TT++; if(TT==60) { TT=0; } }}/************************定期器1初始化**************************/voidinit()//初始化,10ms定期{TMOD=0X01; TH0=(65536-10000)/256; TL0=(65536-10000)%256; ET0=1; ET1=1; EA=1; P0=0;}/************************開始、停止按鍵掃描**********************/voidKey_Scan(void) //start_stop鍵掃描{ if(start==0) { delay(10); if(start==0) { TR0=1; } }if(stop==0){delay(10);if(stop==0){TR0=0;}}}/***********************數(shù)碼管顯示************************/voiddisplay(void){ P0=tabledu[TT/10]; P2=tablewe[0]; delay(10); P0=0; P2=0XFF; P0=tabledu[TT%10];dian=1; P2=tablewe[1]; delay(10); P0=0; P2=0XFF;P0=tabledu[LL/10]; P2=tablewe[2]; delay(10); P0=0; P2=0XFF;P0=tabledu[LL%10]; P2=tablewe[3]; delay(10); P0=0; P2=0XFF;}main(){init();while(1){Key_Scan();delay(20);display();}}六、實習(xí)心得:為期三個星期的微機(jī)控制系統(tǒng)實習(xí)就要結(jié)束了,三個星期以來,感覺學(xué)到了諸多東西。我們組做的是電子秒表設(shè)計,這個設(shè)計的規(guī)定是用單片機(jī)構(gòu)成一種具有一般秒表的功能。顯示模塊使用四個8段共陰極數(shù)碼管。單片機(jī)是使用按鍵復(fù)位。選好題目,明確功能規(guī)定之后就開始資料的搜集。完畢這些資料的準(zhǔn)備之后我們開始了電路的硬件設(shè)計和軟件設(shè)計,完畢這些后就進(jìn)行電路板的制作。我們小組一共3個人,分工很重要,在我們的討論之下,我在這個實習(xí)過程中重要負(fù)責(zé)的就是根據(jù)生成PCB圖進(jìn)行印板、安裝,等電路板腐蝕完后,就進(jìn)行電路板的打孔。在此過程中我碰到了比較多的問題,例如說由于打印店的打印質(zhì)量,使得印出來的板有斷線現(xiàn)象,最終通過我們的努力還是把PCB板的連線及孔都弄好了。做好電路板之后就開始原件的焊接,之后的是作品調(diào)試過程,一般來說調(diào)試是最難的一部分。通過反復(fù)調(diào)試,總有某些問題,像數(shù)碼管亂碼,最終我們組組員一起進(jìn)行分析,發(fā)現(xiàn)是在畫PCB的時候把數(shù)碼管的封裝給弄錯了,我們就再一次重做,通過多次的調(diào)試,

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論