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

下載本文檔

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

文檔簡(jiǎn)介

1、摘要摘要隨著時(shí)代的進(jìn)步,電子行業(yè)的發(fā)展,定時(shí)器的應(yīng)用也越來(lái)越廣泛,單片 機(jī)以其強(qiáng)大的功能,成為許多功能電子產(chǎn)品的首選。本次電子定時(shí)器電路根 據(jù)設(shè)計(jì)要求采用AT89C51單片機(jī)來(lái)實(shí)現(xiàn)最大99秒倒計(jì)時(shí),采用兩位數(shù)碼管 顯示。文章的核心主要是硬件介紹及連接和軟件編程兩個(gè)大的方面。硬件電達(dá)到了設(shè)計(jì)的要求和目的。并路主要包括AT89C51晶振電路、數(shù)碼管,發(fā)光二級(jí)管,按鍵。軟件用匯編 語(yǔ)言實(shí)現(xiàn),主要包括主程序、倒計(jì)時(shí)、重啟控制程序等軟件模塊。采用軟硬 件配合基本能實(shí)現(xiàn)設(shè)定定時(shí)時(shí)間倒計(jì)時(shí)功能, 在Proteus軟件上進(jìn)行了仿真和調(diào)試。 關(guān)鍵詞AT89C51單片機(jī);定時(shí)器;倒計(jì)時(shí)I燕山大學(xué)本科課程設(shè)計(jì)173

2、第一章第二章第三章第四章目錄摘要緒論定時(shí)器的發(fā)展.電子定時(shí)器的應(yīng)用 選題的目的和意義 本章小結(jié)1.11.21.31.4單片機(jī)的基礎(chǔ)知識(shí)2.1單片機(jī)簡(jiǎn)介2.2單片機(jī)的特點(diǎn)2.3本章小節(jié)功能實(shí)現(xiàn)及硬件介紹.'3.1設(shè)計(jì)功能實(shí)現(xiàn).3.2 C51單片機(jī)引腳介紹3.3時(shí)鐘和復(fù)位電路3.4數(shù)碼管顯示3.5鍵盤(pán)3.6電氣原理圖3.7本章小結(jié)軟件設(shè)計(jì)程序流程圖定時(shí)1秒設(shè)計(jì)重新啟動(dòng)程序本章小結(jié)4.14.24.34.44.5結(jié)論參考文獻(xiàn)致謝.101215151617燕山大學(xué)本科課程設(shè)計(jì)第一章緒論1.1定時(shí)器的發(fā)展人類最早使用的定時(shí)工具是沙漏或水漏,但在鐘表誕生發(fā)展成熟之后, 人們開(kāi)始嘗試使用這種全新的計(jì)時(shí)

3、工具來(lái)改進(jìn)定時(shí)器,達(dá)到準(zhǔn)確控制時(shí)間的 目的。傳統(tǒng)的定時(shí)器都是使用發(fā)條驅(qū)動(dòng)式、電機(jī)傳動(dòng)式、電鐘式等機(jī)械定時(shí) 器。20世紀(jì)末,電子技術(shù)獲得了飛速的發(fā)展,在其推動(dòng)下,現(xiàn)代電子產(chǎn)品 幾乎滲透了社會(huì)的備個(gè)領(lǐng)域,有力地推動(dòng)了社會(huì)生產(chǎn)力的發(fā)展和社會(huì)信息化 程度的提高,同時(shí)也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步提高, 產(chǎn)品更新?lián)Q代的節(jié)奏 也越來(lái)越快。電子定時(shí)器相對(duì)傳統(tǒng)定時(shí)器來(lái)說(shuō)體積小,重量輕,造價(jià)低,精 度高,壽命長(zhǎng),而且安全可靠適用于頻繁使用,在各個(gè)領(lǐng)域得到了廣泛的應(yīng) 用。使相當(dāng)多需要人控制時(shí)間的工作變得簡(jiǎn)單了許多。目前,單片機(jī)正朝著高性能和多品種方向發(fā)展趨勢(shì)將是進(jìn)一步向著 CMOS化、低功耗、小體積、大容量、高性能、

