單片機(jī)定時器設(shè)計_第1頁
單片機(jī)定時器設(shè)計_第2頁
單片機(jī)定時器設(shè)計_第3頁
單片機(jī)定時器設(shè)計_第4頁
單片機(jī)定時器設(shè)計_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

摘要摘要隨著時代的進(jìn)步,電子行業(yè)的發(fā)展,定時器的應(yīng)用也越來越廣泛,單片機(jī)以其強(qiáng)大的功能,成為許多功能電子產(chǎn)品的首選。本次電子定時器電路根據(jù)設(shè)計要求采用AT89C51單片機(jī)來實現(xiàn)最大99秒倒計時,采用兩位數(shù)碼管顯示。文章的核心主要是硬件介紹及連接和軟件編程兩個大的方面。硬件電路主要包括AT89C51、晶振電路、數(shù)碼管,發(fā)光二級管,按鍵。軟件用匯編語言實現(xiàn),主要包括主程序、倒計時、重啟控制程序等軟件模塊。采用軟硬件配合基本能實現(xiàn)設(shè)定定時時間倒計時功能,達(dá)到了設(shè)計的要求和目的。并在Proteus軟件上進(jìn)行了仿真和調(diào)試。關(guān)鍵詞AT89C51單片機(jī);定時器;倒計時目錄摘要第一章緒論1.1定時器的發(fā)展1.2電子定時器的應(yīng)用1.3選題的目的和意義1.4本章小結(jié)TOC\o"1-5"\h\z\o"CurrentDocument"第二章單片機(jī)的基礎(chǔ)知識3\o"CurrentDocument"2.1單片機(jī)簡介3\o"CurrentDocument"2.2單片機(jī)的特點32.3本章小節(jié)\o"CurrentDocument"第三章功能實現(xiàn)及硬件介紹43.1設(shè)計功能實現(xiàn)4\o"CurrentDocument"3.2C51單片機(jī)引腳介紹93.3時鐘和復(fù)位電路\o"CurrentDocument"3.4數(shù)碼管顯示10\o"CurrentDocument"3.5鍵盤123.6電氣原理圖3.7本章小結(jié)\o"CurrentDocument"第四章軟件設(shè)計15\o"CurrentDocument"4.1程序流程圖15\o"CurrentDocument"4.2定時1秒設(shè)計16\o"CurrentDocument"4.3重新啟動17\o"CurrentDocument"4.4程序174.5本章小結(jié)結(jié)論參考文獻(xiàn)致謝第一章緒論1.1定時器的發(fā)展人類最早使用的定時工具是沙漏或水漏,但在鐘表誕生發(fā)展成熟之后,人們開始嘗試使用這種全新的計時工具來改進(jìn)定時器,達(dá)到準(zhǔn)確控制時間的目的。傳統(tǒng)的定時器都是使用發(fā)條驅(qū)動式、電機(jī)傳動式、電鐘式等機(jī)械定時器。20世紀(jì)末,電子技術(shù)獲得了飛速的發(fā)展,在其推動下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會的備個領(lǐng)域,有力地推動了社會生產(chǎn)力的發(fā)展和社會信息化程度的提高,同時也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。電子定時器相對傳統(tǒng)定時器來說體積小,重量輕,造價低,精度高,壽命長,而且安全可靠適用于頻繁使用,在各個領(lǐng)域得到了廣泛的應(yīng)用。使相當(dāng)多需要人控制時間的工作變得簡單了許多。目前,單片機(jī)正朝著高性能和多品種方向發(fā)展趨勢將是進(jìn)一步向著CMOS化、低功耗、小體積、大容量、高性能、低價格和外圍電路內(nèi)裝化等幾個方而發(fā)展,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計思想和設(shè)計方法。從前必須由模擬電路或數(shù)字電路實現(xiàn)的大部分功能,現(xiàn)在己能用單片機(jī)通過軟件方法來實現(xiàn)了。這種軟件代替硬件的控制技術(shù)也稱為微控制技術(shù),是傳統(tǒng)控制技術(shù)的一次革命。1.2電子定時器的應(yīng)用電子定時器大大地擴(kuò)展了鐘表原先的報時功能。諸如定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、自動起閉路燈、定時開關(guān)烘箱、通斷動力設(shè)備甚至各種定時電氣的自動啟用等。電子定時器經(jīng)常用于延時自動關(guān)機(jī)、定時。延時自動關(guān)機(jī)可用于電視機(jī)、催眠器、路燈及其他電器的延時斷電及延時自停電源等。定時可用于照相定時曝光,定時閃光,定時放大,水位定時報警,延時電鈴,延時電子鎖等,人們甚至將定時器用在了軍事方面,制成了定時炸彈,定時雷管。電子定時器影響著人類的生產(chǎn)和生活,隨著電子技術(shù)的發(fā)展,電子定時器也在不斷的進(jìn)步,將朝著更高精度,更多用途的方向為我們服務(wù)。1.3選題的的目的和意義定時器與生活聯(lián)系密切,我們親身體會到它存在的價值,通過課程設(shè)計自己親自完成電子定時器的簡單設(shè)計不僅可以將學(xué)到的理論知識應(yīng)用于實踐,更提高了我們思考問題,解決問題的能力,同時提高我們的學(xué)習(xí)興趣。1.4本章小結(jié)本章小結(jié):本章主要介紹了定時器的現(xiàn)狀,讓我們對電子定時器的有了初步的了解,為進(jìn)一步設(shè)計及研究奠定了基礎(chǔ)。第二章單片機(jī)的相關(guān)知識2.1單片機(jī)簡介單片機(jī)全稱為單片機(jī)微型計算機(jī)(SingleChipMicrosoftcomputer)。從應(yīng)用領(lǐng)域來看,單片機(jī)主要用來控制,所以又稱為微控制器(MicrucontrollerUnit)或嵌入式控制器。單片機(jī)是將計算機(jī)的基本部件微型化并集成在一塊芯片上的微型計算機(jī)。2.2單片機(jī)的特點單片機(jī)的存儲器ROM和RAM是嚴(yán)格區(qū)分的。RAM稱為程序存儲器,只存放程序,固定常數(shù),及數(shù)據(jù)表格。RAM則為數(shù)據(jù)存儲器,用作工作區(qū)及存放用戶數(shù)據(jù)。采用面向控制的指令系統(tǒng)。為滿足控制需要,單片機(jī)有更強(qiáng)的邏輯控制能力,特別是單片機(jī)具有很強(qiáng)的位處理能力。單片機(jī)的I/O通常是多功能的。由于單片機(jī)芯片上引腳數(shù)目有限,為了解決實際引腳數(shù)和需要的信號線的矛盾,采用了引腳功能復(fù)用的方法,引腳處于何種功能,可由指令來設(shè)置或由機(jī)器狀態(tài)來區(qū)分。2.3本章小結(jié)通過對單片機(jī)總體的介紹,我們對單片機(jī)有了初步的認(rèn)識,針對單片機(jī)的特點對其應(yīng)用也有了更深的目的性。第三章功能實現(xiàn)及硬件介紹3.1設(shè)計功能介紹P1.0定時開始,P1.1時間調(diào)整,P1.2重新啟動首先初始狀態(tài)顯示00,按下P1.1所連按鍵進(jìn)行時間加1操作,設(shè)定好后按下P1.0所連按鍵倒計時開始,當(dāng)所設(shè)定時間到達(dá)時顯示00,二極管發(fā)光。系統(tǒng)總體框圖3.2C51單片機(jī)引腳介紹一、89C51的性能及特點89C51的主要性能包括:

