版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、本科生畢業(yè)論文(設(shè)計(jì))基于單片機(jī)實(shí)現(xiàn)電子時(shí)鐘的設(shè)計(jì) 學(xué) 院電氣信息工程學(xué)院專 業(yè)電氣工程及其自動(dòng)化班 級(jí)12級(jí)電氣專升本 學(xué) 號(hào)0608120101學(xué) 生 姓 名胡卉 聯(lián) 系 方 指 導(dǎo) 教 師王安梅職稱:講師 2014年3月 獨(dú) 創(chuàng) 性 聲 明本人鄭重聲明:所呈交的畢業(yè)論文(設(shè)計(jì))是本人在指導(dǎo)老師指導(dǎo)下取得的研究成果。除了文中特別加以注釋和致謝的地方外,論文(設(shè)計(jì))中不包含其他人已經(jīng)發(fā)表的研究成果。與本研究成果相關(guān)的所有人所做出的任何貢獻(xiàn)均已在論文(設(shè)計(jì))中作了明確的說(shuō)明并表示了謝意。簽名:_ _年_月_日授權(quán)聲明本人完全了解許昌學(xué)院有關(guān)保留、使用本科生畢業(yè)論文(設(shè)
2、計(jì))的規(guī)定,即:有權(quán)保留并向國(guó)家有關(guān)部門(mén)或機(jī)構(gòu)送交畢業(yè)論文(設(shè)計(jì))的復(fù)印件和磁盤(pán),允許畢業(yè)論文(設(shè)計(jì))被查閱和借閱。本人授權(quán)許昌學(xué)院可以將畢業(yè)論文(設(shè)計(jì))的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫(kù)進(jìn)行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存、匯編論文(設(shè)計(jì))。本人論文(設(shè)計(jì))中有原創(chuàng)性數(shù)據(jù)需要保密的部分為(如沒(méi)有,請(qǐng)?zhí)顚?xiě)“無(wú)”): 學(xué)生簽名: 年月日指導(dǎo)教師簽名: 年月日基于單片機(jī)實(shí)現(xiàn)電子時(shí)鐘的設(shè)計(jì) 摘 要 本次設(shè)計(jì)的題目是基于單片機(jī)實(shí)現(xiàn)電子時(shí)鐘的設(shè)計(jì),讓單片機(jī)可以正常的顯示年、月、日、時(shí)、分、秒。電子時(shí)鐘具有穩(wěn)定性高、成本低、精確度高以及實(shí)用、方便等特點(diǎn),因此它特別適用于家庭、公司等場(chǎng)所,為人們的日
3、常生活帶來(lái)了極大地方便,逐漸成為人們生活中不可或缺的一部分。本次設(shè)計(jì)包括兩部分:硬件系統(tǒng)和軟件系統(tǒng)。硬件部分包括:AT89C51單片機(jī),D74LS154譯碼器,S12C887時(shí)鐘芯片和ULN2003A驅(qū)動(dòng)芯片。利用單片機(jī)將RC復(fù)位電路、動(dòng)態(tài)顯示電路、電源電路、去抖電路等,把這些電路正確無(wú)誤的連接在一起,再通過(guò)給單片機(jī)編程來(lái)實(shí)現(xiàn)設(shè)計(jì)任務(wù)要求。關(guān)鍵詞: 單片機(jī);日歷;位碼;段碼;顯示English SubjectABSTRACT The topic of this design is the electronic calendar, can normal display date and time
4、, minutes and seconds. Electronic calendar has stable performance, high precision, low cost, easy to prod, and convenient, practical etc. Characteristics Applicable to family ,company ,authority and many other places. For People's Daily life, travel arrangement provides convenient, become the pe
5、ople daily life is an indispensable part of. This design can be divided into two parts: hardware system, software system. Hardware part includes: AT89C51 single-chip microcomputer, DS12C887 clock chip, 74 LS154 decoder, ULN 2003A drive chip. Using single chip computer will RC reset circuit, dynamic
6、display circuit, the power supply circuit, to shake circuit the connections right in together, and through the micro-controller programming realize the design requirements of the task. . Key words:single chip micro computer; calendar; a code section; code;display目錄前 言21. 概 述211 單片機(jī)的組成及特點(diǎn)212 單片機(jī)的應(yīng)用32
7、. 設(shè)計(jì)方案521 設(shè)計(jì)思路522 系統(tǒng)總體框圖53. 硬件設(shè)計(jì)731 單片機(jī)的選擇732 復(fù)位電路1033 晶振電路1134 時(shí)鐘芯片DS12C887介紹12341 DS12C887主要功能簡(jiǎn)介12342 DS12C887引腳說(shuō)明及原理13343 DS12C887的中寄存器的功能和作用14344 DS12C887的中斷和更新周期15345 DS12C887初始化方法15 35 74LS154芯片介紹及ULN2003A的簡(jiǎn)介164. 軟件設(shè)計(jì)185. 單片機(jī)應(yīng)用系統(tǒng)的測(cè)試26 51 在偉福中的調(diào)試26 52 在Keil中的調(diào)試并連接實(shí)驗(yàn)箱27參考文獻(xiàn)31致 謝32 基于單片機(jī)實(shí)現(xiàn)電子時(shí)鐘的設(shè)計(jì)
8、前 言現(xiàn)在是一個(gè)電子數(shù)字發(fā)展時(shí)代,從家庭生活到工業(yè)發(fā)展都是以電子數(shù)字為基礎(chǔ),例如自動(dòng)報(bào)警器,自動(dòng)鬧鈴等自動(dòng)控制設(shè)備,給人類生活帶來(lái)極大的方便,因此研究電子時(shí)鐘為基礎(chǔ)再擴(kuò)展其更深遠(yuǎn)的發(fā)展,是一項(xiàng)對(duì)社會(huì)非常有意義的課題。1. 概 述 11 單片機(jī)的組成及特點(diǎn) 單片機(jī)是微型機(jī)的一個(gè)主要的分支,在結(jié)構(gòu)上的最大的特點(diǎn)是把存儲(chǔ)器、CPU、多種輸入/輸出接口電和定時(shí)器路等集成在一塊超大規(guī)模的電路芯片上,這就是說(shuō)一塊單片機(jī)芯片就相當(dāng)于一臺(tái)計(jì)算機(jī)。 單片機(jī)通過(guò)內(nèi)部總線,計(jì)算機(jī)的各主要部件被接為一體,它的內(nèi)部總線包括有:數(shù)據(jù)總線、地址總線及控制總線。地址總線是在進(jìn)行數(shù)據(jù)交換時(shí)提供地址,CPU通過(guò)它們把地址輸出到存
9、儲(chǔ)器或I/O接口里;數(shù)據(jù)總線在CPU與存儲(chǔ)器或I/O接口之間或存儲(chǔ)器與外設(shè)之間來(lái)進(jìn)行交換數(shù)據(jù);而控制總線包括CPU發(fā)出的控制信號(hào)線以及外部送入CPU的應(yīng)答信號(hào)線等。單片機(jī)中的CPU和存儲(chǔ)器等部件,在后面章節(jié)一一介紹。 單片機(jī)的結(jié)構(gòu)形式及其所采取的半導(dǎo)體工藝使其具有很多鮮明的特點(diǎn),因此它在各個(gè)領(lǐng)域都得了迅速而猛烈的發(fā)展,從而使它占有很重要的地位。單片機(jī)主要有如下特點(diǎn): (1)它有著優(yōu)異的性能價(jià)格比。 (2)它不但體積小、而且還具有很高的可靠性能。單片機(jī)的各種功能部件被集成在一塊小芯片上,內(nèi)部的總線結(jié)構(gòu)使各芯片間連線減少了,這就在很大程度上提高了單片機(jī)的可靠性能及其抗干擾的能力。而單片機(jī)的體積小,
10、使強(qiáng)的磁場(chǎng)環(huán)境能更好的采取措施去屏蔽它,從而使它特別適合在及其的惡劣的環(huán)境下展開(kāi)工作。 (3)為了滿足生活及工業(yè)控制的要求,大多數(shù)單片機(jī)的指令系統(tǒng)中都含有極其豐富的轉(zhuǎn)移指令、I/O口的各種邏輯操作功能以及位的處理功能。單片機(jī)的各種邏輯控制功能與它的運(yùn)行速度較同一檔次的微機(jī)而言更高更快。 (4)電壓低,便于生產(chǎn),便于攜帶和使用。 (5)內(nèi)部總線增加了I C(Inter-Integrated Circuit)串行總線方式及SPI(Serial Peripheral Interface)串行總線方式等,這就再一步縮小了單片機(jī)的體積和簡(jiǎn)化了單片機(jī)的結(jié)構(gòu)。 (6)單片機(jī)的系統(tǒng)擴(kuò)展及其系統(tǒng)配置比較典型規(guī)范
11、容易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng)。 單片機(jī)是計(jì)算機(jī)發(fā)展的一個(gè)全新重要領(lǐng)域,根據(jù)目前發(fā)展情況,應(yīng)有一個(gè)較科學(xué)的分類方法,從角度上可以大致將單片機(jī)分為通用型/專用型、總線型/非總線型及工控型/家電型。1. 通用型/專用型 按單片機(jī)適用范圍來(lái)區(qū)分通用型/專用型。例如,89C51是通用型單片機(jī)的,它不是為某種專用途設(shè)計(jì)的,專用型單片機(jī)是針對(duì)同一類產(chǎn)品甚至是某一個(gè)產(chǎn)品設(shè)計(jì)生產(chǎn)的,比如,為了使電子體溫計(jì)達(dá)到測(cè)體溫的要求,可以在片內(nèi)集成ADC接口等功能,組成一個(gè)溫度測(cè)量控制電路。 2. 總線型/非總線型 按單片機(jī)提供并行總線與否來(lái)區(qū)分總線型/非總線型??偩€型單片機(jī)一般都會(huì)設(shè)置有并行地址總線。 控制總線、數(shù)據(jù)總線,
12、它們的引腳用來(lái)擴(kuò)展并行外圍短路器件,且通過(guò)串行口與單片機(jī)連接。另外,要用的外圍器件和外設(shè)的接口已經(jīng)被許多單片機(jī)已經(jīng)集成一個(gè)芯片內(nèi),所以很多情況下并不需要并行擴(kuò)展總線,這就在極大程度上節(jié)省了各種封裝的成本和減小了芯片體積,此類單片機(jī)為非總線型單片機(jī)。 3. 控制型/家電型 按照單片機(jī)的應(yīng)用的范圍可區(qū)分控制型/家電型。一般來(lái)說(shuō)工控型單片機(jī)的尋址范圍很大,運(yùn)算的能力也強(qiáng);專用型的多用于家電單片機(jī),通常是低價(jià)格、小封裝,它的許多外圍器件與外設(shè)接口都有著較高的集成度。 顯然,以上的分類不是很嚴(yán)格的、惟一的。如,89C51單片機(jī)既可以為通用型又可以是總線型的,還可以在工控上用到。 12 單片機(jī)的應(yīng)用 由于
13、單片機(jī)具有這么顯著的優(yōu)點(diǎn),使它成為科技領(lǐng)域的有力的工具和人類生活的得力助手。它的應(yīng)用遍及各個(gè)領(lǐng)域,主要表現(xiàn)有下面幾個(gè)方面: 1.單片機(jī)在儀器儀表智能化中的應(yīng)用 單片機(jī)大范圍地用于各種儀器儀表中使儀器儀表智能化,還可提高測(cè)量的自動(dòng)化精度和程度,以及簡(jiǎn)化儀器儀表中的硬件結(jié)構(gòu)使其性能價(jià)格比不斷提高。 2單片機(jī)在機(jī)電一體化中的應(yīng)用 械工業(yè)發(fā)展的方向是機(jī)電一體化,機(jī)電一體化產(chǎn)品是指微電子技術(shù)、集成機(jī)械技術(shù)以及計(jì)算機(jī)技術(shù)于一體具有智能化特征的機(jī)電產(chǎn)品,如,鉆床、微機(jī)控制的車床等。單片機(jī)在此充分發(fā)揮它的高可靠性、小體積和強(qiáng)功能等優(yōu)點(diǎn),很大程度上提高機(jī)器的自動(dòng)化和智能化程度。 3單片機(jī)在實(shí)時(shí)控制中的應(yīng)用 單片
14、機(jī)普遍廣泛地被用在各種實(shí)時(shí)控制系統(tǒng)中。例如,在工業(yè)測(cè)控,航空航天,尖端武器,機(jī)器人等各種可以用單片機(jī)作為其控制器實(shí)時(shí)控制系統(tǒng)中。單片機(jī)的實(shí)時(shí)數(shù)據(jù)處理功能和控制能力讓系統(tǒng)保持工作在最佳狀態(tài),從而提高系統(tǒng)的產(chǎn)品質(zhì)量和工作效率。 和4. 單片機(jī)在分布式多機(jī)系統(tǒng)中的應(yīng)用 單片機(jī)通常采用分布式多機(jī)系統(tǒng)在一般比較復(fù)雜的系統(tǒng)中。多機(jī)系統(tǒng)的構(gòu)成一般由若干臺(tái)的且功能各異的單片機(jī)組成,它們通過(guò)串行通信互相聯(lián)系和協(xié)調(diào)工作各自完成特定的工序。單片機(jī)在這種系統(tǒng)中往往在系統(tǒng)的某些節(jié)點(diǎn)上作為一個(gè)終端機(jī)安裝,來(lái)進(jìn)行實(shí)時(shí)現(xiàn)場(chǎng)信息的測(cè)量控制。單片機(jī)的強(qiáng)抗干擾能力和高可靠性可以讓它在惡劣環(huán)境的前端工作。 5單片機(jī)在人類生活中的應(yīng)用
15、 自單片機(jī)誕生后迅速走進(jìn)了人類的生活,如電子玩具、洗衣機(jī)、電冰箱、收錄機(jī)。 自從家用電器與單片機(jī)合作后,大大提高了智能化程度增加了功能倍受人們喜愛(ài)。單片機(jī)將使人類生活更加方便和豐富多彩。 綜合所述,以前必須由模擬電路或數(shù)字電路才能加以實(shí)現(xiàn)的一大部分控制功能,現(xiàn)在已經(jīng)大部分能用單片機(jī)軟調(diào)試方法來(lái)實(shí)現(xiàn)了,這種軟件控制替代純硬件控制的技術(shù)也稱為微控制技術(shù),為傳統(tǒng)控制技術(shù)帶來(lái)一次新革命。本設(shè)計(jì)主要以單片機(jī)為主,單片機(jī)已成為計(jì)算機(jī)發(fā)展和應(yīng)用的一個(gè)重要方面,單片機(jī)的應(yīng)用的重要意義還在于它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計(jì)思想和設(shè)計(jì)方法。2. 設(shè)計(jì)方案21 設(shè)計(jì)思路設(shè)計(jì)的題目是基于單片機(jī)實(shí)現(xiàn)電子時(shí)鐘的控制。根
16、據(jù)設(shè)計(jì)要求時(shí)鐘顯示正常的年、月、日、時(shí)、分、秒。要想實(shí)現(xiàn)上述功能,就必須將硬件系統(tǒng)和軟件系統(tǒng)有機(jī)的結(jié)合在一起,才可以實(shí)現(xiàn)我們?cè)O(shè)計(jì)任務(wù)中的各項(xiàng)要求。硬件系統(tǒng)主要有單片機(jī)AT89C51、DS12C887、74LS154 等。AT89C51 主要功能是存儲(chǔ)程序,根據(jù)程序的內(nèi)容對(duì)各個(gè)端口進(jìn)行判斷并做出相應(yīng)的處理。DS12C887主要的功能是控制年、月、日、時(shí)、分、秒并顯示出效果。根據(jù)設(shè)計(jì)要求,電子日歷要顯示年、月、日、時(shí)、分、秒就需要16個(gè)顯示數(shù)碼管,由于數(shù)碼管的數(shù)量較多,必須采用動(dòng)態(tài)顯示掃描。例如,07-12-01,首先日分為個(gè)位和十位,個(gè)位顯示到09時(shí),應(yīng)向日的十位自動(dòng)進(jìn)位,即個(gè)位清0,十位置1,
17、顯示為10,繼續(xù)累計(jì);當(dāng)顯示為31時(shí),日的十位就應(yīng)自動(dòng)向月的個(gè)位進(jìn)位,顯示為01,當(dāng)月顯示到09時(shí),月的個(gè)位自動(dòng)向月的十位進(jìn)位,個(gè)位清0,十位置1,即為10,當(dāng)月至12時(shí),月向年的個(gè)位進(jìn)位,即顯示08,同時(shí)月、日開(kāi)始從01月01日繼續(xù)顯示,依次周而復(fù)始的循環(huán)運(yùn)行。根據(jù)按鍵電路可實(shí)現(xiàn)年、月、日、時(shí)、分、秒的調(diào)整,當(dāng)K1鍵按下時(shí),可以調(diào)整時(shí)間,K2、K3鍵分別對(duì)時(shí)間進(jìn)行加或減,K4鍵可以切換正常模式與省電模式。利用單片機(jī)將RC復(fù)位電路、動(dòng)態(tài)顯示電路、電源電路、去抖電路等正確的連接在一起,并通過(guò)單片機(jī)的編程來(lái)實(shí)現(xiàn)本次設(shè)計(jì)任務(wù)中的要求。22 系統(tǒng)總體框圖設(shè)計(jì)電路采用ATMEL的AT89C51芯片來(lái)做C
18、PU,用AT89C51的內(nèi)部EPROM作為程序存儲(chǔ)器,顯示部分位碼的擴(kuò)展采用74LS154,七段數(shù)碼管的驅(qū)動(dòng)采用ULN2003A,控制部分采用普通獨(dú)立按鍵。在確定系統(tǒng)的大體形式之后,畫(huà)出系統(tǒng)的總框圖如圖2.1所示。圖2.1 系統(tǒng)總框圖系統(tǒng)總體框圖包括:?jiǎn)纹瑱C(jī)、控制電路、復(fù)位電路、顯示電路、電源等部分。單片機(jī)AT89C51芯片的主要功能:存儲(chǔ)程序,對(duì)存儲(chǔ)程序進(jìn)行相應(yīng)的處理從I/O口輸出。復(fù)位電路:在單片機(jī)上有一個(gè)復(fù)位引腳RST,在單片機(jī)外部,用電容和電阻控制RST。控制電路:是用一個(gè)按鍵控制數(shù)碼管的省電及正常顯示。顯示電路:主要用于顯示數(shù)碼管的結(jié)果。電源電路:采用+5V的直流電源供電。3. 硬件
19、設(shè)計(jì)硬件電路主要包括:?jiǎn)纹瑱C(jī)、時(shí)鐘芯片、譯碼器、顯示電路以及電源等幾部分。時(shí)鐘芯片選擇:選用DS12C887實(shí)時(shí)芯片。單片機(jī)的選擇:選用AT89C8051單片機(jī),配備11.0592MHz晶振。P1.0P1.4作數(shù)碼管的位選口,P0.0P0.6作數(shù)碼管的段選口。顯示電路的選擇:采用軟件譯碼器動(dòng)態(tài)顯示和共陰極LED數(shù)碼管。復(fù)位電路的選擇:RC復(fù)位電路。譯碼器的選擇:采用4線16線譯碼器74LS154。電源電路的選擇:采用直流+5V電源供電。31 單片機(jī)的選擇單片機(jī)實(shí)質(zhì)上是一個(gè)芯片,所以在實(shí)際應(yīng)用中必須外加各種擴(kuò)展接口電路、外部設(shè)備等相關(guān)硬件和軟件,才能構(gòu)成一個(gè)單片機(jī)系統(tǒng)。盡管單片機(jī)種類很多,但無(wú)論
20、是從世界范圍或是從全國(guó)范圍來(lái)看,使用最為廣泛的還是MCS-51單片機(jī)。單片機(jī)是指集成在一個(gè)微型計(jì)算機(jī),是把組成微型計(jì)算機(jī)的各種功能部件包括CPU、只讀存儲(chǔ)器ROM、隨機(jī)存儲(chǔ)器RAM、定時(shí)器/計(jì)數(shù)器、基本輸入/輸出接口電路等部件都集合在一塊集成芯片上,來(lái)構(gòu)成一個(gè)完整的能實(shí)現(xiàn)微型計(jì)算機(jī)的基本功能微型計(jì)算機(jī)。89C51單片機(jī)正是把CPU、定時(shí)器/計(jì)數(shù)器、存儲(chǔ)器和多種功能的I/O線等集成一塊芯片中的一臺(tái)計(jì)算機(jī),它具有所需的基本功能。89C51單片機(jī)主要包括1個(gè)8位CPU,1個(gè)片內(nèi)振蕩器及時(shí)鐘電路,128B RAM,4KB ROM,2個(gè)16位定時(shí)器計(jì)數(shù)器,32條可編程的I/O線和一個(gè)可編程的全雙工串行接
21、口,5個(gè)中斷源,2個(gè)中斷優(yōu)先級(jí)套中斷結(jié)構(gòu)。其內(nèi)部結(jié)構(gòu)示意圖如圖3.1:圖3.1 單片機(jī)內(nèi)部結(jié)構(gòu)示意圖1、中央處理器 :CPU是單片機(jī)的內(nèi)部核心部件,是一個(gè)8位二進(jìn)制數(shù)的中央處理單元,主要由運(yùn)算器、控制器和寄存器陣列構(gòu)成。2、控制器:控制器是單片機(jī)內(nèi)部各部件按一定時(shí)序協(xié)調(diào)工作的控制核心,是分析和執(zhí)行指令的部件??刂破髦饕沙绦蛴?jì)數(shù)器、指令寄存器、指令譯碼器、振蕩和定時(shí)控制邏輯電路等構(gòu)成。3、寄存器陣列:寄存器陣列式單片機(jī)內(nèi)部的臨時(shí)存儲(chǔ)單元或固定用途單元,它包括通用寄存器組和專用寄存器組。4、存儲(chǔ)器:程序存儲(chǔ)器是可讀不可寫(xiě)的,它用于存放編號(hào)的程序和表格常數(shù)。5、數(shù)據(jù)存儲(chǔ)器是既可讀的也可寫(xiě)的用于存放
22、運(yùn)算的中間結(jié)果,進(jìn)行數(shù)據(jù)暫存及數(shù)據(jù)緩沖等。6、定時(shí)器計(jì)數(shù)器:89C51內(nèi)部有2個(gè)16位可編程定時(shí)器和計(jì)數(shù)器簡(jiǎn)稱為定時(shí)器0(T0)和定時(shí)器1(T1),T0和T1在定時(shí)器控制寄存器TCON和定時(shí)器方式選擇寄存器TMOD的控制下,可工作在定時(shí)器模式或計(jì)數(shù)器模式下,每種模式又有不同的工作方式。89C51有兩個(gè)16位的可編程定時(shí)/計(jì)數(shù)器,用來(lái)實(shí)現(xiàn)定時(shí)或計(jì)數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。7、并行輸入輸出(I/O)口:89C51共有4組8位I/O口(P0、 P1、P2或P3)用于對(duì)外部數(shù)據(jù)的傳輸。89C51單片機(jī)內(nèi)部總線是單總線結(jié)構(gòu),即數(shù)據(jù)總線和地址總線是公用的。 89C51有40條引腳, 與其他51系列單片機(jī)
23、引腳是兼容的,這40條引腳可分為I/O接口線、電源線、控制線、外接晶體線4部分。 另外,89C51單片機(jī)為雙列直插式封裝結(jié)構(gòu), 如圖3.2所示。圖3.2 89C51引腳分配圖Pin40:電源腳。工作電壓為+5VPin20:接地端P0口:P0口為一個(gè)8位漏極開(kāi)路的雙向I/O口,每腳可以吸收8TTL門(mén)電流。當(dāng)P0口第一次輸入“1”時(shí),為高阻輸入,P0口可以用于外部數(shù)據(jù)存儲(chǔ)器,可以被定義為數(shù)據(jù)/地址的第八位,F(xiàn)LASH編程時(shí),P0口作為原碼輸入口。當(dāng)FLASH校驗(yàn)時(shí),P0口輸出原碼,此時(shí)P0外部必須被拉高。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流,
24、P1口寫(xiě)入1時(shí),被內(nèi)部上拉為高,可用作輸出,P1口被外部下拉為0時(shí),輸出電流,這是因?yàn)閮?nèi)部上拉。在FLASH編程和校驗(yàn)時(shí),P1口可作為第八位地址接收。P2口:P2口是一個(gè)內(nèi)部上拉電阻的8位雙向I/O口。P2口緩沖器可以接收、輸出4個(gè)TTL門(mén)電流。當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入,因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流,這就是內(nèi)部上拉的原因。當(dāng)P2口用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉的優(yōu)勢(shì);當(dāng)P2口對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和
25、校驗(yàn)時(shí),接收八位地址信號(hào)和控制信號(hào)。P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口??梢越邮蛰敵?個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1”時(shí),全部被內(nèi)部上拉為高電平用作輸入。作為輸入,由于外部下拉為低電平;P3口將輸處電流(ILL),這就是上拉的緣故。P3口也可以作為AT89C51的一些特殊功能口,如下所示:P3.0: RXD (串行輸入口,串行數(shù)據(jù)接收)P3.1: TXD (串行輸出口,串行數(shù)據(jù)發(fā)送)P3.2: (外部中斷0申請(qǐng))P3.3: (外部中斷1申請(qǐng))P3.4:T0 (定時(shí)/計(jì)數(shù)器0)P3.5: T1 (定時(shí)/計(jì)數(shù)器1)P3.6: (外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)P3.7: (外部數(shù)據(jù)存儲(chǔ)器
26、讀選通)P3口同時(shí)為閃爍編程、編程校驗(yàn)去接收一些控制信號(hào)。RST復(fù)位輸出:當(dāng)振蕩器復(fù)位時(shí),保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間有效。XTAL1:反向振蕩器的輸入,內(nèi)部時(shí)鐘工作電路的輸入。當(dāng)用外部時(shí)鐘時(shí),用于接入外部時(shí)鐘脈沖信號(hào);XTAL2:反向振蕩器的輸出。振蕩器特性:XTAL1為反向放大器的輸入,XTAL2為反向放大器的輸出,該反向放大器可作為片內(nèi)振蕩器,可外接石英振蕩器(陶瓷振蕩器)和微調(diào)電容。如果采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2不連接,有余的輸入至內(nèi)部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此沒(méi)有任何嚴(yán)格的要求外部時(shí)鐘信號(hào)的脈沖,但脈沖的高低電平要求的寬度必須保證。32 復(fù)位電路在這種情況下
27、都需要復(fù)位:一,單片機(jī)在開(kāi)機(jī)時(shí)。二,在工作中因干擾而使程序失控。三,工作中程序處于某種死循環(huán)狀態(tài)時(shí). 復(fù)位的作用是使中央處理器CPU,以及其他功能部件都恢復(fù)到一個(gè)確定的初始狀態(tài)并且從這個(gè)狀態(tài)重新開(kāi)始工作.89S51單片機(jī)的復(fù)位靠外部電路實(shí)現(xiàn),信號(hào)由RESET(RST)引腳輸入,高電平有效。在振蕩器工作時(shí),只要保持RST引腳兩個(gè)以上的機(jī)器周期高電平,單片機(jī)復(fù)位. 復(fù)位后,PC程序計(jì)數(shù)器的內(nèi)容為0000H,而片內(nèi)RAM中內(nèi)容不變. 復(fù)位電路一般有上電復(fù)位,手動(dòng)開(kāi)關(guān)復(fù)位,自動(dòng)復(fù)位電路3種,如圖3.3所示.a.上電復(fù)位電路 b. 手動(dòng)復(fù)位電路 c. 自動(dòng)復(fù)位電路圖3.3 單片機(jī)復(fù)位電路33 晶振電路1
28、晶體振蕩器的作用:石英晶體振蕩器用來(lái)穩(wěn)定頻率和選擇頻率,也稱石英晶體諧振器,它是一種可以取代LC諧振回路的晶體諧振元件。 2本次設(shè)計(jì)所用的晶體振蕩電路如圖3.4所示: 圖3.4 晶體振蕩電路此晶振電路所選用的石英晶振頻率為12MHZ。時(shí)鐘周期是單片機(jī)外接晶振的倒數(shù),例如,12M的晶振,它的時(shí)間周期就是1/12us,這是計(jì)算機(jī)中最基本的、最小的時(shí)間單位。在一個(gè)時(shí)鐘周期內(nèi)CPU只能完成一個(gè)最基本的動(dòng)作。對(duì)于某種單片機(jī)而言,要是采用了1MHZ的時(shí)鐘頻率,則時(shí)鐘周期為1us;要是采用4MHZ的時(shí)鐘頻率,則時(shí)鐘周期為250us。時(shí)鐘脈沖是計(jì)算機(jī)的基本工作脈沖控制著計(jì)算機(jī)的工作節(jié)奏,使計(jì)算機(jī)的每一步都統(tǒng)一
29、到它的步調(diào)上來(lái)。對(duì)同一種機(jī)型的計(jì)算機(jī)時(shí)鐘頻率越高,計(jì)算機(jī)的工作速度就越快。但是由于不同的計(jì)算機(jī)硬件電路和器件的并不是完全相同,所以它所需要的時(shí)鐘周頻率范圍也不一定相同。我們學(xué)習(xí)的51系列單片機(jī)的時(shí)鐘范圍是1.2MHz-12MHz。34 時(shí)鐘芯片DS12C887介紹本次設(shè)計(jì)采用實(shí)時(shí)時(shí)鐘芯片是DS12C887,DS12C887實(shí)時(shí)時(shí)鐘芯片能夠自動(dòng)產(chǎn)生年、月、日、時(shí)、分、秒計(jì)時(shí)功能及多點(diǎn)定時(shí)功能,計(jì)時(shí)數(shù)據(jù)每秒自動(dòng)更新進(jìn)行一次,不需程序。而事實(shí)上時(shí)鐘芯片多數(shù)是鋰電池做后備電源,它可以永不停止的計(jì)時(shí),信息可以保持十年之久;DS12C887還具有可編程方波輸出功能,可用做實(shí)時(shí)測(cè)控系統(tǒng)的采樣信號(hào)等;有的實(shí)時(shí)
30、時(shí)鐘芯片內(nèi)部還帶有非易失性RAM,用來(lái)存放需長(zhǎng)期保存,但有時(shí)也變更的數(shù)據(jù)。LED數(shù)碼管電子時(shí)鐘電路采用24小時(shí)記時(shí)方式,用16位數(shù)碼管顯示來(lái)日期和時(shí)間,采用AT89C51單片機(jī),使用5V電池供電,只要使用一個(gè)按鍵開(kāi)關(guān)就可以進(jìn)入省電(顯示LED數(shù)碼管)和正常顯示兩種狀態(tài),十分快捷方便。顯示范圍:RTC計(jì)算秒、分、時(shí)、星期、日、月、年信息能識(shí)別閏年閏月,可使用年份為99年如正常顯示20012099,且時(shí)間采用24小時(shí)制。顯示格式:日期按照年、月、日排列,如2005年12月20日顯示為05-12-20,時(shí)間按時(shí)、分、秒排列如12點(diǎn)30分55秒顯示為12-30-55。顯示位數(shù):顯示6位七段LED數(shù)碼管
31、工作正常和節(jié)電顯示。時(shí)鐘誤差:24小時(shí)誤差保持在3-5秒。DS12C887時(shí)鐘芯片采用CMOS技術(shù)制成,帶有內(nèi)部晶體振蕩器且內(nèi)置有鋰電池,斷電后仍可運(yùn)行至少十年以上,并且數(shù)據(jù)不丟失。時(shí)間、數(shù)字和定鬧鐘都具有二進(jìn)制碼和BCD碼兩種形式,并可設(shè)定12小時(shí)制或24小時(shí)制式和Motorola和Intel總線時(shí)序。DS12C887內(nèi)含128字節(jié)RAM,其中有4個(gè)控制寄存器,10個(gè)時(shí)鐘寄存器和114字節(jié)通用RAM,所有RAM單元都具有掉電保護(hù)功能因此可把它用作非易失性RAM。DS12C887內(nèi)部具有周期中斷、定鬧中斷、時(shí)鐘更新周期、結(jié)束中斷等功能,且三個(gè)中斷源可分別由軟件屏蔽。341 DS12C887主要
32、功能簡(jiǎn)介(1) 內(nèi)部含有一個(gè)鋰電池,斷電后可運(yùn)行至少十年可以數(shù)據(jù)不丟失。(2) 不僅可以計(jì)秒、分、時(shí)、天、星期、日、月、年,而且具有閏年補(bǔ)償?shù)墓δ堋?3) 用二進(jìn)制數(shù)碼或BCD碼表示時(shí)間,數(shù)字以及定鬧。(4) 12小時(shí)制或24小時(shí)制,而且12小時(shí)時(shí)鐘模式帶有PM和AM指示,具有夏令時(shí)功能。(5)可選擇 Motorola和Intel總線時(shí)序選擇。(6) 所有RAM單元數(shù)據(jù)都具有掉電保護(hù)功能,有128個(gè)字節(jié)RAM單元與軟件接口,其中14個(gè)字節(jié)用于時(shí)鐘和控制寄存器,114字節(jié)通用RAM。(7) 可編程的方波輸出信號(hào)。(8) 總線兼容和中斷信號(hào)輸出(IRQ)、定鬧中斷、周期性中斷、時(shí)鐘更新周期、結(jié)束中
33、斷可分別由軟件屏蔽,也可分別進(jìn)行測(cè)試。342 DS12C887引腳說(shuō)明及原理DS12C887管腳圖如圖3.5所示:圖3.5 DS12C887管腳排列圖VCC接直流電源+5V電壓,GND接地,當(dāng)5V電壓在正常范圍內(nèi)時(shí),數(shù)據(jù)可讀寫(xiě);當(dāng)VCC低于4.25V時(shí),禁止讀寫(xiě),而計(jì)時(shí)功能仍繼續(xù);當(dāng)VCC下降到3V以下時(shí),RAM和計(jì)數(shù)器被切換到內(nèi)部鋰電池,保證內(nèi)部的電路能夠正常工作。MOT(模式選擇):縱線操作時(shí)序選擇端,MOT管腳接到VCC時(shí),選擇MOTORLA時(shí)序;當(dāng)接到GFND時(shí),選擇INTEL時(shí)序。SQW(方波信號(hào)同):當(dāng)供電電壓VCC大于4.25V,SQW引腳可輸出方波,此時(shí),可通過(guò)對(duì)寄存器A編程改
34、變其輸出頻率。AD0AD7(復(fù)用地址數(shù)據(jù)總線):在總線周期的前半部分,出現(xiàn)在AD0AD7上的是地址信息,總線周期的后半部分出現(xiàn)在AD0AD7上的是數(shù)據(jù)信息??偩€接口即MOROROLA微機(jī)系列和INTEL微機(jī)系列接口。AS(地址選通輸入端):AS實(shí)現(xiàn)信號(hào)分離,在ADALE的上升沿的時(shí)候把地址鎖存到DS12C887,下降沿清除口地址信息,不論CS是否有效。DS(數(shù)據(jù)選擇或讀輸入腳):該引腳有兩種工作模式,由MOT管腳放的電平?jīng)Q定,使用MOTOROLA時(shí)序時(shí),總線周期的后段DS為高電平時(shí),數(shù)據(jù)選通;在讀周期DS指示DS12C887驅(qū)動(dòng)雙向總的時(shí)刻,在寫(xiě)周期DS的下降沿使DS12C887鎖存寫(xiě)數(shù)據(jù)。當(dāng)
35、MOT接GND時(shí),選擇INTEL工作模式,此時(shí)該引腳是讀允許輸入引腳。R/W(讀/寫(xiě)輸入):R/W管腳也有兩種操作模式,選MOTOROLA時(shí)序時(shí),R/W是一個(gè)電平信號(hào),指示當(dāng)前周期是讀或?qū)懼芷冢籇SO為高電平時(shí),R/W高電平時(shí)為讀操作,R/W低電平時(shí)為寫(xiě)操作;當(dāng)選INTEL時(shí)序時(shí),R/W信號(hào)是一個(gè)低電平信號(hào),為寫(xiě)輸入。CS(片選輸入):低電平有效。IRQ(中斷請(qǐng)求輸出):低電平時(shí)有效,可作為微處理的中斷申請(qǐng)輸入,沒(méi)有中斷發(fā)生時(shí),IRQ處在高阻態(tài)。IRQ線是漏極開(kāi)路輸入,外接上拉電阻必須與VCC相連。RESET(復(fù)位輸出):低電平有效,時(shí)間大于200ms時(shí),能保證DS12C887有效復(fù)位。343
36、 DS12C887的中寄存器的功能和作用DS12887內(nèi)部RAM和專用寄存器地址功能,地址00H03H單元取值范圍是00H3BH(10進(jìn)制059);04H05H單元按12小時(shí)制取值范圍是上午(AM)01H0CH(112),下午(PM)81H8CH(8192)按24小時(shí)制取值范圍使00H17H(123);06H單元取值范圍使00H07H(07);07H單元取值范圍01H1FH(131);08H單元取值范圍是01H0CH(112);09H單元取值范圍是00H63H(099)。DS12C887的RAM和各專用寄存器的訪問(wèn)如下實(shí)現(xiàn),若片選地址DS=#0DDXXH,則芯片內(nèi)部RAM和寄存器和地址為#0D
37、D00H#ODD7FH。但是,我們必須了解,盡管只有一個(gè)DS12C887專用時(shí)標(biāo)年寄存器,但通過(guò)編程可使芯片內(nèi)部的不掉電的RAM區(qū)其中的一個(gè)字節(jié)來(lái)實(shí)現(xiàn)年的高兩位顯示。寄存器A:寄存器A的各個(gè)位不受復(fù)位的影響,UIP位是一個(gè)只讀位,其它各位可讀寫(xiě)。A、UIP位:用來(lái)標(biāo)志芯片是否即將進(jìn)行更新,該位為“1”時(shí),表示芯片更新周期即將開(kāi)始,程序不準(zhǔn)讀寫(xiě)時(shí)標(biāo)寄存器;該位為“0”時(shí),表示至少在244us內(nèi)不會(huì)更新周期,此時(shí)程序可讀芯片內(nèi)時(shí)標(biāo)寄存器。且該位是只讀位。B、DV0、DV1、DV2:芯片內(nèi)部震蕩器RTC控制位和復(fù)位分頻器。當(dāng)芯片接觸復(fù)位狀態(tài),并將010寫(xiě)入DV0、DV1、DV2后,晶體振蕩器開(kāi)啟且保
38、持時(shí)鐘運(yùn)行,另一個(gè)更新周期將在500ms后開(kāi)始,當(dāng)寶11X寫(xiě)入DV0、DV1、DV2,晶體整蕩器開(kāi)啟,但是分頻保持復(fù)位狀態(tài)。所以,在程序初始化時(shí)可用這三各使芯片開(kāi)始工作在設(shè)定的時(shí)間,DS12C887固定使用32768Hz的內(nèi)部晶體,所以DV0=“0”、DV1=“1”、DV2=“0”時(shí),可啟動(dòng)RTC。C、RS3,RS2,RS1,RS0:速率選擇位。不同的組合產(chǎn)生不同的輸出,程序可這樣設(shè)置:通過(guò)設(shè)置寄存器B的SQWF;設(shè)置周期中斷控制位PIE;設(shè)置兩位同時(shí)有效;兩者都禁止。344 DS12C887的中斷和更新周期DSC12C887在正常的工作狀態(tài)時(shí),每秒鐘產(chǎn)生一個(gè)更新周期,芯片處于更新周期時(shí)是有標(biāo)
39、志的,即寄存器A中CPU位置為1。更新周期內(nèi),芯片內(nèi)部時(shí)標(biāo)寄存器數(shù)據(jù)一直處于更新階段,所以這個(gè)時(shí)候微處理器不能讀取芯片時(shí)標(biāo)寄存器中的內(nèi)容信息,于此同時(shí)秒時(shí)標(biāo)寄存器內(nèi)容會(huì)增加1,并檢查其他時(shí)標(biāo)寄存器內(nèi)容有沒(méi)有溢出。另一個(gè)功能就是要檢查時(shí)、分、秒三個(gè)時(shí)標(biāo)寄存器的內(nèi)容是不是和報(bào)警時(shí)標(biāo)寄存器的內(nèi)容對(duì)應(yīng)相符,要是相符,寄存器C中AF位置1。如果報(bào)警時(shí)標(biāo)寄存器的內(nèi)容在COH到FFH之內(nèi),則為不關(guān)閉狀態(tài)。為采樣到時(shí)標(biāo)寄存器中的數(shù)據(jù)信息,DS12C887有兩種的方案可避開(kāi)在更新周期內(nèi)訪問(wèn)時(shí)標(biāo)寄存器:第一種,利用更新周期結(jié)束時(shí)發(fā)出的中斷信息。編程允許發(fā)生中斷申請(qǐng)?jiān)诿看胃轮芷谕戤吅?,警示CPU將有998ms的時(shí)
40、間去獲取有效數(shù)據(jù),在中斷之后的998ms時(shí)間內(nèi),程序可先將時(shí)標(biāo)數(shù)據(jù)讀芯片內(nèi)部的不掉電靜態(tài)RAM中,因?yàn)?,芯片?nèi)部的狀態(tài)寄存器和靜態(tài)RAM是可隨時(shí)讀寫(xiě)的,在離開(kāi)中斷服務(wù)子程序前清除寄存器C中的IRQF位。第二種,利用UIP位來(lái)判斷芯片是否處于更新周期。在UIP位從低變高的244us之后,芯片將進(jìn)行更新周期,當(dāng)檢測(cè)到UIP位為0時(shí),則利用224us的間隔時(shí)間讀取時(shí)標(biāo)信息。如檢測(cè)到UIP位為1,則暫時(shí)緩讀數(shù)據(jù)信息,等到UIP變成低電平時(shí)再去進(jìn)行。345 DS12C887的初始化方法DS12C887采用連續(xù)工作制,一般不用每次都初始化,系統(tǒng)復(fù)位時(shí)也不必要。但當(dāng)初始化時(shí),首先應(yīng)禁止芯片內(nèi)部的更新周期操作
41、,因此先把DS12C887狀態(tài)寄存器B中的SET位置1,再把狀態(tài)寄存器A和00H09H時(shí)標(biāo)參數(shù)寄存器初始化,再通過(guò)讀狀態(tài)寄存器C、清除寄存器C中的周期中斷標(biāo)志位PF、更新周期結(jié)束中斷標(biāo)志位UF、報(bào)警中斷標(biāo)志位AF。通過(guò)讀寄存器D中的VRT位自動(dòng)置1,然后把狀態(tài)寄存器B中的SET位置0,芯片就開(kāi)始了計(jì)時(shí)工作。35 74LS154芯片介紹及ULN2003A的簡(jiǎn)介本設(shè)計(jì)要用到16個(gè)七段數(shù)碼管,單片機(jī)的P0端口只有8根線,根本不夠用,所以用74LS154來(lái)擴(kuò)展,74LS154使416譯碼器,只用單片機(jī)的四根線就可以接16個(gè)數(shù)碼管的位碼端,因?yàn)?4LS154使一個(gè)4入16出的譯碼器,在本設(shè)計(jì)中共有16個(gè)
42、顯示數(shù)碼管,所以一個(gè)74LS154譯碼器的輸出端剛好夠用。LED數(shù)碼管選擇采用共陰極。在設(shè)計(jì)中74LS154的輸入端有單片機(jī)的P1.0P1.3口提供段碼控制信號(hào),輸出端接數(shù)碼管的段碼管腳(既圖中的0管腳)。74LS154管腳圖如圖3.6所示,74LS154真值表如表3.7所示:圖3.6 74LS154管腳表3.7 74LS154真值表 ULN2003A由美國(guó)Texas Instruments公司和美國(guó)Sprague公司生產(chǎn),由7組達(dá)林頓晶體管陣列和相應(yīng)的電阻網(wǎng)絡(luò)以及鉗位二極管網(wǎng)絡(luò)構(gòu)成,具有同時(shí)驅(qū)動(dòng)7組負(fù)載的能力,是一個(gè)單片雙機(jī)型大功率高速集成電路。ULN2003A是一個(gè)驅(qū)動(dòng)器,它的輸入端接單片
43、機(jī)的P0.0P0.7口,輸出接數(shù)碼管的位碼端上,由于本設(shè)計(jì)中用到的數(shù)碼管數(shù)量多,而單片機(jī)的輸出不能一下驅(qū)動(dòng),所以需要通過(guò)ULN2003A進(jìn)行驅(qū)動(dòng)。ULN2003A管腳如圖3.8所示:圖3.8 ULN2003A管腳圖4. 軟件設(shè)計(jì)軟件設(shè)計(jì)分為:動(dòng)態(tài)掃描、主程序、系統(tǒng)資源分配和軟件模塊幾部分,在此設(shè)計(jì)中采用定時(shí)器來(lái)完成動(dòng)態(tài)掃描顯示。用定時(shí)器T0定20ms的時(shí)間間隔,每次定時(shí)時(shí)間到時(shí)就輸出一個(gè)LED信號(hào),即顯示一位。主程序初始化后,就開(kāi)始進(jìn)行對(duì)DS12C887的讀時(shí)間,讀完后送顯示緩沖區(qū),同時(shí)并對(duì)定時(shí)時(shí)間進(jìn)行判斷比較。DS12C887的地址由114字節(jié)的用戶RAM存放。10字節(jié)的存放實(shí)時(shí)時(shí)鐘時(shí)間、日
44、歷和定鬧RAM及用于控制和狀態(tài)的4字節(jié)特殊寄存器組成,幾乎所有的128個(gè)字節(jié)直接讀寫(xiě)。設(shè)計(jì)程序有:主程序、讀取時(shí)間的子程序和顯示刷新程序。主程序框圖如圖4.1所示:圖4.1 主程序框圖主程序如下所示:ORG 000HLJMP STARTORG 0030HSTART: MOV 30H,#0SETB P1.1SECOND EQU 2000HMINUNTE EQU 2001H ;時(shí)鐘芯片寄存器HOUR EQU 2004H WEEK EQU 2006H ;它們代表秒、分鐘、時(shí)、日期DATE EQU 2007H ;年、月MONTH EQU 2008HYEAR EQU 2009H ;可以改變實(shí)際連線,地址
45、也相應(yīng)改變TREGA EQU 200AH ;四個(gè)控制寄存器TREGB EQU 200BH TREGC EQU 200CHTREGD EQU 200DHTUPDATE EQU 80H ;如果TREGA.7=1,時(shí)鐘芯片更新TBHALT EQU 10000010B ;24/12=1,采用24小時(shí)計(jì)時(shí)制 將TBHALT寫(xiě)入TREGB,停止計(jì)時(shí)TBSALT EQU 0000000B ;將TBSTART寫(xiě)入TREGB繼續(xù)計(jì)時(shí)F32K EQU 20H MOV A,#TBHALT ;SET=1,PIE,AIE,UIE,SQWE=0,DM=0MOVX DPTR,A ;24/12=1,24HOURS,DSE=0
46、MOV DPTR,#TREGDMOV A,#32H ;設(shè)置控制寄存器,開(kāi)晶振。MOV DPTR,AMOV DPTR,BHALTMOV A, DPTRMOV DPTR,AMOV A,DPTRMOV A,#TBHALT ;開(kāi)始計(jì)時(shí)MOVX DPTR,ASS1:LCALL TIMERECJNB P1.4 ,SS1LCALL DSPLAYLJMP SS1讀取時(shí)間子程序框圖如圖4.2所示:圖4.2 讀取時(shí)間的子程序框圖讀取時(shí)間程序如下所示:TIMEREC:PUSH ACCMOV ACC,IECLR ETOMOVRO,DPL ;將指針存入RO、R1MOVR1,DPHMOV DPTR ,#TREGA ;如果
47、DS12C887正在更新則等待TIMEWALT:MOVX A,A+DPTRJB ACC.7,TIMEWALT ;否則,讀取秒數(shù)、分鐘等數(shù)值MOV DPTR,#SECONDMOVX A,A+DPTRMOV R6 ,AMOV DPL ,R3 MOV DPH ,R1MOVX A,DPTR ;取出原來(lái)的秒數(shù)SUB A, R6 ;如果時(shí)間未改變則退出JNZ GETTIMERETGETTIME: INC ROINC RO ;指向:所指單元MOV A, EOCPL A ;將“:”取反,每秒變化一次MOV EO , A ;以控制亮和滅,形成閃爍效果MOV A, R6 ;恢復(fù)時(shí)間值MOVX DPTR ,AINC
48、 DPTRMOV R3,DPLMOV R1,DPHMOV DPTR ,#MINUTE ;讀取并存儲(chǔ)分鐘MOVX A,DPTRMOV DPL ,R3MOV DPH,R1MOVX A, DPTR,AINC DPTRMOV R3,DPLMOV R1,DPHMOV DPTR,#HOUR ;讀取并存儲(chǔ)小時(shí)MOVX A, DPTRMOV DPL,R3MOVDPH,R1MOVX DPTR,AINC DPTRMOV R3,#DPLMOV R1,#DPHMOV DPTR ,#DATA ;讀取并存儲(chǔ)日期MOVX A,DPTRMOV DPL ,R3MOV DPH ,R1MOVX DPTR ,AINC DPTRMOV
49、 R3 ,#TONTH ;讀取并存儲(chǔ)月份MOVX A, DPTR MOV DPL ,R3MOV DPH ,R1MOVX DPTR ,AINC DPTRMOV R3,DPLMOV R1,DPHINC DPTR,#HOUR ;讀取并存儲(chǔ)年號(hào)MOVC A,DPTRMOV DPL ,R3MOV DPH ,RR1MOVX DPTR ,A ;寄存器恢復(fù)保護(hù)POP ACCMOV IE,ACCPOP ACCRET 顯示刷新子程序框圖如圖4.3所示:圖4.3 顯示刷新子程序框圖顯示刷新子程序如下所示:MOV 40H ,R3PUSH ACCDISPLAY: MOV A, ROMOV R6 ,A ;顯示指針首址保護(hù)
50、,存入R6INC DPTR ;先將指針指向分鐘單元MOVX A,DPTRMOV R3,A ;保護(hù)寄存器A數(shù)據(jù)ANL A, #OFOHSWAP A ;得到小時(shí)的十位MOV R0 ,AINC R0 ;顯示指針加一MOV A, R3ANL A, #OFOH ;得到小時(shí)的個(gè)位MOV R0,A ;存入顯示緩沖區(qū)INC R0 ;跳過(guò)分號(hào)的顯示單元INC R0 DEC DPTRMOVX A, DPTRSWAP A ;得到分鐘的十位MOV R0,AINC R0 ;顯示指針加一MOV A,R3ANL A, #OFOH ;得到分的個(gè)位MOV R0 ,A ;存入顯示緩沖區(qū)MOVX DPTR,A ;AC 口均為輸出,
51、方式0MOV R4,#1FH ;位選字MOV A,R4 ;送位選字中間變量MOVX DPTR,A ;從位選字入(采用共陰接法全滅)DEC DPTR ;指向PA口DEC DPTR MOV A,R0 ;查段碼ADD A,#0DHMOVC A,A+PCMOVX DPTR,A ;段選碼送PB口ACALL DLL ;延時(shí)一毫秒INC R0 ;指向顯示緩沖區(qū)下一單元MOV A, R4JNB ACC .0,LD1 ;判斷16位顯示完RR A ;未顯示完,變?yōu)橄乱晃晃贿x字MOV A,R4AJMP LDO ;轉(zhuǎn)顯示下一位POP ACCLD1:RETDSGE: DB 3FG,06H,5BH,4FH,66H,6DH,7D,07H,7FH,67H,77H,7CH, “ 0”“1”“2”“3”“4”“5”“6”“7”“8”“9”“A”“B” 39H,5EH,79H,71H;“C”“D”“E”“F”DL1: MOV R7,#02H ;延時(shí)子程序DL: MOV R6,#OFFH NOPDL6: DJNZ R6,DL6DJNZ R7,DL RET5. 單片機(jī)應(yīng)用系統(tǒng)的測(cè)試51 在偉福中的調(diào)試通過(guò)偉福仿真軟件和Keil軟件來(lái)驗(yàn)證程序。首先打開(kāi)偉福
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 教師師德師風(fēng)培訓(xùn)
- 四川省內(nèi)江市某校2024-2025學(xué)年高三上學(xué)期10月月考 化學(xué)試題(含答案)
- 內(nèi)蒙古通遼市科爾沁左翼中旗2024-2025學(xué)年九年級(jí)上學(xué)期期中考試數(shù)學(xué)試題
- 2024-2025學(xué)年遼寧省朝陽(yáng)市建平實(shí)驗(yàn)中學(xué)高二(上)月考數(shù)學(xué)試卷(10月份)(含答案)
- 初中數(shù)學(xué)《全等三角形》八大經(jīng)典模型含答案解析
- T-ZFDSA 26-2024 赤小豆排骨湯制作標(biāo)準(zhǔn)
- 面向SDG的國(guó)網(wǎng)行動(dòng)-持續(xù)推廣港口岸電 保護(hù)綠水青山
- 信息技術(shù)(第2版)(拓展模塊)教案 拓展模塊5 5.3常用核心技術(shù)1
- 2024-2025學(xué)年八年級(jí)上學(xué)期英語(yǔ)期中模擬試卷(譯林版+含答案解析)
- 一年級(jí)心理健康教案
- 陜西省渭南市臨渭區(qū)渭南市三賢中學(xué)2024-2025學(xué)年高一上學(xué)期11月期中考試生物試題(無(wú)答案)
- 游樂(lè)園設(shè)施建設(shè)合同三篇
- 2024上半年半導(dǎo)體行業(yè)招聘報(bào)告-易展翅HR
- 病理學(xué)實(shí)驗(yàn)2024(臨床 口腔)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 形勢(shì)與政策24秋-專題測(cè)驗(yàn)1-5-國(guó)開(kāi)-參考資料
- 中考語(yǔ)文知識(shí)點(diǎn)專題27 名著《紅星照耀中國(guó)》知識(shí)點(diǎn)
- 人教三年級(jí)上冊(cè)數(shù)學(xué)課件4單元 第3招 巧算加減法
- 叉車日常維護(hù)保養(yǎng)檢查記錄表
- 高中地理 時(shí)區(qū)、區(qū)時(shí)日界線課件 湘教版必修1.ppt
- 醫(yī)院發(fā)藥窗口規(guī)范化服務(wù)細(xì)則2015
- 高大模板專家論證方案ppt.ppt
評(píng)論
0/150
提交評(píng)論