4、低價(jià)格和外圍電路內(nèi)裝化等 幾個(gè)方而發(fā)展,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計(jì)思想和設(shè)計(jì)方法。從前必須由模擬電路或數(shù)字電路實(shí)現(xiàn)的大部分功能, 現(xiàn)在己能用單片機(jī)通過(guò)軟 件方法來(lái)實(shí)現(xiàn)了。這種軟件代替硬件的控制技術(shù)也稱為微控制技術(shù),是傳統(tǒng)控制技術(shù)的一次革命。1.2電子定時(shí)器的應(yīng)用電子定時(shí)器大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí)功能。 諸如定時(shí)自動(dòng)報(bào)警、按 時(shí)自動(dòng)打鈴、時(shí)間程序自動(dòng)控制、定時(shí)廣播、自動(dòng)起閉路燈、定時(shí)開(kāi)關(guān)烘箱、 通斷動(dòng)力設(shè)備甚至各種定時(shí)電氣的自動(dòng)啟用等。電子定時(shí)器經(jīng)常用于延時(shí)自動(dòng)關(guān)機(jī)、定時(shí)。延時(shí)自動(dòng)關(guān)機(jī)可用于電視機(jī)、 催眠器、路燈及其他電器的延時(shí)斷電及延時(shí)自停電源等。 定時(shí)可用于照相定 時(shí)曝光,定時(shí)閃光

5、,定時(shí)放大,水位定時(shí)報(bào)警,延時(shí)電鈴,延時(shí)電子鎖等, 人們甚至將定時(shí)器用在了軍事方面,制成了定時(shí)炸彈,定時(shí)雷管。電子定時(shí)器影響著人類的生產(chǎn)和生活,隨著電子技術(shù)的發(fā)展,電子定時(shí) 器也在不斷的進(jìn)步,將朝著更高精度,更多用途的方向?yàn)槲覀兎?wù)。1.3選題的的目的和意義定時(shí)器與生活聯(lián)系密切,我們親身體會(huì)到它存在的價(jià)值,通過(guò)課程設(shè)計(jì) 自己親自完成電子定時(shí)器的簡(jiǎn)單設(shè)計(jì)不僅可以將學(xué)到的理論知識(shí)應(yīng)用于實(shí) 踐,更提高了我們思考問(wèn)題,解決問(wèn)題的能力,同時(shí)提高我們的學(xué)習(xí)興趣。1.4本章小結(jié)本章小結(jié):本章主要介紹了定時(shí)器的現(xiàn)狀,讓我們對(duì)電子定時(shí)器的有了 初步的了解,為進(jìn)一步設(shè)計(jì)及研究奠定了基礎(chǔ)。31第二章單片機(jī)的相關(guān)知識(shí)

6、2.1單片機(jī)簡(jiǎn)介單片機(jī)全稱為單片機(jī)微型計(jì)算機(jī)(Si ngle Chip Microsoftco mp uter)。從應(yīng)用領(lǐng)域來(lái)看,單片機(jī)主要用來(lái)控制,所以又稱為微控制器 (Micruco ntroller Un it)或嵌入式控制器。單片機(jī)是將計(jì)算機(jī)的基本部件微 型化并集成在一塊芯片上的微型計(jì)算機(jī)。2.2單片機(jī)的特點(diǎn)1. 單片機(jī)的存儲(chǔ)器ROM和RAM是嚴(yán)格區(qū)分的。RAM稱為程序存儲(chǔ)器, 只存放程序,固定常數(shù),及數(shù)據(jù)表格。RAM則為數(shù)據(jù)存儲(chǔ)器,用作工作區(qū)及 存放用戶數(shù)據(jù)。2. 采用面向控制的指令系統(tǒng)。為滿足控制需要,單片機(jī)有更強(qiáng)的邏輯 控制能力,特別是單片機(jī)具有很強(qiáng)的位處理能力。3. 單片機(jī)的I

7、/O通常是多功能的。由于單片機(jī)芯片上引腳數(shù)目有限, 為了解決實(shí)際引腳數(shù)和需要的信號(hào)線的矛盾,采用了引腳功能復(fù)用的方法, 引腳處于何種功能,可由指令來(lái)設(shè)置或由機(jī)器狀態(tài)來(lái)區(qū)分。2.3本章小結(jié)通過(guò)對(duì)單片機(jī)總體的介紹,我們對(duì)單片機(jī)有了初步的認(rèn)識(shí),針對(duì)單片機(jī) 的特點(diǎn)對(duì)其應(yīng)用也有了更深的目的性。第三章 功能實(shí)現(xiàn)及硬件介紹3.1設(shè)計(jì)功能介紹P1.0定時(shí)開(kāi)始,P1.1時(shí)間調(diào)整,P1.2重新啟動(dòng)首先初始狀態(tài)顯示00,按下P 1.1所連按鍵進(jìn)行時(shí)間加1操作,設(shè)定好 后按下P1.0所連按鍵倒計(jì)時(shí)開(kāi)始,當(dāng)所設(shè)定時(shí)間到達(dá)時(shí)顯示 00,二極管發(fā) 光。系統(tǒng)總體框圖3.2 C51單片機(jī)引腳介紹一、89C51的性能及特點(diǎn)89C