與MCS-51微控制器產(chǎn)品系列兼容。片內(nèi)有4KB可在線重復(fù)編程的快閃擦寫存儲器(FLASHMDMORY)。存儲器可循環(huán)寫入/擦除1000次。存儲數(shù)據(jù)保存時間為10年。寬工作電壓范圍:VCC可為2.7?6V。全靜態(tài)工作:可從0HZ到16MHZ。程序存儲器具有3級加密保護(hù)。128X8位內(nèi)部RAM。32條可編程I/O線。兩個16位定時器/計數(shù)器。中斷結(jié)構(gòu)具有5個中斷源和2個優(yōu)先級。可編程全雙工串行通道。空閑狀態(tài)維持低功耗和掉電狀態(tài)保存存儲內(nèi)容。PlJ^1JP1.+PlJPl.tPl.7E-EKEIP3J0PlJ^1JP1.+PlJPl.tPl.7E-EKEIP3J0FJ-LP3JP33P3.+P3JP3.tF3.7F1J0PULP1+023?33&+37打t73+833y10JX3111RI89C51301229132$1+2715H251721IS231?222021FQJQPOWPOMP0.7KL&FWOP2.7Ml-M3-P21~fTS-MCS-51系列單片機(jī)采用40引腳雙列直插式封裝(DIP),4個并行口共有32根引腳,可分別作為地址線、數(shù)據(jù)線和I/O線2根電源線2根時鐘震蕩電路引腳和4根控制線。電源引腳Vcc和VssVss:接地端。Vcc:芯片+5V電源端。時鐘信號引腳XTAL1和XTAL2XTAL1、XTAL2:當(dāng)使用單片機(jī)內(nèi)部震蕩電路時,用來外接石英晶體和微調(diào)電容,XTAL1是片內(nèi)震蕩電路反相放大器的輸入端,XTAL2是片內(nèi)震蕩電路反相放大器的輸出端,震蕩電路的頻率就是晶體的固有頻率。當(dāng)使用外部時鐘時,XTAL1接地,XTAL2接外部時鐘信號源??刂菩盘栆_RST/VPD、ALE/PROG、PSEN和EA/VPPRST/VPD:RST是復(fù)位信號輸入端。當(dāng)輸入的復(fù)位信號保持兩個機(jī)器周期(24個時鐘周期)以上的高電平時有效,用來完成復(fù)位操作第二功能VPD作為備用電源輸入端,當(dāng)主電源VCC發(fā)生故障,電壓降低到低電平規(guī)定值時,可通過VPD為單片機(jī)內(nèi)部RAM提供電源,以保護(hù)片內(nèi)RAM中的信息不丟失,使系統(tǒng)在上電后能繼續(xù)正常運行。ALE/EEEE:ALE為地址鎖存允許輸出信號。在訪問外部存儲器時,ALE用來鎖存P0口擴(kuò)展低8位地址的控制信號。在不訪問外部存儲器時,ALE也以時鐘震蕩頻率的1/6的固定頻率輸出,因而它又可用作對外輸出時鐘信號或其他需要,例如可以用示波器查看ALE是否有脈沖信號輸出來確定89C51芯片的好壞第二功能PREE是對內(nèi)部有EPROM的單片機(jī)的EPROM編程時編程脈沖輸入端,它和31號引腳的第二功能Vpp一起使用。PEEN:外部ROM的讀選通信號輸出端。在訪問外部ROM時,PEEN產(chǎn)生負(fù)脈沖作為讀外部ROM的選通信號。而在訪問外部RAM或片內(nèi)ROM時,不會產(chǎn)生有效PSEN信號。EA/VPP:EE是訪問外部ROM的控制信號。當(dāng)EA為低電平時,CPU只執(zhí)行外部ROM中的程序。當(dāng)EA為高電平且PC值小于0FFF(4K)時,CPU執(zhí)行內(nèi)部ROM的程序,但當(dāng)PC的值超出4K時將自動轉(zhuǎn)去執(zhí)行片外ROM的程序。對于無片內(nèi)ROM的8031或不使用內(nèi)部ROM的89C51,需外擴(kuò)EPROM,此時EA必須接地第二種功能VPP是對8751的片內(nèi)EPROM的+21V編程電源輸入端。P0~P3口結(jié)構(gòu)及功能(1)P0口由一個輸出鎖存器、一個轉(zhuǎn)換開關(guān)MUX、兩個三態(tài)輸入緩沖器、輸出驅(qū)動電路和一個與門及一個反相器組成,如圖2-2所示。

