




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 PAGE- 19 - / NUMPAGES20目錄 TOC o 1-3 h z u HYPERLINK l _Toc1768657641 概述311單片機(jī)簡(jiǎn)介312設(shè)計(jì)任務(wù)3 13設(shè)計(jì)要求3HYPERLINK l _Toc1768657662 系統(tǒng)總體方案與硬件設(shè)計(jì)4HYPERLINK l _To復(fù)位電路5HYPERLINK l _To晶體振蕩電路6HYPERLINK l _To鍵盤電路6HYPERLINK l _To顯示電路7HYPERLINK l _Toc1768657723 軟件設(shè)計(jì)
2、7HYPERLINK l _To設(shè)計(jì)思想7HYPERLINK l _To系統(tǒng)流程圖83.3源程序代碼與注解 10HYPERLINK l _Toc1768657784 Proteus軟件仿真15HYPERLINK l _Toc1768657795 課程設(shè)計(jì)體會(huì) 16HYPERLINK l _Toc1768657796 參考文獻(xiàn) .17HYPERLINK l _Toc176865781附錄1:源程清單18附錄2:HYPERLINK l _Toc176865764系統(tǒng)原理圖241 概述11單片機(jī)簡(jiǎn)介單片機(jī)是性能價(jià)格比高、體積小、對(duì)國(guó)民經(jīng)濟(jì)滲透力大、
3、最有前途的微控制器。單片機(jī)自20世紀(jì)70年代初研制成功并發(fā)展至今,已進(jìn)入第四代。它主要是在一塊芯片上集成了CPU、存儲(chǔ)器以與輸入輸出電路,在工業(yè)過(guò)程中被廣泛應(yīng)用在控制電路中。從單片機(jī)的系列來(lái)看,國(guó)外已超過(guò)50個(gè)系列、近500個(gè)品種,當(dāng)前正處于更新?lián)Q代、百花齊放的時(shí)期。新的系列和專用系列正在不斷涌現(xiàn)。按位數(shù)分類有4位、8位、16位以與32位單片機(jī)等,4位單片機(jī)由于價(jià)格低和出現(xiàn)的早得到了廣泛的應(yīng)用,特別是在家電應(yīng)用領(lǐng)域中其還有很大的優(yōu)勢(shì),為了抵御8位機(jī)的競(jìng)爭(zhēng),4位機(jī)在結(jié)構(gòu)和功能上都有很大的改進(jìn)。8位機(jī)的生產(chǎn)廠家以與品種都很多,在實(shí)際的生產(chǎn)中應(yīng)用也最為廣泛,其中Intel公司的8051系列單片機(jī)在我
4、國(guó)應(yīng)用最為廣泛,另外8位單片機(jī)也在其功能和部結(jié)構(gòu)上不斷的進(jìn)行改進(jìn),目前功能是越來(lái)越強(qiáng)大。16位單片機(jī)在數(shù)據(jù)處理以與單片機(jī)的性能上有了很大的改進(jìn)。32位單片機(jī)是隨著高科技產(chǎn)業(yè)的發(fā)展而產(chǎn)生的。12設(shè)計(jì)任務(wù):設(shè)計(jì)一個(gè)單片機(jī)控制的多功能秒表系統(tǒng),利用單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,結(jié)合顯示電路、用兩個(gè)陰極LED數(shù)碼管以與按鍵來(lái)設(shè)計(jì)0099秒計(jì)時(shí)器。將軟、硬件有機(jī)地結(jié)合起來(lái),使得系統(tǒng)能夠正確地進(jìn)行加計(jì)時(shí),同時(shí)數(shù)碼管能夠正確地顯示時(shí)間。13設(shè)計(jì)要求:1、能同時(shí)記錄四個(gè)相對(duì)獨(dú)立的時(shí)間并分別顯示。2、兩位LED動(dòng)態(tài)顯示,顯示時(shí)間為0099秒。3、每秒自動(dòng)加1。4、一個(gè)開(kāi)始按鍵、一個(gè)復(fù)位按鍵、一個(gè)暫停按
5、鈕2 系統(tǒng)總體方案本設(shè)計(jì)的最主要的元器件就是MCS51單片機(jī)。MCS51單片機(jī)在一塊芯片上集成了CPU,存儲(chǔ)器RAM,ROM以與輸入與輸出接口電路,這種芯片習(xí)慣上被稱為單片微型計(jì)算機(jī),簡(jiǎn)稱單片機(jī)。MCS-51單片機(jī)是INTEL公司在1980年推出的高檔8位單片機(jī)。它的典型產(chǎn)品有:8051,8031,8751,80C51,80C31,87C51。AT89C51(圖1)單片機(jī)由CPU,振蕩器與時(shí)序電路, 4個(gè)8位的I/O端口(P0,P1,P2,P3),串行口等組成。P0口有三個(gè)功能:1、外部擴(kuò)展存儲(chǔ)器時(shí),當(dāng)做數(shù)據(jù)總線(如圖中的D0D7為數(shù)據(jù)總線接口)。2、外部擴(kuò)展存儲(chǔ)器時(shí),當(dāng)作地址總線(如圖中的A
6、0A7為地址總線接口)。3、不擴(kuò)展時(shí),可做一般的I/O使用,但部無(wú)上拉電阻,作為輸入或輸出時(shí)應(yīng)在外部接上拉電阻。P1口只做I/O口使用:其部有上拉電阻。P2口有兩個(gè)功能:1、擴(kuò)展外部存儲(chǔ)器時(shí),當(dāng)作地址總線使用;2、做一般I/O口使用,其部有上拉電阻;P3口有兩個(gè)功能:除了作為I/O使用外(其部有上拉電阻),還有一些特殊功能,由寄存器來(lái)設(shè)置。ALE:地址鎖存控制信號(hào)PSEN:外部程序存儲(chǔ)器讀選通信號(hào)EA/VPP:訪問(wèn)和序存儲(chǔ)器控制信號(hào)RST:復(fù)位信號(hào)XTAL1和XTAL2 外接晶振引腳VCC:電源+5V輸入VSS:GND接地。AT89C51單片機(jī) P2口P1口鍵盤控 制電 路晶振電 路復(fù)位電 路
7、兩個(gè)數(shù)碼管圖2:整體設(shè)計(jì)框圖21 復(fù)位電路:采用上電加按鈕復(fù)位。這個(gè)系統(tǒng)中的復(fù)位電路是采用上電加按鈕來(lái)實(shí)現(xiàn)的。因?yàn)镸CS-51單片機(jī)的復(fù)位是靠外部電路實(shí)現(xiàn)的。MCS-51單片機(jī)工作之后,只要在他的RST引線上加載10ms以上的高點(diǎn)平,單片機(jī)就能有效地進(jìn)行復(fù)位。MCS-51單片機(jī)通常采用上電自動(dòng)復(fù)位、按鍵復(fù)位、以與上電加按鍵復(fù)位等,我們采用的是上電加按鍵復(fù)位方式,這樣做的優(yōu)點(diǎn)是上電后可以直接進(jìn)入復(fù)位狀態(tài),當(dāng)程序出現(xiàn)錯(cuò)誤時(shí),可以隨時(shí)使電路復(fù)位。圖3:復(fù)位電路22晶體振蕩電路: 通過(guò)XTAL1和XTAL2外接晶體振蕩器構(gòu)成部振蕩方式。由于單片機(jī)部有一個(gè)高增益反相放大器,當(dāng)外接晶振后,就構(gòu)成了自激振蕩
8、器并產(chǎn)生振蕩時(shí)鐘脈沖。MCS-51單片機(jī)部的振蕩電路是一個(gè)高增益反相放大器,引線 XTAL1和XTAL2分別為 反向振蕩放大器的輸入與部時(shí)鐘工作電路的輸入和來(lái)自反向振蕩器的輸出,該反向放大器可以配置為片振蕩器。圖4:晶振震蕩電路23鍵盤電路:用部分P1口做開(kāi)始開(kāi)關(guān),P2口開(kāi)始,P3口復(fù)位, 圖5:鍵盤電路24顯示電路:采用LED動(dòng)態(tài)顯示,用P2口驅(qū)動(dòng)顯示。 圖6:顯示電路3 軟件設(shè)計(jì)31 設(shè)計(jì)思想因?yàn)槊氡碓O(shè)計(jì)相對(duì)較為簡(jiǎn)單,因此在軟件設(shè)計(jì)中我們一般采用模塊化程序設(shè)計(jì)的方法。模塊是一個(gè)具有獨(dú)立功能的程序,可以單獨(dú)設(shè)計(jì)、調(diào)試與管理,模塊可分為功能模塊和控制模塊兩類。我們通過(guò)模塊化程序設(shè)計(jì)可按適當(dāng)?shù)脑?/p>
9、則把一個(gè)情況復(fù)雜、規(guī)模較大的程序系統(tǒng)劃分為一個(gè)個(gè)較小的、功能相關(guān)而又相對(duì)獨(dú)立的模塊。每個(gè)小的模塊完成一個(gè)確定的功能,在這些小的模塊之間建立必要的聯(lián)系,互相協(xié)作完成整個(gè)程序要完成的功能。它具有明顯的優(yōu)點(diǎn),把一個(gè)多功能的復(fù)雜的程序劃分為若干個(gè)簡(jiǎn)單的、功能單一的程序模塊,有利于程序的設(shè)計(jì)和調(diào)試,有利于程序的優(yōu)化和分工,提高了程序的閱讀性和可靠性,使程序的結(jié)構(gòu)層次一目了然。其中的模塊即為子程序,子程序是功能獨(dú)立的程序段。子程序的基本思想是編寫一次,可以重復(fù)使用。子程序的形式可以是一個(gè)程序文件,也可以是一個(gè)過(guò)程或函數(shù)。子程序總被其他程序調(diào)用而不單獨(dú)執(zhí)行,這與主程序相對(duì)。開(kāi)始 初始化P1.0=0?P1.1
10、=0?P1.3=0?P1.4=0?P1.5=0?停止復(fù)位下翻上翻夠4個(gè)?P1.0=0?N暫停記錄NNNNNN這個(gè)主程序也是由多個(gè)子程序模塊組成,各程序模塊都要完成一個(gè)明確的任務(wù),實(shí)現(xiàn)某個(gè)具體的功能,、快加、復(fù)位,計(jì)數(shù)和顯示等,在具體需要時(shí)調(diào)用相應(yīng)的模塊即可。3.2、程序流程圖:定時(shí)器流程圖壓棧保護(hù)賦定時(shí)初值到1秒?調(diào)用加1程序調(diào)用顯示程序中斷返回Y加1子程序流程圖:(20H) A進(jìn)位清零做加法到100?(20H)清零個(gè)位十位分開(kāi)返回Y3.3程序代碼與注解ORG 0000H ;程序開(kāi)始AJMP START ;跳轉(zhuǎn)到主程序START ORG 000BH ;定時(shí)器0中斷的地址入口AJMP TIME0
11、 ;定時(shí)器0溢出,跳轉(zhuǎn)到中斷程序TIME0START: ;主程序MOV P3,#0FFH ;輸入端口P3全寫1MOV P0,#3FH ;MOV P1,#3FH ;MOV P2,#0BFH ;數(shù)碼管初始化MOV 30H,#00H ;MOV R0,#00H ;MOV R1,#0AH ;MOV R2,#00H ;工作寄存器初始化MOV TMOD,#01H ;定時(shí)器0工作于方式1MOV TH0,#0D8H ;MOV TL0,#0FEH ;定時(shí)器0預(yù)置數(shù)(D8FEH=55550D)SETB EA ;開(kāi)總中斷允許SETB ET0 ;開(kāi)定時(shí)器0中斷允許READ: ;讀鍵程序L1: P3.2,L2 ;LCAL
12、L DELAY ;按鍵延時(shí)防抖 P3.2,L1 ;AJMP RUN ;確認(rèn)計(jì)時(shí)鍵被按下,開(kāi)始/繼續(xù)計(jì)時(shí)L2: P3.3,L3 ;LCALL DELAY ;按鍵延時(shí)防抖 P3.3,L2 ;AJMP PAUSE ;確認(rèn)暫停鍵被按下,暫停計(jì)時(shí)L3: P3.4,L1 ;LCALL DELAY ;按鍵延時(shí)防抖 P3.4,L3 ;AJMP STOP ;確認(rèn)清零鍵被按下,秒表重置RUN: ;計(jì)時(shí)鍵按下,跳轉(zhuǎn)至此SETB TR0 ;定時(shí)器0開(kāi)始/繼續(xù)運(yùn)行AJMP READ ;PAUSE: ;暫停鍵按下,跳轉(zhuǎn)至此CLR TR0 ;AJMP READ ; TIME0: ;定時(shí)器0溢出,中斷,跳轉(zhuǎn)至此INC 30H
13、 ;MOV A,30H ;CJNE A,#0AH,TIME1 ;30H單元中的值到10了嗎?(計(jì)時(shí)到10毫秒了嗎,也就是說(shuō),該向毫秒位送數(shù)了嗎?)MOV DPTR,#TAB ;30H中的值到10了,順序執(zhí)行MOV A,R0 ;INC R0 ;CJNE R0,#0AH,GET ;R0中的值到10了嗎?(該向秒位進(jìn)位了嗎?)MOV R0,#00H ;LCALL SECOND ;到了,R0清零,調(diào)用進(jìn)位子程序SECOND,向秒位進(jìn)位GET: ;沒(méi)到,跳過(guò)進(jìn)位子程序MOVC A,A+DPTR ;MOV P1,A ;查表并向數(shù)碼管毫秒位送數(shù)MOV 30H,#00H ;重置30H單元TIME1: ;MOV
14、 TH0,#0D8H ;MOV TL0,#0FEH ;給定時(shí)器0重新預(yù)置數(shù)RETI ;中斷返回SECOND: ;秒位進(jìn)位子程序PUSH ACC ;PUSH PSW ;將ACC和PSW推入堆棧保護(hù)MOV A,R1 ;INC R1 ;CJNE R1,#14H,GET1 ;R1中的值到20了嗎,也就是說(shuō),該向十秒位進(jìn)位了嗎?MOV R1,#0AH ;LCALL SECOND1 ;到了。R1重置,調(diào)用進(jìn)位子程序SECOND1,向十秒位進(jìn)位GET1: ;沒(méi)到,跳過(guò)進(jìn)位子程序MOVC A,A+DPTR ;MOV P2,A ;查表并向數(shù)碼管秒位送數(shù)POP PSW ;POP ACC ;PSW,ACC出棧RET
15、 ;子程序返回SECOND1: ;十秒位進(jìn)位子程序PUSH ACC ;PUSH PSW ;將ACC和PSW推入堆棧保護(hù)MOV A,R2 ;INC R2 ;CJNE R2,#0AH,GET2 ;R2中的值到10了嗎,也就是說(shuō),該將此位歸零了嗎?MOV R2,#00H ;到了,R2清零GET2: ;沒(méi)到,跳過(guò)清零程序MOVC A,A+DPTR ;MOV P0,A ;查表并向數(shù)碼管十秒位送數(shù)POP PSW ;POP ACC ;PSW,ACC出棧RET ;子程序返回STOP: ;清零鍵按下,跳轉(zhuǎn)至此MOV P3,#0FFH ;MOV P0,#3FH ;MOV P1,#3FH ;MOV P2,#0BFH
16、 ;數(shù)碼管清零MOV 30H,#00H ;MOV R0,#00H ;MOV R1,#0AH ;MOV R2,#00H ;工作寄存器初始化CLR TR0 ;計(jì)時(shí)器0停止計(jì)時(shí)MOV TH0,#0D8H ;MOV TL0,#0FEH ;定時(shí)器0預(yù)置數(shù)AJMP READ ;DELAY: ;延時(shí)10ms子程序MOV R3,#50D ;D1:MOV R4,#100D ;D2:DJNZ R4,D2 ;DJNZ R3,D1 ;RET ;子程序返回TAB: DB 06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,3FH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0F
17、FH,0EFH,0BFH ;數(shù)碼管段選碼數(shù)表END ;程序結(jié)束4 ISIS7Professionl軟件仿真利用Keilu Vision軟件對(duì)源程序進(jìn)行編譯,編譯成功后,把編譯結(jié)果保存。然后根據(jù)我們的軟件在PROTEUS中設(shè)計(jì)出相應(yīng)的硬件電路,并將該電路保存到與WAVE程序一樣的文件夾中,最后將程序裝載到單片機(jī)中,通過(guò)ISIS7Professionl仿真,看程序是否能夠?qū)崿F(xiàn)預(yù)想的功能.仿真圖如下圖所示:ORG 0000H ;程序開(kāi)始AJMP START ;跳轉(zhuǎn)到主程序START ORG 000BH ;定時(shí)器0中斷的地址入口AJMP TIME0 ;定時(shí)器0溢出,跳轉(zhuǎn)到中斷程序TIME0START:
18、 ;主程序MOV P3,#0FFH ;輸入端口P3全寫1MOV P0,#3FH ;MOV P1,#3FH ;MOV P2,#0BFH ;數(shù)碼管初始化MOV 30H,#00H ;MOV R0,#00H ;MOV R1,#0AH ;MOV R2,#00H ;工作寄存器初始化MOV TMOD,#01H ;定時(shí)器0工作于方式1MOV TH0,#0D8H ;MOV TL0,#0FEH ;定時(shí)器0預(yù)置數(shù)(D8FEH=55550D)SETB EA ;開(kāi)總中斷允許SETB ET0 ;開(kāi)定時(shí)器0中斷允許READ: ;讀鍵程序L1: P3.2,L2 ;LCALL DELAY ;按鍵延時(shí)防抖 P3.2,L1 ;AJ
19、MP RUN ;確認(rèn)計(jì)時(shí)鍵被按下,開(kāi)始/繼續(xù)計(jì)時(shí)L2: P3.3,L3 ;LCALL DELAY ;按鍵延時(shí)防抖 P3.3,L2 ;AJMP PAUSE ;確認(rèn)暫停鍵被按下,暫停計(jì)時(shí)L3: P3.4,L1 ;LCALL DELAY ;按鍵延時(shí)防抖 P3.4,L3 ;AJMP STOP ;確認(rèn)清零鍵被按下,秒表重置RUN: ;計(jì)時(shí)鍵按下,跳轉(zhuǎn)至此SETB TR0 ;定時(shí)器0開(kāi)始/繼續(xù)運(yùn)行AJMP READ ;PAUSE: ;暫停鍵按下,跳轉(zhuǎn)至此CLR TR0 ;AJMP READ ; TIME0: ;定時(shí)器0溢出,中斷,跳轉(zhuǎn)至此INC 30H ;MOV A,30H ;CJNE A,#0AH,TI
20、ME1 ;30H單元中的值到10了嗎?(計(jì)時(shí)到10毫秒了嗎,也就是說(shuō),該向毫秒位送數(shù)了嗎?)MOV DPTR,#TAB ;30H中的值到10了,順序執(zhí)行MOV A,R0 ;INC R0 ;CJNE R0,#0AH,GET ;R0中的值到10了嗎?(該向秒位進(jìn)位了嗎?)MOV R0,#00H ;LCALL SECOND ;到了,R0清零,調(diào)用進(jìn)位子程序SECOND,向秒位進(jìn)位GET: ;沒(méi)到,跳過(guò)進(jìn)位子程序MOVC A,A+DPTR ;MOV P1,A ;查表并向數(shù)碼管毫秒位送數(shù)MOV 30H,#00H ;重置30H單元TIME1: ;MOV TH0,#0D8H ;MOV TL0,#0FEH ;
21、給定時(shí)器0重新預(yù)置數(shù)RETI ;中斷返回SECOND: ;秒位進(jìn)位子程序PUSH ACC ;PUSH PSW ;將ACC和PSW推入堆棧保護(hù)MOV A,R1 ;INC R1 ;CJNE R1,#14H,GET1 ;R1中的值到20了嗎,也就是說(shuō),該向十秒位進(jìn)位了嗎?MOV R1,#0AH ;LCALL SECOND1 ;到了。R1重置,調(diào)用進(jìn)位子程序SECOND1,向十秒位進(jìn)位GET1: ;沒(méi)到,跳過(guò)進(jìn)位子程序MOVC A,A+DPTR ;MOV P2,A ;查表并向數(shù)碼管秒位送數(shù)POP PSW ;POP ACC ;PSW,ACC出棧RET ;子程序返回SECOND1: ;十秒位進(jìn)位子程序PU
22、SH ACC ;PUSH PSW ;將ACC和PSW推入堆棧保護(hù)MOV A,R2 ;INC R2 ;CJNE R2,#0AH,GET2 ;R2中的值到10了嗎,也就是說(shuō),該將此位歸零了嗎?MOV R2,#00H ;到了,R2清零GET2: ;沒(méi)到,跳過(guò)清零程序MOVC A,A+DPTR ;MOV P0,A ;查表并向數(shù)碼管十秒位送數(shù)POP PSW ;POP ACC ;PSW,ACC出棧RET ;子程序返回STOP: ;清零鍵按下,跳轉(zhuǎn)至此MOV P3,#0FFH ;MOV P0,#3FH ;MOV P1,#3FH ;MOV P2,#0BFH ;數(shù)碼管清零MOV 30H,#00H ;MOV R0
23、,#00H ;MOV R1,#0AH ;MOV R2,#00H ;工作寄存器初始化CLR TR0 ;計(jì)時(shí)器0停止計(jì)時(shí)MOV TH0,#0D8H ;MOV TL0,#0FEH ;定時(shí)器0預(yù)置數(shù)AJMP READ ;DELAY: ;延時(shí)10ms子程序MOV R3,#50D ;D1:MOV R4,#100D ;D2:DJNZ R4,D2 ;DJNZ R3,D1 ;RET ;子程序返回TAB: DB 06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,3FH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFH,0BFH ;數(shù)碼管段選碼數(shù)表END ;
24、程序結(jié)束圖7:系統(tǒng)仿真結(jié)果5 課程設(shè)計(jì)體會(huì)經(jīng)過(guò)一周的不懈努力,單片機(jī)的課程設(shè)計(jì)終于完成了。在這期間我們學(xué)會(huì)了很多,也學(xué)到了很多,同時(shí),對(duì)單片機(jī)這門課程有了更深一步的理解和掌握。1、本次課程設(shè)計(jì)使我加深了對(duì)單片機(jī)課程的全面認(rèn)識(shí),復(fù)習(xí)和掌握,對(duì)MC-51單片機(jī)有了更深入的了解,對(duì)I/O口的使用,晶振電路的接法,以與復(fù)位電路等的掌握都有了很大程度的提高,這為以后的實(shí)踐打下了良好的基礎(chǔ)。2、掌握了定時(shí)器、外部中斷的設(shè)置和編程原理。3、通過(guò)此次課程設(shè)計(jì)能夠?qū)纹瑱C(jī)軟硬件結(jié)合起來(lái),對(duì)程序進(jìn)行編輯,校驗(yàn)。4、還要根據(jù)實(shí)驗(yàn)的實(shí)際情況,添加些額外程序來(lái)使系統(tǒng)更加的穩(wěn)定,如開(kāi)關(guān)的消震蕩(采用延遲)。5、程序要盡量
25、做到由各個(gè)子程序組成,在有些程序后面最好加注釋,這樣在程序出錯(cuò)的檢查過(guò)程中可以更容易查找的到,也更簡(jiǎn)潔,更明白易懂。6、我在編程過(guò)程中還有好多不理解的地方,經(jīng)過(guò)同學(xué)的幫助終于完成了這次設(shè)計(jì)。在這個(gè)過(guò)程中體會(huì)到了合作的好處,更了解的互相幫助的重要性。由于編程能力的有限和所學(xué)知識(shí)的局限性,在這個(gè)程序和設(shè)計(jì)系統(tǒng)中雖然實(shí)現(xiàn)了所有的基本要求和部分的高級(jí)要求,但是這其中還有許多不完善的地方,有時(shí)在上翻和下翻時(shí)會(huì)出現(xiàn)一些問(wèn)題,這說(shuō)明我在這方面還存在著很多不足,知識(shí)不夠完備和系統(tǒng),在以后的學(xué)習(xí)中還有待提高。另外,在實(shí)踐中雖然焊接好了硬件電路,卻沒(méi)能實(shí)踐成功,希望老師能在以后的學(xué)習(xí)和生活中對(duì)我多加指導(dǎo),促使我能
26、取得更大的進(jìn)步。6參考文獻(xiàn)1余發(fā)山編著單片機(jī)原理與應(yīng)用技術(shù):中國(guó)礦業(yè)大學(xué),2003年2凌霄編著.微型計(jì)算機(jī)原理與應(yīng)用.:中國(guó)礦業(yè)大學(xué),2004年3寧編著.單片機(jī)與控制技術(shù).:航空航天大學(xué),2004年4王閃編著.AT89系列單片機(jī)原理與接口技術(shù).:航空航天大學(xué),2004年附錄:程序清單:ORG 0000H ;程序開(kāi)始AJMP START ;跳轉(zhuǎn)到主程序START ORG 000BH ;定時(shí)器0中斷的地址入口AJMP TIME0 ;定時(shí)器0溢出,跳轉(zhuǎn)到中斷程序TIME0START: ;主程序MOV P3,#0FFH ;輸入端口P3全寫1MOV P0,#3FH ;MOV P1,#3FH ;MOV P
27、2,#0BFH ;數(shù)碼管初始化MOV 30H,#00H ;MOV R0,#00H ;MOV R1,#0AH ;MOV R2,#00H ;工作寄存器初始化MOV TMOD,#01H ;定時(shí)器0工作于方式1MOV TH0,#0D8H ;MOV TL0,#0FEH ;定時(shí)器0預(yù)置數(shù)(D8FEH=55550D)SETB EA ;開(kāi)總中斷允許SETB ET0 ;開(kāi)定時(shí)器0中斷允許READ: ;讀鍵程序L1: P3.2,L2 ;LCALL DELAY ;按鍵延時(shí)防抖 P3.2,L1 ;AJMP RUN ;確認(rèn)計(jì)時(shí)鍵被按下,開(kāi)始/繼續(xù)計(jì)時(shí)L2: P3.3,L3 ;LCALL DELAY ;按鍵延時(shí)防抖 P3
28、.3,L2 ;AJMP PAUSE ;確認(rèn)暫停鍵被按下,暫停計(jì)時(shí)L3: P3.4,L1 ;LCALL DELAY ;按鍵延時(shí)防抖 P3.4,L3 ;AJMP STOP ;確認(rèn)清零鍵被按下,秒表重置RUN: ;計(jì)時(shí)鍵按下,跳轉(zhuǎn)至此SETB TR0 ;定時(shí)器0開(kāi)始/繼續(xù)運(yùn)行AJMP READ ;PAUSE: ;暫停鍵按下,跳轉(zhuǎn)至此CLR TR0 ;AJMP READ ; TIME0: ;定時(shí)器0溢出,中斷,跳轉(zhuǎn)至此INC 30H ;MOV A,30H ;CJNE A,#0AH,TIME1 ;30H單元中的值到10了嗎?(計(jì)時(shí)到10毫秒了嗎,也就是說(shuō),該向毫秒位送數(shù)了嗎?)MOV DPTR,#TAB ;30H中的值到10了,順序執(zhí)行MOV A,R0 ;INC R0 ;CJNE R0,#0AH,GET ;R0中的值到10了嗎?(該向秒位進(jìn)位了嗎?)MOV R0,#00H ;LCALL SECOND ;到了,R0清零,調(diào)用進(jìn)位子程序SECOND,向秒位進(jìn)位GET: ;沒(méi)到,跳過(guò)進(jìn)位子程序MOVC A,A+DPTR ;MOV P1,A ;查表并向數(shù)碼管毫秒位送數(shù)MOV 30H,#
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 西安建筑科技大學(xué)華清學(xué)院《安裝工程計(jì)量與計(jì)價(jià)實(shí)訓(xùn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 鄭州輕工業(yè)大學(xué)《數(shù)據(jù)分析與大數(shù)據(jù)技術(shù)的數(shù)學(xué)基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 做賬實(shí)操-快遞公司加盟商保證金的賬務(wù)處理分錄
- 2025年江西省建筑安全員考試題庫(kù)附答案
- 四川建筑職業(yè)技術(shù)學(xué)院《建筑材料(B)》2023-2024學(xué)年第二學(xué)期期末試卷
- 中國(guó)地質(zhì)大學(xué)(北京)《熱力系統(tǒng)工程與仿真》2023-2024學(xué)年第二學(xué)期期末試卷
- 濟(jì)寧職業(yè)技術(shù)學(xué)院《植物營(yíng)養(yǎng)與肥料學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 河南水利與環(huán)境職業(yè)學(xué)院《栽培與耕作學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 楊凌職業(yè)技術(shù)學(xué)院《飛行控制系統(tǒng)》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣東文理職業(yè)學(xué)院《輻射防護(hù)課程設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 工期定額-民用建筑
- 黃土地質(zhì)災(zāi)害類型及其危害性評(píng)估
- 交際德語(yǔ)教程第二版A1Studio[21] 課后習(xí)題參考答案
- 最新修改 班組安全管理建設(shè)--5831模式通用課件
- 氣割、電氣焊作業(yè)的應(yīng)急救援預(yù)案
- 2018年柴油機(jī)大修工程量單
- 超級(jí)精美PPT模版美國(guó)經(jīng)典ppt模板(通用珍藏版2)
- 2022年“葉圣陶杯”全國(guó)中學(xué)生新作文大賽專用稿紙
- 中醫(yī)內(nèi)科方歌-八
- 氣動(dòng)控制閥的定義分類及工作原理詳解
- 梯形練字格A4紙打印版
評(píng)論
0/150
提交評(píng)論