8、51的主要性能包括: 與MCS-51微控制器產(chǎn)品系列兼容。 片內(nèi)有4KB可在線重復(fù)編程的快閃擦寫(xiě)存儲(chǔ)器(FLASH MDMORY 存儲(chǔ)器可循環(huán)寫(xiě)入/擦除1000次。 存儲(chǔ)數(shù)據(jù)保存時(shí)間為10年。 寬工作電壓范圍:VCC可為FLj®niPl j2.7 6V。全靜態(tài)工作:可從0HZ到16MHZ程序存儲(chǔ)器具有3級(jí)加密保護(hù)353+3332103111XIS9CJ1501229152Sli272CIt2J172+1®2519222021PEIPFO PUFOPP03POERApP2J nr1Pl JlEgElP5J0FJlP5.+PJJ上P3.7XIKL2MT

9、AUOHD 128X 8位內(nèi)部RAM 32條可編程I/O線。 兩個(gè)16位定時(shí)器/計(jì)數(shù)器。 中斷結(jié)構(gòu)具有5個(gè)中斷源和2個(gè)優(yōu)先級(jí)。可編程全雙工串行通道??臻e狀態(tài)維持低功耗和掉電狀 態(tài)保存存儲(chǔ)內(nèi)容。(2)、AT89C51硬件結(jié)構(gòu)及引腳MCS-5係列單片機(jī)采用40引腳雙列直插式封裝(DIP) ,4個(gè)并行口共有 32根引腳,可分別作為地址線、數(shù)據(jù)線和I/O線2根電源線2根時(shí)鐘震蕩 電路引腳和4根控制線。1.電源引腳Vcc 和 VssVssVcc:接地端。:芯片+5V電源端。2.時(shí)鐘信號(hào)引腳XTAL1和XTAL2XTAL1 XTAL2當(dāng)使用單片機(jī)內(nèi)部震蕩電路時(shí),用來(lái)外接石英晶體和微 調(diào)電容,XTAL1是片

10、內(nèi)震蕩電路反相放大器的輸入端,XTAL2是片內(nèi)震蕩電路反相放大器的輸出端,震蕩電路的頻率就是晶體的固有頻率。當(dāng)使用外部 時(shí)鐘時(shí),XTAL1接地,XTAL2接外部時(shí)鐘信號(hào)源。3. 控制信號(hào)引腳 RST/VPD ALE/PROG PSE和 EAVPPRST/VPD RST是復(fù)位信號(hào)輸入端。當(dāng)輸入的復(fù)位信號(hào)保持兩個(gè)機(jī)器周 期(24個(gè)時(shí)鐘周期)以上的高電平時(shí)有效,用來(lái)完成復(fù)位操作第二功能 VPD 作為備用電源輸入端,當(dāng)主電源VCC發(fā)生故障,電壓降低到低電平規(guī)定值時(shí), 可通過(guò)VPD為單片機(jī)內(nèi)部rams供電源,以保護(hù)片內(nèi)RAM中的信息不丟失, 使系統(tǒng)在上電后能繼續(xù)正常運(yùn)行。ALE/PROjALE為地址鎖存

11、允許輸出信號(hào)。在訪問(wèn)外部存儲(chǔ)器時(shí),ALE用來(lái)鎖存P0 口擴(kuò)展低8位地址的控制信號(hào)。在不訪問(wèn)外部存儲(chǔ)器時(shí),ALE也以時(shí)鐘震蕩頻率的1/6的固定頻率輸出,因而它又可用作對(duì)外輸出時(shí)鐘信 號(hào)或其他需要,例如可以用示波器查看ALE是否有脈沖信號(hào)輸出來(lái)確定89C51芯片的好壞第二功能PROGI對(duì)內(nèi)部有EPROM勺單片機(jī)的 EPRO編程時(shí)編程脈沖輸入端,它和 31號(hào)引腳的第二功能Vpp起使用。PSEN外部ROM勺讀選通信號(hào)輸出端。在訪問(wèn)外部 ROM寸,PSE產(chǎn)生負(fù) 脈沖作為讀外部ROM勺選通信號(hào)。而在訪問(wèn)外部RAM或片內(nèi)ROM時(shí),不會(huì)產(chǎn) 生有效PSEN!號(hào)。EAVPP:EA是訪問(wèn)外部ROM勺控制信號(hào)。當(dāng)EA

12、為低電平時(shí),CPU只執(zhí)行 外部ROM中的程序。當(dāng)EA為高電平且PC值小于0FFF(4K)時(shí),CPU執(zhí)行內(nèi)部 ROM勺程序,但當(dāng)PC的值超出4K時(shí)將自動(dòng)轉(zhuǎn)去執(zhí)行片外ROM勺程序。對(duì)于 無(wú)片內(nèi)ROM勺8031或不使用內(nèi)部ROM勺89C51,需外擴(kuò)EPROM此時(shí)EA必須 接地第二種功能VPP是對(duì)8751的片內(nèi)EPROMS +21V編程電源輸入端。4. P0P3口結(jié)構(gòu)及功能2-2所示。(1) P0 口由一個(gè)輸出鎖存器、一個(gè)轉(zhuǎn)換開(kāi)關(guān) MUX兩個(gè)三態(tài)輸入緩沖 器、輸出驅(qū)動(dòng)電路和一個(gè)與門(mén)及一個(gè)反相器組成,如圖P0. S圖2-2 P0 口位結(jié)構(gòu)圖P0口具有兩種功能:第一,P0 口可以用作通用I/O接口;第二,

13、P0 口 可以用作地址/數(shù)據(jù)總線。(2)P1 口是由一個(gè)輸出鎖存器、兩個(gè)三態(tài)輸入緩沖器和輸出驅(qū)動(dòng)電路 組成,驅(qū)動(dòng)電路內(nèi)部設(shè)有上拉電阻,如圖 2-3所示。讀鎖存器VccQ上拉電阻內(nèi)部總銭寫(xiě)T2讀引腳圖2-3 P1 口位結(jié)構(gòu)圖P1 口是51單片機(jī)唯一的單功能口,是通用的準(zhǔn)雙向(3)P2 口由一個(gè)輸出鎖存器、一個(gè)轉(zhuǎn)換開(kāi)關(guān) MUX兩個(gè)三態(tài)輸入緩沖 器、輸出驅(qū)動(dòng)電路和一個(gè)反相器組成,如圖2-4所示。I/O 口。圖2-4 P2 口位結(jié)構(gòu)圖P2 口共有兩個(gè)功能:第一個(gè)功能與上述兩組引腳的第一功能相同,即 可用作通用I/O 口;它的第二功能與P0 口引腳的第二功能相配合,作為地 址總線用于輸出片外存儲(chǔ)器的高

14、8位。(4)P3 口由一個(gè)輸出鎖存器、三個(gè)三態(tài)輸入緩沖器、輸出驅(qū)動(dòng)電路和 一個(gè)與非門(mén)組成,如圖2-5所示。圖2-5 P3 口位結(jié)構(gòu)圖P3 口有兩個(gè)功能:第一個(gè)功能與其余三個(gè)端口的第一功能相同;第二 功能做控制用,每個(gè)引腳的功能不同:P3.0 RXD串行口接收數(shù)據(jù)輸入端P3.1 TXD串行口發(fā)送數(shù)據(jù)輸出端P3.2 INTO:外部中斷申請(qǐng)輸入端0P3.3 INT1:外部中斷申請(qǐng)輸入端1P3.4 TO:外部計(jì)數(shù)脈沖輸入端0P3.5 T1:外部計(jì)數(shù)脈沖輸入端1P3.6 WR寫(xiě)外設(shè)控制信號(hào)輸出端P3.7 RD讀外設(shè)控制信號(hào)輸出端3.3時(shí)鐘電路和復(fù)位電路單片機(jī)的時(shí)鐘信號(hào)用來(lái)提供單片機(jī)內(nèi)各種微操作的時(shí)間基準(zhǔn)

15、;復(fù)位操作則使單片機(jī)的片內(nèi)電路初始化,使單片機(jī)從一種確定的狀態(tài)開(kāi)始運(yùn)行。時(shí)鐘電路:一種是內(nèi)部時(shí)鐘方式;另一種單片機(jī)的時(shí)鐘信號(hào)通常有兩種產(chǎn)生方式。HCS-51HCS-51外部時(shí)種方式(a)內(nèi)部時(shí)聊方式圖2-6是外部時(shí)鐘方式。如圖2-6所示。時(shí)鐘方式圖內(nèi)部時(shí)鐘方式只要在單片機(jī)的XTAL1和XTAL2引腳外接晶振就構(gòu)成了自 激振蕩器,并在單片機(jī)內(nèi)部產(chǎn)生時(shí)鐘脈沖信號(hào)。 外部時(shí)鐘方式是把外部已有 的時(shí)鐘信號(hào)引入到單片機(jī)內(nèi),常用于多片單片機(jī)同時(shí)工作,已使各單片機(jī)同 步。單片機(jī)的時(shí)序單位:晶振周期為時(shí)鐘脈沖頻率的倒數(shù),為最小的時(shí)序單 位,也稱T狀態(tài);時(shí)鐘周期包含兩個(gè)晶振周期,也稱 S狀態(tài);完成一個(gè)基本 操作

16、所需要的時(shí)間稱為機(jī)器周期,由6個(gè)時(shí)鐘周期組成,即12個(gè)晶振周期; 指令的執(zhí)行時(shí)間稱為指令周期,通常含有 14個(gè)機(jī)器周期。單片機(jī)的復(fù)位狀態(tài):當(dāng)MCS-5I系列單片機(jī)的復(fù)位引腳 RST全稱RESET出現(xiàn)2個(gè)機(jī)器周期以 上的高電平時(shí),單片機(jī)就執(zhí)行復(fù)位操作。如果RST持續(xù)為高電平,單片機(jī)就 處于循環(huán)復(fù)位狀態(tài)。根據(jù)應(yīng)用的要求,復(fù)位操作通常有兩種基本形式:上電 復(fù)位和手動(dòng)復(fù)位。上電復(fù)位要求接通電源后,自動(dòng)實(shí)現(xiàn)復(fù)位操作。手動(dòng)復(fù)位 是當(dāng)單片機(jī)已在運(yùn)行當(dāng)中時(shí),按下復(fù)位鍵K后松開(kāi),也能使RST為一段時(shí)間 的高電平,從而實(shí)現(xiàn)上電或開(kāi)關(guān)復(fù)位的操作。單片機(jī)的復(fù)位操作使單片機(jī)進(jìn)入初始化狀態(tài),其中包括使程序計(jì)數(shù)器PO 00

17、00H這表明程序從0000H地址單元開(kāi)始執(zhí)行。單片機(jī)冷啟動(dòng)后,片 內(nèi)RAM為隨機(jī)值,運(yùn)行中的復(fù)位操作不改變片內(nèi) RAM區(qū)中的內(nèi)容,21個(gè)特 殊功能寄存器復(fù)位后的狀態(tài)為確定值,見(jiàn)下表(表中符號(hào) *為隨機(jī)狀態(tài))。表2-1特殊功能寄存器復(fù)位后的狀態(tài)表特殊功能寄存器初始狀態(tài)特殊功能寄存器初始狀態(tài)A00HTMOD00HB00HTCON00HPSW00HTH000HSP07HTL000HDPL00HTH100HDPH00HTL100HP0P3FFHSBUF不定IP*00000BSCON00HIE0*00000BP CON0*B3.4數(shù)碼管顯示LED(light Emit ing Diode )是發(fā)光管的縮

18、寫(xiě)。LED顯示器是由發(fā)光二 極管構(gòu)成的,所以在顯示器前面冠以“ LED”。LED顯示器在單片機(jī)中的應(yīng)用 非常普遍。1)、LED顯示原理通常所說(shuō)的LED顯示器由7個(gè)發(fā)光二極管組成,因此也稱之為七段LED 顯示器,其排列形狀如圖所示。S此外,顯示器中還有一個(gè)圓點(diǎn)型發(fā)光二極管 (在圖中以dp表示),用于 顯示小數(shù)點(diǎn)。通過(guò)七段發(fā)光二極管亮暗的不同組合, 可以顯示數(shù)字、字母以 及其他符號(hào)。LED顯示器中的發(fā)光二極管共有兩種連接方法:共陽(yáng)極接法把二極管的陽(yáng)極連在一起構(gòu)成公共陽(yáng)極。使用時(shí)公共陽(yáng)極+5V。這樣陰極端輸入低電平的段發(fā)光二極管就導(dǎo)通點(diǎn)亮,而輸入高電平的則不亮。共陰極接法把發(fā)光二極管的陰極連在一起構(gòu)