地址f數(shù)據(jù)控制V3讀城存器閔部總線寫讀引腳地址f數(shù)據(jù)控制V3讀城存器閔部總線寫P0口具有兩種功能:第一,P0口可以用作通用I/O接口;第二,P0口可以用作地址/數(shù)據(jù)總線。(2)P1口是由一個輸出鎖存器、兩個三態(tài)輸入緩沖器和輸出驅(qū)動電路組成,驅(qū)動電路內(nèi)部設(shè)有上拉電阻,如圖2-3所示。讀也存器內(nèi)部總鱗寫讀引腳,Vcc■■■上拉電阻—j一讀也存器內(nèi)部總鱗寫讀引腳,nl圖2-3P1口位結(jié)構(gòu)圖P1口是51單片機(jī)唯一的單功能口,是通用的準(zhǔn)雙向I/O口。(3)P2口由一個輸出鎖存器、一個轉(zhuǎn)換開關(guān)MUX、兩個三態(tài)輸入緩沖器、輸出驅(qū)動電路和一個反相器組成,如圖2-4所示。

ML-K讀罰■?圖2-4P2ML-K讀罰■?P2口共有兩個功能:第一個功能與上述兩組引腳的第一功能相同,即可用作通用I/O口;它的第二功能與P0口引腳的第二功能相配合,作為地址總線用于輸出片外存儲器的高8位。(4)P3口由一個輸出鎖存器、三個三態(tài)輸入緩沖器、輸出驅(qū)動電路和一個與非門組成,如圖2-5所示。讀鎖存黯內(nèi)部怠線寫,讀引腳Vcc第二輜出功能CP9第二輸入功能圖2-5P3口位結(jié)構(gòu)圖Vcc第二輜出功能CP9第二輸入功能P3口有兩個功能:第一個功能與其余三個端口的第一功能相同;第二功能做控制用,每個引腳的功能不同:P3.0——RXD:串行口接收數(shù)據(jù)輸入端P3.1——TXD:串行口發(fā)送數(shù)據(jù)輸出端P3.2——INT0:外部中斷申請輸入端0P3.3——INT1:外部中斷申請輸入端1P3.4——T0:外部計數(shù)脈沖輸入端0

