版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、安徽工業(yè)大學繼續(xù)教育學院單片機原理期末課程設(shè)計一一單片機計時時鐘設(shè)計與制作安徽工業(yè)大學繼續(xù)學院單片機原理期末課程設(shè)計題目:單片機計時時鐘設(shè)計與制作專業(yè):電氣工程及其自動化班級:14電升姓名:夏云飛學號:14101學003035指導老師:賀容波成績:(2015.12)安徽工業(yè)大學繼續(xù)教育學院單片機原理期末課程設(shè)計一一單片機計時時鐘設(shè)計與制作目錄一、緒論11.1單片機簡介1二、硬件系統(tǒng)設(shè)計方案32.1 時鐘電路的設(shè)計32.2 復(fù)位電路的設(shè)計42.3 數(shù)碼顯示電路的設(shè)計52.4 按鍵電路的設(shè)計72.5 蜂鳴器電路的設(shè)計82.6 接線圖9三、軟件系統(tǒng)設(shè)計方案3.1 模塊化設(shè)計方案103.2 主程序的設(shè)
2、計113.3 LED動態(tài)顯示程序的設(shè)計143.4 計時程序模塊的設(shè)計173.5 鍵盤程序的設(shè)計193.6 蜂鳴器程序的設(shè)計223.7 整個程序23四、總結(jié)總結(jié)與致謝28參考文獻29使用說明29第II頁安徽工業(yè)大學繼續(xù)教育學院單片機原理期末課程設(shè)計一一單片機計時時鐘設(shè)計與制作一緒論1.1 單片機簡介1.1.1 單片機的產(chǎn)生計算機的發(fā)展經(jīng)歷了從電子管到大規(guī)模集成電路等幾個發(fā)展階段,隨著大規(guī)模集成電路技術(shù)的發(fā)展,使計算機向性能穩(wěn)定可靠、微型化、廉價方向發(fā)展,從而出現(xiàn)了單片微型計算機。所謂單片微型計算機,是指將組成微型計算機的基本功能部件,如中央處理器CPU、存儲器ROM和RAM、輸入/輸出(I/O)
3、接口電路等集成在一塊集成電路芯片上的微型計算機,簡稱單片機??傮w來講,單片機可以用以下“表達式”來表示:單片機=CPU+ROM+RAM+I/O+功能部件1.1.2 單片機的特點隨著現(xiàn)代科技的發(fā)展,單片機的集成度越來越高,CPU的位數(shù)也越來越高,已能將所有主要部件都集成在一塊芯片上,使其應(yīng)用模式多、范圍廣,并具有以下特點:體積小,功耗低,價格便宜,重量輕,易于產(chǎn)品化。 控制功能強,運行速度快,能針對性地解決從簡單到復(fù)雜的各類控制問題,滿足工業(yè)控制要求,并有很強的位處理和接口邏輯操作等多種功能。 抗干擾能力強,適用溫度范圍寬。由于許多功能部件集成在芯片內(nèi)部,受外界影響小,故可靠性高。 雖然單片機內(nèi)
4、存儲器的容量不可能很大,但存儲器和I/O接口都易于擴展??梢苑奖愕膶崿F(xiàn)多機和分布式控制。1.1.3 單片機的應(yīng)用單片機的應(yīng)用具有面廣量大的特點,目前它廣泛的應(yīng)用于國民經(jīng)濟各個領(lǐng)域,對技術(shù)改造和產(chǎn)品的更新起著重要作用。主要表現(xiàn)在以下幾個方面:單片機在智能化儀器、儀表中的應(yīng)用:由于單片機有計算機的功能,它不僅能完成測量,還既有數(shù)據(jù)處理、溫度控制等功能,易于實現(xiàn)儀器、儀表的數(shù)字化和智能化。 單片機在實時控制中的應(yīng)用:單片機可以用于各種不太復(fù)雜的實時控制系統(tǒng)中,安徽工業(yè)大學繼續(xù)教育學院單片機原理期末課程設(shè)計一一單片機計時時鐘設(shè)計與制作如一般性的溫度控制、液面控制、電鍍順序控制等。將測量技術(shù)、自動控制技
5、術(shù)和單片機技術(shù)相結(jié)合,充分發(fā)揮單片機的數(shù)據(jù)處理和實時控制功能,使系統(tǒng)工作于最佳狀態(tài)。 單片機在機電一體化中的應(yīng)用:單片機有利于機電一體化技術(shù)的發(fā)展,已廣泛應(yīng)用于數(shù)控機床、醫(yī)療設(shè)備、汽車設(shè)備等。 單片機在多機系統(tǒng)中的應(yīng)用:單片機在多機系統(tǒng)中的應(yīng)用是將來單片機發(fā)展的主要模式,它可以提高單片機的可靠性,使系統(tǒng)運行速度更快。 單片機在計算機外圍設(shè)備中的應(yīng)用:單片機廣泛應(yīng)用于打印機、繪圖機等多種計算機的外圍設(shè)備,特別是用于智能終端,可大大減輕主機負擔,提高系統(tǒng)的運行速度。 單片機在家用電器中的應(yīng)用:單片具有體積小、重量輕、價格便宜等特點,所以家電產(chǎn)品中配上微電腦后,使其身價百倍,功能更強,使用方便,靈活
6、,深得用戶歡迎。 單片機在通信中的應(yīng)用:單片機廣泛應(yīng)用于移動通信領(lǐng)域,使移動電話的功能更強大,操作更方便。安徽工業(yè)大學繼續(xù)教育學院單片機原理期末課程設(shè)計一一單片機計時時鐘設(shè)計與制作二硬件系統(tǒng)設(shè)計方案2.1時鐘電路的設(shè)計如圖2-1所示。單片機工作的時間基準是由時鐘電路提供的。在單片機的XTAL1和XTAL2兩個引腳間,接一只晶振及兩只電容就構(gòu)成了單片機的時鐘電路,如圖1所示。電路中的器件選擇可以通過計算和實驗確定,也可以參考一些典型電路的參數(shù)。電路中,電容器C1和C2對振蕩器頻率有微調(diào)作用,通常的取值范圍30t0pF;石英晶體選才?6MHZ或12MHZ都可以。其結(jié)果只是機器周期時間不同,影響計數(shù)
7、器的計數(shù)初值。6723C1I-122PB1I12MHZ22PC2,P3.2(INT0)P1.0,P3.3(INT1)P1.1,P3.0(RXD)P1.2,P3.1(TXD)P1.3,P3.4(T0)P1.4,P3.5(T1)P1.5P1.6,RSTP1.7,XTAL2,XTAL1P3.789C2051U1121314151617181911圖2-1時鐘電路的設(shè)計安徽工業(yè)大學繼續(xù)教育學院單片機原理期末課程設(shè)計一一單片機計時時鐘設(shè)計與制作2.2復(fù)位電路的設(shè)計如圖2-2所示。單片機的RET引腳為主機提供一個外部復(fù)位信號輸入端口。復(fù)位信號是高電平有效,高電平有效的持續(xù)時間應(yīng)為2個機器周期以上。復(fù)位以后
8、,單片機內(nèi)各部件恢復(fù)到初始狀態(tài),單片機從ROM的0000H開始執(zhí)行程序。單片機的復(fù)位方式有上電自動復(fù)位和手工復(fù)位兩種。圖2是51系列單片機常用的上電復(fù)位和手動復(fù)位的組合電路,只要VCC上升時間不超過1ms,它們都能很好地工作。阻容器件的參考值為,R1=200Q,R2=1KQ,C3=22uF。vcc1圖2-2復(fù)位電路的設(shè)計R21kR12006723894C3=22uP3.2(INT0)P1.0P3.3(INT1)P1.1P3.0(RXD)P1.2.P3.1(TXD)P1.3P3.4(T0)P1.4P3.5(T1)P1.5P1.6RSTP1.7.XTAL2XTAL1P3.7U11189C20511
9、213141516171819安徽工業(yè)大學繼續(xù)教育學院單片機原理期末課程設(shè)計一一單片機計時時鐘設(shè)計與制作2.3數(shù)碼顯示電路的設(shè)計如圖2-3所示。單片機應(yīng)用系統(tǒng)中,通常都需要進行人機對話。這包括人對應(yīng)用系統(tǒng)的狀態(tài)干預(yù)與數(shù)據(jù)輸入,以及應(yīng)用系統(tǒng)向人們顯示運行結(jié)果等。顯示器、鍵盤電路就是用來完成人機對話活動的人機通道。LED顯示器的驅(qū)動是一個非常重要的問題,由系統(tǒng)硬件設(shè)計框圖可知,顯示電路由LED顯示器、段驅(qū)動電路和位驅(qū)動電路組成。如果驅(qū)動電路能力差,即負載能力不夠時,顯示器亮度就低,而且驅(qū)動電路長期在超負荷下運行容易損壞。因此,在實際使用中必須接入LED驅(qū)動電路。LED顯示器的顯示控制方式分為靜態(tài)顯
10、示和動態(tài)顯示兩種,因此在選擇LED驅(qū)動器時,一定要先確定顯小方式。靜態(tài)顯示方式就是在任意時刻,所有顯示器都按照各自接收的字型碼同時顯示對應(yīng)的字符。靜態(tài)顯示方式要求每位LED顯示器的公共端必須接地(對共陰極LED),或接高電平(對共陽極LED),而每位LED顯示器都由一個具有鎖存功能的8位端口去控制。這里所指的8位端口可以直接采用并行I/O接口,也可以采用擴展的串行輸入/并行輸出移位寄存器。動態(tài)顯示是單片機應(yīng)用系統(tǒng)中最常用的顯示方式之一。它是把所有顯示器的同名字端互相并聯(lián)在一起,并把它們接到字形口上。為了防止各個顯示器同時顯示出相同的字符,每個顯示器的公共端還要受另一組信號控制,即把它們接到字位
11、口上。這樣,對于一組LED數(shù)碼顯示器需要由兩組信號控制:一組是字形口輸出的字形碼,用來控制顯示什么用的字符;另一組是字位口輸出的字位碼,用來控制將字符顯示在第幾位顯示器上。在這兩組信號的控制下,使各位顯示器依次從左至右輪流點亮一遍,過一段時間再輪流點亮一遍,如此不斷重復(fù)。雖然在任一時刻只有一位顯示器被點亮,但由于顯示器具有余輝效應(yīng),而人眼又具有視覺惰性,所以看起來與全部顯示器持續(xù)點亮效果完全一樣。若選擇靜態(tài)顯示,則LED驅(qū)動器的選擇較為簡單,只要驅(qū)動器的驅(qū)動能力與顯示器電流相匹配即可。而且只須考慮段的驅(qū)動,因為共陽極接+5V,而共陰極接地,所以位的驅(qū)動不需要考慮。安徽工業(yè)大學繼續(xù)教育學院單片機
12、原理期末課程設(shè)計一一單片機計時時鐘設(shè)計與制作動態(tài)顯示則不同,由于一位數(shù)據(jù)的顯示是由段選和位選信號共同配合完成的,因此,要同時考慮段和位的驅(qū)動能力,而且段的驅(qū)動能力決定位的驅(qū)動能力。在應(yīng)用系統(tǒng)中,設(shè)計要求不同,使用的LED顯示器的位數(shù)也不同,因此廠家就生產(chǎn)了位數(shù)、尺寸、型號不同的LED顯示器供選擇。在本設(shè)計中,選擇4位一體的時鐘型LED顯示器,簡稱“4-LED”,前兩位顯示“天數(shù)”的十位和個位,中間兩位顯示“小時”的十位和個位,后兩位顯示“分”的十位和個位。4-LED顯示器的引腳如圖3所示,是一個共陰極接法的6位時鐘型LED顯示器。其中a、b、c、d、e、f、g為6位LED各段的公共引出端。D1
13、、D2、D3、D4、D5、D6分別是每一位的共陰極輸出端,dp是小數(shù)點引出端。4LED安徽工業(yè)大學繼續(xù)教育學院單片機原理期末課程設(shè)計一一單片機計時時鐘設(shè)計與制作2. 4按鍵電路的設(shè)計如圖2-4所示,在倒計時時鐘應(yīng)用系統(tǒng)工作時按鈕應(yīng)具備隨時對當前時間進行調(diào)整的功能。要實現(xiàn)此功能,可以接入鍵盤輸入電路。鍵盤結(jié)構(gòu)的選擇:在單片機組成的測控系統(tǒng)及智能化儀器中,用得最多的是非編碼鍵盤。鍵盤結(jié)構(gòu)可以分為獨立式鍵盤和矩陣式兩類。在本例中只需要3個按鍵,因此選擇獨立式鍵盤。如圖4,電路由按鍵和三個電阻組成,按鍵分別命名為day+1、hour+1和minute+1鍵,按鍵可以采用輕觸開關(guān),電阻采用1KQ的。鍵盤
14、與單片機的接口電路設(shè)計:如圖2-4所示,將鍵盤直接與單片機的P2口連接。用P2.2、P2.1、P2.0引腳分別與day+1、hour+1、minute+1相連。三個按鍵功能的設(shè)計思路如下:Day+1鍵功能:設(shè)置當前時間離奧運會舉行時間的間隔,即天數(shù)。Hour+1鍵功能:設(shè)置當前的時間,即當電子時鐘的時間有誤差時,需要隨時對它進行調(diào)整。Minute+1鍵功能:與hour+1鍵的功能一致,將時間達到更精確,以至分秒一圖2-4按鍵電路的設(shè)計安徽工業(yè)大學繼續(xù)教育學院單片機原理期末課程設(shè)計一一單片機計時時鐘設(shè)計與制作2.5蜂鳴器電路的設(shè)計如圖2-5所示。設(shè)計要求定時時間到時要有聲音提醒信號產(chǎn)生,可選擇一
15、只蜂鳴器來實現(xiàn)這一功能。壓電式蜂鳴器工作時約需10mA的驅(qū)動電流,并設(shè)計一個相應(yīng)的驅(qū)動及控制電路。電路設(shè)計如圖5所示,蜂鳴器作為三極管VT1的集電極負載,當VT1導通時,蜂鳴器發(fā)出鳴叫聲音,VT1截止時,蜂鳴器不發(fā)聲。蜂鳴器電路與單片機的接口:VT1的基極接到單片機P2口的P2.3弓唧,P2.3引腳作為輸出口使用。當P2.3=0時,VT1導通時,使蜂鳴器的兩個引腳間獲得將近5V的直流電壓,蜂鳴器中有電流通過,而產(chǎn)生蜂鳴音。當P2.3=1時,VT1截止,蜂鳴器的兩引腳間的直流電壓接近于0V,蜂鳴器不發(fā)聲。圖2-5蜂鳴器電路的設(shè)計安徽工業(yè)大學繼續(xù)教育學院單片機原理期末課程設(shè)計一一單片機計時時鐘設(shè)計
16、與制作安徽工業(yè)大學繼續(xù)教育學院單片機原理期末課程設(shè)計一一單片機計時時鐘設(shè)計與制作三軟件系統(tǒng)設(shè)計方案3.1 模塊化的方案進行應(yīng)用軟件設(shè)計時可采用模塊化程序設(shè)計方法,其優(yōu)點是:每個模塊的程序結(jié)構(gòu)簡單,任務(wù)明確,易于編寫、調(diào)試和修改。程序可讀性好,對程序的修改可局部進行,其他部分可以保持不變,便于功能擴充對于使用頻繁的子程序可以建立子程序庫,便于多個模塊調(diào)用。便于分工合作,多個人同時進行程序的編寫和調(diào)試工作,加快軟件研制進度。設(shè)計方案及框圖:如圖2-6所示。根據(jù)設(shè)計要求,首先要確定軟件設(shè)計方案,即確定該軟件應(yīng)該完成哪些功能;其次是規(guī)劃為了完成這些功能需要分成多少個功能模塊,以及每一個程序模塊的具體任
17、務(wù)是什么。劃分模塊時應(yīng)遵循下述原則:每個模塊應(yīng)具有獨立的功能,能產(chǎn)生一個明確的結(jié)果。模塊之間的控制參數(shù)應(yīng)盡量簡單,數(shù)據(jù)參數(shù)應(yīng)盡量少。模塊長度適中。根據(jù)模塊的劃分原則,將該程序劃分成6個模塊。圖2-6整體設(shè)計框圖第10頁安徽工業(yè)大學繼續(xù)教育學院單片機原理期末課程設(shè)計一一單片機計時時鐘設(shè)計與制作3.2 主程序的設(shè)計主程序的內(nèi)容一般包括:主程序的起始地址,中斷服務(wù)程序的起始地址,有關(guān)內(nèi)存單元及相關(guān)部件的初始化和一些子程序調(diào)用等等。程序的起始地址MCS-51系列單片機復(fù)位后,(PC)=0000H,而0003H002BH分別為各中斷源的入口地址。所以,編程時應(yīng)在0000H處寫一跳轉(zhuǎn)指令。主程序的初始化內(nèi)
18、容所謂初始化,是對將要用到MCS-51系列單片機內(nèi)部部件或擴展芯片進行初始化工作狀態(tài)設(shè)定。MCS51系列單片機復(fù)位后,特殊功能寄存器IE,IP的內(nèi)容均為00H,所以應(yīng)對IE,IP進行初始化編程,以開放CPU中斷,允許某些中斷源中斷和設(shè)置中斷優(yōu)先級等。第11頁安徽工業(yè)大學繼續(xù)教育學院單片機原理期末課程設(shè)計一一單片機計時時鐘設(shè)計與制作主程序設(shè)計框圖第12頁安徽工業(yè)大學繼續(xù)教育學院單片機原理期末課程設(shè)計一一單片機計時時鐘設(shè)計與制作主程序清單:ALB_SETBITP3.2;調(diào)節(jié)鬧鐘控制器M_SETBITP3.3;分鐘控制位H_SETBITP3.4;小時控制位SECONDEQU30H渺計數(shù)器MINUTE
19、EQU31H;分鐘計數(shù)器HOUREQU32H;小時計數(shù)器TCNTEQU34H;50毫秒計數(shù)器ALB_MEQU35HALB_HEQU36H;ORG0000HSJMPSTARTORG000BHLJMPINT_T0;ORG0050HSTART:MOVDPTR,#TABLEMOVALB_M,#01MOVALB_H,#01MOVHOUR,#0;初始化MOVMINUTE,#0MOVSECOND,#0MOVTCNT,#0MOVTMOD,#01HMOVTH0,#(65536-50000)/256;定時50毫秒取整數(shù)-TH0MOVTL0,#(65536-50000)MOD256;模運算取尾數(shù)-TL0MOVIE,
20、#82HSETBTR0第13頁安徽工業(yè)大學繼續(xù)教育學院單片機原理期末課程設(shè)計一一單片機計時時鐘設(shè)計與制作3.3 LED動態(tài)顯示的設(shè)計在采用動態(tài)掃描顯示方式時,要使得LED顯示得比較均勻,又有足夠的亮度,需要設(shè)置適當?shù)膾呙桀l率。當掃描頻率在70HZ左右時,能夠產(chǎn)生足夠的圖形和較好的顯示效果。一般可以采用間隔10ms對LED進行動態(tài)掃描一次,每一位LED的顯示時間為1ms。本例中,采用軟件定時并用的方式,即通過軟件延時程序?qū)崿F(xiàn)1ms的定時。LED程序清單:DISPLAY:MOVP1,#01111111BCJNER4,#00AH,X1MOVP1,#11111111BX1:MOVA,MINUTE;顯示
21、分鐘MOVB,#10DIVABCLRP2.3MOVCA,A+DPTRMOVP0,ALCALLDELAYSETBP2.3MOVA,BCLRP2.2MOVCA,A+DPTRMOVP0,ALCALLDELAYSETBP2.2MOVA,HOUR;顯示小時MOVB,#10DIVABCLRP2.5第14頁安徽工業(yè)大學繼續(xù)教育學院單片機原理期末課程設(shè)計一一單片機計時時鐘設(shè)計與制作MOVCA,A+DPTRMOVP0,ALCALLDELAYSETBP2.5MOVA,BCLRP2.4MOVCA,A+DPTRMOVP0,ALCALLDELAYSETBP2.4RETDISPLAY1:MOVA,ALB_M;顯示分鐘MO
22、VB,#10DIVABCLRP2.3MOVCA,A+DPTRMOVP0,ALCALLDELAYSETBP2.3MOVA,BCLRP2.2MOVCA,A+DPTRMOVP0,ALCALLDELAYSETBP2.2MOVA,ALB_H;顯示小時MOVB,#10DIVABCLRP2.5第15頁安徽工業(yè)大學繼續(xù)教育學院單片機原理期末課程設(shè)計一一單片機計時時鐘設(shè)計與制作MOVCA,A+DPTRMOVP0,ALCALLDELAYSETBP2.5MOVA,BCLRP2.4MOVCA,A+DPTRMOVP0,ALCALLDELAYSETBP2.4RETTABLE:DB40H,79H,24H,30H,19HDB
23、12H,02H,78H,00H,10H;DELAY:MOVR6,#10D1:MOVR7,#250DJNZR7,$DJNZR6,D1RETb1:mova,alb_mcjnea,minute,rtmova,alb_hcjnea,hour,rtcallbeep_blrt:reti第16頁安徽工業(yè)大學繼續(xù)教育學院單片機原理期末課程設(shè)計一一單片機計時時鐘設(shè)計與制作3.4 計時程序的設(shè)計倒計時時鐘系統(tǒng)的主要任務(wù)是:采用單片機為核心器件24小時后天數(shù)減一,并用LED顯示器將它顯示出來。計算定時器T0的計數(shù)初值定時時間100us計數(shù)初值=100機器周期時間1us計數(shù)初值=256-100=156計時程序設(shè)計框圖
24、:第17頁計時程序潘里r業(yè)大學繼續(xù)教育學院單片機原理期末課程設(shè)計單片機計時時鐘設(shè)計與制作INT_T0:MOVTH0,#(65536-50000)/256MOVTL0,#(65536-50000)MOD256INCTCNT;累計50毫秒MOVA,TCNTMOVR4,TCNTCJNEA,#20,RETUNE;計時1秒INCSECONDMOVTCNT,#0MOVA,SECONDCJNEA,#60,RETUNEmovp2,#11111111bINCMINUTEMOVSECOND,#0MOVA,MINUTECJNEA,#60,RETUNEINCHOURMOVMINUTE,#0MOVA,HOURCJNEA
25、,#24,RETUNEMOVHOUR,#0MOVMINUTE,#0MOVSECOND,#0MOVTCNT,#0RETUNE:RETI第18頁安徽工業(yè)大學繼續(xù)教育學院單片機原理期末課程設(shè)計一一單片機計時時鐘設(shè)計與制作3.5 鍵盤程序的設(shè)計鍵盤子程序是由KEY子程序組成,此子程序的功能是實現(xiàn)對當前時間的調(diào)整和輸入倒計時時間。KEY子程序的功能是對當前時間進行調(diào)整。在程序中,將倒計天數(shù)以及時鐘的小時位、分鐘位分別進行調(diào)整。1: 按鍵去抖動的處理。由于機械觸點的彈性作用,在閉合及斷開的瞬間均伴隨有一連串的抖動,抖動時間的長短由按鍵的機械特性決定,一般為510ms。而按鍵穩(wěn)定閉合時間的長短則是由操作人員
26、的按鍵動作決定的,一般為零點幾秒至數(shù)秒。鍵抖動會引起一次按鍵被誤讀多次,為了確保CPU對鍵的一次閉合僅作一次處理,鍵抖動可用硬件或軟件兩種方法消除。本例中采用軟件方法。第19頁安徽工業(yè)大學繼續(xù)教育學院單片機原理期末課程設(shè)計一一單片機計時時鐘設(shè)計與制作鍵盤程序清單:;判斷是否有控制鍵按下,是哪一個鍵按下A1:;調(diào)用顯示子程序lcallblJNBALB_SET,S4LCALLDISPLAYJNBM_SET,S2JNBH_SET,S3LJMPA152: LCALLDELAYJBM_SET,A1K1:INCMINUTE;分鐘值加1MOVA,MINUTECJNEA,#60,J1判斷是否加到60分MOVM
27、INUTE,#0LJMPK253: LCALLDELAYJBH_SET,A1K2:INCHOUR;小時值加1MOVA,HOURCJNEA,#24,J2判斷是否加到24小時MOVHOUR,#0MOVMINUTE,#0MOVSECOND,#0LJMPA154: LCALLDISPLAY1JNBM_SET,S5第20頁安徽工業(yè)大學繼續(xù)教育學院單片機原理期末課程設(shè)計一一單片機計時時鐘設(shè)計與制作JNBH_SET,S6LJMPA155: LCALLDELAYJBM_SET,A1INCALB_MMOVA,ALB_MCJNEA,#60,J3MOVALB_M,#0LJMPK356: LCALLDELAYJBH_
28、SET,A1K3:INCALB_HMOVA,ALB_HCJNEA,#24,J4MOVALB_H,#0MOVALB_M,#0LJMPA1;等待按鍵抬起J1:JBM_SET,A1LCALLDISPLAYSJMPJ1J2:JBH_SET,A1LCALLDISPLAYSJMPJ2J3:JBM_SET,S4LCALLDISPLAY1SJMPJ3J4:JBH_SET,S4LCALLDISPLAY1SJMPJ4第21頁安徽工業(yè)大學繼續(xù)教育學院單片機原理期末課程設(shè)計一一單片機計時時鐘設(shè)計與制作3.6 蜂鳴器程序的設(shè)計當前時間和鬧鐘設(shè)置時間相等后,會激活蜂鳴器程序產(chǎn)生高頻間接性的振動,從而產(chǎn)生“嘟嘟”的鬧聲。蜂
29、鳴器程序清單:BEEP_BL:MOVR6,#100BL1:CALLBL2CPLp2.1DJNZR6,BL1MOVR5,#100CALLDELAY2RETBL2:MOVR7,#180BL3:NOPDJNZR7,BL3RETDELAY2:;延時R5X10MSMOVR6,#10calldisplay1BL4:MOVR7,#10BL5:DJNZR7,BL5DJNZR6,BL4DJNZR5,DELAY2RETEND第22頁安徽工業(yè)大學繼續(xù)教育學院單片機原理期末課程設(shè)計一一單片機計時時鐘設(shè)計與制作3.7 整個程序清單ALB_SETBITP3.2;鬧鐘調(diào)節(jié)控制位M_SETBITP3.3;分鐘控制位H_SET
30、BITP3.4;小時控制位;秒計數(shù)器;分鐘計數(shù)器;小時計數(shù)器;50毫秒計數(shù)器SECONDEQU30HMINUTEEQU31HHOUREQU32HTCNTEQU34HALB_MEQU35HALBHEQU36HORG0000HSJMPSTARTORG000BHLJMPINTT0ORG0050HSTART:MOVDPTR,#TABLEMOVALB_M,#01MOVALB_H,#01MOVHOUR,#0;初始化MOVMINUTE,#0MOVSECOND,#0MOVTCNT,#0MOVTMOD,#01HMOVTH0,#(65536-50000)/256;定時50毫秒MOVTL0,#(65536-5000
31、0)MOD256;模運算MOVIE,#82HSETBTR0取整數(shù)-TH0取尾數(shù)-TL0J;判斷是否有控制鍵按下,是哪一個鍵按下A1:;調(diào)用顯示子程序S2:lcallb1JNBALB_SET,S4LCALLDISPLAYJNBM_SET,S2JNBH_SET,S3LJMPA1LCALLDELAYJBM_SET,A1K1:INCMINUTE;分鐘值加1第23頁安徽工業(yè)大學繼續(xù)教育學院單片機原理期末課程設(shè)計一一單片機計時時鐘設(shè)計與制作MOVA,MINUTECJNEA,#60,J1判斷是否加到60分MOVMINUTE,#0LJMPK253: LCALLDELAYJBH_SET,A1K2:INCHOUR
32、;小時值加1MOVA,HOURCJNEA,#24,J2判斷是否加到24小時MOVHOUR,#0MOVMINUTE,#0MOVSECOND,#0LJMPA154: LCALLDISPLAY1JNBM_SET,S5JNBH_SET,S6LJMPA155: LCALLDELAYJBM_SET,A1市CALB_MMOVA,ALB_MCJNEA,#60,J3MOVALB_M,#0LJMPK356: LCALLDELAYJBH_SET,A1K3:INCALB_HMOVA,ALB_HCJNEA,#24,J4MOVALB_H,#0MOVALB_M,#0LJMPA1J;等待按鍵抬起J1:JBM_SET,A1LC
33、ALLDISPLAYSJMPJ1J2:JBH_SET,A1lcaLlDISPLAYSJMPJ2J3:JBM_SET,S4LCALLDISPLAY1SJMPJ3J4:JBH_SET,S4lcaLldisplayi第24頁安徽工業(yè)大學繼續(xù)教育學院單片機原理期末課程設(shè)計一一單片機計時時鐘設(shè)計與制作SJMPJ4J;定時器中斷服務(wù)程序,對秒,分鐘和小時的計數(shù)INT_T0:MOVTH0,#(65536-50000)/256MOVTL0,#(65536-50000)MOD256INCTCNT;累計50毫秒MOVA,TCNTMOVR4,TCNTCJNEA,#20,RETUNE;計時1秒INCSECONDMOV
34、TCNT,#0MOVA,SECONDCJNEA,#60,RETUNEmovp2,#11111111bINCMINUTEMOVSECOND,#0MOVA,MINUTECJNEA,#60,RETUNEINCHOURMOVMINUTE,#0MOVA,HOURCJNEA,#24,RETUNEMOVHOUR,#0MOVMINUTE,#0MOVSECOND,#0MOVTCNT,#0RETUNE:RETIJ;顯示控制子程序DISPLAY:MOVP1,#01111111BCJNER4,#00AH,X1MOVP1,#11111111BX1:MOVA,MINUTE;顯示分鐘MOVB,#10DIVABCLRP2.3
35、MOVCA,A+DPTRMOVP0,ALCALLDELAYSETBP2.3MOVA,BCLRP2.2MOVCA,A+DPTRMOVP0,ALCALLDELAYSETBP2.2第25頁安徽工業(yè)大學繼續(xù)教育學院單片機原理期末課程設(shè)計一一單片機計時時鐘設(shè)計與制作MOVA,HOUR;顯示小時MOVB,#10DIVABCLRP2.5MOVCA,A+DPTRMOVP0,ALCALLDELAYSETBP2.5MOVA,BCLRP2.4MOVCA,A+DPTRMOVP0,ALCALLDELAYSETBP2.4RETDISPLAY1:MOVA,ALB_M;顯示分鐘MOVB,#10DIVABCLRP2.3MOVCA,A+DPTRMOVP0,ALCALLDELAYSETBP2.3MOVA,BCLRP2.2MOVCA,A+DPTRMOVP0,ALCALLDELAYSETBP2.2MOVA,ALB_H;顯示小時MOVB,#10DIVABCLRP2.5MOVCA,A+DPTRMOVP0,ALC
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度茶樓與茶葉種植基地合作租賃協(xié)議4篇
- 2025年度拆除工程噪聲及揚塵控制合同4篇
- 2025年度智能倉儲廠房購買及自動化解決方案合同4篇
- 專屬2024版月餅銷售代理協(xié)議版B版
- 二零二五年度綠色能源項目商鋪租賃合同樣本2篇
- 2024物流企業(yè)融資租賃合同
- 2025年度廠房墻地磚節(jié)能減排改造項目合同3篇
- 2024版螺旋鋼管買賣合同書
- 2025年廠區(qū)光伏發(fā)電與配電一體化工程承包合同4篇
- 2024照明工程分包合同
- 長鏈氯化石蠟
- 小學六年級數(shù)學解方程計算題
- 春節(jié)英語介紹SpringFestival(課件)新思維小學英語5A
- 進度控制流程圖
- 2023年江蘇省南京市中考化學真題
- 【閱讀提升】部編版語文五年級下冊第四單元閱讀要素解析 類文閱讀課外閱讀過關(guān)(含答案)
- 供電副所長述職報告
- 現(xiàn)在完成時練習(短暫性動詞與延續(xù)性動詞的轉(zhuǎn)換)
- 產(chǎn)品質(zhì)量監(jiān)控方案
- 物業(yè)總經(jīng)理述職報告
- 新起點,新發(fā)展心得體會
評論
0/150
提交評論