19、成公共陰極。使用時(shí)公共陰極接 地,這樣陽(yáng)極端輸入高電平的段發(fā)光二極管就導(dǎo)通點(diǎn)亮,而輸入低電平的則不點(diǎn)亮。LED使用LED顯示器時(shí)要注意區(qū)分這兩種不同的接法。為了顯示數(shù)字或符 號(hào),要為L(zhǎng)ED顯示器提供代碼,因?yàn)檫@些代碼是為顯示字形的,因此稱之為 字形代碼。七段發(fā)光二極管,再加上一個(gè)小數(shù)點(diǎn)位,共計(jì)八段。因此提供給顯示器的字形代碼正好一個(gè)字節(jié)。各代碼的對(duì)應(yīng)關(guān)系如下:代碼位D7D6D5D4D3D2D1DO顯示段dpgfEDcba用LED顯示器顯示十六進(jìn)制數(shù)的字形代碼在下表中列出。字型共陽(yáng)極代碼共陰極代碼字型共陽(yáng)極代碼共陰極代碼0C0H3FH990H6FH1F9H06HA88H77H2A4H5BHB83

20、H7CH3B0H4FHCC6H39H499H66HDA1H5EH592H6DHE86H79H682H7DHF8EH71H7F8H07H滅FFH00H880H7FH此設(shè)計(jì)使用的是共陽(yáng)極接法。3.5鍵盤(pán)鍵盤(pán)的工作方式應(yīng)該根據(jù)實(shí)際應(yīng)用系統(tǒng)中 CPU的工作狀況而定,其選取 的原則是既要保證CPU能及時(shí)響應(yīng)按鍵操作,又不要過(guò)多占用CPU的工作時(shí) 間。通常,鍵盤(pán)的工作方式有三種,即編程掃描、定時(shí)掃描和中斷掃描。1編程掃描方式編程掃描方式是利用CPU完成其他工作的空余時(shí)間,調(diào)用鍵盤(pán)掃描子程 序來(lái)檢驗(yàn)按鍵狀態(tài),響應(yīng)鍵盤(pán)輸入。執(zhí)行鍵功能程序時(shí), CPU不再享有鍵輸 入要求,直到CPU重新掃描鍵盤(pán)為止。2定時(shí)掃描

