版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、湖北大學(xué)畢 業(yè) 設(shè) 計(jì)(論文)設(shè)計(jì)(論文)題目:數(shù)字顯示計(jì)時(shí)系統(tǒng)系 別: 物理與科學(xué)技術(shù)學(xué)院 專 業(yè): 電子信息工程 班 級(jí):07電信(3)班 姓 名: 學(xué) 號(hào): 0706020331 指導(dǎo)老師: 完成時(shí)間: 2010年5月 摘要:本次設(shè)計(jì)主要是利用at89c51單片機(jī)完成,其中at89c51是核心元件同時(shí)采用數(shù)碼管動(dòng)態(tài)顯示“時(shí)”、“分”、“秒”的現(xiàn)代計(jì)時(shí)裝置。與傳統(tǒng)機(jī)械表相比,它具有走時(shí)精確,顯示直觀等特點(diǎn)。它的計(jì)時(shí)周期為24小時(shí),顯示滿刻度為“23時(shí)59分59秒”,另外具有校時(shí)功能、整點(diǎn)報(bào)時(shí)功能、鬧鈴功能、斷電后有記憶功能、恢復(fù)供電時(shí)可實(shí)現(xiàn)計(jì)時(shí)同步等特點(diǎn)。本文主要介紹用單片機(jī)內(nèi)部的定時(shí)/計(jì)
2、數(shù)器來(lái)實(shí)現(xiàn)數(shù)字顯示計(jì)時(shí)系統(tǒng)的方法,本設(shè)計(jì)硬件由單片機(jī)at89c51芯片和led數(shù)碼管為核心,輔以必要的電路,構(gòu)成了一個(gè)單片機(jī)數(shù)字顯示計(jì)時(shí)(鬧鐘)顯示系統(tǒng),硬件電路仿真由proteus仿真軟件完成,軟件由偉福(wave)編程完成。 關(guān)鍵詞:at89c51 led 鬧鈴 整點(diǎn)報(bào)時(shí) abstract:this is the main design, including complete at89c51 is the core element also uses at89c51 dynamic display of digital tube, points and second modern timi
3、ng devices. compared with the traditional mechanical watch, it is precisely that intuitive, walking, etc. its 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 functions, power was restored after the memory
4、 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 core, with the necessary circuit, a digital
5、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 課題簡(jiǎn)介4 1.2 設(shè)計(jì)的主要原理4 1.3方案論證4 1.4設(shè)計(jì)的目的及要求5第二章 硬件設(shè)計(jì)2.1 硬件部分框圖6 2.2 使用芯片介紹6 2.3 分電路設(shè)計(jì)8第三章 軟件設(shè)計(jì) 3.1 單元分配14 3.2 程序框圖與匯編程序1
6、4第四章 調(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 課題簡(jiǎn)介數(shù)字鐘是一種用數(shù)字電路技術(shù)實(shí)現(xiàn)時(shí)、分、秒計(jì)時(shí)的裝置,與機(jī)械式時(shí)鐘相比具有更高的準(zhǔn)確性和直觀性,且無(wú)機(jī)械裝置,具有更長(zhǎng)的使用壽命,已得到廣泛的使用。數(shù)字鐘的設(shè)計(jì)方法有許多種,例如,可用中小規(guī)模集成電路組成電子鐘;也可以利用專用的電子鐘芯片配以顯示電路及其所需要的外圍電路組成電子鐘;還可以利用單片機(jī)來(lái)實(shí)現(xiàn)電子鐘等等。這些方法都各有其特點(diǎn),其中利用單片機(jī)實(shí)現(xiàn)的電子鐘具有編程靈活,并便于功能的擴(kuò)展。單片機(jī)應(yīng)
7、用的重要意義在于,它從根本上改變了傳統(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ù)的一次革命。 本次設(shè)計(jì)以at89c51單片機(jī)為核心來(lái)控制時(shí)鐘電路、按鍵電路、復(fù)位電路、led顯示器段碼驅(qū)動(dòng)電路、led顯示器碼驅(qū)動(dòng)電路、6位led顯示器電路以及蜂鳴器,以達(dá)到對(duì)“時(shí)”“分”“秒”精確的控制和顯示。1.2 設(shè)計(jì)的主要原理電路工作原理:該電路以at89c51為核心。顯示器用七段共陽(yáng)led數(shù)碼管顯示器,顯示小時(shí)、分鐘以及秒,從p0口接入4個(gè)按鈕開(kāi)關(guān),作為輸入電路,進(jìn)行手動(dòng)設(shè)置調(diào)
8、時(shí)、調(diào)分和調(diào)秒,通過(guò)p2,p1口來(lái)實(shí)現(xiàn)對(duì)顯示的實(shí)時(shí)控制。同時(shí)在從p3口接入1個(gè)蜂鳴電路,作為報(bào)警用。1.3 設(shè)計(jì)的目的及要求1 設(shè) 計(jì) 目 的(1)熟悉集成電路的引腳安排;(2)熟悉并掌握80c51的結(jié)構(gòu)原理及應(yīng)用;(3)了解電路板結(jié)構(gòu)及其接線方法;(4)了解數(shù)字鐘的組成及工作原理;(5)掌握芯片的邏輯功能及使用方法;(6)熟悉數(shù)字鐘的設(shè)計(jì)與制作。2. 設(shè) 計(jì) 要 求(1)報(bào)時(shí)用中斷方式計(jì)時(shí);(2)到整時(shí)時(shí)能夠準(zhǔn)時(shí);(3)由晶振提供標(biāo)準(zhǔn)時(shí)間基準(zhǔn)信號(hào);(4)自動(dòng)計(jì)時(shí)并具備校調(diào)功能。可以單獨(dú)對(duì)每一位校調(diào);(5)設(shè)置四個(gè)按鍵set,ret,alm和+1鍵,對(duì)時(shí),分,秒進(jìn)行調(diào)整;(6)通過(guò)軟件編程的方
9、法實(shí)現(xiàn)以24小時(shí)為一個(gè)周期同時(shí)顯示小時(shí),分鐘和秒。1.4方案論證方案一:采用實(shí)時(shí)時(shí)鐘芯片設(shè)計(jì):針對(duì)計(jì)算機(jī)系統(tǒng)對(duì)實(shí)時(shí)時(shí)鐘功能的普遍需求,各大芯片生產(chǎn)廠家陸續(xù)推出了一系列的實(shí)時(shí)時(shí)鐘集成芯片,如ds1287,ds12887等,這些實(shí)時(shí)時(shí)鐘芯片具備年月日,時(shí)分秒計(jì)時(shí)功能和多點(diǎn)定時(shí)功能,計(jì)時(shí)數(shù)據(jù)的更新每秒進(jìn)行一次,不需程序干預(yù)。計(jì)算機(jī)間程序簡(jiǎn)單。此外,實(shí)時(shí)時(shí)鐘芯片多數(shù)帶有鋰電池做后備電池具備永不停止的計(jì)時(shí)功能,具有可編程方波輸出功能,可用做實(shí)時(shí)測(cè)控系統(tǒng)的采樣信號(hào)等;有的實(shí)時(shí)時(shí)鐘芯片內(nèi)部還帶有非易失性ram,可用來(lái)存放需長(zhǎng)期保存的但有時(shí)也需變更的數(shù)據(jù)。方案二:采用單片機(jī)軟件控制技術(shù):利用at89c51內(nèi)部
10、的16位定時(shí)/計(jì)數(shù)器進(jìn)行中斷服務(wù),配合軟件延時(shí)實(shí)現(xiàn)計(jì)時(shí)計(jì)時(shí)及控制全部采用軟件控制,并配合外圍顯示及鍵盤電路,從而實(shí)現(xiàn)電子時(shí)鐘的各項(xiàng)功能。比較上述兩種方案:方案一雖然功能強(qiáng)大,性能較好但所用芯片較貴、外圍邏輯電路復(fù)雜,且靈活性較低,不利于各種功能的擴(kuò)展;方案二此系統(tǒng)硬件簡(jiǎn)單,將復(fù)雜的硬件功能用軟件實(shí)現(xiàn),因此系統(tǒng)控制靈活,能很好的滿足基本需求,且能夠使人在定時(shí)/計(jì)數(shù)器的使用、中斷及程序設(shè)計(jì)方面得到鍛煉與提高,因此本次設(shè)計(jì)采用方案二。第二章 硬件設(shè)計(jì)2.1 硬件部分框圖圖2-1為該系統(tǒng)設(shè)計(jì)方案的硬件電路設(shè)計(jì)框圖。該數(shù)字顯示計(jì)時(shí)系統(tǒng)的硬件電路是由單片機(jī)、時(shí)鐘電路、按鍵電路、復(fù)位電路、led顯示器段碼驅(qū)
11、動(dòng)電路、led顯示器碼驅(qū)動(dòng)電路、6位led顯示器電路以及蜂鳴器電路。圖2-1硬件電路框圖在圖2-1中,以at89c51單片機(jī)為核心,led數(shù)碼管顯示內(nèi)容通過(guò)p1口從單片機(jī)傳送到數(shù)碼管。p2口是數(shù)碼管位選控制端口。形成一個(gè)可以顯示時(shí),分,秒的數(shù)字顯示計(jì)時(shí)系統(tǒng)。在這一系統(tǒng)中當(dāng)時(shí)間調(diào)整設(shè)置鍵(set)被按下時(shí),系統(tǒng)進(jìn)入時(shí)間調(diào)整輸入功能狀態(tài);當(dāng)定時(shí)時(shí)間設(shè)置鍵(alm)被按下時(shí),系統(tǒng)進(jìn)入定時(shí)(鬧鐘)時(shí)間輸入功能狀態(tài);當(dāng)+1調(diào)整鍵被按下時(shí),被調(diào)整位加一;當(dāng)確認(rèn)鍵(ret)被按下時(shí),指向下一個(gè)要調(diào)整的位。4個(gè)按鍵開(kāi)關(guān)通過(guò)不同的組合實(shí)現(xiàn)外部控制程序狀態(tài)2.2 使用芯片介紹at89c51 是一種低功耗、高性能c
12、mos8位微控制器,具有 8k 在系統(tǒng)可編程flash 存儲(chǔ)器。使用atmel 公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80c51 產(chǎn)品指令和引腳完全兼容。片上flash允許程序存儲(chǔ)器在系統(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 口線,看門狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16 位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,at89c51 可降至0hz 靜
13、態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,cpu 停止工作,允許ram、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,ram內(nèi)容被保存,振蕩器被凍結(jié), 單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(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)運(yùn)算器運(yùn)算器主要用來(lái)實(shí)現(xiàn)算術(shù),邏輯運(yùn)算和位操作,其中包括算術(shù)運(yùn)算和邏輯運(yùn)算單元alu,和累加器acc,b寄存器程序狀態(tài)字psw和兩個(gè)存
14、儲(chǔ)器等。2)控制器控制器是識(shí)別指令并根據(jù)指令性質(zhì)協(xié)調(diào)計(jì)算機(jī)內(nèi)各組成單元進(jìn)行工作的部件,控制器主要包括程序計(jì)數(shù)器pc,pc增量器,指令寄存器,指令譯碼器,定時(shí)及控制邏輯電路等。其功能是控制指令的讀入,譯碼和執(zhí)行,并對(duì)指令執(zhí)行過(guò)程進(jìn)行定時(shí)和邏輯控制,在at89c51單片機(jī)中,pc是一個(gè)16位的計(jì)數(shù)器,可對(duì)64kb程序存儲(chǔ)器進(jìn)行尋址,復(fù)位時(shí)pc內(nèi)容為0000h,說(shuō)明程序應(yīng)從存儲(chǔ)器0000h單元開(kāi)始執(zhí)行。3)外圍接口電路cpu與外部設(shè)備的信息交換都要通過(guò)接口電路來(lái)進(jìn)行,這主要是為了解決cpu的高速處理能力和外部設(shè)備低速運(yùn)行之間的速度匹配問(wèn)題,并可以有效地提高cpu的工作效率,同時(shí)也提高了cpu的對(duì)外驅(qū)
15、動(dòng)能力。輸出借口電路具有鎖存器和驅(qū)動(dòng)器,輸入接口電路具有三態(tài)門控制,成為接口電路的基本特性,at89c51單片機(jī)的外圍接口電路主要包括:4個(gè)可編程并行i/o口,1個(gè)可編程串行口,2個(gè)16位的可編程定時(shí)器及中斷系統(tǒng)等,由于受集成度的限制,片內(nèi)存儲(chǔ)器和外圍接口電路的規(guī)模及數(shù)量受到一定的限制,為了適應(yīng)外部更復(fù)雜的控制功能,單片機(jī)具有較強(qiáng)的擴(kuò)展功能,可以很方便地?cái)U(kuò)展外部存儲(chǔ)器rom,ram和i/o口等4)位處理器。單片機(jī)主要用于控制,需要有較強(qiáng)的位處理功能,因此位處理器是它的必要組成部分,常把位處理器稱為布爾處理器。位處理器以狀態(tài)寄存器中的進(jìn)位標(biāo)志位c為累加位,可進(jìn)行置位、復(fù)位、取反、等于“0”轉(zhuǎn)移、
16、等于“1”轉(zhuǎn)移且清“0”以及c與可尋址位之間的傳送、邏輯與、邏輯或等位操作。位處理操作也是通過(guò)運(yùn)算器實(shí)現(xiàn)的。4)存儲(chǔ)器單片機(jī)內(nèi)部的存儲(chǔ)器分為程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器,標(biāo)準(zhǔn)型at89c51單片機(jī)的程序存儲(chǔ)器采用4kb的快速擦寫存儲(chǔ)器flash memory,程序和擦除完全是電氣實(shí)現(xiàn),編程和擦寫速度快,可以使用通用的編程器脫機(jī)編程,也可在線編程。flash的應(yīng)用成為at89系列單片機(jī)的顯著特點(diǎn)之一,在單片機(jī)中,用隨機(jī)存儲(chǔ)器ram來(lái)存儲(chǔ)程序運(yùn)行期間的工作變量和數(shù)據(jù),所以又稱為數(shù)據(jù)數(shù)據(jù)存儲(chǔ)器。一定容量的ram集成在單片機(jī)內(nèi),提高了單片機(jī)的運(yùn)行速度,也降低了功耗。5)串行口at89c51單片機(jī)是由一個(gè)全雙
17、工的串行接口,以實(shí)現(xiàn)單片機(jī)和其他數(shù)據(jù)設(shè)備之間的串行數(shù)據(jù)傳送。該串行口功能較強(qiáng),既可作為全雙工異步通信收發(fā)器使用,也可作為同步移位器使用。6)中斷控制系統(tǒng)at89c51單片機(jī)的中斷功能較強(qiáng),以滿足控制應(yīng)用的需要。80c51工有5個(gè)中斷源,即外中斷2個(gè),定時(shí)/計(jì)數(shù)中斷2個(gè),串行中斷1個(gè)。全部中斷分為高級(jí)和低級(jí)共兩個(gè)優(yōu)先級(jí)別。2.3 分電路設(shè)計(jì)1按鍵電路設(shè)計(jì)與器件選擇數(shù)字顯示計(jì)時(shí)系統(tǒng)工作時(shí)應(yīng)具備兩項(xiàng)基本功能,一是隨時(shí)輸入定時(shí)(鬧鐘)時(shí)間,二是隨時(shí)對(duì)當(dāng)前時(shí)間進(jìn)行調(diào)整。要實(shí)現(xiàn)這兩項(xiàng)功能,可以接入鍵盤輸入電路。1)按鍵方案一:4*4矩陣式鍵盤。如果選擇此方案,那么在修改時(shí)鐘或設(shè)置鬧鈴時(shí)間時(shí)就可以直接從鍵盤
18、輸入,方便、快捷,但程序較為復(fù)雜。方案二:獨(dú)立式按鍵。如果設(shè)置過(guò)多按鍵,將會(huì)占用較多i/o口,而且會(huì)給布線帶來(lái)不便,因此,此方案適用于按鍵較少的情況。如果選擇此方案,由于按鍵較少,在修改時(shí)間或設(shè)置鬧鈴時(shí)間時(shí)就不能直接輸入,只能通過(guò)加或減來(lái)完成,稍為麻煩一些,但其程序簡(jiǎn)單。由于并不需要經(jīng)常修改時(shí)間和設(shè)置鬧鈴時(shí)間,而且方案二的程序簡(jiǎn)單,按鍵少、成本低,因此,選擇方案二。2) 鍵盤結(jié)構(gòu)的選擇鍵盤結(jié)構(gòu)可以分為獨(dú)立式鍵盤和行列式鍵盤(矩陣式)兩類。在本次設(shè)計(jì)中只需要4個(gè)按鍵,因此選擇獨(dú)立式鍵盤。電路是由按鍵和4個(gè)電阻組成,按鍵分別命名為 set、 alm 、+1和 ret鍵,按鍵可以采用輕觸開(kāi)關(guān),電阻采
19、用并腳排電阻(4*10k)如圖2-4所示:圖2-4 鍵盤結(jié)構(gòu)在圖2- 4中4個(gè)按鍵的功能的具體說(shuō)明:ret確認(rèn)鍵的功能:確認(rèn),即對(duì) +1 調(diào)整位進(jìn)行確認(rèn),該鍵按下時(shí)說(shuō)明被調(diào)整位的值已經(jīng)確定,轉(zhuǎn)去調(diào)整下一位。+1鍵調(diào)整鍵的功能:分別對(duì)時(shí)間值的小時(shí)十位、小時(shí)個(gè)位、分的十位、分的個(gè)位、秒的十位、秒的個(gè)位進(jìn)行+1調(diào)整,即該鍵每按下一次,對(duì)應(yīng)的時(shí)間調(diào)整位+1。alm鍵功能:設(shè)置定時(shí)(鬧鐘)時(shí)間,即當(dāng)需要電子時(shí)鐘進(jìn)行定時(shí)(鬧鐘)服務(wù)時(shí),可以通過(guò)該鍵的功能來(lái)輸入定時(shí)(鬧鐘)時(shí)間,使用alm 鍵與 +1鍵ret 鍵配合來(lái)完成這一功能。 set鍵功能:設(shè)置當(dāng)前時(shí)間,即當(dāng)電子時(shí)鐘的時(shí)間有誤差時(shí),需要隨時(shí)對(duì)它進(jìn)調(diào)整
20、,使用set 鍵與+1 鍵ret 鍵配合來(lái)完成這一功能。鍵盤的硬件電路設(shè)計(jì)只能保證4個(gè)按鍵信號(hào)的可靠進(jìn)入,要想完成鍵盤的輸入功能,還要靠軟件編程來(lái)具體實(shí)現(xiàn)的。3) 按鍵消抖處理:通常的按鍵所用開(kāi)關(guān)為機(jī)械彈性開(kāi)關(guān),當(dāng)機(jī)械觸點(diǎn)斷開(kāi)、閉合時(shí),電壓信號(hào)小型如圖2-5所示。由于機(jī)械觸點(diǎn)的彈性作用,一個(gè)按鍵開(kāi)關(guān)在閉合時(shí)不會(huì)馬上穩(wěn)定地接通,在斷開(kāi)時(shí)也不會(huì)一下子斷開(kāi)。因而在閉合及斷開(kāi)的瞬間均伴隨有一連串的抖動(dòng),如下圖。抖動(dòng)時(shí)間的長(zhǎng)短由按鍵的機(jī)械特性決定,一般為5ms10ms。這是一個(gè)很重要的時(shí)間參數(shù),在很多場(chǎng)合都要用到。圖2-5 按鍵工作過(guò)程按鍵穩(wěn)定閉合時(shí)間的長(zhǎng)短則是由操作人員的按鍵動(dòng)作決定的,一般為零點(diǎn)幾秒
21、至數(shù)秒。鍵抖動(dòng)會(huì)引起一次按鍵被誤讀多次。為確保cpu對(duì)鍵的一次閉合僅作一次處理,必須去除鍵抖動(dòng)。在鍵閉合穩(wěn)定時(shí)讀取鍵的狀態(tài),并且必須判別到鍵釋放穩(wěn)定后再作處理。按鍵的抖動(dòng),可用硬件或軟件兩種方法。 硬件消抖:在鍵數(shù)較少時(shí)可用硬件方法消除鍵抖動(dòng)。圖2-6所示的rs觸發(fā)器為常用的硬件去抖。在圖2-6中兩個(gè)“與非”門構(gòu)成一個(gè)rs觸發(fā)器。當(dāng)按鍵未按下時(shí),輸出為1;當(dāng)鍵按下時(shí),輸出為0。此時(shí)即使用按鍵的機(jī)械性能,使按鍵因彈性抖動(dòng)而產(chǎn)生瞬時(shí)斷開(kāi)(抖動(dòng)跳開(kāi)b),只要按鍵不返回原始狀態(tài)a,雙穩(wěn)態(tài)電路的狀態(tài)不改變,輸出保持為0,不會(huì)產(chǎn)生抖動(dòng)的波形。也就是說(shuō),即使b點(diǎn)的電壓波形是抖動(dòng)的,但經(jīng)雙穩(wěn)態(tài)電路之后,其輸出
22、為正規(guī)的矩形波。圖2-6 rs觸發(fā)器去抖 軟件消抖:如果按鍵較多,常用軟件方法去抖,即檢測(cè)出鍵閉合后執(zhí)行一個(gè)延時(shí)程序,產(chǎn)生5ms10ms的延時(shí),讓前沿抖動(dòng)消失后再一次檢測(cè)鍵的狀態(tài),如果仍保持閉合狀態(tài)電平,則確認(rèn)為真正有鍵按下。當(dāng)檢測(cè)到按鍵釋放后,也要給5ms10ms的延時(shí),待后沿抖動(dòng)消失后才能轉(zhuǎn)入該鍵的處理程序。2. led顯示電路選擇在單片機(jī)的應(yīng)用系統(tǒng)中,通常需要進(jìn)行人機(jī)對(duì)話。這包括人對(duì)應(yīng)用系統(tǒng)的狀態(tài)干預(yù)與數(shù)據(jù)輸入,以及應(yīng)用系統(tǒng)向人們顯示運(yùn)行狀態(tài)與運(yùn)行結(jié)果等。顯示器、鍵盤電路就是用來(lái)完成人-機(jī)對(duì)話活動(dòng)的人-機(jī)通道。led顯示器的驅(qū)動(dòng)是一個(gè)非常重要的問(wèn)題,由系統(tǒng)硬件設(shè)計(jì)框圖可知顯示電路由led
23、顯示器、段驅(qū)動(dòng)電路和位驅(qū)動(dòng)電路組成。在本次設(shè)計(jì)中運(yùn)用led數(shù)碼顯示器、采用pnp管以及單片機(jī)的p2口來(lái)組成顯示電路。1) 顯示器:方案一:液晶顯示器。如果選擇此方案,將會(huì)降低系統(tǒng)的功耗,這樣就可以用電池供電,便于攜帶。但液晶顯示器的驅(qū)動(dòng)電路復(fù)雜,使用起來(lái)有一定的難度。方案二:用數(shù)碼管作為顯示器。數(shù)碼管的驅(qū)動(dòng)電路簡(jiǎn)單,使用方便,如果選擇了此方案,那么在夜間看時(shí)間的時(shí)候就不需要有光源,非常方便。其缺點(diǎn)是功耗較大。由于數(shù)碼管使用起來(lái)較為方便,在夜間看時(shí)間也很方便,因此我們選擇了方案二。2) led數(shù)碼顯示器的結(jié)構(gòu)led是發(fā)光二極管的縮寫,led顯示器由若干個(gè)發(fā)光二極管構(gòu)成的,妥發(fā)光二極管導(dǎo)通時(shí),顯示
24、對(duì)應(yīng)的字符。led顯示器控制簡(jiǎn)單,使用方便,在單片機(jī)中應(yīng)用非常普遍。led顯示器由7個(gè)發(fā)光二極管組成,也稱為7段led顯示器,排列形狀如圖2-3a所示。led顯示器還有一個(gè)圓點(diǎn)型的發(fā)光二極管(圖中以dp表示),用于顯示小數(shù)點(diǎn),有時(shí)也稱為8段led顯示器。通過(guò)7段發(fā)光二極管亮暗的不同組合,可以顯示多種數(shù)字、字母和其他符號(hào)。led顯示器的發(fā)光二極管有共陰極和共陽(yáng)極兩種連接方法.圖2-3b為共陰極接法,各發(fā)光二極管的陰極連在一起并接地,當(dāng)某一發(fā)光二極管的陽(yáng)極輸入高電平時(shí),則該段發(fā)光;圖2-3c為共陽(yáng)極接法,各發(fā)光二極管的陽(yáng)極連在一起并接+5v,當(dāng)陰極輸入法低電平時(shí),該段發(fā)光二極管發(fā)光。使用led顯示
25、器時(shí),要注意區(qū)分兩種不同的接法。為了顯示數(shù)字或符號(hào),要為led顯示器提供代碼(字形碼),在兩種接法中字形碼是不同的。圖2-3 7(8)段led顯示器7段發(fā)光二極管再加上一個(gè)小數(shù)點(diǎn)位,共計(jì)8段,提供給led顯示器的字形碼正好1b,各字形對(duì)應(yīng)關(guān)系如下:代碼位d7d6d5d4d3d2d1d0顯示段dpgfedcba用led顯示器顯示十六進(jìn)制數(shù)的字形碼見(jiàn)表2-2。表2-2 十六進(jìn)制數(shù)字形代碼表顯示字符共陰極碼共陰極碼顯示字符共陽(yáng)極碼共陰極碼0c0h3fh990h6fh1f9h06ha88h77h2a4h5bhb83h7ch3b0h4fhcc6h39h499h66hda1h5eh592h6dhe86h7
26、9h682h7dhf84h71h7f8h07h“滅”ffh00h880h7fh3. 蜂鳴器電路的設(shè)計(jì)鬧鈴指示可以有聲或光兩種形式,本系統(tǒng)采用聲音指示。關(guān)鍵元件是蜂鳴器。蜂鳴器有無(wú)源和有源兩種,前者需要輸入聲音頻率信號(hào)才能正常發(fā)聲,后者則只需外加適當(dāng)直流電源電壓即可;元件內(nèi)部已經(jīng)封裝了音頻振蕩電路,在得電狀態(tài)下即起振發(fā)聲。市場(chǎng)上的有源蜂鳴器分為3v、5v、6v等系列,以適應(yīng)不同的應(yīng)用需要。其中pnp小功率三極管采用9012。其最大集電極電流為800ma。完全滿足蜂鳴器驅(qū)動(dòng)的需要。適當(dāng)調(diào)節(jié)基極電阻可改變蜂鳴器的發(fā)聲功率。圖2-7蜂鳴器電路在圖2-7中,當(dāng)p3.7=0時(shí),vt1導(dǎo)通時(shí),使蜂鳴器的兩個(gè)
27、引腳間獲得將近5v的直流電壓,蜂鳴器中有電流通過(guò),而產(chǎn)生蜂鳴音。當(dāng)p3.7=1時(shí),vt1截止時(shí),蜂鳴器的兩引腳間的直流電壓接近0v,蜂鳴器不發(fā)聲。4. 單 片 機(jī) 的 復(fù) 位 方 式 與 電路選擇 復(fù)位就是通過(guò)某種方式,使單片機(jī)內(nèi)各寄存器的值變?yōu)槌跏蓟癄顟B(tài)的操作。at89c51單片機(jī)在時(shí)鐘電路工作以后,在reset端持續(xù)給出2個(gè)機(jī)器周期的高電平就可以完成復(fù)位操作。復(fù)位分為上點(diǎn)自動(dòng)復(fù)位和手動(dòng)復(fù)位兩種方式。本系統(tǒng)采用上電復(fù)位方式。上電復(fù)位是在單片機(jī)接通電源時(shí),對(duì)單片機(jī)的復(fù)位。在上電瞬間rst端與vcc電位相同,隨著電容上電壓的逐漸上升,rst端電位逐漸下降。上電復(fù)位所需要的最短時(shí)間是振蕩器建立時(shí)間
28、加2個(gè)機(jī)器周期 3種方式復(fù)位電路圖:注:一般情況下圖中電容c1和c2取30pf左右,晶體的振蕩頻率范圍是1.212mhz。晶體振蕩頻率越高,則系統(tǒng)的時(shí)鐘頻率越高,單片機(jī)運(yùn)行速度也越快。一般情況下,單片機(jī)使用的振蕩頻率為6mhz或者說(shuō)12mhz。5.相關(guān)電路參數(shù)的計(jì)算(1)pnp三極管與p2口之間的電阻選擇:選取三極管9012的放大倍數(shù)為100,選通一個(gè)led數(shù)碼管所需電流即三極管的集電極電流為:ic=15ma*7=105ma,則它的基極電流ib=105ma/100=1.05ma,取1ma,三極管壓降為0.7v,則電阻阻值為:r=(5-0.7)v/1ma=4.3k,實(shí)際取4.7k(2)led數(shù)碼
29、管與p1口之間的電阻選擇:由于led數(shù)碼管是由七段發(fā)光二極管組成。每個(gè)二極管所需電壓為2v,電阻的峰值電流取10ma,又由于p1的壓降為,則電阻上所需電壓為5-2-0.3=2.7v則電阻上的阻值為2.7v/10ma=270,實(shí)際取300(3)開(kāi)關(guān)與p0口之間的電阻選擇:由于開(kāi)關(guān)端的電阻接+5電源,導(dǎo)線本身的電流是非常微小的,所以我選擇了10k的電阻來(lái)完成硬件電路的連接。(4)i端口分配及連接:p1.0p1.7:led數(shù)碼管顯示內(nèi)容通過(guò)p0口從單片機(jī)傳送到數(shù)碼管。p2.0p2.5:數(shù)碼管位選控制端口。p0.0- p0.3:分別連接開(kāi)關(guān),set、 alm 、+1和 ret鍵,通過(guò)不同的組合實(shí)現(xiàn)外部
30、控制程序狀態(tài)。第三章 軟件設(shè)計(jì)3.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)前時(shí)間的二進(jìn)制存儲(chǔ)單元30h-32h4.鬧鈴時(shí)間的二進(jìn)制存儲(chǔ)單元33h-35h5.閃爍顯示單元 20h3.2程序框圖與匯編程序主程序框圖如圖3-1所示:圖3-1主程序框圖一、主程序主程序的內(nèi)容的一般包括:主程序的起始地址,中斷服務(wù)程序的起始地址,有關(guān)內(nèi)存單元及相關(guān)部件的初始化和一些子程序的調(diào)用等內(nèi)容。設(shè)置中斷入口地址、設(shè)置主程序的起始地址(開(kāi)始),為了
31、保護(hù)現(xiàn)場(chǎng)設(shè)置堆棧指針,為了保證顯示的正確性要進(jìn)行t0的初始化和顯示緩沖區(qū)與計(jì)時(shí)有關(guān)的寄存器的清零。啟動(dòng)t0調(diào)用顯示程序顯示當(dāng)前時(shí)間,根據(jù)需要可以進(jìn)行按鍵處理,一旦鬧鐘時(shí)間到,發(fā)出報(bào)警,報(bào)警時(shí)間過(guò)后,調(diào)用顯示程序繼續(xù)正常的時(shí)間顯示。主程序清單如下: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
32、計(jì)數(shù)初值mov tl0,#0dchsetb rs0 ;選擇工作區(qū)1mov r2,#00h ;相關(guān)寄存器清零mov r3,#00hmov r4,#00hmov r5,#00hclr rs0 ;選擇工作區(qū)0mov r1,#45h ;顯緩區(qū)首指針?biāo)蛂1setb tr0 ;開(kāi)t0ss1: lcall disp ;調(diào)用顯示程序lcall keyboard ;調(diào)用按鍵處理程序mov r2, 35h ;判斷是否有定時(shí)時(shí)間cjne r2, #0, ntmov r2, 34hcjne r2, #0, ntmov r2, 33hcjne r2, #0, ntsjmp bbnt: mov a, 35hcjne a,
33、 32h, bb ;判斷定時(shí)時(shí)間到否mov a, 34hcjne a, 31h, bbmov a, 33hcjne a, 30h, bbclr p3.7 ;時(shí)間到發(fā)出報(bào)警mov r7,#15sjmp ss1bb: setb p3.7 sjmp ss1二中斷系統(tǒng)的介紹如果在執(zhí)行主程序時(shí)只有一個(gè)中斷請(qǐng)求源請(qǐng)求中斷,而這時(shí)cpu又是對(duì)中斷開(kāi)放的那么這個(gè)中斷立即得到響應(yīng)。然而由于中斷是隨機(jī)產(chǎn)生的,中斷源又不止1個(gè),因此往往會(huì)出現(xiàn)這樣的情況:幾個(gè)中斷源同時(shí)請(qǐng)求中斷,或者當(dāng)某一個(gè)中斷正在響應(yīng)中,又有其他中斷源請(qǐng)求中斷,這時(shí)中斷一般會(huì)按如下原則進(jìn)行處理:(1) 不同級(jí)的中斷源同時(shí)請(qǐng)求中斷時(shí)先高后低(2) 同
34、級(jí)的中斷源同時(shí)申請(qǐng)中斷時(shí)事先規(guī)定(3) 處理低級(jí)中斷又收到高級(jí)中斷請(qǐng)求時(shí)停低轉(zhuǎn)高(4) 處理高級(jí)中斷又收到低級(jí)中斷請(qǐng)求時(shí)高不理低at89c51單片機(jī)的中斷系統(tǒng)對(duì)優(yōu)先級(jí)的控制比較簡(jiǎn)單,只規(guī)定了兩個(gè)中斷優(yōu)先級(jí),對(duì)于每一個(gè)中斷源均可編程為高優(yōu)先級(jí)中斷或低優(yōu)先級(jí)中斷。在同一個(gè)優(yōu)先級(jí)中,五個(gè)中斷優(yōu)先級(jí)的次序如下: 外部中斷0(ie0) 定時(shí)器/計(jì)數(shù)器t0溢出中斷(tf0) 外部中斷1(ie1) 定時(shí)器/計(jì)數(shù)器t1溢出中斷(tf1) 串行口中斷(ri+ti)at89c51單片機(jī)有1個(gè)中斷優(yōu)先級(jí)寄存器ip,字節(jié)地址為b8h。對(duì)于每一個(gè)中斷源,均可通過(guò)ip的設(shè)置來(lái)確定優(yōu)先等級(jí),置1為高優(yōu)先級(jí),反之為低。三、時(shí)
35、鐘計(jì)時(shí)程序數(shù)字顯示計(jì)時(shí)系統(tǒng)的主要任務(wù)是:采用單片機(jī)為核心的器件產(chǎn)生24小時(shí)時(shí)間,并用led顯示器將它顯示出來(lái)。在本次設(shè)計(jì)中所用的晶振為6mhz,定時(shí)器最長(zhǎng)的定時(shí)時(shí)間為131.72ms,要產(chǎn)生24h的時(shí)間值,故我們采用定時(shí)器t0方式1。(1)24小時(shí)的產(chǎn)生:選擇定時(shí)器t0 方式1,定時(shí)125ms中斷一次,利用r2寄存器加1,8次為1s,再利用寄存器r3計(jì)數(shù)60s,依次類推,累計(jì)24的時(shí)間值,并需設(shè)置以下幾個(gè)寄存器:r2:累計(jì)1s時(shí)間寄存器。t0每中斷一次r2=r2+1,計(jì)數(shù)八次向r3進(jìn)位,并將r2清零 r3:累計(jì)60s時(shí)間寄存器。當(dāng)r3=60s,向r4進(jìn)位,并使r3=0。r4:累計(jì)60min時(shí)間
36、寄存器。當(dāng)r4=60min向r5進(jìn)位,并使r4=0。r5:累計(jì)24h時(shí)間寄存器。當(dāng)r5=24h,正好是晝夜的時(shí)間,并使r5=0。(2)定時(shí)器的初值:f=6mhz, tp=2us x=65536-125ms/2us=0bdch(3)程序設(shè)計(jì)框圖:計(jì)時(shí)程序設(shè)計(jì)框圖如圖3-2所示圖 3-2計(jì)時(shí)程序設(shè)計(jì)框圖程序清單如下:t0定時(shí)器,每125ms中斷一次,中斷8次為1s。t0int: push a ;t0計(jì)時(shí)中斷程序,保護(hù)現(xiàn)場(chǎng)clr tr0mov th0,#0bh ;設(shè)t0計(jì)數(shù)初值mov tl0,#0dchsetb tr0 ;開(kāi)t0setb rs0 ;選擇工作區(qū)1inc r2cjne r2,#08h,j
37、t0 ;1s到了嗎?沒(méi)到,轉(zhuǎn)jt0mov r2,#00h ;到了,r2清零inc r3 ;秒單元+1cjne r3,#60,jt0 ;60s到了嗎?沒(méi)到,轉(zhuǎn)jt0mov r3,#00h ;到了,秒單元清零inc r4 ;分單元+1cjne r4,#60,jt0 ;60min到了嗎?沒(méi)到,轉(zhuǎn)jt0mov r4,#00h ;到了,分單元清零inc r5 ;時(shí)單元+1cjne r5,#24,jt0 ;24h到了嗎?沒(méi)到,轉(zhuǎn)jt0mov r5,#00h ;時(shí)單元清零jt0: mov 30h,r3mov 31h,r4mov 32h,r5mov r6,#03 ;二-十進(jìn)制轉(zhuǎn)換程序mov r0,#32hmo
38、v r1,#45hjt1:mov b,#10mov a,r0div abmov r1,adec r1mov a,bmov r1,adec r1dec r0djnz r6,jt1clr rs0pop a ;恢復(fù)現(xiàn)場(chǎng)reti ;中斷返回dtob: setb rs0 ;十-二進(jìn)制轉(zhuǎn)換程序mov r6,#03mov r0,#32hmov r1,#45hjt2:mov b,#10mov a,r1mul abdec r1add a,r1mov r0,adec r1dec r0djnz r6,jt2mov r3,30hmov r4,31hmov r5,32hmov r2,#00clr rs0rettab:
39、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)試,是通過(guò)對(duì)用戶程序的匯編、連接、執(zhí)行來(lái)發(fā)現(xiàn)程序中存在的語(yǔ)法錯(cuò)誤與邏輯錯(cuò)誤并加以排除糾正的過(guò)程。程序運(yùn)行后編輯,查看程序是否有邏輯的錯(cuò)誤。運(yùn)用wave(偉福)軟件編譯自己設(shè)計(jì)的匯編程序,檢驗(yàn)程序。發(fā)現(xiàn)程序中的語(yǔ)法錯(cuò)誤與邏輯錯(cuò)誤并加以排除糾正。注意運(yùn)用wave軟件保存文件時(shí)的后綴名用(.asm)。仿真結(jié)果如下:4.2 proteus 仿 真 軟 件 的 應(yīng) 用proteus軟件是由英國(guó)la
40、bcenter electronics公司開(kāi)發(fā)的一款電子設(shè)計(jì)軟件,它是目前能對(duì)cpu芯片及其外圍電路進(jìn)行完整仿真的計(jì)算機(jī)設(shè)計(jì)分析軟件。在使用proteus進(jìn)行仿真調(diào)試時(shí),可以從實(shí)物的角度直接觀看電路運(yùn)行的結(jié)果(而不是某條語(yǔ)句或存儲(chǔ)器的內(nèi)容),從某種意義上講,proteus解決了理論設(shè)計(jì)與動(dòng)手制作相互脫節(jié)的重大問(wèn)題。在本次設(shè)計(jì)中,正是由于這款軟件的使用,大大提高了設(shè)計(jì)的效率,縮短了設(shè)計(jì)的周期。proteus仿真軟件無(wú)疑是單片機(jī)開(kāi)發(fā)者掌握單片機(jī)開(kāi)發(fā)技術(shù)的絕好的入門工具。仿真結(jié)果數(shù)碼管能顯示“時(shí)”,“分”,“秒”,蜂鳴器也能響。系統(tǒng)初步達(dá)到了設(shè)計(jì)的要求。在仿真的過(guò)程中每個(gè)管腳旁邊會(huì)出現(xiàn)一個(gè)小方塊,紅
41、色的方快表示高電平,藍(lán)色的表示低電平。通過(guò)方快顏色的變化可以很方便地知道每個(gè)管腳電平的變化,從而能對(duì)系統(tǒng)的運(yùn)行有更直觀的了解,這對(duì)程序的調(diào)試有很大的幫助protues 仿真電路圖如下:4.3性能分析 按照設(shè)計(jì)程序分析,led顯示器動(dòng)態(tài)掃描頻率在實(shí)際觀察時(shí)沒(méi)有閃爍。由于即使中斷程序中加了中斷延時(shí)誤差處理,所以實(shí)際計(jì)時(shí)精度很高,可以滿足多種場(chǎng)合的應(yīng)用需要。小 結(jié)面臨畢業(yè),我在學(xué)校的最后一門功課(畢業(yè)設(shè)計(jì))也即將完成。畢業(yè)設(shè)計(jì)是對(duì)我們整個(gè)大學(xué)階段所學(xué)的所有專業(yè)課程的一次綜合性考核。我做的是用at89c51單片機(jī)設(shè)計(jì)具有鬧鐘等功能的數(shù)字顯示計(jì)時(shí)系統(tǒng)。這次數(shù)字顯示計(jì)時(shí)系統(tǒng)的設(shè)計(jì),使得我對(duì)單片機(jī)理論知識(shí)有
42、了進(jìn)一步的了解。學(xué)習(xí)了三年,這次設(shè)計(jì)是對(duì)我們?nèi)晁鶎W(xué)東西的檢驗(yàn),提高了我們的綜合能力,具體來(lái)說(shuō)提高了我們的自學(xué)能力,獨(dú)立分析,解決問(wèn)題的能力以及動(dòng)手進(jìn)行實(shí)驗(yàn)的能力。同時(shí)也對(duì)所學(xué)知識(shí)進(jìn)行有效的鞏固,根據(jù)設(shè)計(jì)任務(wù),提出參考書目,讓我們自己自學(xué),對(duì)于設(shè)計(jì)中可能遇到的重點(diǎn)與難點(diǎn),通過(guò)分析與老師的詳細(xì)講解,啟發(fā)了我們的思考,幫助我們掌握自學(xué)的方法,起到了很好的效果。讓我們?cè)谠O(shè)計(jì)實(shí)踐中鍛煉能力,在整個(gè)設(shè)計(jì)過(guò)程中方老師也引導(dǎo)我們明確了設(shè)計(jì)的要求以及現(xiàn)實(shí)這些要求的方法。鼓勵(lì)我們開(kāi)動(dòng)腦筋,大膽探索,充分發(fā)揮我們的主觀能動(dòng)型與創(chuàng)造型。時(shí)間安排上,能使我們有效的去鉆研比較難的問(wèn)題,也通過(guò)每組的同學(xué)的交流與討論確定最
43、后的方案,方老師也定期負(fù)責(zé)檢查我們所設(shè)計(jì)的情況,并提出相關(guān)問(wèn)題,以及幫助我們解決在設(shè)計(jì)過(guò)程中疑難的問(wèn)題,直到設(shè)計(jì)出合格的電路。通過(guò)這次數(shù)字鐘的設(shè)計(jì)制作,我們將從書本上學(xué)到的知識(shí)應(yīng)用于實(shí)踐,提高了一些電子電路仿真設(shè)計(jì)能力,雖然過(guò)程中遇到了一些困難,但是在解決這些問(wèn)題的過(guò)程無(wú)疑也是對(duì)自己自身專業(yè)素質(zhì)的一種提高。當(dāng)最終調(diào)試成功的時(shí)候也是對(duì)自己的一種肯定。此次的設(shè)計(jì)作業(yè)不僅增強(qiáng)了自己在專業(yè)設(shè)計(jì)方面的信心,鼓舞了自己,更是一次興趣的培養(yǎng),為自己以后的學(xué)習(xí)方向的明確了重點(diǎn)。 另外在這次實(shí)驗(yàn)中我們遇到了不少的問(wèn)題針對(duì)不同的問(wèn)題我們采取不同的解決方法,最終一一解決設(shè)計(jì)中遇到的問(wèn)題。在我們遇到不懂的問(wèn)題時(shí),利用
44、網(wǎng)上的資源,搜索查找得到需要的信息。和同學(xué)之間相互討論,明白了團(tuán)隊(duì)合作的重要性。這次的制作也讓我們感受到,我們?cè)陔娮臃矫鎸W(xué)到的只是很小的一部分知識(shí),我們需要更多的時(shí)間來(lái)學(xué)習(xí)知識(shí),學(xué)習(xí)技術(shù)。 在軟件編程方面,我在這方面學(xué)到很多很多的東西,我為了搞懂一則程序可以一天不出宿舍,就算是這樣,我也知道自己所學(xué)到的東西太少,但我還是很感謝這次設(shè)計(jì),感謝我的的指導(dǎo)老師方老師,還有同組同學(xué),是老師的指導(dǎo)和同學(xué)一起的努力才有了這一份收獲。參 考 文 獻(xiàn):(1)王效華 張?jiān)伱?主編:?jiǎn)纹瑱C(jī)原理與應(yīng)用 2009年1月第4次印刷(2)樓然苗 李光飛 主編:?jiǎn)纹瑱C(jī)課程設(shè)計(jì)指導(dǎo) 2008年3月(3)李珍. 單片機(jī)原理與控
45、制技術(shù). 北京:清華大學(xué)出版社,2002(4)皮紅梅,李英順. 單片機(jī)開(kāi)發(fā)中的定時(shí)方法. 沈陽(yáng):石油化工高等??茖W(xué)校學(xué)報(bào),2002年12月(5)張友德. 單片微型機(jī)原理、應(yīng)用與實(shí)踐. 上海:復(fù)旦大學(xué)出版社,1992(6)汪敏,凌陽(yáng).16位單片機(jī)實(shí)驗(yàn)與實(shí)踐.北京: 北京航空航天大學(xué)出版社,2007(7)夏繼強(qiáng),邢春香.單片機(jī)應(yīng)用設(shè)計(jì)培訓(xùn)教程實(shí)踐篇.北京:北京航空航天大學(xué)出版社,2008附錄a 源程序主程序清單:org 0000h ;中斷入口地址ajmp mainorg 000bh ;t0中斷ajmp t0intmain: mov sp,#70h ;設(shè)置堆棧指針mov r6,#06h ;顯示緩沖區(qū)
46、清零mov r1,#45hs0:mov r1,#00hdec r1djnz r6,s0mov tmod,#01h ;t0為工作方式1mov th0,#0bh ;設(shè)t0計(jì)數(shù)初值mov tl0,#0dchsetb rs0 ;選擇工作區(qū)1mov r2,#00h ;相關(guān)寄存器清零mov r3,#00hmov r4,#00hmov r5,#00hclr rs0 ;選擇工作區(qū)0mov r1,#45h ;顯緩區(qū)首指針?biāo)蛂1setb tr0 ;開(kāi)t0ss1: lcall disp ;調(diào)用顯示程序lcall keyboard ;調(diào)用按鍵處理程序mov r2, 35h ;判斷是否有定時(shí)時(shí)間cjne r2, #0,
47、 ntmov r2, 34hcjne r2, #0, ntmov r2, 33hcjne r2, #0, ntsjmp bbnt: mov a, 35hcjne a, 32h, bb ;判斷定時(shí)時(shí)間到否mov a, 34hcjne a, 31h, bbmov a, 33hcjne a, 30h, bbclr p3.7 ;時(shí)間到發(fā)出報(bào)警sjmp ss1bb: setb p3.7 sjmp ss1按鍵處理(當(dāng)前)時(shí)間程序清單keyboard: nopkey: mov r4,#04h ;調(diào)顯示程序s1: lcall dispdjnz r4,s1setb p0.0jb p0.0,key ;p0.0(s
48、et鍵)為高電平嗎?是,轉(zhuǎn)keymov r4,#0ah ;否,調(diào)顯示延時(shí)消抖s2: lcall dispdjnz r4,s2setb p0.0jb p0.0,key ;p0.0為高電平嗎?是,轉(zhuǎn)keyclr 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.0,key3 ;p0.0(set鍵)按下嗎?否,轉(zhuǎn)key3jnb p0.0,$ ;是,等待鍵釋放d
49、ec r1 ;r1-1inc r2 ;r2+1cjne r2,#06,l13 ;r2=6嗎?否,轉(zhuǎn)l13mov r1,#45h ;是,重新開(kāi)始調(diào)位mov r2,#00l13:mov 20h,r1 ;r1送閃爍顯示單元20hsjmp key1key3: jnb acc.2,key4 ;p0.2(+1鍵)按下嗎?否,轉(zhuǎn)key4jnb p0.2,$mov a,r1cjne r1,#45h,l1 ;是小時(shí)的十位嗎?否,轉(zhuǎn)l1cjne a,#02,ll ;十位為2嗎?否,轉(zhuǎn)llsjmp key5l1: cjne r1,#44h,l2 ;是小時(shí)的個(gè)位嗎?否,轉(zhuǎn)l2mov r4,45hcjne r4,#02,l101 ;十位為2嗎?否,轉(zhuǎn)l101cjne a,#03,ll ;是,個(gè)位為3嗎?否,轉(zhuǎn)llsjmp key5l101: cjne a,#09,ll ;個(gè)位為9嗎?否,轉(zhuǎn)llsjmp key5l2: cjne r1,#43h,l3 ;是分鐘的十位嗎?否,轉(zhuǎn)l3cjne a,#05,ll ;是,十位為5嗎?否,轉(zhuǎn)llsjmp key5l3: cjne r1,#42h,l4 ;是分鐘的個(gè)位嗎?否,轉(zhuǎn)l4cjne a,#09,ll ;是,個(gè)位為9嗎?否,轉(zhuǎn)llsjmp key5l4: cjne r1,#41h,l5 ;是秒鐘
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 脫硫 除塵合同范本
- 山東湘當(dāng)有飯加盟合同范本
- 供應(yīng)瓷粉合同范本
- 房主裝修合同范本
- 2024至2030年中國(guó)飯盒數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 出版編寫合同范本
- 蘇州大型吊車租賃合同范本
- 2024至2030年冷媒壓力計(jì)項(xiàng)目投資價(jià)值分析報(bào)告
- 2024年自動(dòng)感應(yīng)門項(xiàng)目可行性研究報(bào)告
- 鋼琴搬運(yùn)合同范本
- 2024版勞動(dòng)合同合同范本
- 古希臘文明智慧樹(shù)知到期末考試答案章節(jié)答案2024年復(fù)旦大學(xué)
- 小學(xué)數(shù)學(xué)一年級(jí)上冊(cè)數(shù)學(xué)試卷可直接打印
- 2024年中國(guó)郵政集團(tuán)有限公司校園招聘考試試題參考答案
- DZ∕T 0258-2014 多目標(biāo)區(qū)域地球化學(xué)調(diào)查規(guī)范(1:250000)(正式版)
- 消防工作協(xié)作與配合總結(jié)
- 《新疆工程勘察設(shè)計(jì)計(jì)費(fèi)導(dǎo)則(2022版)》
- 歷史與當(dāng)代珠寶設(shè)計(jì)風(fēng)格的傳承與演變
- 小學(xué)作業(yè)設(shè)計(jì)比賽評(píng)分標(biāo)準(zhǔn)
- 2024年電商直播行業(yè)現(xiàn)狀及發(fā)展趨勢(shì)研究
- 2021年4月自考04735數(shù)據(jù)庫(kù)系統(tǒng)原理試題及答案含解析
評(píng)論
0/150
提交評(píng)論