P3.5——T1:外部計數(shù)脈沖輸入端1P3.6——WR:寫外設(shè)控制信號輸出端P3.7——RD:讀外設(shè)控制信號輸出端3.3時鐘電路和復(fù)位電路單片機(jī)的時鐘信號用來提供單片機(jī)內(nèi)各種微操作的時間基準(zhǔn);復(fù)位操作則使單片機(jī)的片內(nèi)電路初始化,使單片機(jī)從一種確定的狀態(tài)開始運行。時鐘電路:NCS-513內(nèi)部時呦式典)外部時鐘方式單片機(jī)的時鐘信號通常有兩種產(chǎn)生方式。一種是內(nèi)部時鐘方式;另一種NCS-513內(nèi)部時呦式典)外部時鐘方式XTAL2XTAL1GND圖2-6時鐘方式圖內(nèi)部時鐘方式只要在單片機(jī)的XTAL1和XTAL2引腳外接晶振就構(gòu)成了自激振蕩器,并在單片機(jī)內(nèi)部產(chǎn)生時鐘脈沖信號。外部時鐘方式是把外部已有的時鐘信號引入到單片機(jī)內(nèi),常用于多片單片機(jī)同時工作,已使各單片機(jī)同步。單片機(jī)的時序單位:晶振周期為時鐘脈沖頻率的倒數(shù),為最小的時序單位,也稱T狀態(tài);時鐘周期包含兩個晶振周期,也稱S狀態(tài);完成一個基本操作所需要的時間稱為機(jī)器周期,由6個時鐘周期組成,即12個晶振周期;指令的執(zhí)行時間稱為指令周期,通常含有1~4個機(jī)器周期。單片機(jī)的復(fù)位狀態(tài):當(dāng)MCS-5l系列單片機(jī)的復(fù)位引腳RST(全稱RESET)出現(xiàn)2個機(jī)器周期以上的高電平時,單片機(jī)就執(zhí)行復(fù)位操作。如果RST持續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài)。根據(jù)應(yīng)用的要求,復(fù)位操作通常有兩種基本形式:上電復(fù)位和手動復(fù)位。上電復(fù)位要求接通電源后,自動實現(xiàn)復(fù)位操作。手動復(fù)位是當(dāng)單片機(jī)已在運行當(dāng)中時,按下復(fù)位鍵K后松開,也能使RST為一段時間的高電平,從而實現(xiàn)上電或開關(guān)復(fù)位的操作。單片機(jī)的復(fù)位操作使單片機(jī)進(jìn)入初始化狀態(tài),其中包括使程序計數(shù)器PC=0000H,這表明程序從0000H地址單元開始執(zhí)行。單片機(jī)冷啟動后,片內(nèi)RAM為隨機(jī)值,運行中的復(fù)位操作不改變片內(nèi)RAM區(qū)中的內(nèi)容,21個特殊功能寄存器復(fù)位后的狀態(tài)為確定值,見下表(表中符號*為隨機(jī)狀態(tài))。表2-1特殊功能寄/存器復(fù)位后的狀態(tài)表特殊功能寄存器初始狀態(tài)特殊功能寄存器初始狀態(tài)A00HTMOD00HB00HTCON00HPSW00HTH000HSP07HTL000HDPL00HTH100HDPH00HTL100HP0?P3FFHSBUF不定IP***00000BSCON00HIE0**00000BPCON0*******B3.4數(shù)碼管顯示LED(lightEmitingDiode)是發(fā)光管的縮寫。LED顯示器是由發(fā)光二極管構(gòu)成的,所以在顯示器前面冠以“LED”°LED顯示器在單片機(jī)中的應(yīng)用非常普遍。1)、LED顯示原理通常所說的LED顯示器由7個發(fā)光二極管組成,因此也稱之為七段LED此外,顯示器中還有一個圓點型發(fā)光二極管(在圖中以dp表示),用于顯示小數(shù)點。通過七段發(fā)光二極管亮暗的不同組合,可以顯示數(shù)字、字母以及其他符號。LED顯示器中的發(fā)光二極管共有兩種連接方法:共陽極接法把二極管的陽極連在一起構(gòu)成公共陽極。使用時公共陽極+5V。這樣陰極端輸入低電平的段發(fā)光二極管就導(dǎo)通點亮,而輸入高電平的則不亮。共陰極接法把發(fā)光二極管的陰極連在一起構(gòu)成公共陰極。使用時公共陰極接地,這樣陽極端輸入高電平的段發(fā)光二極管就導(dǎo)通點亮,而輸入低電平的則不點亮。使用LED顯示器時要注意區(qū)分這兩種不同的接法。為了顯示數(shù)字或符號,要為LED顯示器提供代碼,因為這些代碼是為顯示字形的,因此稱之為字形代碼。七段發(fā)光二極管,再加上一個小數(shù)點位,共計八段。因此提供給LED

