




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、湖北大學(xué) 畢 業(yè) 設(shè) 計(論文)設(shè)計(論文)題目:數(shù)字顯示計時系統(tǒng)系 別: 物理與科學(xué)技術(shù)學(xué)院 專 業(yè): 電子信息工程班 級:07電信(3)班姓 名: 學(xué) 號: 指導(dǎo)老師: 完成時間: 2010年5月摘要:本次設(shè)計主要是利用AT89C51單片機(jī)完成,其中AT89C51是核心元件同時采用數(shù)碼管動態(tài)顯示“時”、“分”、“秒”的現(xiàn)代計時裝置。與傳統(tǒng)機(jī)械表相比,它具有走時精確,顯示直觀等特點(diǎn)。它的計時周期為24小時,顯示滿刻度為“23時59分59秒”,另外具有校時功能、整點(diǎn)報時功能、鬧鈴功能、斷電后有記憶功能、恢復(fù)供電時可實現(xiàn)計時同步等特點(diǎn)。本文主要介紹用單片機(jī)內(nèi)部的定時/計數(shù)器來實現(xiàn)數(shù)字顯示計時系統(tǒng)
2、的方法,本設(shè)計硬件由單片機(jī)AT89C51芯片和LED 數(shù)碼管為核心,輔以必要的電路,構(gòu)成了一個單片機(jī)數(shù)字顯示計時(鬧鐘)顯示系統(tǒng),硬件電路仿真由Proteus 仿真軟件完成,軟件由偉福(WAVE )編程完成。關(guān)鍵詞:AT89C51 LED 鬧鈴 整點(diǎn)報時Abstract:This is the main design, including complete AT89C51 is the core element also USES AT89C51 dynamic display of "digital tube," "points" and "
3、second" modern timing devices. Compared with the traditional mechanical watch, it is precisely that intuitive, walking, etc. It's time for 24 hours, show period for the full scale "and" 59 seconds when 59, also has the function of time, when the school on the function, alarm funct
4、ions, power was restored after the memory function, can be realized when the clock synchronization etc.This paper mainly introduces the MCU internal timing counter to realize/digital display timer system, the design method of the hardware of microcomputer AT89C51 chip and LED digital tube as the cor
5、e, with the necessary circuit, a digital display timer (alarm display system, the hardware circuit simulation by Proteus, software simulation software by weifu (WAVE programmed.Keywords: AT89C51 LED alarm on tim目錄第一章 概述1.1 課題簡介41.2 設(shè)計的主要原理4 1.3方案論證4 1.4設(shè)計的目的及要求5 第二章 硬件設(shè)計2.1 硬件部分框圖62.2 使用芯片介紹6 2.3 分電
6、路設(shè)計8 第三章 軟件設(shè)計3.1 單元分配14 3.2 程序框圖與匯編程序14 第四章 調(diào)試4.1 軟件調(diào)試20 4.2 protues仿真軟件的應(yīng)用20 4.3性能分析21參考文獻(xiàn)23附錄A 源程序24 附錄B 電路原理圖32附錄C 元件清單33第一章 概述1.1 課題簡介數(shù)字鐘是一種用數(shù)字電路技術(shù)實現(xiàn)時、分、秒計時的裝置,與機(jī)械式時鐘相比具有更高的準(zhǔn)確性和直觀性,且無機(jī)械裝置,具有更長的使用壽命,已得到廣泛的使用。數(shù)字鐘的設(shè)計方法有許多種, 例如, 可用中小規(guī)模集成電路組成電子鐘;也可以利用專用的電子鐘芯片配以顯示電路及其所需要的外圍電路組成電子鐘;還可以利用單片機(jī)來實現(xiàn)電子鐘等等。這些方
7、法都各有其特點(diǎn),其中利用單片機(jī)實現(xiàn)的電子鐘具有編程靈活,并便于功能的擴(kuò)展。單片機(jī)應(yīng)用的重要意義在于,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計思想和設(shè)計方法。從前必須由模擬電路或數(shù)字電路實現(xiàn)的大部分功能,現(xiàn)在已能用單片機(jī)通過軟件方法來實現(xiàn)了。這種軟件代替硬件的控制技術(shù)也稱為微控制技術(shù),是傳統(tǒng)控制技術(shù)的一次革命。本次設(shè)計以AT89C51單片機(jī)為核心來控制時鐘電路、按鍵電路、復(fù)位電路、LED 顯示器段碼驅(qū)動電路、LED 顯示器碼驅(qū)動電路、6位LED 顯示器電路以及蜂鳴器,以達(dá)到對“時”“分”“秒”精確的控制和顯示。1.2 設(shè)計的主要原理電路工作原理:該電路以AT89C51為核心。顯示器用七段共陽LED 數(shù)
8、碼管顯示器,顯示小時、分鐘以及秒,從P0口接入4個按鈕開關(guān),作為輸入電路,進(jìn)行手動設(shè)置調(diào)時、調(diào)分和調(diào)秒,通過P2,P1口來實現(xiàn)對顯示的實時控制。同時在從P3口接入1個蜂鳴電路,作為報警用。1.3 設(shè)計的目的及要求1 設(shè) 計 目 的(1)熟悉集成電路的引腳安排;(2)熟悉并掌握80C51的結(jié)構(gòu)原理及應(yīng)用; (3)了解電路板結(jié)構(gòu)及其接線方法; (4)了解數(shù)字鐘的組成及工作原理; (5)掌握芯片的邏輯功能及使用方法; (6)熟悉數(shù)字鐘的設(shè)計與制作。 2. 設(shè) 計 要 求 (1)報時用中斷方式計時; (2)到整時時能夠準(zhǔn)時;(3)由晶振提供標(biāo)準(zhǔn)時間基準(zhǔn)信號;(4)自動計時并具備校調(diào)功能??梢詥为?dú)對每一
9、位校調(diào);(5)設(shè)置四個按鍵SET,RET,ALM 和+1鍵,對時,分,秒進(jìn)行調(diào)整;(6)通過軟件編程的方法實現(xiàn)以24小時為一個周期同時顯示小時, 分鐘和秒。1.4方案論證方案一:采用實時時鐘芯片設(shè)計:針對計算機(jī)系統(tǒng)對實時時鐘功能的普遍需求,各大芯片生產(chǎn)廠家陸續(xù)推出了一系列的實時時鐘集成芯片,如DS1287,DS12887等,這些實時時鐘芯片具備年月日,時分秒計時功能和多點(diǎn)定時功能,計時數(shù)據(jù)的更新每秒進(jìn)行一次,不需程序干預(yù)。計算機(jī)間程序簡單。此外,實時時鐘芯片多數(shù)帶有鋰電池做后備電池具備永不停止的計時功能,具有可編程方波輸出功能,可用做實時測控系統(tǒng)的采樣信號等;有的實時時鐘芯片內(nèi)部還帶有非易失性
10、RAM ,可用來存放需長期保存的但有時也需變更的數(shù)據(jù)。方案二:采用單片機(jī)軟件控制技術(shù):利用AT89C51內(nèi)部的16位定時/計數(shù)器進(jìn)行中斷服務(wù),配合軟件延時實現(xiàn)計時計時及控制全部采用軟件控制,并配合外圍顯示及鍵盤電路,從而實現(xiàn)電子時鐘的各項功能。比較上述兩種方案:方案一雖然功能強(qiáng)大,性能較好但所用芯片較貴、外圍邏輯電路復(fù)雜,且靈活性較低,不利于各種功能的擴(kuò)展;方案二此系統(tǒng)硬件簡單,將復(fù)雜的硬件功能用軟件實現(xiàn),因此系統(tǒng)控制靈活,能很好的滿足基本需求,且能夠使人在定時/計數(shù)器的使用、中斷及程序設(shè)計方面得到鍛煉與提高,因此本次設(shè)計采用方案二。第二章 硬件設(shè)計2.1 硬件部分框圖圖2-1為該系統(tǒng)設(shè)計方案
11、的硬件電路設(shè)計框圖。該數(shù)字顯示計時系統(tǒng)的硬件電路是由單片機(jī)、時鐘電路、按鍵電路、復(fù)位電路、LED 顯示器段碼驅(qū)動電路、LED 顯示器碼驅(qū)動電路、6位LED 顯示器電路以及蜂鳴器電路。 圖2-1硬件電路框圖在圖2-1中,以AT89C51單片機(jī)為核心,LED 數(shù)碼管顯示內(nèi)容通過P1口從單片機(jī)傳送到數(shù)碼管。P2口是數(shù)碼管位選控制端口。形成一個可以顯示時,分,秒的數(shù)字顯示計時系統(tǒng)。在這一系統(tǒng)中當(dāng)時間調(diào)整設(shè)置鍵(SET )被按下時,系統(tǒng)進(jìn)入時間調(diào)整輸入功能狀態(tài);當(dāng)定時時間設(shè)置鍵(ALM被按下時,系統(tǒng)進(jìn)入定時(鬧鐘)時間輸入功能狀態(tài);當(dāng)+1調(diào)整鍵被按下時,被調(diào)整位加一;當(dāng)確認(rèn)鍵(RET被按下時,指向下一個
12、要調(diào)整的位。4個按鍵開關(guān)通過不同的組合實現(xiàn)外部控制程序狀態(tài)2.2 使用芯片介紹AT89C51 是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash 存儲器。使用Atmel 公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash 允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash ,使得AT89C51為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89 c51具有以下標(biāo)準(zhǔn)功能:8k 字節(jié)Flash ,256字節(jié)RAM , 32 位I/O 口線,看門狗定時器,2 個數(shù)據(jù)指針
13、,三個16 位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,AT89C51 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM 、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM 內(nèi)容被保存,振蕩器被凍結(jié), 單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。8 位微控制器8K 字節(jié)在系統(tǒng)可編程Flash AT89C51。AT89C51系列單片機(jī)如圖2-2所示: 圖2-2 AT89C51系列單片機(jī)單片機(jī)的中央處理器(CPU )是單片機(jī)的核心,完成運(yùn)算和控制操作,中央處理器(CPU主要包括運(yùn)算器和控制器。1)
14、運(yùn)算器運(yùn)算器主要用來實現(xiàn)算術(shù),邏輯運(yùn)算和位操作,其中包括算術(shù)運(yùn)算和邏輯運(yùn)算單元ALU, 和累加器ACC,B 寄存器程序狀態(tài)字PSW 和兩個存儲器等。2 控制器控制器是識別指令并根據(jù)指令性質(zhì)協(xié)調(diào)計算機(jī)內(nèi)各組成單元進(jìn)行工作的部件,控制器主要包括程序計數(shù)器PC ,PC 增量器,指令寄存器,指令譯碼器,定時及控制邏輯電路等。其功能是控制指令的讀入,譯碼和執(zhí)行,并對指令執(zhí)行過程進(jìn)行定時和邏輯控制,在AT89C51單片機(jī)中,PC 是一個16位的計數(shù)器,可對64KB 程序存儲器進(jìn)行尋址,復(fù)位時PC 內(nèi)容為0000H ,說明程序應(yīng)從存儲器0000H 單元開始執(zhí)行。3)外圍接口電路CPU 與外部設(shè)備的信息交換都
15、要通過接口電路來進(jìn)行,這主要是為了解決CPU 的高速處理能力和外部設(shè)備低速運(yùn)行之間的速度匹配問題,并可以有效地提高CPU 的工作效率,同時也提高了CPU 的對外驅(qū)動能力。輸出借口電路具有鎖存器和驅(qū)動器,輸入接口電路具有三態(tài)門控制,成為接口電路的基本特性,AT89C51單片機(jī)的外圍接口電路主要包括:4個可編程并行I/O口,1個可編程串行口,2個16位的可編程定時器及中斷系統(tǒng)等,由于受集成度的限制,片內(nèi)存儲器和外圍接口電路的規(guī)模及數(shù)量受到一定的限制,為了適應(yīng)外部更復(fù)雜的控制功能,單片機(jī)具有較強(qiáng)的擴(kuò)展功能,可以很方便地擴(kuò)展外部存儲器ROM,RAM 和I/O口等4 位處理器。單片機(jī)主要用于控制,需要有
16、較強(qiáng)的位處理功能,因此位處理器是它的必要組成部分,常把位處理器稱為布爾處理器。位處理器以狀態(tài)寄存器中的進(jìn)位標(biāo)志位C 為累加位,可進(jìn)行置位、復(fù)位、取反、等于“0”轉(zhuǎn)移、等于“1”轉(zhuǎn)移且清“0”以及C 與可尋址位之間的傳送、邏輯與、邏輯或等位操作。位處理操作也是通過運(yùn)算器實現(xiàn)的。4 存儲器單片機(jī)內(nèi)部的存儲器分為程序存儲器和數(shù)據(jù)存儲器,標(biāo)準(zhǔn)型AT89C51單片機(jī)的程序存儲器采用4KB 的快速擦寫存儲器FLASH MEMORY,程序和擦除完全是電氣實現(xiàn),編程和擦寫速度快,可以使用通用的編程器脫機(jī)編程,也可在線編程。FLASH 的應(yīng)用成為AT89系列單片機(jī)的顯著特點(diǎn)之一,在單片機(jī)中,用隨機(jī)存儲器RAM
17、來存儲程序運(yùn)行期間的工作變量和數(shù)據(jù),所以又稱為數(shù)據(jù)數(shù)據(jù)存儲器。一定容量的RAM 集成在單片機(jī)內(nèi),提高了單片機(jī)的運(yùn)行速度,也降低了功耗。5 串行口AT89C51單片機(jī)是由一個全雙工的串行接口,以實現(xiàn)單片機(jī)和其他數(shù)據(jù)設(shè)備之間的串行數(shù)據(jù)傳送。該串行口功能較強(qiáng),既可作為全雙工異步通信收發(fā)器使用,也可作為同步移位器使用。6)中斷控制系統(tǒng)AT89C51單片機(jī)的中斷功能較強(qiáng),以滿足控制應(yīng)用的需要。80C51工有5個中斷源,即外中斷2個,定時/計數(shù)中斷2個,串行中斷1個。全部中斷分為高級和低級共兩個優(yōu)先級別。2.3 分電路設(shè)計1按鍵電路設(shè)計與器件選擇數(shù)字顯示計時系統(tǒng)工作時應(yīng)具備兩項基本功能,一是隨時輸入定時(
18、鬧鐘)時間,二是隨時對當(dāng)前時間進(jìn)行調(diào)整。要實現(xiàn)這兩項功能,可以接入鍵盤輸入電路。1)按鍵方案一:4*4矩陣式鍵盤。如果選擇此方案,那么在修改時鐘或設(shè)置鬧鈴時間時就可以直接從鍵盤輸入,方便、快捷,但程序較為復(fù)雜。方案二:獨(dú)立式按鍵。如果設(shè)置過多按鍵,將會占用較多I/O口,而且會給布線帶來不便,因此,此方案適用于按鍵較少的情況。如果選擇此方案,由于按鍵較少,在修改時間或設(shè)置鬧鈴時間時就不能直接輸入,只能通過加或減來完成,稍為麻煩一些,但其程序簡單。由于并不需要經(jīng)常修改時間和設(shè)置鬧鈴時間,而且方案二的程序簡單,按鍵少、成本低,因此,選擇方案二。2) 鍵盤結(jié)構(gòu)的選擇鍵盤結(jié)構(gòu)可以分為獨(dú)立式鍵盤和行列式鍵
19、盤(矩陣式)兩類。在本次設(shè)計中只需要4個按鍵,因此選擇獨(dú)立式鍵盤。電路是由按鍵和4個電阻組成,按鍵分別命名為 SET、 ALM 、+1和 RET鍵,按鍵可以采用輕觸開關(guān),電阻采用并腳排電阻(4*10K)如圖2-4所示: 圖2-4 鍵盤結(jié)構(gòu)在圖2- 4中4個按鍵的功能的具體說明:RET 確認(rèn)鍵的功能:確認(rèn),即對 +1 調(diào)整位進(jìn)行確認(rèn),該鍵按下時說明被調(diào)整位的值已經(jīng)確定,轉(zhuǎn)去調(diào)整下一位。+1鍵調(diào)整鍵的功能:分別對時間值的小時十位、小時個位、分的十位、分的個位、秒的十位、秒的個位進(jìn)行+1調(diào)整,即該鍵每按下一次,對應(yīng)的時間調(diào)整位+1。ALM 鍵功能:設(shè)置定時(鬧鐘)時間,即當(dāng)需要電子時鐘進(jìn)行定時(鬧鐘
20、)服務(wù)時,可以通過該鍵的功能來輸入定時(鬧鐘)時間,使用ALM 鍵與 +1鍵RET 鍵配合來完成這一功能。SET 鍵功能:設(shè)置當(dāng)前時間,即當(dāng)電子時鐘的時間有誤差時,需要隨時對它進(jìn)調(diào)整,使用SET 鍵與+1 鍵RET 鍵配合來完成這一功能。鍵盤的硬件電路設(shè)計只能保證4個按鍵信號的可靠進(jìn)入,要想完成鍵盤的輸入功能,還要靠軟件編程來具體實現(xiàn)的。3) 按鍵消抖處理:通常的按鍵所用開關(guān)為機(jī)械彈性開關(guān), 當(dāng)機(jī)械觸點(diǎn)斷開、閉合時, 電壓信號小型如圖2-5所示。由于機(jī)械觸點(diǎn)的彈性作用, 一個按鍵開關(guān)在閉合時不會馬上穩(wěn)定地接通, 在斷開時也不會一下子斷開。因而在閉合及斷開的瞬間均伴隨有一連串的抖動, 如下圖。抖
21、動時間的長短由按鍵的機(jī)械特性決定, 一般為5ms 10ms 。這是一個很重要的時間參數(shù), 在很多場合都要用到。 圖2-5 按鍵工作過程按鍵穩(wěn)定閉合時間的長短則是由操作人員的按鍵動作決定的, 一般為零點(diǎn)幾秒至數(shù)秒。鍵抖動會引起一次按鍵被誤讀多次。為確保CPU 對鍵的一次閉合僅作一次處理, 必須去除鍵抖動。在鍵閉合穩(wěn)定時讀取鍵的狀態(tài), 并且必須判別到鍵釋放穩(wěn)定后再作處理。按鍵的抖動, 可用硬件或軟件兩種方法。 硬件消抖:在鍵數(shù)較少時可用硬件方法消除鍵抖動。圖2-6所示的RS 觸發(fā)器為常用的硬件去抖。在圖2-6中兩個“與非”門構(gòu)成一個RS 觸發(fā)器。當(dāng)按鍵未按下時, 輸出為1; 當(dāng)鍵按下時, 輸出為0
22、。此時即使用按鍵的機(jī)械性能, 使按鍵因彈性抖動而產(chǎn)生瞬時斷開(抖動跳開B ), 只要按鍵不返回原始狀態(tài)A, 雙穩(wěn)態(tài)電路的狀態(tài)不改變, 輸出保持為0, 不會產(chǎn)生抖動的波形。也就是說, 即使B 點(diǎn)的電壓波形是抖動的,但經(jīng)雙穩(wěn)態(tài)電路之后, 其輸出為正規(guī)的矩形波。 圖2-6 RS觸發(fā)器去抖 軟件消抖:如果按鍵較多, 常用軟件方法去抖, 即檢測出鍵閉合后執(zhí)行一個延時程序, 產(chǎn)生5ms 10ms 的延時, 讓前沿抖動消失后再一次檢測鍵的狀態(tài), 如果仍保持閉合狀態(tài)電平, 則確認(rèn)為真正有鍵按下。當(dāng)檢測到按鍵釋放后, 也要給5ms 10ms 的延時, 待后沿抖動消失后才能轉(zhuǎn)入該鍵的處理程序。2. LED顯示電路
23、選擇在單片機(jī)的應(yīng)用系統(tǒng)中,通常需要進(jìn)行人機(jī)對話。這包括人對應(yīng)用系統(tǒng)的狀態(tài)干預(yù)與數(shù)據(jù)輸入,以及應(yīng)用系統(tǒng)向人們顯示運(yùn)行狀態(tài)與運(yùn)行結(jié)果等。顯示器、鍵盤電路就是用來完成人-機(jī)對話活動的人-機(jī)通道。LED 顯示器的驅(qū)動是一個非常重要的問題,由系統(tǒng)硬件設(shè)計框圖可知顯示電路由LED 顯示器、段驅(qū)動電路和位驅(qū)動電路組成。在本次設(shè)計中運(yùn)用LED 數(shù)碼顯示器、采用PNP 管以及單片機(jī)的P2口來組成顯示電路。1) 顯示器:方案一:液晶顯示器。如果選擇此方案,將會降低系統(tǒng)的功耗,這樣就可以用電池供電,便于攜帶。但液晶顯示器的驅(qū)動電路復(fù)雜,使用起來有一定的難度。方案二:用數(shù)碼管作為顯示器。數(shù)碼管的驅(qū)動電路簡單,使用方便
24、,如果選擇了此方案,那么在夜間看時間的時候就不需要有光源,非常方便。其缺點(diǎn)是功耗較大。由于數(shù)碼管使用起來較為方便,在夜間看時間也很方便,因此我們選擇了方案二。2) LED數(shù)碼顯示器的結(jié)構(gòu)LED 是發(fā)光二極管的縮寫,LED 顯示器由若干個發(fā)光二極管構(gòu)成的,妥發(fā)光二極管導(dǎo)通時,顯示對應(yīng)的字符。LED 顯示器控制簡單,使用方便,在單片機(jī)中應(yīng)用非常普遍。LED 顯示器由7個發(fā)光二極管組成,也稱為7段LED 顯示器,排列形狀如圖2-3a 所示。LED 顯示器還有一個圓點(diǎn)型的發(fā)光二極管(圖中以dp 表示),用于顯示小數(shù)點(diǎn),有時也稱為8段LED 顯示器。通過7段發(fā)光二極管亮暗的不同組合,可以顯示多種數(shù)字、字
25、母和其他符號。LED 顯示器的發(fā)光二極管有共陰極和共陽極兩種連接方法. 圖2-3b 為共陰極接法, 各發(fā)光二極管的陰極連在一起并接地, 當(dāng)某一發(fā)光二極管的陽極輸入高電平時, 則該段發(fā)光;圖2-3c 為共陽極接法, 各發(fā)光二極管的陽極連在一起并接+5V,當(dāng)陰極輸入法低電平時, 該段發(fā)光二極管發(fā)光。使用LED 顯示器時,要注意區(qū)分兩種不同的接法。為了顯示數(shù)字或符號,要為LED 顯示器提供代碼(字形碼),在兩種接法中字形碼是不同的。 圖2-3 7(8段LED 顯示器7段發(fā)光二極管再加上一個小數(shù)點(diǎn)位,共計8段,提供給LED 顯示器的字形 用LED 顯示器顯示十六進(jìn)制數(shù)的字形碼見表2-2。 3. 蜂鳴器
26、電路的設(shè)計鬧鈴指示可以有聲或光兩種形式,本系統(tǒng)采用聲音指示。關(guān)鍵元件是蜂鳴器。蜂鳴器有無源和有源兩種,前者需要輸入聲音頻率信號才能正常發(fā)聲,后者則只需外加適當(dāng)直流電源電壓即可;元件內(nèi)部已經(jīng)封裝了音頻振蕩電路,在得電狀態(tài)下即起振發(fā)聲。市場上的有源蜂鳴器分為3V 、5V 、6V 等系列,以適應(yīng)不同的應(yīng)用需要。其中PNP 小功率三極管采用9012。其最大集電極電流為800mA 。完全滿足蜂鳴器驅(qū)動的需要。適當(dāng)調(diào)節(jié)基極電阻可改變蜂鳴器的發(fā)聲功率。 圖2-7蜂鳴器電路在圖2-7中,當(dāng)P3.7=0時,VT1導(dǎo)通時,使蜂鳴器的兩個引腳間獲得將近5V 的直流電壓,蜂鳴器中有電流通過,而產(chǎn)生蜂鳴音。當(dāng)P3.7=
27、1時,VT1截止時,蜂鳴器的兩引腳間的直流電壓接近0V ,蜂鳴器不發(fā)聲。4. 單 片 機(jī) 的 復(fù) 位 方 式 與 電路選擇復(fù)位就是通過某種方式,使單片機(jī)內(nèi)各寄存器的值變?yōu)槌跏蓟癄顟B(tài)的操作。AT89C51單片機(jī)在時鐘電路工作以后,在RESET 端持續(xù)給出2個機(jī)器周期的高電平就可以完成復(fù)位操作。復(fù)位分為上點(diǎn)自動復(fù)位和手動復(fù)位兩種方式。本系統(tǒng)采用上電復(fù)位方式。上電復(fù)位是在單片機(jī)接通電源時,對單片機(jī)的復(fù)位。在上電瞬間RST 端與VCC 電位相同,隨著電容上電壓的逐漸上升,RST 端電位逐漸下降。上電復(fù)位所需要的最短時間是振蕩器建立時間加2個機(jī)器周期3種方式復(fù)位電路圖: 注:一般情況下圖中電容C1和C2
28、取30PF 左右,晶體的振蕩頻率范圍是1.212MHZ 。晶體振蕩頻率越高,則系統(tǒng)的時鐘頻率越高,單片機(jī)運(yùn)行速度也越快。一般情況下,單片機(jī)使用的振蕩頻率為6MHZ 或者說12MHZ 。5. 相關(guān)電路參數(shù)的計算(1)PNP 三極管與P2口之間的電阻選擇:選取三極管9012的放大倍數(shù)為100,選通一個LED 數(shù)碼管所需電流即三極管的集電極電流為:Ic=15mA*7=105mA,則它的基極電流Ib=105mA/100=1.05mA,取1mA ,三極管壓降為0.7V ,則電阻阻值為:R=(5-0.7V/1mA=4.3K,實際取4.7K(2)LED 數(shù)碼管與P1口之間的電阻選擇:由于LED 數(shù)碼管是由七
29、段發(fā)光二極管組成。每個二極管所需電壓為2V ,電阻的峰值電流取10mA ,又由于P1的壓降為,則電阻上所需電壓為5-2-0.3=2.7V則電阻上的阻值為2.7V/10mA=270,實際取300(3)開關(guān)與P0口之間的電阻選擇:由于開關(guān)端的電阻接+5電源,導(dǎo)線本身的電流是非常微小的,所以我選擇了10K 的電阻來完成硬件電路的連接。(4)I 端口分配及連接:P1.0P1.7:LED 數(shù)碼管顯示內(nèi)容通過P0口從單片機(jī)傳送到數(shù)碼管。 P2.0P2.5:數(shù)碼管位選控制端口。P0.0- P0.3:分別連接開關(guān),SET 、 ALM 、+1和 RET鍵,通過不同的組合實現(xiàn)外部控制程序狀態(tài)。第三章 軟件設(shè)計3.
30、1單元分配在AT89C51單片機(jī)的內(nèi)部00H-1FH 為工作寄存器區(qū),20H-2FH 為位尋址區(qū),30H-7FH 為數(shù)據(jù)緩沖區(qū)。堆棧的先進(jìn)后出的特點(diǎn)。1. 堆棧區(qū) 70H-7FH2. 段碼顯示緩沖區(qū) 45H-40H3. 當(dāng)前時間的二進(jìn)制存儲單元30H-32H4. 鬧鈴時間的二進(jìn)制存儲單元33H-35H5. 閃爍顯示單元 20H3.2程序框圖與匯編程序主程序框圖如圖3-1所示: 圖3-1主程序框圖一、主程序主程序的內(nèi)容的一般包括:主程序的起始地址,中斷服務(wù)程序的起始地址,有關(guān)內(nèi)存單元及相關(guān)部件的初始化和一些子程序的調(diào)用等內(nèi)容。設(shè)置中斷入口地址、設(shè)置主程序的起始地址(開始),為了保護(hù)現(xiàn)場設(shè)置堆棧指
31、針,為了保證顯示的正確性要進(jìn)行T0的初始化和顯示緩沖區(qū)與計時有關(guān)的寄存器的清零。啟動T0調(diào)用顯示程序顯示當(dāng)前時間,根據(jù)需要可以進(jìn)行按鍵處理,一旦鬧鐘時間到,發(fā)出報警,報警時間過后,調(diào)用顯示程序繼續(xù)正常的時間顯示。主程序清單如下:ORG 0000H ;中斷入口地址 AJMP MAINORG 000BH ;T0中斷 AJMP T0INTMAIN: MOV SP,#70H ;設(shè)置堆棧指針MOV R6,#06H ;顯示緩沖區(qū)清零 MOV R1,#45H S0:MOV R1,#00H DEC R1 DJNZ R6,S0MOV TMOD,#01H ;T0為工作方式1 MOV TH0,#0BH ;設(shè)T0計數(shù)
32、初值 MOV TL0,#0DCHSETB RS0 ;選擇工作區(qū)1 MOV R2,#00H ;相關(guān)寄存器清零 MOV R3,#00H MOV R4,#00H MOV R5,#00HCLR RS0 ;選擇工作區(qū)0MOV R1,#45H ;顯緩區(qū)首指針?biāo)蚏1 SETB TR0 ;開T0SS1: LCALL DISP ;調(diào)用顯示程序LCALL KEYBOARD ;調(diào)用按鍵處理程序 MOV R2, 35H ;判斷是否有定時時間 CJNE R2, #0, NT MOV R2, 34H CJNE R2, #0, NT MOV R2, 33H CJNE R2, #0, NT SJMP BBNT: MOV A,
33、 35HCJNE A, 32H, BB ;判斷定時時間到否 MOV A, 34HCJNE A, 31H, BB MOV A, 33HCJNE A, 30H, BBCLR P3.7 ;時間到發(fā)出報警 MOV R7,#15 SJMP SS1BB: SETB P3.7 SJMP SS1 二中斷系統(tǒng)的介紹如果在執(zhí)行主程序時只有一個中斷請求源請求中斷,而這時CPU 又是對中斷開放的那么這個中斷立即得到響應(yīng)。然而由于中斷是隨機(jī)產(chǎn)生的,中斷源又不止1個,因此往往會出現(xiàn)這樣的情況:幾個中斷源同時請求中斷,或者當(dāng)某一個中斷正在響應(yīng)中,又有其他中斷源請求中斷,這時中斷一般會按如下原則進(jìn)行處理:(1) 不同級的中斷
34、源同時請求中斷時先高后低 (2) 同級的中斷源同時申請中斷時事先規(guī)定(3) 處理低級中斷又收到高級中斷請求時停低轉(zhuǎn)高 (4) 處理高級中斷又收到低級中斷請求時高不理低AT89C51單片機(jī)的中斷系統(tǒng)對優(yōu)先級的控制比較簡單,只規(guī)定了兩個中斷優(yōu)先級,對于每一個中斷源均可編程為高優(yōu)先級中斷或低優(yōu)先級中斷。在同一個優(yōu)先級中,五個中斷優(yōu)先級的次序如下: 外部中斷0(IE0)定時器/計數(shù)器T0溢出中斷(TF0) 外部中斷1(IE1)定時器/計數(shù)器T1溢出中斷(TF1) 串行口中斷(RI+TI)AT89C51單片機(jī)有1個中斷優(yōu)先級寄存器IP ,字節(jié)地址為B8H 。對于每一個中斷源,均可通過IP 的設(shè)置來確定優(yōu)
35、先等級,置1為高優(yōu)先級,反之為低。 三、時鐘計時程序數(shù)字顯示計時系統(tǒng)的主要任務(wù)是:采用單片機(jī)為核心的器件產(chǎn)生24小時時間,并用LED 顯示器將它顯示出來。在本次設(shè)計中所用的晶振為6MHz ,定時器最長的定時時間為131.72ms ,要產(chǎn)生24h 的時間值,故我們采用定時器T0方式1。(1)24小時的產(chǎn)生:選擇定時器T0 方式1,定時125ms 中斷一次,利用R2寄存器加1,8次為1s ,再利用寄存器R3計數(shù)60s ,依次類推,累計24的時間值,并需設(shè)置以下幾個寄存器:R2:累計1s 時間寄存器。T0每中斷一次R2=R2+1,計數(shù)八次向R3進(jìn)位,并將R2清零R3:累計60s 時間寄存器。當(dāng)R3=
36、60s,向R4進(jìn)位,并使R3=0。R4:累計60min 時間寄存器。當(dāng)R4=60min向R5進(jìn)位,并使R4=0。R5:累計24h 時間寄存器。當(dāng)R5=24h,正好是晝夜的時間,并使R5=0。 (2)定時器的初值:F=6MHZ, Tp=2us X=65536-125ms/2us=0BDCH (3)程序設(shè)計框圖:計時程序設(shè)計框圖如圖3-2所示 圖 3-2計時程序設(shè)計框圖程序清單如下:T0定時器,每125ms 中斷一次,中斷8次為1s 。T0INT: PUSH A ;T0計時中斷程序, 保護(hù)現(xiàn)場CLR TR0MOV TH0,#0BH ;設(shè)T0計數(shù)初值 MOV TL0,#0DCHSETB TR0 ;開
37、T0 SETB RS0 ;選擇工作區(qū)1 INC R2CJNE R2,#08H,JT0 ;1s到了嗎? 沒到, 轉(zhuǎn)JT0 MOV R2,#00H ;到了,R2清零 INC R3 ;秒單元+1CJNE R3,#60,JT0 ;60s到了嗎? 沒到, 轉(zhuǎn)JT0 MOV R3,#00H ;到了, 秒單元清零 INC R4 ;分單元+1CJNE R4,#60,JT0 ;60min到了嗎? 沒到, 轉(zhuǎn)JT0 MOV R4,#00H ;到了, 分單元清零 INC R5 ;時單元+1CJNE R5,#24,JT0 ;24h到了嗎? 沒到, 轉(zhuǎn)JT0 MOV R5,#00H ;時單元清零JT0: MOV 30H
38、,R3MOV 31H,R4 MOV 32H,R5MOV R6,#03 ;二-十進(jìn)制轉(zhuǎn)換程序 MOV R0,#32H MOV R1,#45H JT1:MOV B,#10 MOV A,R0 DIV AB MOV R1,A DEC R1 MOV A,BMOV R1,A DEC R1 DEC R0 DJNZ R6,JT1 CLR RS0POP A ;恢復(fù)現(xiàn)場 RETI ;中斷返回DTOB: SETB RS0 ;十-二進(jìn)制轉(zhuǎn)換程序MOV R6,#03 MOV R0,#32H MOV R1,#45H JT2:MOV B,#10 MOV A,R1 MUL AB DEC R1 ADD A,R1 MOV R0,
39、A DEC R1 DEC R0 DJNZ R6,JT2 MOV R3,30H MOV R4,31H MOV R5,32H MOV R2,#00 CLR RS0 RETTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH,0CFHEND第四章 調(diào)試4.1 軟 件 調(diào) 試軟件調(diào)試的任務(wù)是利用應(yīng)用軟件(如WAVE 軟件 進(jìn)行仿真調(diào)試,是通過對用戶程序的匯編、連接、執(zhí)行來發(fā)現(xiàn)程序中存在的語法錯誤與邏輯錯誤并加以排除糾正的過程。程序運(yùn)行后編輯,查看程序是否有邏輯的錯誤。運(yùn)用WAVE (偉福)軟件編譯自己設(shè)計的匯編程序,檢驗程序。發(fā)現(xiàn)程序中的語
40、法錯誤與邏輯錯誤并加以排除糾正。注意運(yùn)用WAVE 軟件保存文件時的后綴名用(.ASM )。仿真結(jié)果如下: 4.2 proteus 仿 真 軟 件 的 應(yīng) 用PROTEUS 軟件是由英國Labcenter electronics公司開發(fā)的一款電子設(shè)計軟件,它是目前能對CPU 芯片及其外圍電路進(jìn)行完整仿真的計算機(jī)設(shè)計分析軟件。在使用Proteus 進(jìn)行仿真調(diào)試時,可以從實物的角度直接觀看電路運(yùn)行的結(jié)果(而不是某條語句或存儲器的內(nèi)容),從某種意義上講,proteus 解決了理論設(shè)計與動手制作相互脫節(jié)的重大問題。在本次設(shè)計中,正是由于這款軟件的使用,大大提高了設(shè)計的效率,縮短了設(shè)計的周期。Proteu
41、s 仿真軟件無疑是單片機(jī)開發(fā)者掌握單片機(jī)開發(fā)技術(shù)的絕好的入門工具。 仿真結(jié)果數(shù)碼管能顯示“時”,“分”,“秒”,蜂鳴器也能響。系統(tǒng)初步達(dá)到了設(shè)計的要求。在仿真的過程中每個管腳旁邊會出現(xiàn)一個小方塊,紅色的方快表示高電平,藍(lán)色的表示低電平。通過方快顏色的變化可以很方便地知道每個管腳電平的變化,從而能對系統(tǒng)的運(yùn)行有更直觀的了解,這對程序的調(diào)試有很大的幫助 Protues 仿真電路圖如下: 4.3性能分析按照設(shè)計程序分析,LED 顯示器動態(tài)掃描頻率在實際觀察時沒有閃爍。由于即使中斷程序中加了中斷延時誤差處理,所以實際計時精度很高,可以滿足多種場合的應(yīng)用需要。小 結(jié)面臨畢業(yè),我在學(xué)校的最后一門功課(畢業(yè)
42、設(shè)計)也即將完成。畢業(yè)設(shè)計是對我們整個大學(xué)階段所學(xué)的所有專業(yè)課程的一次綜合性考核。我做的是用AT89C51單片機(jī)設(shè)計具有鬧鐘等功能的數(shù)字顯示計時系統(tǒng)。這次數(shù)字顯示計時系統(tǒng)的設(shè)計,使得我對單片機(jī)理論知識有了進(jìn)一步的了解。學(xué)習(xí)了三年,這次設(shè)計是對我們?nèi)晁鶎W(xué)東西的檢驗,提高了我們的綜合能力,具體來說提高了我們的自學(xué)能力,獨(dú)立分析,解決問題的能力以及動手進(jìn)行實驗的能力。同時也對所學(xué)知識進(jìn)行有效的鞏固,根據(jù)設(shè)計任務(wù),提出參考書目,讓我們自己自學(xué),對于設(shè)計中可能遇到的重點(diǎn)與難點(diǎn),通過分析與老師的詳細(xì)講解,啟發(fā)了我們的思考,幫助我們掌握自學(xué)的方法,起到了很好的效果。讓我們在設(shè)計實踐中鍛煉能力,在整個設(shè)計過
43、程中方老師也引導(dǎo)我們明確了設(shè)計的要求以及現(xiàn)實這些要求的方法。鼓勵我們開動腦筋,大膽探索,充分發(fā)揮我們的主觀能動型與創(chuàng)造型。時間安排上,能使我們有效的去鉆研比較難的問題,也通過每組的同學(xué)的交流與討論確定最后的方案,方老師也定期負(fù)責(zé)檢查我們所設(shè)計的情況,并提出相關(guān)問題,以及幫助我們解決在設(shè)計過程中疑難的問題,直到設(shè)計出合格的電路。通過這次數(shù)字鐘的設(shè)計制作,我們將從書本上學(xué)到的知識應(yīng)用于實踐,提高了一些電子電路仿真設(shè)計能力, 雖然過程中遇到了一些困難,但是在解決這些問題的過程無疑也是對自己自身專業(yè)素質(zhì)的一種提高。當(dāng)最終調(diào)試成功的時候也是對自己的一種肯定。此次的設(shè)計作業(yè)不僅增強(qiáng)了自己在專業(yè)設(shè)計方面的信
44、心,鼓舞了自己,更是一次興趣的培養(yǎng),為自己以后的學(xué)習(xí)方向的明確了重點(diǎn)。 另外在這次實驗中我們遇到了不少的問題針對不同的問題我們采取不同的解決方法,最終一一解決設(shè)計中遇到的問題。在我們遇到不懂的問題時,利用網(wǎng)上的資源,搜索查找得到需要的信息。和同學(xué)之間相互討論,明白了團(tuán)隊合作的重要性。這次的制作也讓我們感受到,我們在電子方面學(xué)到的只是很小的一部分知識,我們需要更多的時間來學(xué)習(xí)知識,學(xué)習(xí)技術(shù)。在軟件編程方面,我在這方面學(xué)到很多很多的東西,我為了搞懂一則程序可以一天不出宿舍,就算是這樣,我也知道自己所學(xué)到的東西太少,但我還是很感謝這次設(shè)計,感謝我的的指導(dǎo)老師方老師,還有同組同學(xué),是老師的指導(dǎo)和同學(xué)一
45、起的努力才有了這一份收獲。參 考 文 獻(xiàn):(1)王效華 張詠梅 主編:單片機(jī)原理與應(yīng)用 2009年1月第4次印刷 (2)樓然苗 李光飛 主編:單片機(jī)課程設(shè)計指導(dǎo) 2008年3月 (3)李珍. 單片機(jī)原理與控制技術(shù). 北京:清華大學(xué)出版社,2002(4)皮紅梅,李英順. 單片機(jī)開發(fā)中的定時方法. 沈陽:石油化工高等專科學(xué)校學(xué)報,2002年12月(5)張友德. 單片微型機(jī)原理、應(yīng)用與實踐. 上海:復(fù)旦大學(xué)出版社,1992 (6)汪敏,凌陽.16位單片機(jī)實驗與實踐. 北京: 北京航空航天大學(xué)出版社,2007 (7)夏繼強(qiáng), 邢春香. 單片機(jī)應(yīng)用設(shè)計培訓(xùn)教程實踐篇. 北京:北京航空航天大學(xué)出版社,20
46、08附錄A 源程序主程序清單:ORG 0000H ;中斷入口地址AJMP MAINORG 000BH ;T0中斷AJMP T0INTMAIN: MOV SP,#70H ;設(shè)置堆棧指針MOV R6,#06H ;顯示緩沖區(qū)清零MOV R1,#45HS0:MOV R1,#00HDEC R1DJNZ R6,S0MOV TMOD,#01H ;T0為工作方式1MOV TH0,#0BH ;設(shè)T0計數(shù)初值MOV TL0,#0DCHSETB RS0 ;選擇工作區(qū)1MOV R2,#00H ;相關(guān)寄存器清零MOV R3,#00HMOV R4,#00HMOV R5,#00HCLR RS0 ;選擇工作區(qū)0MOV R1,
47、#45H ;顯緩區(qū)首指針?biāo)蚏1SETB TR0 ;開T0S S1: LCALL DISP ;調(diào)用顯示程序LCALL KEYBOARD ;調(diào)用按鍵處理程序MOV R2, 35H ;判斷是否有定時時間CJNE R2, #0, NTMOV R2, 34HCJNE R2, #0, NTMOV R2, 33HCJNE R2, #0, NTSJMP BBNT: MOV A, 35HCJNE A, 32H, BB ;判斷定時時間到否MOV A, 34HCJNE A, 31H, BBMOV A, 33HCJNE A, 30H, BBCLR P3.7 ;時間到發(fā)出報警SJMP SS1BB: SETB P3.7S
48、JMP SS1按鍵處理(當(dāng)前)時間程序清單KEYBOARD: NOPKEY: MOV R4,#04H ;調(diào)顯示程序S1: LCALL DISPDJNZ R4,S1SETB P0.0JB P0.0,KEY ;P0.0(SET鍵 為高電平嗎? 是, 轉(zhuǎn)KEY MOV R4,#0AH ;否, 調(diào)顯示延時消抖 S2: LCALL DISPDJNZ R4,S2SETB P0.0JB P0.0,KEY ;P0.0為高電平嗎? 是, 轉(zhuǎn)KEY CLR TR0 ;否, 關(guān)T0 JNB P0.0,$ ;等待鍵釋放 MOV 20H,R1 ;R1送閃爍顯示單元20H MOV R2,#00 ;LED位數(shù)單元R2清零
49、KEY1: LCALL DISP_2 ;調(diào)閃爍顯示程序 MOV P0,#0FFHMOV A,P0CPL AJZ KEY1KEY2: JNB ACC.0,KEY3 ;P0.0(SET鍵 按下嗎? 否, 轉(zhuǎn)KEY3 JNB P0.0,$ ;是, 等待鍵釋放 DEC R1 ;R1-1INC R2 ;R2+1CJNE R2,#06,L13 ;R2=6嗎? 否, 轉(zhuǎn)L13 MOV R1,#45H ;是, 重新開始調(diào)位 MOV R2,#00L13:MOV 20H,R1 ;R1送閃爍顯示單元20H SJMP KEY1KEY3: JNB ACC.2,KEY4 ;P0.2(+1鍵 按下嗎? 否, 轉(zhuǎn)KEY4 J
50、NB P0.2,$MOV A,R1CJNE R1,#45H,L1 ;是小時的十位嗎? 否, 轉(zhuǎn)L1 CJNE A,#02,LL ;十位為2嗎? 否, 轉(zhuǎn)LL SJMP KEY5L1: CJNE R1,#44H,L2 ;是小時的個位嗎? 否, 轉(zhuǎn)L2 MOV R4,45HCJNE R4,#02,L101 ;十位為2嗎? 否, 轉(zhuǎn)L101CJNE A,#03,LL ;是, 個位為3嗎? 否, 轉(zhuǎn)LL SJMP KEY5L101: CJNE A,#09,LL ;個位為9嗎? 否, 轉(zhuǎn)LLSJMP KEY5L2: CJNE R1,#43H,L3 ;是分鐘的十位嗎? 否, 轉(zhuǎn)L3 CJNE A,#05,
51、LL ;是, 十位為5嗎? 否, 轉(zhuǎn)LL SJMP KEY5L3: CJNE R1,#42H,L4 ;是分鐘的個位嗎? 否, 轉(zhuǎn)L4 CJNE A,#09,LL ;是, 個位為9嗎? 否, 轉(zhuǎn)LL SJMP KEY5L4: CJNE R1,#41H,L5 ;是秒鐘的十位嗎? 否, 轉(zhuǎn)L5 CJNE A,#05,LL ;是, 十位為5嗎? 否, 轉(zhuǎn)LL SJMP KEY5L5: CJNE R1,#40H,L6 ;是秒鐘的個位嗎? 否, 轉(zhuǎn)L6 CJNE A,#09,LL ;是, 個位為9嗎? 否, 轉(zhuǎn)LL KEY5: MOV R1,#00H ;R1單元內(nèi)容清零SJMP KEY1LL: INC A
52、 ;做+1處理MOV R1,AL6: SJMP KEY1KEY4: JNB ACC.3,L6 ;P0.3(RET鍵 按下嗎? 否, 轉(zhuǎn)L6 JNB P0.3,$ ;是, 等待鍵釋放MOV R1,#45HACALL DTOB ;調(diào)十-二進(jìn)制轉(zhuǎn)換程序SETB TR0 ;開T0LJMP KEY按鍵處理(鬧鐘)時間程序清單KEYBOARD: NOPKEY: MOV R4,#04H ;調(diào)顯示程序S1: LCALL DISPDJNZ R4,S1SETB P0.2JB P0.1,KEY ;P0.1(ALM鍵 為高電平嗎? 是, 轉(zhuǎn)KEY MOV R4,#0AH ;否, 調(diào)顯示延時消抖S2: LCALL DI
53、SPDJNZ R4,S2SETB P0.1JB P0.1,KEY ;P0.1為高電平嗎? 是, 轉(zhuǎn)KEY CLR TR0 ;否, 關(guān)T0JNB P0.0,$ ;等待鍵釋放MOV 20H,R1 ;R1送閃爍顯示單元20HMOV R2,#00 ;LED位數(shù)單元R2清零KEY1: LCALL DISP_2 ;調(diào)閃爍顯示程序MOV P0,#0FFHMOV A,P0CPL AJZ KEY1KEY2: JNB ACC.1,KEY3 ;P0.1(ALM鍵 按下嗎? 否, 轉(zhuǎn)KEY3 JNB P0.1,$ ;是, 等待鍵釋放DEC R1 ;R1-1INC R2 ;R2+1CJNE R2,#06,L13 ;R2
54、=6嗎? 否, 轉(zhuǎn)L13MOV R1,#45H ;是, 重新開始調(diào)位MOV R2,#00L13:MOV 20H,R1 ;R1送閃爍顯示單元20H SJMP KEY1KEY3: JNB ACC.2,KEY4 ;P0.2(+1鍵 按下嗎? 否, 轉(zhuǎn)KEY4 JNB P0.2,$MOV A,R1CJNE R1,#45H,L1 ;是小時的十位嗎? 否, 轉(zhuǎn)L1 CJNE A,#02,LL ;十位為2嗎? 否, 轉(zhuǎn)LL SJMP KEY5L1: CJNE R1,#44H,L2 ;是小時的個位嗎? 否, 轉(zhuǎn)L2 MOV R4,45HCJNE R4,#02,L101 ;十位為2嗎? 否, 轉(zhuǎn)L101 CJN
55、E A,#03,LL ;是, 個位為3嗎? 否, 轉(zhuǎn)LL SJMP KEY5L101: CJNE A,#09,LL ;個位為9嗎? 否, 轉(zhuǎn)LL SJMP KEY5L2: CJNE R1,#43H,L3 ;是分鐘的十位嗎? 否, 轉(zhuǎn)L3 CJNE A,#05,LL ;是, 十位為5嗎? 否, 轉(zhuǎn)LL SJMP KEY5L3: CJNE R1,#42H,L4 ;是分鐘的個位嗎? 否, 轉(zhuǎn)L4 CJNE A,#09,LL ;是, 個位為9嗎? 否, 轉(zhuǎn)LL SJMP KEY5L4: CJNE R1,#41H,L5 ;是秒鐘的十位嗎? 否, 轉(zhuǎn)L5 CJNE A,#05,LL ;是, 十位為5嗎?
56、否, 轉(zhuǎn)LL SJMP KEY5L5: CJNE R1,#40H,L6 ;是秒鐘的個位嗎? 否, 轉(zhuǎn)L6 CJNE A,#09,LL ;是, 個位為9嗎? 否, 轉(zhuǎn)LL KEY5: MOV R1,#00H ;R1單元內(nèi)容清零 SJMP KEY1LL: INC A ;做+1處理 MOV R1,AL6: SJMP KEY1KEY4: JNB ACC.3,L6 ;P0.3(RET鍵 按下嗎? 否, 轉(zhuǎn)L6 JNB P0.3,$ ;是, 等待鍵釋放MOV R1,#45HACALL DTOB ;調(diào)十-二進(jìn)制轉(zhuǎn)換程序 SETB TR0 ;開T0LJMP KEY顯示程序清單DISP: MOV DPTR,#TAB ;顯示程序MOV R0,#45HMOV B,#0FEHMOV R5,#06HDIP1: MOV P2,#0FFH ;關(guān)顯示MOV A,R0
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 葡萄糖基雜化多孔碳的制備及對CO2-CH4-N2選擇性分離性能研究
- 與他人簽訂合作合同范例
- 產(chǎn)品公司股合同范例
- 高電壓層狀鈷基氧化物正極材料的改性及在鋰離子電池中的性能研究
- 凍肉采購合同范例
- app推廣代理 合同范例
- 吡非尼酮經(jīng)調(diào)節(jié)Wnt-β-catenin信號通路抑制心肌細(xì)胞纖維化的研究
- 羅大經(jīng)《鶴林玉露》研究
- 企業(yè)征地合作合同范例
- 《合同范例全書》
- 儲能電池模組PACK和系統(tǒng)集成項目可行性研究報告
- 2024年安徽省公務(wù)員錄用考試《行測》真題及解析
- 2024年陜西省中考數(shù)學(xué)試題含答案
- 牙慢性損傷-楔狀缺損
- JTJ034-2000 公路路面基層施工技術(shù)規(guī)范
- 2024-2030年中國光伏建筑一體化(BIPV)市場規(guī)模預(yù)測與競爭格局分析研究報告
- 2024年清理化糞池協(xié)議書
- 零售業(yè)視覺營銷與商品展示技巧考核試卷
- 民營醫(yī)院并購合同范本
- 中國高血壓防治指南(2024年修訂版)圖文解讀
- 2024-2030年中國長管拖車行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
評論
0/150
提交評論