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

下載本文檔

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

文檔簡(jiǎn)介

基于單片機(jī)電子秒表的設(shè)計(jì)本次設(shè)計(jì)的數(shù)字電子秒表系統(tǒng)采用以AT89S52單片機(jī)為中心器件,運(yùn)用其定期器/計(jì)數(shù)器定期和計(jì)數(shù)的原理,結(jié)合顯示電路、LED數(shù)碼管以及外部中斷電路來設(shè)計(jì)秒表。將軟、硬件有機(jī)地結(jié)合起來,使得系統(tǒng)可以實(shí)現(xiàn)四位LED顯示,顯示時(shí)間為00.00~60.00秒,計(jì)時(shí)精度為0.01秒,能對(duì)的地進(jìn)行計(jì)時(shí)。其中軟件系統(tǒng)采用C語(yǔ)言編寫程序,包括延時(shí)程序,定期中斷服務(wù),按鍵掃描,顯示程序等,并運(yùn)用PROTEUS強(qiáng)大的功能來仿真,在仿真中就可以觀測(cè)到實(shí)際的工作狀態(tài)。本設(shè)計(jì)重要特點(diǎn)是計(jì)時(shí)精度到達(dá)0.01s,處理了老式的由于計(jì)時(shí)精度不夠?qū)е碌恼`差和不公平性,是多種體育競(jìng)賽的必備設(shè)備之一。設(shè)計(jì)規(guī)定:電子秒表設(shè)計(jì),具有一般秒表的功能;單片機(jī)是使用按鍵啟動(dòng)、停止和復(fù)位。二、總體方案的設(shè)計(jì):設(shè)計(jì)中包括硬件電路的設(shè)計(jì)和系統(tǒng)程序的設(shè)計(jì)。其硬件電路重要有主控制器,計(jì)時(shí)與顯示電路和復(fù)位、啟動(dòng)和停表電路等。主控制器采用單片機(jī)AT89S52,顯示電路采用共陰極LED數(shù)碼管顯示計(jì)時(shí)時(shí)間。本設(shè)計(jì)運(yùn)用AT89S52單片機(jī)的定期器/計(jì)數(shù)器定期和計(jì)數(shù)的原理,使其能精確計(jì)時(shí)。運(yùn)用中斷系統(tǒng)使其能實(shí)現(xiàn)開始暫停的功能。P0口輸出段碼數(shù)據(jù),P2.0-P2.3口作位碼掃描輸出,P2.4、P2.5口接兩個(gè)按鈕開關(guān),分別實(shí)現(xiàn)開始、暫停功能,RST作為復(fù)位開關(guān)。硬件電路圖按照?qǐng)D1進(jìn)行設(shè)計(jì)。AT89S52AT89S52單片機(jī)驅(qū)動(dòng)電路顯示模塊3個(gè)控制開關(guān)復(fù)位及時(shí)鐘電路數(shù)碼管顯示時(shí)間圖1系統(tǒng)構(gòu)成框圖按鍵電路的處理。這三個(gè)鍵可以采用中斷的措施,也可以采用掃描的措施來識(shí)別。復(fù)位鍵重要功能在于數(shù)值復(fù)位,對(duì)于時(shí)間的規(guī)定不是很嚴(yán)格。而開始和停止鍵則是用于對(duì)時(shí)間的鎖定,需要比較精確的控制。因此可以對(duì)復(fù)位按鍵采用掃描的方式,而對(duì)開始和停止鍵采用外部中斷的方式。顯示電路采用7段數(shù)碼管作為顯示介質(zhì),數(shù)碼管顯示可以分為靜態(tài)顯示和動(dòng)態(tài)顯示兩種。由于本設(shè)計(jì)需要采用四位數(shù)碼管顯示時(shí)間,假如靜態(tài)顯示則占用的口線多,硬件電路復(fù)雜,因此采用動(dòng)態(tài)顯示。時(shí)鐘電路按照?qǐng)D2所示電路進(jìn)行設(shè)計(jì)連接就能使系統(tǒng)可靠起振并能穩(wěn)定運(yùn)行。圖中,電容器C1、C2起穩(wěn)定振蕩頻率、迅速起振的作用,電容值采用大小為22pF的電容和12MHz的晶振。圖2內(nèi)部振蕩電路復(fù)位電路在上電后,由于電容充電,使RST持續(xù)一段高電平時(shí)間。當(dāng)單片機(jī)已在運(yùn)行之中時(shí),按下復(fù)位鍵也能使RST持續(xù)一段時(shí)間的高電平,從而實(shí)現(xiàn)上電且開關(guān)復(fù)位的操作。如圖3所示,采用的電容值為10μF的電容和電阻為1K的電阻。圖3單片機(jī)復(fù)位電路通過以上設(shè)計(jì),將各部分電路與單片機(jī)有機(jī)的結(jié)合到一起,硬件部分的設(shè)計(jì)便完畢,剩余的部分就是對(duì)單片機(jī)的編程,使單片機(jī)按程序運(yùn)行,實(shí)現(xiàn)數(shù)字電子秒表的所有功能。原理電路圖及功能分析:用開關(guān)控制計(jì)時(shí)模式的選擇:?jiǎn)斡?jì)時(shí)模式;用開關(guān)控制秒表的啟動(dòng)、停止和復(fù)位。圖4、電路原理圖四、主程序設(shè)計(jì)本系統(tǒng)程序重要模塊由主程序、定期中斷服務(wù)程序、外部中斷1服務(wù)程序構(gòu)成。其中主程序是整個(gè)程序的主體??梢詫?duì)各個(gè)中斷程序進(jìn)行調(diào)用,協(xié)調(diào)各個(gè)子程序之間的聯(lián)絡(luò)。系統(tǒng)(上電)復(fù)位后,進(jìn)入主程序。首先對(duì)系統(tǒng)進(jìn)行初始化,包括設(shè)置各入口地址、中斷的啟動(dòng)、對(duì)各個(gè)數(shù)據(jù)緩存區(qū)清“0”、賦定期器初值,初始化完畢后,就進(jìn)入數(shù)碼管顯示程序。數(shù)碼管顯示程序?qū)︼@示緩存區(qū)內(nèi)的數(shù)值進(jìn)行調(diào)用并在數(shù)碼管上進(jìn)行動(dòng)態(tài)顯示。當(dāng)復(fù)位鍵按下后,程序返回開始,重新對(duì)系統(tǒng)進(jìn)行初始化。在主程序中還進(jìn)行了賦寄存區(qū)的初始值、設(shè)置定期器初值以及啟動(dòng)外部中斷等操作,當(dāng)定期時(shí)間到后就轉(zhuǎn)去執(zhí)行定期中斷程序。當(dāng)外部中斷有祈求則去執(zhí)行外部中斷服務(wù)程序,并在執(zhí)行完后返回主程序。五、參照程序:#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintsbitstart=P2^4;//開始計(jì)時(shí)sbitstop=P2^5;//停止計(jì)時(shí)sbitdian=P0^7;//停止計(jì)時(shí)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ù)碼管位選/***************************延時(shí)程序*******************************/voiddelay(ucharms)//延時(shí)程序{ 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();}}六、實(shí)習(xí)心得:為期三個(gè)星期的微機(jī)控制系統(tǒng)實(shí)習(xí)就要結(jié)束了,三個(gè)星期以來,感覺學(xué)到了諸多東西。我們組做的是電子秒表設(shè)計(jì),這個(gè)設(shè)計(jì)的規(guī)定是用單片機(jī)構(gòu)成一種具有一般秒表的功能。顯示模塊使用四個(gè)8段共陰極數(shù)碼管。單片機(jī)是使用按鍵復(fù)位。選好題目,明確功能規(guī)定之后就開始資料的搜集。完畢這些資料的準(zhǔn)備之后我們開始了電路的硬件設(shè)計(jì)和軟件設(shè)計(jì),完畢這些后就進(jìn)行電路板的制作。我們小組一共3個(gè)人,分工很重要,在我們的討論之下,我在這個(gè)實(shí)習(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í)候把數(shù)碼管的封裝給弄錯(cuò)了,我們就再一次重做,通過多次的調(diào)試,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論