顯示器的字形代碼正好一個字節(jié)。各代碼的對應(yīng)關(guān)系如下:代碼位D7D6D5D4D3D2D1D0顯示段dpgfEDcba用LED顯示器顯示十六進(jìn)制數(shù)的字形代碼在下表中列出。字型共陽極代碼共陰極代碼字型共陽極代碼共陰極代碼0C0H3FH990H6FH1F9H06HA88H77H2A4H5BHB83H7CH3B0H4FHCC6H39H499H66HDA1H5EH592H6DHE86H79H682H7DHF8EH71H7F8H07H滅FFH00H880H7FH此設(shè)計使用的是共陽極接法。3.5鍵盤鍵盤的工作方式應(yīng)該根據(jù)實際應(yīng)用系統(tǒng)中CPU的工作狀況而定,其選取的原則是既要保證CPU能及時響應(yīng)按鍵操作,又不要過多占用CPU的工作時間。通常,鍵盤的工作方式有三種,即編程掃描、定時掃描和中斷掃描。1編程掃描方式編程掃描方式是利用CPU完成其他工作的空余時間,調(diào)用鍵盤掃描子程序來檢驗按鍵狀態(tài),響應(yīng)鍵盤輸入。執(zhí)行鍵功能程序時,CPU不再享有鍵輸入要求,直到CPU重新掃描鍵盤為止。2定時掃描方式定時掃描方式就是每隔一段時間對鍵盤掃描一次,她利用單片機(jī)內(nèi)部的定時器產(chǎn)生一定時間(如20ms)的定時,定時時間到產(chǎn)生定時器溢出中斷。

