電子鬧鐘設(shè)計(jì)-畢業(yè)設(shè)計(jì).doc_第1頁
電子鬧鐘設(shè)計(jì)-畢業(yè)設(shè)計(jì).doc_第2頁
電子鬧鐘設(shè)計(jì)-畢業(yè)設(shè)計(jì).doc_第3頁
電子鬧鐘設(shè)計(jì)-畢業(yè)設(shè)計(jì).doc_第4頁
電子鬧鐘設(shè)計(jì)-畢業(yè)設(shè)計(jì).doc_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

電子鬧鐘設(shè)計(jì)學(xué)生:XXX 指導(dǎo)老師:XXX內(nèi)容摘要:此系統(tǒng)的時(shí)鐘電路設(shè)計(jì)是采用的內(nèi)部方式,即利用芯片內(nèi)部的振蕩電路。系統(tǒng)功能要求電子時(shí)鐘一運(yùn)行就從12點(diǎn)00分00秒開始計(jì)時(shí),并在數(shù)碼管上顯示時(shí)、分、秒當(dāng)前值?;竟ぷ髟恚篈T89C51利用定時(shí)器每百分之一秒對百分之一秒寄存器的內(nèi)容加一,并依次對秒、分、小時(shí)寄存器的內(nèi)容加一;7SEG-MPX6-CA數(shù)碼管動(dòng)態(tài)顯示時(shí)、分、秒的當(dāng)前值。本課題要求實(shí)現(xiàn)的功能比較簡單。此系統(tǒng)鍵的輸入是通過獨(dú)立式鍵盤來完成的,編程容易易懂,結(jié)構(gòu)簡單,實(shí)現(xiàn)起來方便。由P3.2、P3.3、P3.4作為控制端,構(gòu)成獨(dú)立式按鍵接口方式。百分之一秒的控制由AT89C51的定時(shí)器T0完成;在鬧鐘方面,通過周期檢測鬧鐘按鍵和按鍵標(biāo)識(shí)位來控制開啟鬧鈴服務(wù)程序。在鬧鈴設(shè)置及正常時(shí)間設(shè)置時(shí)為避免時(shí)間停止,所以才用定時(shí)器計(jì)時(shí)。我設(shè)置的鬧鈴是用脈沖的形式驅(qū)動(dòng)揚(yáng)聲器。關(guān)鍵詞:揚(yáng)聲器 AT89C51 定時(shí)器Electronic alarm clock designAbstract: The system clock circuit design is the internal way, namely using chip inside of the oscillating circuit. System function requirements electronic clock from 12 points a run in points at timing starts seconds, and in the digital tube displayed on the present value, minutes and seconds. Basic working principle: AT89C51 use timer each one percent to one percent seconds of registers second content plus one, and in turn, minutes and hours of seconds the contents of a register with a; 7 SEG-MPX6-CA digital tube dynamic shows, the current value of the minutes and seconds. This topic request function of the realization of the quite simple. The system of the key input is through the independent type keyboard to complete programming easy to understand, the structure is simple, easy to realize. By P3.2, P3.3, P3.4 as control terminals, constitute independent type button interface way. One percent of the second timer of by AT89C51 prearcing control completion; In the alarm clock, through the cycle detection alarm clock button and buttons mark a to control open alarm service program. In the alarm set and the normal time set to avoid time to stop, so only use timer timing. I set the alarm is to use the form of pulse drive the speaker. Keywords: reproducer AT89C51 timer 目 錄前言11 概述11.1 應(yīng)用知識(shí)簡介11.1.1 51單片機(jī)11.1.2 匯編語言12 設(shè)計(jì)基本原理簡介22.1 CPU的分時(shí)復(fù)用22.2 檢測開關(guān)時(shí)需要注意的問題22.4 設(shè)計(jì)要求及說明22.4.1 電子數(shù)字鐘實(shí)現(xiàn)的主要功能22.4.2 其他設(shè)計(jì)說明32.5 整體設(shè)計(jì)方案及流程32.5.1 電路設(shè)計(jì)32.5.2 系統(tǒng)軟件總流程設(shè)計(jì)42.5.3 主程序流程圖42.5.4 顯示電路52.5.5 按鍵控制電路53 程序顯示狀態(tài)63.1 正常顯示狀態(tài)63.2 時(shí)鐘調(diào)整狀態(tài)64 調(diào)試過程及結(jié)果分析總結(jié)75 結(jié)束語8附錄9參考文獻(xiàn)1314電子鬧鐘設(shè)計(jì)前言電子鬧鐘在科學(xué)技術(shù)高度發(fā)展的今天,千家萬戶都少不了它,所以很多家庭個(gè)人都需要有一個(gè)電子鬧鐘,為人們提供報(bào)時(shí)方便,但普通電子鬧鐘不夠方便實(shí)用。這個(gè)設(shè)計(jì)給出了一種以51芯片的電子鬧鐘,從而給人們帶來更為方便的工作與生活?,F(xiàn)代的快節(jié)奏生活給人們的精神上帶來了很大壓力。如何排解或緩解這些壓力已經(jīng)成為很多人關(guān)心的問題。單片機(jī)電子鬧鐘是具發(fā)前鬧鐘創(chuàng)新性的系統(tǒng),它代表了時(shí)代的發(fā)展趨勢。本次設(shè)計(jì)的51電子鬧鐘,能隨意設(shè)定走時(shí)起始時(shí)間。能指示秒節(jié)奏,即秒指示采用交直流供電電源。與石英鐘不同的是,電子鐘一般采用數(shù)碼管等顯示介質(zhì),因而必須以交流供電為主,以直流電源為后備輔助電源,并能自動(dòng)切換。該設(shè)計(jì)主要包括:按鍵、顯示程序單元部分,AT89S51單片機(jī)芯片、74HC245驅(qū)動(dòng)LED顯示電路,集成電路74HC245和LM386各1個(gè),設(shè)計(jì)的51電子鬧鐘,該鬧鐘可由使用者自己設(shè)定一個(gè)時(shí)間,若想設(shè)置鬧鈴,應(yīng)先按下復(fù)位按鍵,然后長時(shí)間按下設(shè)置按鍵,然后變?yōu)椤?0-00-00”,此時(shí)進(jìn)入鬧鈴設(shè)置狀態(tài),設(shè)置方法跟上面一樣,鬧鈴設(shè)置完后,下一步要設(shè)置當(dāng)前時(shí)間,調(diào)整方法跳到第一步。這樣設(shè)置好后,它就能按照主人的意思,定時(shí)的把你鬧醒啦!1 概述1.1 應(yīng)用知識(shí)簡介 1.1.1 51單片機(jī)單片機(jī)又稱單片微控制器,它不是完成某一個(gè)邏輯功能的芯片,而是把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片上。作為嵌入式系統(tǒng)控制核心的單片機(jī)具有其體積小、功能全、性價(jià)比高等諸多優(yōu)點(diǎn)。51 系列單片機(jī)是國內(nèi)目前應(yīng)用最廣泛的單片機(jī)之一,隨著嵌入式系統(tǒng)、片上系統(tǒng)等概念的提出和普遍接受及應(yīng)用,51 系列單片機(jī)的發(fā)展又進(jìn)入了一個(gè)新的階段。在今后很長一段時(shí)間內(nèi) 51 系列單片機(jī)仍將占據(jù)嵌入式系統(tǒng)產(chǎn)品的中低端市場。1.1.2 匯編語言 匯編語言是一種面向機(jī)器的計(jì)算機(jī)低級編程語言, 通常是為特定的計(jì)算機(jī)或系列計(jì)算機(jī)專門設(shè)計(jì)的。 匯編語言保持了機(jī)器語言的優(yōu)點(diǎn),具有直接和簡捷的特點(diǎn),其代碼具有效率高實(shí)時(shí)性強(qiáng)等優(yōu)點(diǎn)。但是對于復(fù)雜的運(yùn)算或大型程序,用匯編語言編寫將非常耗時(shí)。 匯編語言可以與高級語言配合使用,應(yīng)用十分廣泛。2 設(shè)計(jì)基本原理簡介 數(shù)字鐘的設(shè)計(jì)首先要保證其走時(shí)盡可能準(zhǔn)確,其次再根據(jù)人們?nèi)粘5氖褂昧?xí)慣來設(shè)定其附加功能。 在設(shè)計(jì)中利用單片機(jī)定時(shí)計(jì)數(shù)器來完成走時(shí)并用兩組輸出口控制數(shù)碼管來顯示;通過編程向某一輸出口輸出方波實(shí)現(xiàn)報(bào)時(shí)及鬧鈴利用輸入端口外接各種開關(guān)來完成對走時(shí)及顯示的控制(如預(yù)置時(shí)間等)。2.1 CPU的分時(shí)復(fù)用單片機(jī)只有一個(gè)CPU,因此在一個(gè)時(shí)間內(nèi)只能執(zhí)行一條語句,要使單片機(jī)同時(shí)控制多個(gè)外部元。件(比如揚(yáng)聲器和數(shù)碼管)就必須對單片機(jī)的CPU進(jìn)行分時(shí)復(fù)用,讓單片機(jī)在一小段時(shí)間內(nèi)連續(xù)交替執(zhí)行控制多個(gè)器件的語句,從表面上看,單片機(jī)便用一個(gè)CPU控制了多個(gè)元件。本次課程設(shè)計(jì)中對整點(diǎn)報(bào)時(shí)和鬧鈴功能的實(shí)現(xiàn)便用到了這個(gè)概念。2.2 檢測開關(guān)時(shí)需要注意的問題對于用各種開關(guān)控制程序執(zhí)行狀態(tài)的程序設(shè)計(jì)中,需要注意實(shí)時(shí)地進(jìn)行開關(guān)的檢測,以確保一旦有開關(guān)動(dòng)作,程序狀態(tài)立即隨之改變。此外,在用多個(gè)開關(guān)控制不同執(zhí)行狀態(tài)時(shí),應(yīng)注意設(shè)置開關(guān)檢測的優(yōu)先級以防止多個(gè)開關(guān)同時(shí)按下時(shí)出現(xiàn)錯(cuò)誤。 2.3 系統(tǒng)資源分配與使用單片機(jī)有許多資源是有限的不能濫用,比如定時(shí)計(jì)數(shù)器T,外部中斷等,在設(shè)計(jì)一個(gè)多模塊程序時(shí),要注意先做一個(gè)整體規(guī)劃,把稀缺資源用在最需要用的地方。此外在有多個(gè)模塊時(shí),要注意模塊間的數(shù)據(jù)傳遞,比如累加器A和進(jìn)位標(biāo)志C,在使用時(shí)要注意不能讓前一個(gè)模塊的數(shù)據(jù)對下一個(gè)模塊產(chǎn)生不希望有的影響。在模塊間的數(shù)據(jù)傳遞比較多時(shí)最好用固定的內(nèi)部數(shù)據(jù)存儲(chǔ)器,以避免沖突發(fā)生錯(cuò)誤。2.4 設(shè)計(jì)要求及說明基于單片機(jī)電路,借鑒生活中常見的電子鐘的功能,結(jié)合課本的要求使用匯編語言設(shè)計(jì)一個(gè)簡單的電子鐘系統(tǒng)。2.4.1 電子數(shù)字鐘實(shí)現(xiàn)的主要功能 實(shí)現(xiàn)正常走時(shí)(秒分時(shí)進(jìn)位)。能夠預(yù)置時(shí)間和日期。具有鬧鈴及設(shè)定鬧鈴時(shí)間功能。走時(shí)可以調(diào)節(jié)。能夠區(qū)分是否開啟鬧鐘功能。2.4.2 其他設(shè)計(jì)說明 優(yōu)先級:預(yù)置鬧鈴報(bào)時(shí)正常顯示,即預(yù)置狀態(tài)下鬧鈴、報(bào)時(shí)功能都無效。 預(yù)置功能通過主程序掃描實(shí)現(xiàn)。 時(shí)間改變通過定時(shí)實(shí)現(xiàn)。 用數(shù)碼管(K0,K1)控制顯示狀態(tài):00:時(shí)間,01:鬧鈴時(shí)間。 鬧鈴每次響一分鐘。 鬧鈴使能由撥碼開關(guān)1控制并實(shí)時(shí)顯示。2.5 整體設(shè)計(jì)方案及流程2.5.1 電路設(shè)計(jì) 系統(tǒng)電路根據(jù)系統(tǒng)功能可知,需要六個(gè)數(shù)碼管,一個(gè)揚(yáng)聲器,三個(gè)按鍵,由此結(jié)合單片機(jī)課程學(xué)習(xí)中對實(shí)驗(yàn)面板的了解,做出如下電路:圖2.5.1-1 電路圖如圖,晶振頻率12MHz,P0口的輸出作為控制數(shù)碼管的段控信號,數(shù)碼管采用共陽接法(圖中未標(biāo)示);P1口作為數(shù)碼管的位控信號輸出端;揚(yáng)聲器由P3.0口控制,p3.2控制鬧鐘設(shè)置,p3.3控制小時(shí)設(shè)置,p3.4控制分鐘設(shè)置。2.5.2 系統(tǒng)軟件總流程設(shè)計(jì) 根據(jù)系統(tǒng)要求, 設(shè)計(jì)出系統(tǒng)軟件總流程圖如下。圖2.5.2-2 系統(tǒng)軟件流程圖2.5.3 主程序流程圖開始清顯示緩沖區(qū)初始化定時(shí)計(jì)數(shù)器顯示初值000000開定時(shí)器顯示當(dāng)前時(shí)鐘值開始圖2.5.3-3 程序流程圖2.5.4 顯示電路采用動(dòng)態(tài)掃描方式,從左到右進(jìn)行,顯示緩沖區(qū)首地址為79H。因此各位顯示器都掃過一遍之后,就返回監(jiān)控程序。經(jīng)過一段時(shí)間間隔后,再調(diào)用顯示掃描程序。通過這種反復(fù)調(diào)用來實(shí)現(xiàn)LED顯示器的動(dòng)態(tài)掃描。程序圖如下。0.1秒加11秒到了嗎?開始時(shí)單元清0秒單元清00.1秒單元清0分單元清060秒到了嗎?60分到了嗎?24小時(shí)到了嗎?秒加1分加1時(shí)加1裝入初始值定時(shí)開始返回圖 2.5.4-4 時(shí)鐘程序流程圖2.5.5 按鍵控制電路此系統(tǒng)鍵的輸入是通過獨(dú)立式鍵盤來完成的,編程容易易懂,結(jié)構(gòu)簡單,實(shí)現(xiàn)起來方便。如圖由P3.0、 P3.2、P3.3、P3.4作為輸入端,構(gòu)成獨(dú)立式按鍵接口方式。程序圖如下:圖2.5.5-5 按鍵之后驅(qū)動(dòng)流程3 程序顯示狀態(tài)3.1 正常顯示狀態(tài)圖3.1-1 正常顯示狀態(tài)圖3.2 時(shí)鐘調(diào)整狀態(tài)其中秒位顯示01 代表鬧鐘處于開狀態(tài) , 此時(shí)時(shí)鐘正常計(jì)時(shí),顯示的是時(shí)鐘設(shè)置時(shí)間,再按按鍵1(p3.2)可返回正常顯示狀態(tài)。圖3.2-1 時(shí)鐘調(diào)整顯示圖4 調(diào)試過程及結(jié)果分析總結(jié)主要問題在于語法錯(cuò)誤,比如程序中堆棧時(shí)忘記對指針賦值和一些輸入的錯(cuò)誤調(diào)試時(shí)出現(xiàn): 中斷預(yù)置程序無法進(jìn)行正常的加一程序。 計(jì)時(shí)進(jìn)位有誤,無法正常進(jìn)位。 時(shí)間無法正常顯示。 顯示的數(shù)字不穩(wěn)定,有許多干擾。由于無法調(diào)整到準(zhǔn)確的定時(shí)初始值,計(jì)時(shí)一定時(shí)間后會(huì)出現(xiàn)走時(shí)不準(zhǔn)的誤差,而且沒有放大電路,鬧鈴聲音過小,其次,由于在鬧鈴響期間,走的程序數(shù)不一樣,導(dǎo)致脈沖周期不一樣,結(jié)果鬧鈴聲音不好聽。鑒于鬧鈴聲音不好聽,可考慮用蜂鳴器來實(shí)現(xiàn) 擺脫脈沖周期不一得難題。5 結(jié)束語在課程設(shè)計(jì)期間,在老師的教導(dǎo)下,在同學(xué)的幫助下,通過不斷學(xué)習(xí)理論知識(shí)和參與實(shí)踐,感覺自己的綜合素質(zhì)在很大程度上得到了提升,努力將自己塑造成為一個(gè)專業(yè)功底扎實(shí)、知識(shí)結(jié)構(gòu)完善、適應(yīng)能力強(qiáng)的合格大學(xué)生。我所學(xué)的專業(yè)是計(jì)算機(jī)科學(xué)與技術(shù),我認(rèn)為對于任何一名計(jì)算機(jī)相關(guān)專業(yè)的學(xué)生來說,光學(xué)好書本上的知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,學(xué)習(xí)是學(xué)生的天職,同樣,它需要智慧,毅力和恒心,尤其是在當(dāng)今這個(gè)快速發(fā)展的信息時(shí)代,更要求我們不斷汲取新知識(shí),學(xué)以致用,理論聯(lián)系實(shí)際。這次課程設(shè)計(jì),不僅讓我們大開眼界,也是對以前所學(xué)知識(shí)的一個(gè)初審,從這次實(shí)習(xí)中,進(jìn)一步鞏固和深化了所學(xué)的理論知識(shí),彌補(bǔ)了單一理論教學(xué)的不足,并為后續(xù)專業(yè)課學(xué)習(xí)和畢業(yè)設(shè)計(jì)打下了堅(jiān)實(shí)的基礎(chǔ)。對于我來說,收獲最大的是方法和能力,那些分析和解決問題的能力。在整個(gè)課程設(shè)計(jì)的過程中,我發(fā)現(xiàn)我們學(xué)生在經(jīng)驗(yàn)方面十分缺乏,空有理論知識(shí),沒有理性的知識(shí),有些東西可能與實(shí)際脫節(jié)??傮w來說,我覺得像課程設(shè)計(jì)這種類型的作業(yè)對我們的幫助是很大的,它需要我們將學(xué)過的相關(guān)知識(shí)系統(tǒng)地聯(lián)系起來,從中暴露出自身的不足,以待改進(jìn)。通過這次實(shí)習(xí),加深了大家對本專業(yè)的了解及信心,可以提高我們的自身競爭力,讓我們在未來社會(huì)中站穩(wěn)腳尖。這次設(shè)計(jì),我要感謝我們的XX老師,是他悉心教育和細(xì)心地指導(dǎo)使得我的這次課程設(shè)計(jì)取得成功。還要感謝學(xué)校老師和領(lǐng)導(dǎo)們給了我們能夠把自己所學(xué)的知識(shí)與實(shí)際操作相結(jié)合的操作機(jī)會(huì)。附錄:程序代碼DisplayBuffer equ 30h;設(shè)置顯示緩沖區(qū)的地址為30h-35h共6個(gè)字節(jié) OneSecondCounter equ 39h;設(shè)置1秒計(jì)數(shù)器的地址,1秒計(jì)數(shù)器是用來計(jì)數(shù)1秒內(nèi)計(jì)時(shí)器的中斷次數(shù)Hour equ 3ah;設(shè)置小時(shí)計(jì)數(shù)器的地址Minute equ 3bh;設(shè)置分鐘計(jì)數(shù)器的地址Second equ 3ch;設(shè)置秒計(jì)數(shù)器的地址ClockMode equ 20h.0;模式(正常走時(shí)/鬧時(shí))設(shè)置寄存器地址,值為0時(shí)正常走時(shí),為1時(shí)鬧時(shí)設(shè)定AlarmOnOff equ 20h.1;鬧鐘開啟/關(guān)閉標(biāo)志,為0關(guān)閉,為1開啟AlarmTimeOn equ 20h.2;此位為1時(shí)表示鬧時(shí)時(shí)間到DispHour equ 21h;設(shè)置小時(shí)顯示寄存器的地址DispMinute equ 22h;設(shè)置分鐘顯示寄存器的地址DispSecond equ 23h;設(shè)置秒顯示寄存器的地址AlarmHour equ 2eh;設(shè)置鬧時(shí)小時(shí)計(jì)數(shù)器的地址AlarmMinute equ 2fh;設(shè)置鬧時(shí)分鐘計(jì)數(shù)器的地址AlarmSetKey bit P3.2;鬧鐘設(shè)置鍵MinuteKey bit P3.4;定義分設(shè)置鍵HourKey bit P3.3;定義小時(shí)設(shè)置鍵RelayOut bit P3.0;定義輸出引腳,揚(yáng)聲器控制org 0000hajmp Start;程序開始o(jì)rg000bh ;Timer0中斷向量地址ajmp TimeInt;跳到中斷處理程序org 0020hStart: ;以下為初始化程序,為各個(gè)變量賦初值mov sp,#60hmov OneSecondCounter,#125;1秒鐘中斷次數(shù);mov Hour,#12;開機(jī)時(shí)間 mov Minute,#00 mov Second,#00;設(shè)置上電時(shí)時(shí)鐘顯示的初值 mov AlarmHour,#06;開機(jī)時(shí)鬧鐘默認(rèn)時(shí)間 mov AlarmMinute,#00;設(shè)置上電時(shí)鬧時(shí)時(shí)間的初值 clr AlarmOnOff;上點(diǎn)復(fù)位后鬧時(shí)功能處于關(guān)閉狀態(tài) clr ClockMode;正常走時(shí)模式 clr AlarmTimeOn;鬧鐘時(shí)間還沒有到 clr RelayOut; 清鬧時(shí)輸出 mov tmod,#01H; mov th0,#0e3h; mov tl0,#33h; mov ie,#82h;開全局中斷 setb tr0;開定時(shí)中斷,啟動(dòng)定時(shí)器MainLoop:jb AlarmSetKey,CheckMinuteKey;鬧時(shí)設(shè)置鍵按下了嗎?沒有則轉(zhuǎn)去檢測秒設(shè)置鍵篇p3.2lcall Delay2 jb AlarmSetKey,CheckMinuteKey;按下的時(shí)間超過15ms嗎?setb ClockMode ;置為鬧時(shí)設(shè)置模式 call AlarmSetCheckMinuteKey:jb MinuteKey,CheckHourKey;分設(shè)置鍵按下了嗎?沒有則轉(zhuǎn)去檢測小時(shí)設(shè)置鍵call Delay2 jb MinuteKey,CheckHourKey;按下的時(shí)間超過15ms嗎? ;如按下調(diào)用蜂鳴器發(fā)音程序mov a,Minuteadd a,#1; 如果按下則將分鐘加一 十進(jìn)制調(diào)整mov Minute,a;cjne a,#3ch,NotOver1; 到60分鐘了嗎? mov Minute,#0; 到60分鐘則將分鐘清0NotOver1: ;以下等待按鍵釋放及防抖動(dòng) jnb MinuteKey,$CheckHourKey: jb HourKey,CheckAlarm;小時(shí)設(shè)置鍵按下了嗎?沒有則轉(zhuǎn)去鬧時(shí)狀態(tài)檢測 call Delay2 jb HourKey,CheckAlarm;按下的時(shí)間超過15ms嗎? ;如按下調(diào)用蜂鳴器發(fā)音程序 mov a,Hour add a,#1;如果按下則將小時(shí)加1 mov Hour,a cjne a,#18h,NotOver2 mov Hour,#0;到24小時(shí)則將小時(shí)清0NotOver2: ;以下等待按鍵釋放及防抖動(dòng) jnb HourKey,$CheckAlarm: ; jnb AlarmTimeOn,ToReturn;鬧鐘時(shí)間到?jīng)]有 call AlarmProcess;鬧鐘子程序ToReturn: ajmp MainLoopTimeInt: mov th0,#0d3h; 重新加載定時(shí)參數(shù) mov tl0,#33h; push acc push psw; 保護(hù)累加器及程序狀態(tài)字的內(nèi)容 setb rs0; 選擇工作寄存器組1,clr rs1; 這樣可保護(hù)原工作寄存器組(0組)的內(nèi)容 djnz OneSecondCounter,NotoneSecond; 中斷了125次了嗎?即夠1秒了嗎? mov OneSecondCounter,#125; 如夠1秒則重新設(shè)置OneSecondCounter計(jì)數(shù)器call Clock ; 調(diào)用將時(shí)鐘內(nèi)容加1秒的子程序call ConvertoBuffer ; 調(diào)用將時(shí)鐘內(nèi)容轉(zhuǎn)換到顯示緩沖區(qū)子程序NotoneSecond:call ScanDisplay ; 調(diào)用掃描顯示子程序 pop pswpop acc ; 恢復(fù)累加器及程序狀態(tài)字的內(nèi)容reti ; 中斷返回ScanDisplay:MOV R1,#DisplayBuffer ;指向顯示數(shù)據(jù)首址,利用c語言指針原理讀取緩沖區(qū)的數(shù)值;子程序ConvertoBuffer已經(jīng)將相應(yīng)的值存放在displaybuffer的緩沖區(qū)中MOV R4,#00100000b ;掃描控制字初值,顯示右邊第一個(gè)數(shù)碼管PLAY: MOV A,R4 ;掃描字放入AMOV P2,A ;從P2口輸出,p2口的低六位分別控制對應(yīng)的六個(gè)數(shù)碼管的顯示MOV A,R1 ;取顯示數(shù)據(jù)到AMOV DPTR,#TAB ;取段碼表地址 MOVC A,A+DPTR ;查顯示數(shù)據(jù)對應(yīng)段碼MOV P0,A ;段碼放入P0口,具體顯示位INC R1 ;指向下一地址 MOV A,R4 ;掃描控制字放入AJnBACC.1,LPP1;顯示時(shí)分位CLRP0.7CALLDelaySETBP0.7LPP1:JnBACC.3,LPP2;顯示秒分位CLRP0.7CALLDelaySETBP0.7LPP2: JB ACC.7,ENDOUT ;掃到第六位時(shí)結(jié)束 RR A ;A中數(shù)據(jù)循環(huán)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論