版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
基于AT89S51單片機(jī)的秒表設(shè)計第十一組組長:韓潤澤組員:黃磊劉軒宇何維楊俊生王順志基于AT89S51單片機(jī)的秒表設(shè)計1AT89S51單片機(jī)簡介單片機(jī)最小系統(tǒng),無論對單片機(jī)初學(xué)人員還是開發(fā)人員都具有十分重要的意義,可以利用最小系統(tǒng)進(jìn)行編程實現(xiàn)工業(yè)控制。其靈活的硬件電路的設(shè)計和軟件的設(shè)計,使單片機(jī)得到了廣泛的應(yīng)用,單片機(jī)最小系統(tǒng)結(jié)構(gòu)可謂是具有可編程硬件的一個縮影,對我們學(xué)習(xí)和研究微機(jī)系統(tǒng)具有重大意義。單片機(jī)最小系統(tǒng)電路板在單片機(jī)開發(fā)市場和大學(xué)生電子設(shè)計方面十分流行。本次課程設(shè)計包括AT89S51單片機(jī)最小系統(tǒng)(包括復(fù)位和時鐘電路)及供電系統(tǒng)、LED數(shù)碼管顯示電路。采用AT89S51單片機(jī)實現(xiàn)數(shù)字秒表的設(shè)計。主要以AT89S51單片機(jī)為核心,采用4位LED數(shù)碼管顯示以及外部中斷電路來實現(xiàn)數(shù)字秒表的基本功能。本文簡單介紹了其系統(tǒng)組成,重點討論了其硬軟件的實現(xiàn)過程,并對其計時精度進(jìn)行了確定,使其達(dá)到1秒,并能實現(xiàn)0~60秒的計時。利用Protel電路設(shè)計軟件進(jìn)行原理圖設(shè)計,PCB布線,最后通過對硬件系統(tǒng)的仿真觀察其實際運行情況,給我們以直觀的認(rèn)識。借此鞏固單片機(jī)應(yīng)用、模擬電路、數(shù)字電路課程及學(xué)會工程軟件protel的使用AT89S51單片機(jī)簡介單片機(jī)最小系統(tǒng),無論對單2隨著電子技術(shù)的發(fā)展,電子技術(shù)在各個領(lǐng)域的運用也越來越廣泛,人對它的認(rèn)識也逐步加深。秒表計時器常常用于體育競賽及各種其他要求有較精確時間的各領(lǐng)域中。其中啟/停開關(guān)的使用方法與傳統(tǒng)的機(jī)械計時器相同,即按一下啟/停開關(guān),啟動計時器開始計時,再按一下啟/停開關(guān)計時終止。而復(fù)位開關(guān)可以在任何情況下使用,即使在計時過程中,只要按一下復(fù)位開關(guān),計時應(yīng)立即終止,并對計時器清零。本設(shè)計就是利用所學(xué)到的電子元器件將脈沖源用數(shù)碼管顯示出來,以制成簡易的秒表。秒表是由單片機(jī)的P0口和P2口分別控制兩個數(shù)碼管使數(shù)碼管工作,循環(huán)顯示從00—59。同時用一個開關(guān)控制數(shù)碼管的啟動與停止,另外加上一個復(fù)位電路使其能正常復(fù)位,通常還使用石英晶體振蕩器電路構(gòu)成整個秒表的結(jié)構(gòu)電路。隨著電子技術(shù)的發(fā)展,電子技術(shù)在各個領(lǐng)域的運用也越來越廣泛,人3方案設(shè)計1.1硬件選擇以及電路的設(shè)計應(yīng)遵循的原則:(1)在性價比滿足應(yīng)用系統(tǒng)要求的基礎(chǔ)上,選擇更可靠、更熟悉的單片機(jī),縮短研制周期。(2)盡可能選擇較成熟的典型應(yīng)用電路,以提高系統(tǒng)的可靠性。(3)單片機(jī)內(nèi)部的資源與外部擴(kuò)展資源應(yīng)在滿足應(yīng)用系統(tǒng)設(shè)計要求的基礎(chǔ)上留有余地,為進(jìn)一步升級和擴(kuò)展其功能提供方便。(4)應(yīng)充分結(jié)合軟件方案統(tǒng)籌考慮硬件結(jié)構(gòu),通常硬件功能較完善,其相應(yīng)的軟件就簡單,但硬件成本較高;而硬件功能略低,其相應(yīng)的軟件就復(fù)雜。實際中應(yīng)盡量以軟件替代硬件來降低成本。(5)整個系統(tǒng)的相關(guān)器件應(yīng)盡可能做到性能匹配,如電平、速度的匹配等。(6)充分考慮整個系統(tǒng)的抗干擾設(shè)計,如選擇具有抗干擾設(shè)計的單片機(jī)并充分篩選芯片與器件,在電路中采取隔離和屏蔽措施等。方案設(shè)計1.1硬件選擇以及電路的設(shè)計應(yīng)遵循的原則:41.2秒表計時器的原理圖利用單片機(jī)作為主控電路,選用四位共陽極的數(shù)碼管作為顯示電路以及位控制和控制開關(guān)來組成硬件電路。其基本原理圖
AT89S51單片機(jī)控制開關(guān)四位數(shù)碼管位控制1.2秒表計時器的原理圖控制開關(guān)四位數(shù)碼管位控制5在硬件電路中,利用AT89S51單片機(jī)的定時器作精確的定時,利用數(shù)碼管對其進(jìn)行顯示;控制按鈕利用外部中斷0使其實現(xiàn)啟動、外部中斷1使其實現(xiàn)暫停的功能,設(shè)置中斷為邊沿觸發(fā)方式,P0口輸出段碼數(shù)據(jù),P2.0~P2.1連上譯碼器作為位選;計時器采用T0中斷實現(xiàn),定時溢出中斷周期為20ms,當(dāng)溢出中斷后向CPU發(fā)出溢出中斷請求,每發(fā)出5次中斷請求就對20ms位(即最后一位)加一。
在硬件電路中,利用AT89S51單片機(jī)的定時器作精確的定時,6硬件的選擇以及設(shè)計本設(shè)計在選取單片機(jī)時,在充分查閱資料并對各種單片機(jī)有一個初步了解的基礎(chǔ)上選用了ATMEL公司的AT89S51。AT89S51是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S51為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89S51具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,p0口定時器,2個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,它支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。AT89S51單片機(jī)采用40腳的DIP封裝,其引腳圖如下所示:硬件的選擇以及設(shè)計本設(shè)計在選取單片機(jī)時,在充分查閱資料并對各7P1.0VCCP1.1P0.0P1.2P0.1P1.3P0.2P1.4P0.3P1.5P0.4P1.6P0.5P1.7P0.6RST/VPDP0.7P3.0RXDEA/VPPP3.1TXDALE/PROGP3.2INT0PSENP3.3INT1P2.7P3.4T0P2.6P3.5T1P2.5P3.6WRP2.4P3.7RDP2.3P2.2XTAL2XTAL1P2.1VSSP2.0P1.0VCC8顯示電路選擇以及設(shè)計
對于數(shù)字顯示電路而言,通常采用LCD顯示或LED顯示。對于一般的段式LCD,需要專門的驅(qū)動電路,而且可視性差;對于具有驅(qū)動電路和單片機(jī)接口的LCD顯示模塊,一般多采用并行接口,對單片機(jī)的接口要求較高,占用資源多;另外,AT89S51單片機(jī)本身沒有專門的LCD驅(qū)動接口。而LED數(shù)碼管作為一種主動顯示器件,具有結(jié)構(gòu)簡單、亮度高、響應(yīng)速度快、價格便宜、易于購買等優(yōu)點,而且有遠(yuǎn)距離視覺效果,很適合夜間或者遠(yuǎn)距離操作。因此在本設(shè)計中,我們采用7段數(shù)碼管作為顯示介質(zhì)。數(shù)碼管顯示可以分為靜態(tài)顯示和動態(tài)顯示兩種。由于本設(shè)計需要采用四位數(shù)碼管顯示時間,如果靜態(tài)顯示則占用的口線多,硬件電路復(fù)雜,所以采用動態(tài)顯示。動態(tài)顯示是一位一位地輪流點亮各位數(shù)碼管,這種逐位點亮顯示器的方式稱為位掃描。通常各位數(shù)碼管的段選線相應(yīng)并聯(lián)在一起,由一個8位的I/O口控制;各位的公共陰極位選線由另外的I/O口線控制。動態(tài)方式顯示時,各數(shù)碼管輪流選通,要使其穩(wěn)定顯示必須采用掃描方式,即在某一時刻只選通一位數(shù)碼管并送出相應(yīng)的段碼,在另一時刻選通另一數(shù)碼管,并送出相應(yīng)的段碼,依次規(guī)律循環(huán),即可以使各位數(shù)碼管顯示將要顯示的字符,雖然這些字符是在不同時刻分別顯示,但由于人眼存在視覺暫留效應(yīng),只要每位顯示間隔足夠短就可以給人同時顯示的感覺。顯示電路選擇以及設(shè)計
對于數(shù)字顯示電路而言,通常采用LCD顯9顯示電路如圖AT89S51段驅(qū)動位驅(qū)動四位數(shù)碼管顯示電路如圖段位驅(qū)動10系統(tǒng)總體電路的設(shè)計
系統(tǒng)采用AT89S51單片機(jī)為主電路的核心部分,各個電路均與單片機(jī)相連,由單片機(jī)統(tǒng)籌協(xié)調(diào)各個電路的運行工作。開始鍵和暫停鍵使用了外部中斷,所以需要連到單片機(jī)的P3.2和P3.3引腳上,這兩個I/O口的第二功能是單片機(jī)的外部中斷0端口和外部中斷1端口。顯示電路由四位數(shù)碼管組成,采用動態(tài)顯示方式,因此有8位段控制和4位位控制,8位段控制接P0口,P0.0~P0.7分別控制數(shù)碼管的abcdefgdp顯示,位控制接在P2.0和P2.1兩個口,再通過一個2—4譯碼器實現(xiàn)位控制。系統(tǒng)總體電路的設(shè)計
系統(tǒng)采用AT89S51單片機(jī)為主電路的核11系統(tǒng)總體電路圖系統(tǒng)總體電路圖12系統(tǒng)總體電路PCB圖系統(tǒng)總體電路PCB圖13軟件設(shè)計
本系統(tǒng)程序主要模塊由主程序、定時中斷服務(wù)程序、外部中斷0服務(wù)程序和外部中斷1服務(wù)程序組成。其中主程序是整個程序的主體??梢詫Ω鱾€中斷程序進(jìn)行調(diào)用。協(xié)調(diào)各個子程序之間的關(guān)系。主程序主要是設(shè)置定時器的工作模式,對定時器賦初值,開總中斷、兩個外部中斷以及定時器溢出中斷。并設(shè)置外部中斷為脈沖邊沿觸發(fā)方式。軟件設(shè)計
本系統(tǒng)程序主要模塊由主程序、定時中斷服務(wù)程序、外部14中斷程序設(shè)計
中斷是通過硬件來改變CPU的運行方向的。計算機(jī)在執(zhí)行程序的過程中,當(dāng)出現(xiàn)CPU以外的某種情況時,由服務(wù)對象向CPU發(fā)出中斷請求信號,要求CPU暫時中斷當(dāng)前程序的執(zhí)行而轉(zhuǎn)去執(zhí)行相應(yīng)的處理程序,待處理程序執(zhí)行完畢后,再繼續(xù)執(zhí)行原來被中斷的程序。中斷之后所執(zhí)行的相應(yīng)的處理程序通常稱之為中斷服務(wù)或中斷處理子程序,原來正常運行的程序稱為主程序。調(diào)用中斷服務(wù)程序的過程類似于調(diào)用子程序,其區(qū)別在于調(diào)用子程序在程序中是事先安排好的,而何時調(diào)用中斷服務(wù)程序事先卻無法確定,因為中斷的發(fā)生是由外部因素決定的,程序中無法事先安排調(diào)用指令,因此,調(diào)用中斷服務(wù)程序的過程是由硬件自動完成的。本方案中用到了三個中斷:外部中斷0、外部中斷1和定時器T0溢出中斷。按CPU在響應(yīng)中斷時的處理順序,先處理高級中斷,后處理低級中斷,若有多個同級中斷時,則應(yīng)按自然優(yōu)先順序處理。中斷程序設(shè)計
中斷是通過硬件來改變CPU的運行方向的。計算機(jī)15(1)外部中斷0服務(wù)程序外部中斷0服務(wù)程序結(jié)合外部P1.0鍵實現(xiàn)數(shù)字秒表的啟動功能。啟動定時器T0,TR0=1外部中斷1入口啟動定時器T0,TR0=1中斷返回(1)外部中斷0服務(wù)程序外部中斷1入口啟動定時器T0,TR016(2)外部中斷1服務(wù)程序外部中斷1服務(wù)程序結(jié)合外部P1.0鍵實現(xiàn)數(shù)字秒表的停止功能。外部中斷1入口停止計時,TR1=0中斷返回(2)外部中斷1服務(wù)程序外部中斷1入口停止計時,TR1=0中17(3)定時器T0中斷服務(wù)程序當(dāng)T0溢出后,向CPU發(fā)出中斷請求信號。CPU跳轉(zhuǎn)到定時中斷程序執(zhí)行,具體流程圖如圖T0中斷T0中斷保護(hù)現(xiàn)場加20ms處理恢復(fù)現(xiàn)場,中斷返回(3)定時器T0中斷服務(wù)程序T0中斷保護(hù)現(xiàn)場加20ms處理18系統(tǒng)調(diào)試
(1)輸入源程序
打開keil軟件,輸入源程序,輸入時應(yīng)以英文方式輸入字母和符號,且中文注釋前要加分號。(2)對源程序進(jìn)行編譯和糾錯
根據(jù)自動編譯提供的錯誤信息逐條糾正錯誤,直至編譯信息提示“錯誤(0)”,編譯結(jié)束。(3)確定調(diào)試方案
在調(diào)試程序前一定要認(rèn)真分析源程序,明確各功能程序運行的預(yù)期結(jié)果。然后結(jié)合源程序應(yīng)達(dá)到的結(jié)果,確定出如何通過某些關(guān)鍵參數(shù)和實驗現(xiàn)象檢驗程序運行結(jié)果正確與否。(4)調(diào)試程序
調(diào)試程序時首先要明確程序的具體功能,對程序做認(rèn)真分析。程序運行后,觀察有無顯示,時鐘是否工作,運行結(jié)果是否正確。若運行結(jié)果不正確,首先應(yīng)根據(jù)程序運行的實際現(xiàn)象分析判斷哪些因素可引起相關(guān)故障,再通過調(diào)試方法逐一認(rèn)證和排除。通過反復(fù)調(diào)試,發(fā)現(xiàn)并排除軟件與硬件存在的各類問題,以滿足系統(tǒng)設(shè)計的預(yù)期目的。在編譯調(diào)試通過以后,生成hex文件以待仿真之用。系統(tǒng)調(diào)試
(1)輸入源程序19程序清單:
#include<reg52.h>//包含51單片機(jī)寄存器定義的頭文件unsignedcharcodeTab[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//數(shù)碼管顯示0~9的段碼表unsignedcharint_time;//記錄中斷次數(shù)unsignedcharsecond;//儲存秒/***********************************************************************函數(shù)功能:快速動態(tài)掃描延時,延時約0.6毫秒************************************************************************/voiddelay(void){unsignedchari;for(i=0;i<200;i++);}/***********************************************************************函數(shù)功能:顯示秒入口參數(shù):k出口參數(shù):無************************************************************************/程序清單:
#include<reg52.h>//包20voidDisplaySecond(unsignedchark){P2=0xfd;//P2.1引腳輸出低電平P0=Tab[k/10];//顯示十位delay();delay();delay();delay();delay();delay();delay();delay();P2=0xf7;//P2.0引腳輸出低電平P0=Tab[k%10];//顯示個位delay();delay();voidDisplaySecond(unsignedch21delay();delay();delay();delay();delay();delay();P2=0xff;//關(guān)閉所有數(shù)碼管P0=0xff;//顯示個位delay();delay();delay();delay();delay();delay();delay();delay();} voidmain(void)//主函數(shù)delay();22TMOD=0x01;//使用定時器T0 TH0=(65536-46083)/256;//將定時器計時時間設(shè)定為46083×1.085微秒//=50000微秒=50毫秒TL0=(65536-46083)%256; EA=1;//開啟總中斷 ET0=1;//定時器T0中斷允許 TR0=1;//啟動定時器T0開始運行int_time=0;//中斷次數(shù)初始化second=0; //秒初始化
while(1){ DisplaySecond(second); //調(diào)用秒的顯示子程序 }}//********************************************************//函數(shù)功能:定時器T0的中斷服務(wù)程序//*******************************************************TMOD=0x01;//23voidinterserve(void)interrupt1using1{TR0=0;//關(guān)閉定時器T0int_time++;//每來一次中斷,中斷次數(shù)int_time自加1 if(int_time==20)//夠20次中斷,即1秒鐘進(jìn)行一次檢測結(jié)果采樣 {int_time=0;//中斷次數(shù)清0second++;//秒加1if(second==60) second=0;//秒等于60就返回0 } TH0=(65536-46083)/256;//重新給計數(shù)器T0賦初值TL0=(65536-46083)%256; TR0=1;//啟動定時器T0}voidinterserve(void)interru24
???????
??????
秒表時鐘單片機(jī)課件25基于AT89S51單片機(jī)的秒表設(shè)計第十一組組長:韓潤澤組員:黃磊劉軒宇何維楊俊生王順志基于AT89S51單片機(jī)的秒表設(shè)計26AT89S51單片機(jī)簡介單片機(jī)最小系統(tǒng),無論對單片機(jī)初學(xué)人員還是開發(fā)人員都具有十分重要的意義,可以利用最小系統(tǒng)進(jìn)行編程實現(xiàn)工業(yè)控制。其靈活的硬件電路的設(shè)計和軟件的設(shè)計,使單片機(jī)得到了廣泛的應(yīng)用,單片機(jī)最小系統(tǒng)結(jié)構(gòu)可謂是具有可編程硬件的一個縮影,對我們學(xué)習(xí)和研究微機(jī)系統(tǒng)具有重大意義。單片機(jī)最小系統(tǒng)電路板在單片機(jī)開發(fā)市場和大學(xué)生電子設(shè)計方面十分流行。本次課程設(shè)計包括AT89S51單片機(jī)最小系統(tǒng)(包括復(fù)位和時鐘電路)及供電系統(tǒng)、LED數(shù)碼管顯示電路。采用AT89S51單片機(jī)實現(xiàn)數(shù)字秒表的設(shè)計。主要以AT89S51單片機(jī)為核心,采用4位LED數(shù)碼管顯示以及外部中斷電路來實現(xiàn)數(shù)字秒表的基本功能。本文簡單介紹了其系統(tǒng)組成,重點討論了其硬軟件的實現(xiàn)過程,并對其計時精度進(jìn)行了確定,使其達(dá)到1秒,并能實現(xiàn)0~60秒的計時。利用Protel電路設(shè)計軟件進(jìn)行原理圖設(shè)計,PCB布線,最后通過對硬件系統(tǒng)的仿真觀察其實際運行情況,給我們以直觀的認(rèn)識。借此鞏固單片機(jī)應(yīng)用、模擬電路、數(shù)字電路課程及學(xué)會工程軟件protel的使用AT89S51單片機(jī)簡介單片機(jī)最小系統(tǒng),無論對單27隨著電子技術(shù)的發(fā)展,電子技術(shù)在各個領(lǐng)域的運用也越來越廣泛,人對它的認(rèn)識也逐步加深。秒表計時器常常用于體育競賽及各種其他要求有較精確時間的各領(lǐng)域中。其中啟/停開關(guān)的使用方法與傳統(tǒng)的機(jī)械計時器相同,即按一下啟/停開關(guān),啟動計時器開始計時,再按一下啟/停開關(guān)計時終止。而復(fù)位開關(guān)可以在任何情況下使用,即使在計時過程中,只要按一下復(fù)位開關(guān),計時應(yīng)立即終止,并對計時器清零。本設(shè)計就是利用所學(xué)到的電子元器件將脈沖源用數(shù)碼管顯示出來,以制成簡易的秒表。秒表是由單片機(jī)的P0口和P2口分別控制兩個數(shù)碼管使數(shù)碼管工作,循環(huán)顯示從00—59。同時用一個開關(guān)控制數(shù)碼管的啟動與停止,另外加上一個復(fù)位電路使其能正常復(fù)位,通常還使用石英晶體振蕩器電路構(gòu)成整個秒表的結(jié)構(gòu)電路。隨著電子技術(shù)的發(fā)展,電子技術(shù)在各個領(lǐng)域的運用也越來越廣泛,人28方案設(shè)計1.1硬件選擇以及電路的設(shè)計應(yīng)遵循的原則:(1)在性價比滿足應(yīng)用系統(tǒng)要求的基礎(chǔ)上,選擇更可靠、更熟悉的單片機(jī),縮短研制周期。(2)盡可能選擇較成熟的典型應(yīng)用電路,以提高系統(tǒng)的可靠性。(3)單片機(jī)內(nèi)部的資源與外部擴(kuò)展資源應(yīng)在滿足應(yīng)用系統(tǒng)設(shè)計要求的基礎(chǔ)上留有余地,為進(jìn)一步升級和擴(kuò)展其功能提供方便。(4)應(yīng)充分結(jié)合軟件方案統(tǒng)籌考慮硬件結(jié)構(gòu),通常硬件功能較完善,其相應(yīng)的軟件就簡單,但硬件成本較高;而硬件功能略低,其相應(yīng)的軟件就復(fù)雜。實際中應(yīng)盡量以軟件替代硬件來降低成本。(5)整個系統(tǒng)的相關(guān)器件應(yīng)盡可能做到性能匹配,如電平、速度的匹配等。(6)充分考慮整個系統(tǒng)的抗干擾設(shè)計,如選擇具有抗干擾設(shè)計的單片機(jī)并充分篩選芯片與器件,在電路中采取隔離和屏蔽措施等。方案設(shè)計1.1硬件選擇以及電路的設(shè)計應(yīng)遵循的原則:291.2秒表計時器的原理圖利用單片機(jī)作為主控電路,選用四位共陽極的數(shù)碼管作為顯示電路以及位控制和控制開關(guān)來組成硬件電路。其基本原理圖
AT89S51單片機(jī)控制開關(guān)四位數(shù)碼管位控制1.2秒表計時器的原理圖控制開關(guān)四位數(shù)碼管位控制30在硬件電路中,利用AT89S51單片機(jī)的定時器作精確的定時,利用數(shù)碼管對其進(jìn)行顯示;控制按鈕利用外部中斷0使其實現(xiàn)啟動、外部中斷1使其實現(xiàn)暫停的功能,設(shè)置中斷為邊沿觸發(fā)方式,P0口輸出段碼數(shù)據(jù),P2.0~P2.1連上譯碼器作為位選;計時器采用T0中斷實現(xiàn),定時溢出中斷周期為20ms,當(dāng)溢出中斷后向CPU發(fā)出溢出中斷請求,每發(fā)出5次中斷請求就對20ms位(即最后一位)加一。
在硬件電路中,利用AT89S51單片機(jī)的定時器作精確的定時,31硬件的選擇以及設(shè)計本設(shè)計在選取單片機(jī)時,在充分查閱資料并對各種單片機(jī)有一個初步了解的基礎(chǔ)上選用了ATMEL公司的AT89S51。AT89S51是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S51為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89S51具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,p0口定時器,2個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,它支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。AT89S51單片機(jī)采用40腳的DIP封裝,其引腳圖如下所示:硬件的選擇以及設(shè)計本設(shè)計在選取單片機(jī)時,在充分查閱資料并對各32P1.0VCCP1.1P0.0P1.2P0.1P1.3P0.2P1.4P0.3P1.5P0.4P1.6P0.5P1.7P0.6RST/VPDP0.7P3.0RXDEA/VPPP3.1TXDALE/PROGP3.2INT0PSENP3.3INT1P2.7P3.4T0P2.6P3.5T1P2.5P3.6WRP2.4P3.7RDP2.3P2.2XTAL2XTAL1P2.1VSSP2.0P1.0VCC33顯示電路選擇以及設(shè)計
對于數(shù)字顯示電路而言,通常采用LCD顯示或LED顯示。對于一般的段式LCD,需要專門的驅(qū)動電路,而且可視性差;對于具有驅(qū)動電路和單片機(jī)接口的LCD顯示模塊,一般多采用并行接口,對單片機(jī)的接口要求較高,占用資源多;另外,AT89S51單片機(jī)本身沒有專門的LCD驅(qū)動接口。而LED數(shù)碼管作為一種主動顯示器件,具有結(jié)構(gòu)簡單、亮度高、響應(yīng)速度快、價格便宜、易于購買等優(yōu)點,而且有遠(yuǎn)距離視覺效果,很適合夜間或者遠(yuǎn)距離操作。因此在本設(shè)計中,我們采用7段數(shù)碼管作為顯示介質(zhì)。數(shù)碼管顯示可以分為靜態(tài)顯示和動態(tài)顯示兩種。由于本設(shè)計需要采用四位數(shù)碼管顯示時間,如果靜態(tài)顯示則占用的口線多,硬件電路復(fù)雜,所以采用動態(tài)顯示。動態(tài)顯示是一位一位地輪流點亮各位數(shù)碼管,這種逐位點亮顯示器的方式稱為位掃描。通常各位數(shù)碼管的段選線相應(yīng)并聯(lián)在一起,由一個8位的I/O口控制;各位的公共陰極位選線由另外的I/O口線控制。動態(tài)方式顯示時,各數(shù)碼管輪流選通,要使其穩(wěn)定顯示必須采用掃描方式,即在某一時刻只選通一位數(shù)碼管并送出相應(yīng)的段碼,在另一時刻選通另一數(shù)碼管,并送出相應(yīng)的段碼,依次規(guī)律循環(huán),即可以使各位數(shù)碼管顯示將要顯示的字符,雖然這些字符是在不同時刻分別顯示,但由于人眼存在視覺暫留效應(yīng),只要每位顯示間隔足夠短就可以給人同時顯示的感覺。顯示電路選擇以及設(shè)計
對于數(shù)字顯示電路而言,通常采用LCD顯34顯示電路如圖AT89S51段驅(qū)動位驅(qū)動四位數(shù)碼管顯示電路如圖段位驅(qū)動35系統(tǒng)總體電路的設(shè)計
系統(tǒng)采用AT89S51單片機(jī)為主電路的核心部分,各個電路均與單片機(jī)相連,由單片機(jī)統(tǒng)籌協(xié)調(diào)各個電路的運行工作。開始鍵和暫停鍵使用了外部中斷,所以需要連到單片機(jī)的P3.2和P3.3引腳上,這兩個I/O口的第二功能是單片機(jī)的外部中斷0端口和外部中斷1端口。顯示電路由四位數(shù)碼管組成,采用動態(tài)顯示方式,因此有8位段控制和4位位控制,8位段控制接P0口,P0.0~P0.7分別控制數(shù)碼管的abcdefgdp顯示,位控制接在P2.0和P2.1兩個口,再通過一個2—4譯碼器實現(xiàn)位控制。系統(tǒng)總體電路的設(shè)計
系統(tǒng)采用AT89S51單片機(jī)為主電路的核36系統(tǒng)總體電路圖系統(tǒng)總體電路圖37系統(tǒng)總體電路PCB圖系統(tǒng)總體電路PCB圖38軟件設(shè)計
本系統(tǒng)程序主要模塊由主程序、定時中斷服務(wù)程序、外部中斷0服務(wù)程序和外部中斷1服務(wù)程序組成。其中主程序是整個程序的主體。可以對各個中斷程序進(jìn)行調(diào)用。協(xié)調(diào)各個子程序之間的關(guān)系。主程序主要是設(shè)置定時器的工作模式,對定時器賦初值,開總中斷、兩個外部中斷以及定時器溢出中斷。并設(shè)置外部中斷為脈沖邊沿觸發(fā)方式。軟件設(shè)計
本系統(tǒng)程序主要模塊由主程序、定時中斷服務(wù)程序、外部39中斷程序設(shè)計
中斷是通過硬件來改變CPU的運行方向的。計算機(jī)在執(zhí)行程序的過程中,當(dāng)出現(xiàn)CPU以外的某種情況時,由服務(wù)對象向CPU發(fā)出中斷請求信號,要求CPU暫時中斷當(dāng)前程序的執(zhí)行而轉(zhuǎn)去執(zhí)行相應(yīng)的處理程序,待處理程序執(zhí)行完畢后,再繼續(xù)執(zhí)行原來被中斷的程序。中斷之后所執(zhí)行的相應(yīng)的處理程序通常稱之為中斷服務(wù)或中斷處理子程序,原來正常運行的程序稱為主程序。調(diào)用中斷服務(wù)程序的過程類似于調(diào)用子程序,其區(qū)別在于調(diào)用子程序在程序中是事先安排好的,而何時調(diào)用中斷服務(wù)程序事先卻無法確定,因為中斷的發(fā)生是由外部因素決定的,程序中無法事先安排調(diào)用指令,因此,調(diào)用中斷服務(wù)程序的過程是由硬件自動完成的。本方案中用到了三個中斷:外部中斷0、外部中斷1和定時器T0溢出中斷。按CPU在響應(yīng)中斷時的處理順序,先處理高級中斷,后處理低級中斷,若有多個同級中斷時,則應(yīng)按自然優(yōu)先順序處理。中斷程序設(shè)計
中斷是通過硬件來改變CPU的運行方向的。計算機(jī)40(1)外部中斷0服務(wù)程序外部中斷0服務(wù)程序結(jié)合外部P1.0鍵實現(xiàn)數(shù)字秒表的啟動功能。啟動定時器T0,TR0=1外部中斷1入口啟動定時器T0,TR0=1中斷返回(1)外部中斷0服務(wù)程序外部中斷1入口啟動定時器T0,TR041(2)外部中斷1服務(wù)程序外部中斷1服務(wù)程序結(jié)合外部P1.0鍵實現(xiàn)數(shù)字秒表的停止功能。外部中斷1入口停止計時,TR1=0中斷返回(2)外部中斷1服務(wù)程序外部中斷1入口停止計時,TR1=0中42(3)定時器T0中斷服務(wù)程序當(dāng)T0溢出后,向CPU發(fā)出中斷請求信號。CPU跳轉(zhuǎn)到定時中斷程序執(zhí)行,具體流程圖如圖T0中斷T0中斷保護(hù)現(xiàn)場加20ms處理恢復(fù)現(xiàn)場,中斷返回(3)定時器T0中斷服務(wù)程序T0中斷保護(hù)現(xiàn)場加20ms處理43系統(tǒng)調(diào)試
(1)輸入源程序
打開keil軟件,輸入源程序,輸入時應(yīng)以英文方式輸入字母和符號,且中文注釋前要加分號。(2)對源程序進(jìn)行編譯和糾錯
根據(jù)自動編譯提供的錯誤信息逐條糾正錯誤,直至編譯信息提示“錯誤(0)”,編譯結(jié)束。(3)確定調(diào)試方案
在調(diào)試程序前一定要認(rèn)真分析源程序,明確各功能程序運行的預(yù)期結(jié)果。然后結(jié)合源程序應(yīng)達(dá)到的結(jié)果,確定出如何通過某些關(guān)鍵參數(shù)和實驗現(xiàn)象檢驗程序運行結(jié)果正確與否。(4)調(diào)試程序
調(diào)試程序時首先要明確程序的具體功能,對程序做認(rèn)真分析。程序運行后,觀察有無顯示,時鐘是否工作,運行結(jié)果是否正確。若運行結(jié)果不正確,首先應(yīng)根據(jù)程序運行的實際現(xiàn)象分析判斷哪些因素可引起相關(guān)故障,再通過調(diào)試方法逐一認(rèn)證和排除。通過反復(fù)調(diào)試,發(fā)現(xiàn)并排除軟件與硬件存在的各類問題,以滿足系統(tǒng)設(shè)計的預(yù)期目的。在編譯調(diào)試通過以后,生成hex文件以待仿真之用。系統(tǒng)調(diào)試
(1)輸入源程序44程序清單:
#include<reg52.h>//包含51單片機(jī)寄存器定義的頭文件unsignedcharcodeTab[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//數(shù)碼管顯示0~9的段碼表unsignedcharint_time;//記錄中斷次數(shù)unsignedcharsecond;//儲存秒/***********************************************************************函數(shù)功能:快速動態(tài)掃描延時,延時約0.6毫秒************************************************************************/voiddelay(void){unsignedchari;for(i=0;i<200;i++);}/***********************************************************************函數(shù)功能:顯示秒入口參數(shù):k出口參數(shù):無************************************************************************/程序清單:
#include<reg52.h>//包45voidDisplaySecond(unsigned
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版小程序SDK接入授權(quán)合同模板3篇
- 2025年度美容院加盟店品牌形象保護(hù)合同范本4篇
- 2025版國際合同授權(quán)委托書定制模板3篇
- 城市配送與物流配送環(huán)節(jié)的信息互聯(lián)互通考核試卷
- 常州鋰電池生產(chǎn)廠2025年度消防設(shè)備采購合同2篇
- 二零二五年度古法工藝木屋建造技藝傳承合同4篇
- 物業(yè)設(shè)施設(shè)備維護(hù)2025年度合同3篇
- 設(shè)備租賃公司二零二五年度施工塔吊租賃合同
- 2025年代理銷售分銷鏈銷售協(xié)議
- 2025年因施工責(zé)任賠償協(xié)議
- 開展課外讀物負(fù)面清單管理的具體實施舉措方案
- 2025年云南中煙工業(yè)限責(zé)任公司招聘420人高頻重點提升(共500題)附帶答案詳解
- 2025-2030年中國洗衣液市場未來發(fā)展趨勢及前景調(diào)研分析報告
- 2024解析:第三章物態(tài)變化-基礎(chǔ)練(解析版)
- 北京市房屋租賃合同自行成交版北京市房屋租賃合同自行成交版
- 《AM聚丙烯酰胺》課件
- 技術(shù)支持資料投標(biāo)書
- 老年人意外事件與與預(yù)防
- 預(yù)防艾滋病、梅毒和乙肝母嬰傳播轉(zhuǎn)介服務(wù)制度
- 《高速鐵路客運安全與應(yīng)急處理》課程標(biāo)準(zhǔn)
- 23J916-1:住宅排氣道(一)
評論
0/150
提交評論