CPU在中斷服務(wù)程序中鍵盤進(jìn)行掃描,并在有鍵按下時識別出該鍵并保存鍵號,然后在中斷服務(wù)程序或主程序中執(zhí)行該鍵的功能程序。3中斷掃描方式本設(shè)計采用上述兩種鍵盤掃描方式時,無論是否有鍵按下,CPU都要定時掃描鍵盤,而單片機(jī)應(yīng)用系統(tǒng)工作時,并非經(jīng)常需要鍵盤輸入。因此,CPU經(jīng)常處于空掃描狀態(tài),浪費CPU大量時間,CPU不掃描鍵盤,而有鍵按下時,通過相應(yīng)電路產(chǎn)生中斷請求,CPU相應(yīng)中斷,執(zhí)行鍵盤掃描子程序,并識別鍵號。本設(shè)計采用程序掃描方式。步驟如下:首先判斷是否有鍵按下。去除鍵抖動。若有鍵按下,則延時5?10ms,再一次判斷有無鍵按下,如果此時仍有鍵按下,則認(rèn)為鍵盤上有一個鍵處于穩(wěn)定閉合期。若有鍵閉合,執(zhí)行相應(yīng)的子程序。3.6電氣原理圖U1XTAL1P0.0/AD0P0.1/AD1P0.2/AD2XTAL2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6RSTP0.7/AD7P2.0/A8—P2.1/A9P2.2/A10PSENU1XTAL1P0.0/AD0P0.1/AD1P0.2/AD2XTAL2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6RSTP0.7/AD7P2.0/A8—P2.1/A9P2.2/A10PSENP2.3/A11ALEP2.4/A12EAP2.5/A13P2.6/A14P2.7/A15P1.0P30/RXDP1.1P3.1/TXDP1.2P3.2/INT0P1.3P3.3/INT1P1.4P3.4T0P1.5P3.5/T1P1.6P3.6/WRP3.7/RD本次課程設(shè)計采用軟硬件結(jié)合的方式,對硬件系統(tǒng)有了詳細(xì)的認(rèn)識才能更好的對其編程,是下一章的學(xué)習(xí)和研究的基礎(chǔ)。4.1程序流程圖第四章軟件設(shè)計開始結(jié)束初始化T0,T1,顯示00開始倒計時加1按鍵掃描p1.1,p1.2P1.1按下P1.0按下判斷是否到00燈亮顯示主程序流程圖重啟控制流程圖4.2定時1秒設(shè)計定時方法我們采用軟硬件結(jié)合的方法,定時器TO工作于方式1定時50毫秒,這樣每當(dāng)T0到50毫秒時CPU就響應(yīng)它的溢出中斷請求進(jìn)入他的中斷服務(wù)子程序。定時器的最大定時時間為50ms,因此如果想得到1s的定時,需要計20次50ms才能實現(xiàn)。設(shè)計中p3.5出現(xiàn)低電平時燈亮,所以通過p1.3引腳控制,每500ms對p1.3取反,因此計數(shù)器T1計數(shù)十次。工作方式控制寄存器(TMOD)TMOD寄存器是一個專用寄存器,用于設(shè)定兩個定時器/計數(shù)器的工作方式。但TMOD寄存器不能尋址,只能用字節(jié)傳送指令設(shè)置其內(nèi)容。其定義如下:位序B7B6B5B4B4B3B2Bl位符號GATEC/TM1M0GATEC/TMlM0定時/計數(shù)器1定時/計數(shù)器04位一組的結(jié)構(gòu)使它不能位尋址,一定義就是4位。從寄存器的位個時鐘可以看出,它的低半字節(jié)定義定時器/計數(shù)器0,高半字節(jié)定義定時器/計數(shù)器1。根據(jù)設(shè)計的要求設(shè)置TMOD。T0工作于定時狀態(tài),定時50ms,工作方式1,T1工作于計數(shù)狀態(tài),方式二。X=216一定時時間/振蕩周期X12=216—50X103X12X106/12=65536一定時時間=65536—50000=3CB0H所以初值TH0=3CH、TL0=0B0H4.3重新啟動每次定時完畢以后,需要重新定時時,需要將系統(tǒng)恢復(fù)初始狀態(tài),按下與P1.2相連的按鍵程序自動返回,執(zhí)行新的定時邀請。4.4程序設(shè)計org0000hljmpmainorg000bhljmptimeorg0100hmain:movtmod,#61h;設(shè)置定時器初值movth0,#3chmovtl0,#0b0hsetbea;開中斷

