版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 課程設(shè)計(jì)說(shuō)明書(shū)</b></p><p> 專(zhuān) 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) </p><p> 題 目: 電子鐘 </p><p> 學(xué) 生 姓 名: </p><p> 指 導(dǎo) 教 師
2、: </p><p> 2012年 6 月 6 日</p><p><b> 目 錄</b></p><p> 前言……………………………………………………………………………………3</p><p> 課程設(shè)計(jì)任務(wù)書(shū)………………………………………………………………………4<
3、/p><p> 第一章 關(guān)于電子鐘…………………………………………………………………5</p><p> 第二章 方案論證……………………………………………………………………6</p><p> 2.1數(shù)字時(shí)鐘方案…………………………………………………………6</p><p> 2.2 數(shù)碼管顯示方案……………………………………………
4、………6</p><p> 第三章 硬件系統(tǒng)設(shè)計(jì)………………………………………………………………7</p><p> 3.1總體設(shè)計(jì)…………………………………………………………………7</p><p> 3.2模塊設(shè)計(jì)…………………………………………………………………7</p><p> 第四章 軟件系統(tǒng)設(shè)計(jì)…………………………
5、…………………………………18</p><p> 第五章 系統(tǒng)仿真與測(cè)試…………………………………………………………19</p><p> 5.1.系統(tǒng)仿真………………………………………………………………19</p><p> 5.2 測(cè)試結(jié)果………………………………………………………………19</p><p> 第六章 實(shí)驗(yàn)心得
6、…………………………………………………………………21</p><p> 第七章 參考文獻(xiàn)…………………………………………………………………22</p><p> 附錄…………………………………………………………………………………23</p><p><b> 前 言</b></p><p> 我們生
7、活在一個(gè)信息時(shí)代,各種電子產(chǎn)品層出不窮,作為一個(gè)計(jì)算機(jī)專(zhuān)業(yè)的學(xué)生,了解這些電子產(chǎn)品的基本組成和設(shè)計(jì)基本原理是十分必要的,我們學(xué)習(xí)的是理論知識(shí),而課程設(shè)計(jì)正是對(duì)我們學(xué)習(xí)的理論知識(shí)的實(shí)踐與鞏固。</p><p> 單片機(jī)自20世紀(jì)70年代問(wèn)世以來(lái),以其極高的性能價(jià)格比,受到人們的重視和關(guān)注,應(yīng)用很廣、發(fā)展很快。單片機(jī)體積小、重量輕、抗干擾能力強(qiáng)、環(huán)境要求不高、價(jià)格低廉、可靠性高、靈活性好、開(kāi)發(fā)較為容易。由于具有上述
8、優(yōu)點(diǎn),在我國(guó),單片機(jī)已廣泛地應(yīng)用在工業(yè)自動(dòng)化控制、自動(dòng)檢測(cè)、智能儀器儀表、家用電器、電力電子、機(jī)電一體化設(shè)備等各個(gè)方面,本設(shè)計(jì)是基于單片機(jī)的定時(shí)鬧鐘設(shè)計(jì)。單片機(jī)是在一塊半導(dǎo)體芯片上集成了CPU、存儲(chǔ)器以及輸入和輸出接口電路的微型計(jì)算機(jī);其集成度高、功能強(qiáng)、通用性好,特別是它具有體積小、重量輕、能耗低、價(jià)格便宜、抗擾、能力強(qiáng)和使用方便等特點(diǎn)。它不僅僅是一項(xiàng)技術(shù)性上的突破,同時(shí)也是對(duì)能源方面的有效節(jié)約與有效利用,因此深受?chē)?guó)家有關(guān)技術(shù)部門(mén)和能
9、源部門(mén)的重視和支持。其組合而成的配件產(chǎn)品在日常生活的使用過(guò)程中非常方便、簡(jiǎn)單且實(shí)用,深受著廣大消費(fèi)者的喜愛(ài),從而使單片機(jī)技術(shù)在社會(huì)中得到了廣泛的發(fā)展和應(yīng)用。目前,已成為測(cè)量控制應(yīng)用系統(tǒng)中的優(yōu)選機(jī)種和新電子產(chǎn)品的關(guān)鍵部件。特別是20世紀(jì)70年代問(wèn)世以來(lái),以其極高的性能價(jià)格比,受到人們的重視和關(guān)注,應(yīng)用很廣、發(fā)展很快,推廣率高,市場(chǎng)利潤(rùn)率高。而51單片機(jī)是各</p><p> 時(shí)鐘電路在計(jì)算機(jī)系統(tǒng)中起著非常重要的作
10、用,是保證系統(tǒng)正常工作的基礎(chǔ)。在一個(gè)單片機(jī)應(yīng)用系統(tǒng)中,時(shí)鐘有兩方面的含義:一是指為保障系統(tǒng)正常工作的基準(zhǔn)振蕩定時(shí)信號(hào),主要由晶振和外圍電路組成,晶振頻率的大小決定了單片機(jī)系統(tǒng)工作的快慢;二是指系統(tǒng)的標(biāo)準(zhǔn)定時(shí)時(shí)鐘,即定時(shí)時(shí)間,它通常有兩種實(shí)現(xiàn)方法:一是用軟件實(shí)現(xiàn),即用單片機(jī)內(nèi)部的可編程定時(shí)/計(jì)數(shù)器來(lái)實(shí)現(xiàn),但誤差很大,主要用在對(duì)時(shí)間精度要求不高的場(chǎng)合;二是用專(zhuān)門(mén)的時(shí)鐘芯片實(shí)現(xiàn),在對(duì)時(shí)間精度要求很高的情況下,通常采用這種方法,典型的時(shí)鐘芯片有
11、:DS1302,DS12887,X1203等都可以滿足高精度的要求。</p><p> 本文主要介紹用單片機(jī)內(nèi)部的定時(shí)/計(jì)數(shù)器來(lái)實(shí)現(xiàn)電子時(shí)鐘的方法,本設(shè)計(jì)由單片機(jī)AT89S51芯片和LED數(shù)碼管為核心,輔以必要的電路,構(gòu)成了一個(gè)單片機(jī)電子時(shí)鐘。</p><p> 安徽工程大學(xué)機(jī)電學(xué)院</p><p><b> 本科課程設(shè)計(jì)任務(wù)書(shū)</b>&
12、lt;/p><p> 2009 屆 機(jī)電學(xué)院 </p><p> 計(jì)算機(jī)科學(xué)與技術(shù) 專(zhuān)業(yè)</p><p> ?、?課程設(shè)計(jì)題目:</p><p><b> 電子鐘</b></p><p><b> ?、?原始資料</b></p><p&g
13、t;<b> 1、設(shè)計(jì)的主要內(nèi)容</b></p><p> 設(shè)計(jì)一個(gè)電子鐘,利用四個(gè)數(shù)碼管,在其上顯示分、秒;用4個(gè)小鍵盤(pán)分別進(jìn)行分+1、分-1、秒+1、秒-1改變時(shí)間值。</p><p><b> 基本要求:</b></p><p> ?、?、設(shè)計(jì)實(shí)驗(yàn)電路(要求利用實(shí)驗(yàn)儀的硬件資源)</p><p
14、><b> ?、?、分析實(shí)驗(yàn)原理</b></p><p><b> ⑶、列出實(shí)驗(yàn)接線表</b></p><p> ?、取⒉捎脜R編語(yǔ)言編寫(xiě)實(shí)驗(yàn)程序</p><p> ?、伞⑼ㄟ^(guò)實(shí)驗(yàn)驗(yàn)證功能的實(shí)現(xiàn)</p><p> ?、?、編寫(xiě)課程設(shè)計(jì)說(shuō)明書(shū)</p><p><b>
15、; 2、設(shè)計(jì)參考</b></p><p> 本程序設(shè)計(jì)中有幾個(gè)要點(diǎn):</p><p> A、設(shè)計(jì)一個(gè)1s時(shí)鐘,作為時(shí)間的基準(zhǔn)。可通過(guò)定時(shí)器來(lái)實(shí)現(xiàn),由于定時(shí)限制,我們可以設(shè)定定時(shí)時(shí)鐘為50ms中斷一次,然后用一個(gè)計(jì)數(shù)器計(jì)數(shù)20次,即50ms*20=1000ms=1s。</p><p> B、分與時(shí)都可采用軟件計(jì)數(shù)器來(lái)實(shí)現(xiàn)。60秒為1分,60分為1小
16、時(shí)。</p><p> C、由于實(shí)際應(yīng)用中要求顯示為十進(jìn)制數(shù),而在程序中處理的數(shù)據(jù)都為十六進(jìn)制,因此在程序中要對(duì)顯示緩沖區(qū)的數(shù)據(jù)進(jìn)行十進(jìn)制調(diào)整。</p><p><b> 指導(dǎo)教師(簽字)</b></p><p> 完成日期 年 月 日</p><p> 接受任務(wù)書(shū)學(xué)生(簽字)</p>
17、;<p> 關(guān)于電子時(shí)鐘 </p><p> 1957年,Ventura發(fā)明了世界上第一個(gè)電子表,從而奠定了電子時(shí)鐘的基礎(chǔ),電子時(shí)鐘開(kāi)始迅速發(fā)展起來(lái)?,F(xiàn)代的電子時(shí)鐘是基于單片機(jī)的一種計(jì)時(shí)工具,采用延時(shí)程序產(chǎn)生一定的時(shí)間中斷,用于一秒的定義,通過(guò)計(jì)數(shù)方式進(jìn)行滿六十秒分鐘進(jìn)一,滿六十分小時(shí)進(jìn)一,滿二十四小時(shí)小時(shí)清零。從而達(dá)
18、到計(jì)時(shí)的功能,是人民日常生活補(bǔ)課缺少的工具。 </p><p> 現(xiàn)在高精度的計(jì)時(shí)工具大多數(shù)都使用了石英晶體振蕩器,由于電子鐘、石英鐘、石英表都采用了石英技術(shù),因此走時(shí)精度高,穩(wěn)定性好,使用方便,不需要經(jīng)常調(diào)試,數(shù)字式電子鐘用集成電路計(jì)時(shí)時(shí),譯碼代替機(jī)械式傳動(dòng),用LED顯示器代替指針顯示進(jìn)而顯示時(shí)間,減小了計(jì)時(shí)誤差,這種表具有時(shí)、分、秒顯示時(shí)間
19、的功能,還可以進(jìn)行時(shí)和分的校對(duì),片選的靈活性好。 </p><p> 該電子時(shí)鐘由AT89S51,,六段數(shù)碼管等構(gòu)成,采用晶振電路作為驅(qū)動(dòng)電路,由延時(shí)程序和循環(huán)程序產(chǎn)生的一秒定時(shí),達(dá)到時(shí)分秒的計(jì)時(shí),六十秒為一分鐘,六十分鐘為一小時(shí),滿二十四小時(shí)為一天。而電路中唯一的一個(gè)控制鍵卻擁有多種不同的功能,按下又松開(kāi),可以實(shí)現(xiàn)屏蔽數(shù)碼管顯示的功能,達(dá)到省電的目的;直接按下不松開(kāi),則可以通過(guò)
20、按鍵實(shí)現(xiàn)分鐘的累加,每按一次分鐘加一;而連續(xù)兩次按下按鍵不放松,則可實(shí)現(xiàn)小時(shí)的調(diào)節(jié),同樣每按一次小時(shí)加一。</p><p><b> 方案論證</b></p><p><b> 2.1數(shù)字時(shí)鐘方案</b></p><p> 本方案完全用軟件實(shí)現(xiàn)數(shù)字時(shí)鐘。原理為:在單片機(jī)內(nèi)部存儲(chǔ)器設(shè)三個(gè)字節(jié)分別存放時(shí)鐘的時(shí)、分、秒信息
21、。利用定時(shí)器與軟件結(jié)合實(shí)現(xiàn)1秒定時(shí)中斷,每產(chǎn)生一次中斷,存儲(chǔ)器內(nèi)相應(yīng)的秒值加1;若秒值達(dá)到60,則將其清零,并將相應(yīng)的分字節(jié)值加1;若分值達(dá)到60,則清零分字節(jié),并將時(shí)字節(jié)值加1;若時(shí)值達(dá)到24,則將十字節(jié)清零。該方案具有硬件電路簡(jiǎn)單的特點(diǎn)。但由于每次執(zhí)行程序時(shí),定時(shí)器都要重新賦初值,所以該時(shí)鐘精度不高。而且,由于是軟件實(shí)現(xiàn),當(dāng)單片機(jī)不上電,程序不執(zhí)行時(shí),時(shí)鐘將不工作。</p><p> 2.2 數(shù)碼管顯示方
22、案</p><p> 動(dòng)態(tài)顯示。所謂動(dòng)態(tài)顯示就是一位一位的輪流點(diǎn)亮各個(gè)位,對(duì)于顯示器的每一位來(lái)說(shuō),每隔一段時(shí)間點(diǎn)亮一次。利用人的視覺(jué)暫留功能可以看到整個(gè)顯示,但必須保證掃描速度足夠快,字符才不閃爍。顯示器的亮度既與導(dǎo)通電流有關(guān),也于點(diǎn)亮?xí)r間與間隔時(shí)間的比例有關(guān)。調(diào)整參數(shù)可以實(shí)現(xiàn)較高穩(wěn)定度的顯示。動(dòng)態(tài)顯示節(jié)省了I/O口,降低了能耗。</p><p><b> 硬件系統(tǒng)設(shè)計(jì)<
23、;/b></p><p><b> 3.1總體設(shè)計(jì)</b></p><p><b> 計(jì)時(shí)方案</b></p><p> 利用AT89S51單片機(jī)內(nèi)部的定時(shí)/計(jì)數(shù)器進(jìn)行中斷時(shí),配合軟件延時(shí)實(shí)現(xiàn)時(shí)、分、秒的計(jì)時(shí)。該方案節(jié)省硬件成本,且能使讀者在定時(shí)/計(jì)數(shù)器的使用、中斷及程序設(shè)計(jì)方面得到鍛煉與提高,對(duì)單片機(jī)的指令系
24、統(tǒng)能有更深入的了解,從而對(duì)學(xué)好單片機(jī)技術(shù)這門(mén)課程起到一定的作用。</p><p><b> 控制方案</b></p><p> AT89S51的P0口和P2口外接由八個(gè)LED數(shù)碼管(LED8~LED1)構(gòu)成的顯示器,用P0口作LED的段碼輸出口,P2口作八個(gè)LED數(shù)碼管的位控輸出線,P1口外接四個(gè)按鍵A、B、C構(gòu)成鍵盤(pán)電路。</p><p>
25、; AT89S51 是一種低功耗,高性能的CMOS 8位微型計(jì)算機(jī)。它帶有8K Flash 可編程和擦除的只讀存儲(chǔ)器(EPROM),該器件采用ATMEL的高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)上標(biāo)準(zhǔn)的80C51和80C52的指令系統(tǒng)及引腳兼容,片內(nèi)Flash 集成在一個(gè)芯片上,可用與解決復(fù)雜的問(wèn)題,且成本較低。簡(jiǎn)易電子鐘的功能不復(fù)雜,采用其現(xiàn)有的I/O便可完成,所以本設(shè)計(jì)中采用此的設(shè)計(jì)方案。</p><p>
26、3.13具體設(shè)計(jì)分析</p><p> 利用單片機(jī)(AT89S51)制作簡(jiǎn)易電子時(shí)鐘,由六個(gè)LED數(shù)碼管分別顯示小時(shí)十位、小時(shí)個(gè)位、分鐘十位、分鐘個(gè)位、秒鐘十位、秒鐘個(gè)位。結(jié)合本設(shè)計(jì)實(shí)驗(yàn)來(lái)說(shuō),要求顯示的時(shí)間為時(shí),分,秒,并且都用兩位數(shù)碼管來(lái)實(shí)現(xiàn)顯示。因此,具體設(shè)計(jì)程序時(shí),應(yīng)盡可能多用一些子程序與數(shù)據(jù)暫寄存器單元。本程序設(shè)計(jì)中,在主程序之外,可以設(shè)置時(shí)間值處理子程序,時(shí)間值顯示前的處理子程序,按鍵情況掃描子程序,
27、1S定時(shí)中斷子程序以及5ms延時(shí)消除按鍵抖動(dòng)子程序等多個(gè)小型的子程序。另外,可以設(shè)置一些數(shù)據(jù)單元作為數(shù)據(jù)寄存器。用28H,2AH,2BH和2CH地址單元分別作為顯示位數(shù)的掃描指針值寄存器,時(shí)寄存器,</p><p> 分寄存器和秒寄存器,再用20H地址單元作為顯示寄存器</p><p><b> 系統(tǒng)框圖</b></p><p><b
28、> 3.2模塊設(shè)計(jì)</b></p><p><b> 硬件資源</b></p><p> AT89S51芯片說(shuō)明</p><p> AT89S51是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4k Bytes ISP(In-system programmable)的可反復(fù)擦寫(xiě)1000次的Flash只讀程序存儲(chǔ)器,器件
29、采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。</p><p> AT89S51具有如下特點(diǎn):40個(gè)引腳,4k Bytes Flash片內(nèi)程序存儲(chǔ)器,128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)外部雙向
30、輸入/輸出(I/O)口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門(mén)狗(WDT)電路,片內(nèi)時(shí)鐘振蕩器。 </p><p> 此外,AT89S51設(shè)計(jì)和配置了振蕩頻率可為0Hz并可通過(guò)軟件設(shè)置省電模式。空閑模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時(shí)該芯片還具
31、有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。</p><p> 選用的AT89S51與同系列的AT89C51在功能上有明顯的提高,最突出是的可以實(shí)現(xiàn)在線的編程。用于實(shí)現(xiàn)系統(tǒng)的總的控制。其主要功能列舉如下:</p><p> AT89S51引腳圖</p><p> 1、為一般控制應(yīng)用的 8 位單片機(jī)</p><p>
32、; 2、晶片內(nèi)部具有時(shí)鐘振蕩器(傳統(tǒng)最高工作頻率可至 33MHz)</p><p> 3、內(nèi)部程式存儲(chǔ)器(ROM)為 4KB</p><p> 4、內(nèi)部數(shù)據(jù)存儲(chǔ)器(RAM)為 128B</p><p> 5、外部程序存儲(chǔ)器可擴(kuò)充至 64KB</p><p> 6、外部數(shù)據(jù)存儲(chǔ)器可擴(kuò)充至 64KB</p><p&g
33、t; 7、32 條雙向輸入輸出線,且每條均可以單 獨(dú)做 I/O 的控制</p><p> 8、5 個(gè)中斷向量源</p><p> 9、2 組獨(dú)立的 16 位定時(shí)器</p><p> 10、1 個(gè)全雙工串行通信端口</p><p> 11、8751 及 8752 單芯片具有數(shù)據(jù)保密的功能</p><
34、p> 12、單芯片提供位邏輯運(yùn)算指令</p><p> AT89S51各引腳功能介紹:</p><p><b> VCC:</b></p><p> ATAT89S51 電源正端輸入,接+5V。</p><p><b> VSS:</b></p><p>&l
35、t;b> 電源地端。</b></p><p><b> XTAL1:</b></p><p> 單芯片系統(tǒng)時(shí)鐘的反向放大器輸入端。</p><p><b> XTAL2:</b></p><p> 系統(tǒng)時(shí)鐘的反向放大器輸出端,一般在設(shè)計(jì)上只要在 XTAL1 和 XTAL2
36、 上接上一只石英振蕩晶體系統(tǒng)就可以動(dòng)作了,此外可以在兩個(gè)引腳與地之間加入一個(gè) 20PF 的小電容,可以使系統(tǒng)更穩(wěn)定,避免噪聲干擾而死機(jī)。</p><p><b> RESET:</b></p><p> AT89S51的重置引腳,高電平動(dòng)作,當(dāng)要對(duì)晶片重置時(shí),只要對(duì)此引腳電平提升至高電平并保持兩個(gè)機(jī)器周期以上的時(shí)間,AT89S51便能完成系統(tǒng)重置的各項(xiàng)動(dòng)作,使得內(nèi)
37、部特殊功能寄存器之內(nèi)容均被設(shè)成已知狀態(tài),并且至地址0000H處開(kāi)始讀入程序代碼而執(zhí)行程序。</p><p><b> EA/Vpp:</b></p><p> "EA"為英文"External Access"的縮寫(xiě),表示存取外部程序代碼之意,低電平動(dòng)作,也就是說(shuō)當(dāng)此引腳接低電平后,系統(tǒng)會(huì)取用外部的程序代碼(存于外部EPROM
38、中)來(lái)執(zhí)行程序。因此在8031及8032中,EA引腳必須接低電平,因?yàn)槠鋬?nèi)部無(wú)程序存儲(chǔ)器空間。如果是使用 8751 內(nèi)部程序空間時(shí),此引腳要接成高電平。此外,在將程序代碼燒錄至8751內(nèi)部EPROM時(shí),可以利用此引腳來(lái)輸入21V的燒錄高壓(Vpp)。</p><p><b> ALE/PROG:</b></p><p> ALE是英文"Address L
39、atch Enable"的縮寫(xiě),表示地址鎖存器啟用信號(hào)。ATAT89S51可以利用這支引腳來(lái)觸發(fā)外部的8位鎖存器(如74LS373),將端口0的地址總線(A0~A7)鎖進(jìn)鎖存器中,因?yàn)锳TAT89S51是以多工的方式送出地址及數(shù)據(jù)。平時(shí)在程序執(zhí)行時(shí)ALE引腳的輸出頻率約是系統(tǒng)工作頻率的1/6,因此可以用來(lái)驅(qū)動(dòng)其他周邊晶片的時(shí)基輸入。此外在燒錄8751程序代碼時(shí),此引腳會(huì)被當(dāng)成程序規(guī)劃的特殊功能來(lái)使用。</p>&
40、lt;p><b> PSEN:</b></p><p> 此為"Program Store Enable"的縮寫(xiě),其意為程序儲(chǔ)存啟用,當(dāng)8051被設(shè)成為讀取外部程序代碼工作模式時(shí)(EA=0),會(huì)送出此信號(hào)以便取得程序代碼,通常這支腳是接到EPROM的OE腳。ATAT89S51可以利用PSEN及RD引腳分別啟用存在外部的RAM與EPROM,使得數(shù)據(jù)存儲(chǔ)器與程序存儲(chǔ)
41、器可以合并在一起而共用64K的定址范圍。</p><p> PORT0(P0.0~P0.7):</p><p> 端口0是一個(gè)8位寬的開(kāi)路電極(Open Drain)雙向輸出入端口,共有8個(gè)位,P0.0表示位0,P0.1表示位1,依此類(lèi)推。其他三個(gè)I/O端口(P1、P2、P3)則不具有此電路組態(tài),而是內(nèi)部有一提升電路,P0在當(dāng)作I/O用時(shí)可以推動(dòng)8個(gè)LS的TTL負(fù)載。如果當(dāng)EA引腳為低
42、電平時(shí)(即取用外部程序代碼或數(shù)據(jù)存儲(chǔ)器),P0就以多工方式提供地址總線(A0~A7)及數(shù)據(jù)總線(D0~D7)。設(shè)計(jì)者必須外加一個(gè)鎖存器將端口0送出的地址鎖住成為A0~A7,再配合端口2所送出的A8~A15合成一組完整的16位地址總線,而定位地址到64K的外部存儲(chǔ)器空間。</p><p> PORT2(P2.0~P2.7):</p><p> 端口2是具有內(nèi)部提升電路的雙向I/O端口,每
43、一個(gè)引腳可以推動(dòng)4個(gè)LS的TTL負(fù)載,若將端口2的輸出設(shè)為高電平時(shí),此端口便能當(dāng)成輸入端口來(lái)使用。P2除了當(dāng)作一般I/O端口使用外,若是在ATAT89S51擴(kuò)充外接程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),也提供地址總線的高字節(jié)A8~A15,這個(gè)時(shí)候P2便不能當(dāng)作I/O來(lái)使用了。</p><p> PORT1(P1.0~P1.7):</p><p> 端口1也是具有內(nèi)部提升電路的雙向I/O端口,其輸出
44、緩沖器可以推動(dòng)4個(gè)LS TTL負(fù)載,同樣地,若將端口1的輸出設(shè)為高電平,便是由此端口來(lái)輸入數(shù)據(jù)。如果是使用8052或是8032的話,P1.0又當(dāng)作定時(shí)器2的外部脈沖輸入腳,而P1.1可以有T2EX功能,可以做外部中斷輸入的觸發(fā)引腳。</p><p> PORT3(P3.0~P3.7):</p><p> 端口3也具有內(nèi)部提升電路的雙向I/O端口,其輸出緩沖器可以推動(dòng)4個(gè)TTL負(fù)載,同時(shí)
45、還多工具有其他的額外特殊功能,包括串行通信、外部中斷控制、計(jì)時(shí)計(jì)數(shù)控制及外部數(shù)據(jù)存儲(chǔ)器內(nèi)容的讀取或?qū)懭肟刂频裙δ堋?lt;/p><p><b> 其引腳分配如下:</b></p><p> P3.0:RXD,串行通信輸入。</p><p> P3.1:TXD,串行通信輸出。</p><p> P3.2:INT0,外部
46、中斷0輸入。</p><p> P3.3:INT1,外部中斷1輸入。</p><p> P3.4:T0,計(jì)時(shí)計(jì)數(shù)器0輸入。</p><p> P3.5:T1,計(jì)時(shí)計(jì)數(shù)器1輸入。</p><p> P3.6:WR:外部數(shù)據(jù)存儲(chǔ)器的寫(xiě)入信號(hào)。</p><p> P3.7:RD,外部數(shù)據(jù)存儲(chǔ)器的讀取信號(hào)。</
47、p><p><b> 74LS47芯片</b></p><p><b> 74LS47芯片</b></p><p> 74LS47是BCD-7段數(shù)碼管譯碼器/驅(qū)動(dòng)器, 74LS47的功能用于將BCD碼轉(zhuǎn)化成數(shù)碼塊中的數(shù)字,通過(guò)它解碼, 可以直接把數(shù)字轉(zhuǎn)換為數(shù)碼管的顯示數(shù)字, 從而簡(jiǎn)化了程序。</p><
48、;p> 74LS47譯碼器原理:譯碼為編碼的逆過(guò)程。它將編碼時(shí)賦予代碼的含義“翻譯”過(guò)來(lái)。實(shí)現(xiàn)譯碼的邏輯電路成為譯碼器。譯碼器輸出與輸入代碼有唯一的對(duì)應(yīng)關(guān)系。74LS47是輸出低電平有效的七段字形譯碼器,它在這里與數(shù)碼管配合使用,</p><p> 下表列出了74LS47的真值表,表示出了它與數(shù)碼管之間的關(guān)系。</p><p> 輸 入 輸 出 顯示數(shù)字符號(hào) </p&g
49、t;<p> LT RBI A3 A2 A1 A0 BI RBO a b c d e f g1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 X 0 0 0 1 1 1 0 0 1 1 1 1 1 1 X 0 0 1 0 1 0 0 1 0 0 1 0 2 1 X 0 0 1 1 1 0 0 0 0 1 1 0 3 1
50、 X 0 1 0 0 1 1 0 0 1 1 0 0 4 1 X 0 1 0 1 1 0 1 0 0 1 0 0 5 1 X 0 1 1 0 1 1 1 0 0 0 0 0 6 1 X 0 1 1 1 1 0 0 0 1 1 1 1 7 1 X 1 0 0 0 1 0 0 0 0 0 0 0 8 1 X 1 0 0
51、1 1 0 0 0 1 1 0 0 9 X X X X X X 0 1 1 1 1 1 1 1 熄滅 1 0 </p><p><b> 74LS138芯片</b></p><p><b> 74LS138</b></p><p> 74HC138:74LS138 為3 線-8
52、 線譯碼器,共有 54/74S138和 54/74LS138 兩種線路結(jié)構(gòu)型式,其74LS138工作原理如下當(dāng)一個(gè)選通端(G1)為高電平,另兩個(gè)選通端(/(G2A)和/(G2B))為低電平時(shí),可將地址端(A、B、C)的二進(jìn)制編碼在一個(gè)對(duì)應(yīng)的輸出端以低電平譯出。</p><p> 74LS138的作用:利用 G1、/(G2A)和/(G2B)可級(jí)聯(lián)擴(kuò)展成 24 線譯碼器;若外接一個(gè)反相器還可級(jí)聯(lián)擴(kuò)展成 3
53、2 線譯碼器。 若將選通端中的一個(gè)作為數(shù)據(jù)輸入端時(shí),74LS138還可作數(shù)據(jù)分配器</p><p> 無(wú)論從邏輯圖還是功能表我們都可以看到74LS138的八個(gè)輸出引腳,任何時(shí)刻要么全為高電平1—芯片處于不工作狀態(tài),要么只有一個(gè)為低電平0,其余7個(gè)輸 出引腳全為高電平1。如果出現(xiàn)兩個(gè)輸出引腳同時(shí)為0的情況,說(shuō)明該芯片已經(jīng)損壞。</p><p> 71LS138有三個(gè)附加的控制端、和。
54、當(dāng)、時(shí),輸出為高電平(S=1),譯碼器處于工作狀態(tài)。否則,譯碼器被禁止,所有的輸出端被封鎖在高電平,如表3.3.5所示。這三個(gè)控制端也叫做“片選”輸入端,利用片選的作用可以將多篇連接起來(lái)以擴(kuò)展譯碼器的功能。 </p><p> 用與非門(mén)組成的3線-8線譯碼器74LS138</p><p> 帶控制輸入端的譯碼器又是一個(gè)完整的數(shù)據(jù)分配器。在下圖電路中如果把作為“數(shù)據(jù)”輸入端(同時(shí)),而將
55、作為“地址”輸入端,那么從送來(lái)的數(shù)據(jù)只能通過(guò)所指定的一根輸出線送出去。這就不難理解為什么把叫做地址輸入了。例如當(dāng)=101時(shí),門(mén)的輸入端除了接至輸出端的一個(gè)以外全是高電平,因此的數(shù)據(jù)以反碼的形式從輸出,而不會(huì)被送到其他任何一個(gè)輸出端上。</p><p> 3線-8線譯碼器74LS138的功能表</p><p><b> 晶振電路</b></p><
56、;p> 下圖所示為時(shí)鐘電路原理圖,在AT89S51芯片內(nèi)部有一個(gè)高增益反相放大器,其輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。而在芯片內(nèi)部,XTAL1和XTAL2之間跨接晶體振蕩器和微調(diào)電容,從而構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。時(shí)鐘電路產(chǎn)生的振蕩脈沖經(jīng)過(guò)觸發(fā)器進(jìn)行二分頻之后,才成為單片機(jī)的時(shí)鐘脈沖信號(hào)。</p><p><b> 晶振電路</b></p><
57、p><b> 復(fù)位電路</b></p><p> 單片機(jī)復(fù)位的條件是:必須使RST/VPD 或RST引(9)加上持續(xù)兩個(gè)機(jī)器周期(即24個(gè)振蕩周期)的高電平。例如,若時(shí)鐘頻率為12 MHz,每機(jī)器周期為1μs,則只需2μs以上時(shí)間的高電平,在RST引腳出現(xiàn)高電平后的第二個(gè)機(jī)器周期執(zhí)行復(fù)位。單片機(jī)常見(jiàn)的復(fù)位如圖所示。電路為上電復(fù)位電路,它是利用電容充電來(lái)實(shí)現(xiàn)的。在接電瞬間,RESET
58、端的電位與VCC相同,隨著充電電流的減少,RESET的電位逐漸下降。只要保證RESET為高電平的時(shí)間大于兩個(gè)機(jī)器周期,便能正常復(fù)位。該電路除具有上電復(fù)位功能外,若要復(fù)位,只需按圖中的RESET鍵,此時(shí)電源VCC經(jīng)電阻R1、R2分壓,在RESET端產(chǎn)生一個(gè)復(fù)位高電平。</p><p><b> 單片機(jī)復(fù)位電路</b></p><p><b> 數(shù)碼顯示模塊
59、設(shè)計(jì)</b></p><p><b> 數(shù)碼顯像管</b></p><p> 數(shù)碼管是一種把多個(gè)LED顯示段集成在一起的顯示設(shè)備。有兩種類(lèi)型,一種是共陽(yáng)型,一種是共陰型。共陽(yáng)型就是把多個(gè)LED顯示段的陽(yáng)極接在一起,又稱為公共端。共陰型就是把多個(gè)LED顯示段的陰極接在一起,即為公共商。陽(yáng)極即為二極管的正極,又稱為正極,陰極即為二極管的負(fù)極,又稱為負(fù)極。通
60、常的數(shù)碼管又分為8段,即8個(gè)LED顯示段,這是為工程應(yīng)用方便如設(shè)計(jì)的,分別為A、B、C、D、E、F、G、DP,其中DP 是小數(shù)點(diǎn)位段。而多位數(shù)碼管,除某一位的公共端會(huì)連接在一起,不同位的數(shù)碼管的相同端也會(huì)連接在一起。即,所有的A段都會(huì)連在一起,其它的段也是如此,這是實(shí)際最常用的用法。數(shù)碼管顯示方法可分為靜態(tài)顯示和動(dòng)態(tài)顯示兩種。靜態(tài)顯示就是數(shù)碼管的8段輸入及其公共端電平一直有效。動(dòng)態(tài)顯示的原理是,各個(gè)數(shù)碼管的相同段連接在一起,共同占用8
61、位段引管線;每位數(shù)碼管的陽(yáng)極連在一起組成公共端。利用人眼的視覺(jué)暫留性,依次給出各個(gè)數(shù)碼管公共端加有效信號(hào),在此同時(shí)給出該數(shù)碼管加有效的數(shù)據(jù)信號(hào),當(dāng)全段掃描速度大于視覺(jué)暫留速度時(shí),顯示就會(huì)清晰顯示出來(lái)。</p><p><b> 共陰數(shù)碼管</b></p><p> 系統(tǒng)采用動(dòng)態(tài)顯示方式,用P0口來(lái)控制LED數(shù)碼管的段控線,而用P2口來(lái)控制其位控線。動(dòng)態(tài)顯示通常都是
62、采用動(dòng)態(tài)掃描的方法進(jìn)行顯示,即循環(huán)點(diǎn)亮每一個(gè)數(shù)碼管,這樣雖然在任何時(shí)刻都只有一位數(shù)碼管被點(diǎn)亮,但由于人眼存在視覺(jué)殘留效應(yīng),只要每位數(shù)碼管間隔時(shí)間足夠短,就可以給人以同時(shí)顯示的感覺(jué)。</p><p><b> 數(shù)碼管的引腳圖</b></p><p><b> 按鍵模塊</b></p><p> 時(shí)間計(jì)數(shù)電路由秒個(gè)位和秒
63、十位計(jì)數(shù)器、分個(gè)位和分十位計(jì)數(shù)器、時(shí)個(gè)位和時(shí)十位計(jì)數(shù)器及星期計(jì)數(shù)器電路構(gòu)成,其中秒個(gè)位和秒十位計(jì)數(shù)器、分個(gè)位和分十位計(jì)數(shù)器為60進(jìn)制計(jì)數(shù)器,時(shí)個(gè)位和時(shí)十位計(jì)數(shù)器為24進(jìn)制計(jì)數(shù)器。</p><p> 按鍵模塊電路原理圖。</p><p> 第四章 軟件系統(tǒng)設(shè)計(jì)</p><p> 基本的程序流程應(yīng)該是:在主程序中檢測(cè)各個(gè)時(shí)間按鈕是否有動(dòng)作若有,就儲(chǔ)存并修改相關(guān)的
64、的時(shí)間寄存器的值,若沒(méi)有,就繼續(xù)檢測(cè)。在計(jì)時(shí)子程序中將各時(shí)間寄存器的值逐個(gè)加1,每加一次就要檢查是否已超過(guò)顯示的上限值,這樣在后面就便于處理,在掃描顯示子程序中,將掃描位數(shù)指針與20H相加,從而得到相應(yīng)的顯示數(shù)據(jù);然后按照顯示的位數(shù)加顯示數(shù)就的格式,將數(shù)據(jù)從P1口輸出到數(shù)碼管上去顯示,當(dāng)然還有定時(shí)中斷子程序,在這里,它實(shí)現(xiàn)計(jì)時(shí)1S的時(shí)間延時(shí)。</p><p> 第五章 系統(tǒng)仿真與實(shí)驗(yàn)測(cè)試</p>
65、<p><b> 5.1系統(tǒng)仿真</b></p><p> 運(yùn)用proteus軟件進(jìn)行仿真現(xiàn)在proteus軟件中建立一個(gè)新的文件,再根據(jù)自己的要求選擇所需的器件,把器件進(jìn)行適當(dāng)?shù)呐盼缓筮M(jìn)行連接,連接后運(yùn)行軟件進(jìn)行仿真。</p><p><b> 5.2實(shí)驗(yàn)測(cè)試</b></p><p> 電子時(shí)鐘主要的
66、設(shè)計(jì)要求是能夠?qū)崿F(xiàn)時(shí)鐘的一般功能,以及包括時(shí)間的調(diào)整功能,這個(gè)基于單片機(jī)的電子時(shí)鐘基本上實(shí)現(xiàn)了上述功能,能夠通過(guò)時(shí)間調(diào)整電路對(duì)時(shí)間進(jìn)行調(diào)整以及復(fù)位。下述為仿真圖:</p><p> 12:00:00時(shí)刻的仿真效果圖</p><p><b> 實(shí)驗(yàn)心得</b></p><p> 單片機(jī)作為我們主要的專(zhuān)業(yè)課程之一,我覺(jué)得單片機(jī)課程設(shè)計(jì)很有必要
67、,而且很有意義。但當(dāng)拿到題目時(shí),確實(shí)不知道怎么著手,有些迷茫,上網(wǎng)查資料,問(wèn)老師,在老師的幫助下,歷時(shí)兩個(gè)星期,解決一個(gè)又一個(gè)的困難,終于完成任務(wù)。</p><p> 在這次課程設(shè)計(jì)中,運(yùn)用到了很多以前的專(zhuān)業(yè)知識(shí),雖然過(guò)去從未獨(dú)立應(yīng)用過(guò)它們,但在學(xué)習(xí)的過(guò)程中帶著問(wèn)題去學(xué)我發(fā)現(xiàn)效率很高,這是我做這次課程設(shè)計(jì)的一大收獲。另外,要做好一個(gè)課程設(shè)計(jì),就必須做到:在設(shè)計(jì)程序之前,對(duì)所用單片機(jī)的內(nèi)部結(jié)構(gòu)有一個(gè)系統(tǒng)的了解,知
68、道該單片機(jī)內(nèi)有哪些資源;要有一個(gè)清晰的思路和一個(gè)完整的軟件流程圖;在設(shè)計(jì)程序時(shí),不能妄想一次就將整個(gè)程序設(shè)計(jì)好,反復(fù)修改、不斷改進(jìn)是程序設(shè)計(jì)的必經(jīng)之路;要養(yǎng)成注釋程序的好習(xí)慣,一個(gè)程序的完美與否不僅僅是實(shí)現(xiàn)功能,而應(yīng)該讓人一看就能明白你的思路,這樣也為資料的保存和交流提供了方便;在設(shè)計(jì)課程過(guò)程中遇到問(wèn)題是很正常的,但我們應(yīng)該將每次遇到的問(wèn)題記錄下來(lái),并分析清楚,以免下次再碰到同樣的問(wèn)題。課程設(shè)計(jì)結(jié)束了,但是從中學(xué)到的知識(shí)會(huì)讓我受益終身。
69、發(fā)現(xiàn)、提出、分析、解決問(wèn)題和實(shí)踐能力的提高都會(huì)受益于我在以后的學(xué)習(xí)、工作和生活中。設(shè)計(jì)過(guò)程,好比是我們?nèi)祟?lèi)成長(zhǎng)的歷程,常有一些不如意,但畢竟這是第一次做,難免會(huì)遇到各種各樣的問(wèn)題。在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固,不能靈活運(yùn)用。通過(guò)這次設(shè)計(jì),我懂得了學(xué)習(xí)的重要性</p><p> 通過(guò)這次課程設(shè)計(jì),我感覺(jué)收獲了很多:我逐步加深了對(duì)單片機(jī)系列知識(shí)及其系統(tǒng)的認(rèn)識(shí)。
70、這個(gè)設(shè)計(jì)題目并不怎么新穎,但從中體現(xiàn)到了個(gè)系統(tǒng)開(kāi)發(fā)設(shè)計(jì)的過(guò)程,足以讓我們受益匪淺。讓我更進(jìn)一步的提高了動(dòng)手能力,也重新復(fù)習(xí)了一次單片機(jī)的程序編程能力,在這期間,讓我更加深刻了體會(huì)到了匯編程序的思路,加強(qiáng)了對(duì)編程能力的理解和對(duì)相應(yīng)資料的查閱我學(xué)會(huì)對(duì)困難無(wú)所畏懼,以及對(duì)問(wèn)題的一些很重要的思考方法。</p><p><b> 第七章 參考文獻(xiàn)</b></p><p>
71、 1.安徽工程大學(xué)微型計(jì)算機(jī)及接口技術(shù)實(shí)驗(yàn)指導(dǎo)書(shū)</p><p> 2.賈金鈴 《微型計(jì)算機(jī)原理及應(yīng)用——理論、實(shí)驗(yàn)、課程設(shè)計(jì)》</p><p><b> 重慶大學(xué)出版社</b></p><p> 3.殷代紅 《微型計(jì)算機(jī)原理及應(yīng)用實(shí)驗(yàn)》 化學(xué)工業(yè)出版社</p><p> 4. 劉樂(lè)善 《微型計(jì)算機(jī)接
72、口技術(shù)及應(yīng)用》華中科技大學(xué)出版社</p><p> 5. 李敬兆 《匯編語(yǔ)言程序設(shè)計(jì)》 中國(guó)科學(xué)技術(shù)大學(xué)出版社</p><p> 6.劉樂(lè)喜 微機(jī)計(jì)算機(jī)接口技術(shù)及應(yīng)用[M].華中科技大學(xué)出版社.</p><p> 7.石東海 單片機(jī)數(shù)據(jù)通信技術(shù)從入門(mén)到精通.[M].西安電子科技大學(xué)出版社.</p><p> 8.
73、謝自美等 電子線路設(shè)計(jì)、實(shí)驗(yàn)、測(cè)試.[M].華中科技大學(xué)出版社</p><p><b> 附錄</b></p><p><b> 源程序代碼</b></p><p> ORG 00H;主程序起始地址</p><p> JMP START;主程序START</p><
74、p> ORG 0BH;定時(shí)器T0中斷起始地址</p><p> JMP TIM0;定時(shí)器T0中斷子程序TIM0</p><p> START: MOV SP;#70H;設(shè)置堆棧指針</p><p> MOV 28H,#00;設(shè)置顯示位數(shù)掃描指針初值為0</p><p> MOV 2AH,#12H;設(shè)置時(shí)鐘顯示寄存器初值為12
75、H</p><p> MOV 2BH,#00;設(shè)置分鐘顯示寄存器初值為00H</p><p> MOV 2CH,#00;設(shè)置秒鐘顯示寄存器初值為00H</p><p> MOV TMOD,#01H;設(shè)置定時(shí)器T0工作在方式1</p><p> MOV TH0,#0F0H;定時(shí)4ms的初值,即0F060H</p><
76、p> MOV TL0,#60H;初值的低位</p><p> MOV IE,#82H;定時(shí)器T0中斷允許</p><p> MOV R4,#250;保證后面實(shí)現(xiàn)中斷250次,即1s的延時(shí)</p><p> SETB TR0;啟動(dòng)定時(shí)器T0</p><p> LOOP: JB P0.0,N2;若秒沒(méi)有按鍵,就轉(zhuǎn)去下一步檢查分
77、</p><p> CALL DELAY;延時(shí)5ms消除抖動(dòng)</p><p> MOV A,2CH;將秒寄存器的值載入累加器A </p><p> ADD A,#01H;A的內(nèi)容加1</p><p> DA A;十進(jìn)制調(diào)整</p><p> MOV 2CH,A;A 的值存入秒寄存器</p>&l
78、t;p> CJNE A,#60H,N1;看是否已經(jīng)是60秒,若不是就繼續(xù)檢查</p><p> MOV 2CH,#00;已經(jīng)是60秒,就清空秒寄存器的值</p><p> N1: JNB P0.0,$;秒按鍵還沒(méi)有放開(kāi)就循環(huán)等待</p><p> CALL DELAY;延時(shí)5ms,消除抖動(dòng)</p><p> N2:
79、 JB P0.1,N4;若分沒(méi)有按鍵,就轉(zhuǎn)去下一步檢查時(shí)鐘</p><p> CALL DELAY;延時(shí)5ms,消除抖動(dòng)</p><p> MOV A,2BH;將分寄存器的值載入累加器A</p><p> ADD A,#01H;A的內(nèi)容加1</p><p> DA A;十進(jìn)制調(diào)整</p><p> MOV
80、 2BH,A;A的值存入分寄存器</p><p> CJNE A,#60H,N3;看是否已經(jīng)是60分</p><p> MOV 2BH,#00;已經(jīng)是60分,就清空秒寄存器的值</p><p> N3: JNB P0.1,$;分按鍵還沒(méi)有放開(kāi)就循環(huán)等待</p><p> CALL DELAY;延時(shí)5ms,消除抖動(dòng)</p&
81、gt;<p> N4: JB P0.2,LOOP;若時(shí)沒(méi)有按鍵,就轉(zhuǎn)回去繼續(xù)檢查看是否秒有按鍵</p><p> CALL DELAY;延時(shí)5ms,消除抖動(dòng)</p><p> MOV A,2AH;將時(shí)寄存器的值載入累加器A</p><p> ADD A,#01H;A的內(nèi)容加1</p><p> DA A;十進(jìn)制
82、調(diào)整</p><p> MOV 2AH,A;A的值存入時(shí)寄存器</p><p> CJNE A,#24H,N5;看是否已經(jīng)是24時(shí),若不是就繼續(xù)檢查</p><p> MOV 2AH,#00;已經(jīng)是24時(shí),就清空寄存器的值</p><p> N5: JNB P0.2,$;時(shí)鐘按鍵還沒(méi)有放開(kāi)就循環(huán)等待</p>&l
83、t;p> CALL DELAY;延時(shí)5ms,消除抖動(dòng)</p><p> JMP LOOP;返回重新檢查看是否有按鍵</p><p> ;*******定時(shí)器T0中斷子程序*******</p><p> TIM0: MOV TH0,#0F0H;定時(shí)初值重設(shè)</p><p> MOV TL0,#60H</p>
84、<p> PUSH ACC;將累加器A的值暫存于堆棧</p><p> PUSH PSW;將PSW的值暫存于堆棧</p><p> DJNZ R4,X2;計(jì)時(shí)中斷不滿1s就退出繼續(xù)中斷</p><p> MOV R4,#250;計(jì)時(shí)1s</p><p> CALL CLOCK;調(diào)用計(jì)時(shí)子程序CLOCK</p>
85、<p> CALL DISP;調(diào)用顯示子程序DISP</p><p> X2: CALL SCAN;調(diào)用掃描子程序SCAD</p><p> POP PSW;到堆棧取回PSW的值</p><p> POP ACC;到堆棧取回累加器ACC的值</p><p> RETI;返回主程序;</p><
86、p> ??;****掃描子程序****</p><p> SCAN: MOV R0,#28H</p><p> INC @R0;顯示位數(shù)掃描值加1</p><p> CJNE @R0,#6,X3;掃描位數(shù)不為6就準(zhǔn)備控制輸出</p><p> MOV @R0,#0;掃描位數(shù)為6,就另其值為0</p><p&g
87、t; X3:MOV A,@R0;掃描位數(shù)載入A</p><p> ADD A,#20H;A加上20H(顯示寄存器地址)=各時(shí)間顯示區(qū)地址</p><p> MOV R1,A;各時(shí)間顯示區(qū)地址存入A</p><p> MOV A,@R0;掃描位數(shù)存入A</p><p> SWAP A;將A的高低4位交換(其高4位為掃描</p&g
88、t;<p> ;的位數(shù),低4位為顯示數(shù)據(jù)值)</p><p> ORL A,@R1;將掃描值與顯示數(shù)據(jù)組合</p><p> MOV P1,A;顯示輸出</p><p><b> RET</b></p><p> ;******計(jì)時(shí)子程序******</p><p> C
89、LOCK: MOV A,2CH;秒寄存器值載入A</p><p> ADD A,#1;加1秒</p><p> DA A;十進(jìn)制調(diào)整</p><p> MOV 2CH,A;A的值存入秒寄存器</p><p> CJNE A,#60H,X4;A不等于60秒,就跳出程序去顯示</p><p> MOV 2CH,#
90、00;已經(jīng)是60秒,就清0</p><p> MOV A,2BH;分寄存器值載入A</p><p> ADD A,#1;加1分</p><p> DA A;十進(jìn)制調(diào)整</p><p> MOV 2BH,A;A的值存入分寄存器 </p><p> CJNE A,#60H,X4;A不等于60分,就跳出程序去顯示&
91、lt;/p><p> MOV 2BH,#00;已經(jīng)是60分就清0</p><p> MOV A,2AH;時(shí)寄存器值載入A</p><p> ADD A,#1;加1小時(shí)</p><p> DA A;十進(jìn)制調(diào)整</p><p> MOV 2AH,A;A的值存入是寄存器</p><p> CJ
92、NE A,#24H,X4;A不等于24時(shí),就跳出程序去顯示</p><p> MOV 24H,#00;已經(jīng)是24時(shí),就清0</p><p> X4: RET</p><p> ;******顯示子程序******</p><p> DISP: MOV R1,20H;20H為顯示寄存器單元</p><p>
93、; MOV A,2CH;將秒寄存器的內(nèi)容存入A</p><p> MOV B,#10H;設(shè)B累加器的值為10H</p><p> DIV AB;A/B,商存入A(十位數(shù)),余數(shù)存入(個(gè)位數(shù))</p><p> MOV @R1,B;將顯示的個(gè)位數(shù)存入20H顯示寄存器單元</p><p><b> INC R1</b&g
94、t;</p><p> MOV @R1,;A將顯示的十位數(shù)存入21H顯示寄存器單元</p><p><b> INC R1</b></p><p> MOV A,2BH;將分寄存器的內(nèi)容存入A</p><p> MOV B,#10H;設(shè)B累加器的值為10H</p><p> DIV AB
95、;A/B,商存入A(十位數(shù)),余數(shù)存入(個(gè)位數(shù))</p><p> MOV @R1,B;將顯示的個(gè)位數(shù)存入22H顯示寄存器單元</p><p><b> INC R1</b></p><p> MOV @R1,A;將顯示的十位數(shù)存入23H顯示寄存器單元</p><p><b> INC R1</b
96、></p><p> MOV A,2AH;將時(shí)寄存器的內(nèi)容存入A</p><p> MOV B,#10H;設(shè)B累加器的值為10H</p><p> DIV AB;A/B,商存入A(十位數(shù)),余數(shù)存入(個(gè)位數(shù))</p><p> MOV @R1,B;將顯示的個(gè)位數(shù)存入24H顯示寄存器單元</p><p>&
97、lt;b> INC R1</b></p><p> MOV @R1,A;將顯示的十位數(shù)存入25H顯示寄存器單元</p><p><b> RET</b></p><p> ;******延時(shí)5ms消除抖動(dòng)******</p><p> DELAY: MOV R6,#60</p>
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程論文設(shè)計(jì)電子鐘設(shè)計(jì)
- 電子鐘課程設(shè)計(jì)--基于單片機(jī)的電子鐘設(shè)計(jì)
- 電子鐘單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--電子鐘
- 單片機(jī)課程設(shè)計(jì)(電子鐘)
- 《單片機(jī)技術(shù)》電子鐘課程設(shè)計(jì)---數(shù)字電子鐘
- 單片機(jī)課程設(shè)計(jì)——數(shù)字電子鐘
- 單片機(jī)課程設(shè)計(jì)--數(shù)字電子鐘
- 單片機(jī)課程設(shè)計(jì)--數(shù)字電子鐘
- 單片機(jī)課程設(shè)計(jì)--簡(jiǎn)單電子鐘設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---智能電子鐘
- 單片機(jī)原理課程設(shè)計(jì)--電子鐘
- 單片機(jī)數(shù)字電子鐘課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)報(bào)告---單片機(jī)的電子鐘設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--數(shù)字電子鐘
- 單片機(jī)課程設(shè)計(jì)-智能電子鐘
- 單片機(jī)課程設(shè)計(jì)--數(shù)字電子鐘設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---電子鐘的設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)報(bào)告-電子鐘設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--數(shù)字鐘電子鐘
評(píng)論
0/150
提交評(píng)論