21、方式定時(shí)掃描方式就是每隔一段時(shí)間對(duì)鍵盤(pán)掃描一次,她利用單片機(jī)內(nèi)部的 定時(shí)器產(chǎn)生一定時(shí)間(如20mS的定時(shí),定時(shí)時(shí)間到產(chǎn)生定時(shí)器溢出中斷。CPI在中斷服務(wù)程序中鍵盤(pán)進(jìn)行掃描,并在有鍵按下時(shí)識(shí)別出該鍵并保存鍵 號(hào),然后在中斷服務(wù)程序或主程序中執(zhí)行該鍵的功能程序。3中斷掃描方式本設(shè)計(jì)采用上述兩種鍵盤(pán)掃描方式時(shí),無(wú)論是否有鍵按下,CPU都要定時(shí)掃描鍵盤(pán),而單片機(jī)應(yīng)用系統(tǒng)工作時(shí),并非經(jīng)常需要鍵盤(pán)輸入。因此,CPU 經(jīng)常處于空掃描狀態(tài),浪費(fèi)CPU大量時(shí)間,CPU不掃描鍵盤(pán),而有鍵按下時(shí), 通過(guò)相應(yīng)電路產(chǎn)生中斷請(qǐng)求,CPU相應(yīng)中斷,執(zhí)行鍵盤(pán)掃描子程序,并識(shí)別 鍵號(hào)。本設(shè)計(jì)采用程序掃描方式。步驟如下: 首先判

22、斷是否有鍵按下。 去除鍵抖動(dòng)。若有鍵按下,則延時(shí)510ms再一次判斷有無(wú)鍵按下, 如果此時(shí)仍有鍵按下,則認(rèn)為鍵盤(pán)上有一個(gè)鍵處于穩(wěn)定閉合期。 若有鍵閉合,執(zhí)行相應(yīng)的子程序。3.6電氣原理圖X1 丄CRYSTAL 匸丄C130pFU119丄C230 pFT R1J R21 10k10kR310kD1Q1NPNXTAL1P0.0/AD0P 0.1/AD1P0.2/AD2XTAL2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6RSTP0.7/AD7P 2.0/A8P2.1/A9P 2.2/A10P SENP 2.3/A11ALEP 2.4/A12EAP 2.5/A13P 2.6/A1

23、4P 2.7/A15P 1.0P 3.0/RXDP 1.1P 3.1/rXDP 1.2P3.2/iNt0P 1.3P3.3/iNTP 1.4P 3.4/10P 1.5P 1.6P 3.5/11P3.6/WrP 1.7P 3.7/RD182930319丄TTTI_6_7_8AT89C5139"373?3534"3332'21至"242528!LED-REDJllVIII i lllllll II iiitiiimi lllllll ! iiitiiiin3.7本章小結(jié)本次課程設(shè)計(jì)采用軟硬件結(jié)合的方式,對(duì)硬件系統(tǒng)有了詳細(xì)的認(rèn)識(shí)才能 更好的對(duì)其編程,是下一章的學(xué)

24、習(xí)和研究的基礎(chǔ)。4.1程序流程圖第四章軟件設(shè)計(jì)主程序流程圖重啟控制流程圖4.2定時(shí)1秒設(shè)計(jì)定時(shí)方法我們采用軟硬件結(jié)合的方法,定時(shí)器TO工作于方式1定時(shí)50 毫秒,這樣每當(dāng)T0到50毫秒時(shí)CPI就響應(yīng)它的溢出中斷請(qǐng)求進(jìn)入他的中斷 服務(wù)子程序。定時(shí)器的最大定時(shí)時(shí)間為 50ms,因此如果想得到1s的定時(shí), 需要計(jì)20次50ms才能實(shí)現(xiàn)。設(shè)計(jì)中p3.5出現(xiàn)低電平時(shí)燈亮,所以通過(guò)p1.3 引腳控制,每500ms對(duì)p1.3取反,因此計(jì)數(shù)器T1計(jì)數(shù)十次。工作方式控制寄存器(TMOPTMOD寄存器是一個(gè)專用寄存器,用于設(shè)定兩個(gè)定時(shí)器/計(jì)數(shù)器的工作 方式。但TMO寄存器不能尋址,只能用字節(jié)傳送指令設(shè)置其內(nèi)容。其

25、定義 如下:位序B7B6B5B4B4B3B2B1位符號(hào)GATEC/TM1M0GATEC/TM1M0定時(shí)/計(jì)數(shù)器0定時(shí)/計(jì)數(shù)器14位一組的結(jié)構(gòu)使它不能位尋址,一定義就是 4位。從寄存器的位個(gè)時(shí)鐘可以看出,它的低半字節(jié)定義定時(shí)器/計(jì)數(shù)器0,高半字節(jié)定義定時(shí)器/計(jì)數(shù)器1。根據(jù)設(shè)計(jì)的要求設(shè)置TMODTO工作于定時(shí)狀態(tài),定時(shí)50ms工作方式 1, T1工作于計(jì)數(shù)狀態(tài),方式二。X= 216 定時(shí)時(shí)間/振蕩周期X 12=216 50X 10'3 X 12X 106/12=65536定時(shí)時(shí)間=65536- 50000=3CB0H所以初值 TH0=3CH TL0=0B0H4.3重新啟動(dòng)每次定時(shí)完畢以后,

26、需要重新定時(shí)時(shí),需要將系統(tǒng)恢復(fù)初始狀態(tài),按下 與P1.2相連的按鍵程序自動(dòng)返回,執(zhí)行新的定時(shí)邀請(qǐng)。4.4程序設(shè)計(jì)org 0000hjmp mai norg 000bhjmp time;設(shè)置定時(shí)器初值org 0100h main:mov tmod ,#61hmov th0,#3chmov tl0,#0b0hsetb easetb etOmov th1,#0f6hmov tl1,#0f6hmov a,#OOhmov b,#OOhmov dp tr,#tab mov rO,amove a,a+d ptr mov p O,amov a,b move a,a+d ptr mov p 2,amov a,r

27、O11: jnbp 1.1,12jnb p1.0,l519: jb p1.1,l1inc amov rO,aclr csubb a,#Oahjnc l4;設(shè)置計(jì)數(shù)器初值;將表頭指針賦給DPTR;保存顯示結(jié)果只寄存器;將調(diào)整好的時(shí)間傳到寄存器;將設(shè)置好的時(shí)間低位經(jīng)P0 口輸出;將高位賦給寄存器a;找到相應(yīng)的數(shù)碼管顯示段值;設(shè)置好的高位時(shí)間經(jīng)P2 口輸出;寄存器a恢復(fù)低位;判斷p1.1,有按下則跳轉(zhuǎn)到l2;判斷p1.0,有按下則跳轉(zhuǎn)到l5;再次判斷p1.1有無(wú)按下;p1.1按下則低位加一調(diào)整時(shí)間;保存當(dāng)前設(shè)置時(shí)間低位;進(jìn)位標(biāo)志位清零;當(dāng)前值與10比較;若無(wú)借位,說(shuō)明時(shí)間已經(jīng)到10,跳轉(zhuǎn)到14 若有

28、借位,說(shuō)明時(shí)間不到十,繼續(xù);查詢要顯示的段碼值;低位經(jīng)P0 口輸出;高位經(jīng)p2 口輸出mov a,rOmov rO,a movc a,a+d ptrmov p 0,amov a,b movc a,a+d ptrmov p 2,amov a,r0I3:j nb p1.1,l3;恢復(fù)時(shí)間低位;等待p1.1按鍵彈起后再次掃描p1.1,是否繼續(xù)加一調(diào)整定時(shí)時(shí)間Ijmp I1I4:mov a,#00hinc bmov r0,a move a,a+d ptr mov p 0,a mov a,bmove a,a+d ptrmov p 2,amov a,r0Ijmp I3I2:mov r7,#40 deI11

29、:mov r6,#123 nopdeI21:dj nz r6,deI21 djnz r7,del11 Ijmp I9I5: mov r7,#40 deI12:mov r6,#123 nopdeI22:dj nz r6,deI22 djnz r7,deI12 jnb p1.0,l6Ijmp I1I6: setb tr0setb tr1;地位值到10,則低位清零;高位加一;保存時(shí)間低位;找到相應(yīng)的顯示段碼;低位經(jīng)P0 口輸出;高位經(jīng)p2 口輸出;恢復(fù)低位值;跳轉(zhuǎn)到繼續(xù)掃描按鍵;時(shí)間延遲10ms;10ms后跳轉(zhuǎn)到I9;10ms延時(shí);繼續(xù)判斷p1.0,若有按下跳轉(zhuǎn)到I6;若無(wú)按下,繼續(xù)掃描按鍵;倒計(jì)時(shí)

30、開(kāi)始,開(kāi)定時(shí)器 T0;開(kāi)計(jì)數(shù)器T1loo p2: jbc tf1,loo p1;500ms時(shí)間到,跳轉(zhuǎn)到loop1ajmp Ioop2;不到500ms等待loop 1:dec a;時(shí)間低位減一mov rO,a;保存當(dāng)前低位值cIr c;借位標(biāo)志清零subb a,#Offh;與#ffh比較jnc I7;若沒(méi)有借位,則說(shuō)明已經(jīng)減到了0,減一后為ff,跳到I7,若有借位,則還沒(méi)有減到0,繼續(xù)減一mov a,rOmov rO,amovc a,a+d ptrmov p O,a;輸出低位mov a,bmovc a,a+d ptrmov p 2,a;輸出高位mov a,rO;恢復(fù)a低位值jmp I6;跳轉(zhuǎn)到

31、I6繼續(xù)定時(shí)減一I7: mov a,bjz I8;判斷高位是否到0,到0,跳到I8dec b;高位沒(méi)有到0,則繼續(xù)減一mov a,#09h;低位清零mov rO,a;恢復(fù)a低位值movc a,a+d ptrmov p 0,a;低位輸出mov a,bmovc a,a+d ptrmov p 2,a;高位輸出mov a,rOIjmp l6tab: db 0c0h,0f9h,0a4h,0b0h db 99h,92h,82h,0f8h;使P1.7為低電平,使發(fā)光二級(jí)管接通,顯 示定時(shí)時(shí)間到;判斷是否重啟db 80h,90hl8:clr p 1.7;重裝初值l10:jb p1.2,l10 setb p1.7 Ijmp mai n time:

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論