setbet0movth1,#0f6hmovtl1,#0f6hsetbeasetbet0movth1,#0f6hmovtl1,#0f6hmova,#00hmovb,#00hmovdptr,#tabmovr0,amovea,@a+dptrmovp0,amova,bmovea,@a+dptrmovp2,amova,r011:jnbp1.1,l2jnbp1.0,1519:jbp1.1,11ineamovr0,aelresubba,#0ah;設(shè)置計數(shù)器初值;將設(shè)置好的時間低位經(jīng)P0口輸出;將高位賦給寄存器a;找到相應(yīng)的數(shù)碼管顯示段值;設(shè)置好的高位時間經(jīng)P2口輸出;寄存器a恢復(fù)低位;判斷P1.1,有按下則跳轉(zhuǎn)到12;判斷P1.0,有按下則跳轉(zhuǎn)到15;再次判斷P1.1有無按下;P1.1按下則低位加一調(diào)整時間;保存當(dāng)前設(shè)置時間低位;進(jìn)位標(biāo)志位清零;當(dāng)前值與10比較jne14;若無借位,說明時間已經(jīng)到10,跳轉(zhuǎn)到14若有借位,說明時間不到十,繼續(xù)mova,r0movr0,amovea,@a+dptrmovp0,amova,bmovea,@a+dptr;查詢要顯示的段碼值;低位經(jīng);查詢要顯示的段碼值;低位經(jīng)p0口輸出;高位經(jīng)p2口輸出mova,r0;恢復(fù)時間低位l3:jnbp1.1,l3;等待p1.1按鍵彈起后再次掃描p1.1,是否繼續(xù)加一調(diào)整定時時間ljmpl1l4:mova,#00h;地位值到10,則低位清零incb;高位加一movr0,a;保存時間低位movca,@a+dptr;找到相應(yīng)的顯示段碼movp0,a;低位經(jīng)p0口輸出mova,bmovca,@a+dptrmovp2,a;高位經(jīng)p2口輸出mova,r0;恢復(fù)低位值ljmpl3;跳轉(zhuǎn)到繼續(xù)掃描按鍵l2:movr7,#40;時間延遲10msdel11:movr6,#123nopdel21:djnzr6,del21djnzr7,del11ljmpl9;10ms后跳轉(zhuǎn)到l9l5:movr7,#40;10ms延時del12:movr6,#123nopdel22:djnzr6,del22djnzr7,del12jnbp1.0,l6;繼續(xù)判斷p1.0,若有按下跳轉(zhuǎn)到l6ljmpl1;若無按下,繼續(xù)掃描按鍵l6:setbtr0;倒計時開始,開定時器T0setbtr1;開計數(shù)器T1

loop2:jbctf1,loop1;500ms時間到,跳轉(zhuǎn)到loop1ajmploop2;不到500ms,等待loop1:deca;時間低位減一movr0,a;保存當(dāng)前低位值clrc;借位標(biāo)志清零subba,#0ffh;與#ffh比較jncl7;若沒有借位,則說明已經(jīng)減到了0,減一后為ff,跳到l7,若有借位,則還沒有減到0,繼續(xù)減一mova,r0movr0,amovca,@a+dptrmovp0,a;輸出低位mova,bmovca,@a+dptrmovp2,a;輸出高位mova,r0;恢復(fù)a低位值jmpl6;跳轉(zhuǎn)到l6繼續(xù)定時減一l7:mova,bjzl8;判斷高位是否到0,到0,跳到l8decb;高位沒有到0,則繼續(xù)減一mova,#09h;低位清零movr0,a;恢復(fù)a低位值movca,@a+dptrmovp0,a;低位輸出mova,bmovca,@a+dptrmovp2,a;高位輸出mova,r0ljmp16tab:db0c0h,0f9h,0a4h,0b0hdb99h,92h,82h,0f8hdb80h,90hl8:clrp1.7;使p1

溫馨提示

  • 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

提交評論