![單片機(jī)課程設(shè)計(jì)(論文)-基于單片機(jī)的多功能數(shù)字電子鐘的設(shè)計(jì)_第1頁](http://file4.renrendoc.com/view/e3059159c22c6ceb161cd757b10742fc/e3059159c22c6ceb161cd757b10742fc1.gif)
![單片機(jī)課程設(shè)計(jì)(論文)-基于單片機(jī)的多功能數(shù)字電子鐘的設(shè)計(jì)_第2頁](http://file4.renrendoc.com/view/e3059159c22c6ceb161cd757b10742fc/e3059159c22c6ceb161cd757b10742fc2.gif)
![單片機(jī)課程設(shè)計(jì)(論文)-基于單片機(jī)的多功能數(shù)字電子鐘的設(shè)計(jì)_第3頁](http://file4.renrendoc.com/view/e3059159c22c6ceb161cd757b10742fc/e3059159c22c6ceb161cd757b10742fc3.gif)
![單片機(jī)課程設(shè)計(jì)(論文)-基于單片機(jī)的多功能數(shù)字電子鐘的設(shè)計(jì)_第4頁](http://file4.renrendoc.com/view/e3059159c22c6ceb161cd757b10742fc/e3059159c22c6ceb161cd757b10742fc4.gif)
![單片機(jī)課程設(shè)計(jì)(論文)-基于單片機(jī)的多功能數(shù)字電子鐘的設(shè)計(jì)_第5頁](http://file4.renrendoc.com/view/e3059159c22c6ceb161cd757b10742fc/e3059159c22c6ceb161cd757b10742fc5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、單片機(jī)課程設(shè)計(jì)任務(wù)書分院信息科學(xué)與工程學(xué)院專業(yè)自動(dòng)化學(xué)生姓名XXX學(xué)號(hào)888888設(shè)計(jì)題目基于單片機(jī)的多功能數(shù)字電子鐘的設(shè)計(jì) 軟件電路設(shè)計(jì)課程設(shè)計(jì)內(nèi)容及要求:內(nèi)容: 1設(shè)計(jì)電路,選擇器件 2 利用Protel畫原理圖 3 編程,調(diào)試 4 焊接電路,調(diào)試要求:1、電子鐘能復(fù)位功能,計(jì)時(shí)功能 2、電子鐘能實(shí)現(xiàn)省電功能 3、電子鐘能實(shí)現(xiàn)調(diào)時(shí)功能進(jìn)度及安排:10天 1查資料2天 2設(shè)計(jì)電路畫電路圖2天 3編程與調(diào)試2天 4焊接硬件電路并調(diào)試2天 5寫報(bào)告2天指導(dǎo)教師簽字: 年 月 日分院院長簽字: 年 月 日摘 要單片計(jì)算機(jī)即單片微型計(jì)算機(jī)。由RAM ,ROM,CPU構(gòu)成,定時(shí),計(jì)數(shù)和多種接口于一體的
2、微控制器。它體積小,本錢低,功能強(qiáng),廣泛應(yīng)用于智能產(chǎn)業(yè)和工業(yè)自動(dòng)化上。而51系列單片機(jī)是各單片機(jī)中最為典型和最有代表性的一種。這次課程設(shè)計(jì)通過對它的學(xué)習(xí),應(yīng)用,從而到達(dá)學(xué)習(xí)、設(shè)計(jì)、開發(fā)軟、硬的能力。本設(shè)計(jì)主要設(shè)計(jì)了一個(gè)基于AT89C2051單片機(jī)的電子時(shí)鐘。并在數(shù)碼管上顯示相應(yīng)的時(shí)間。并通過一個(gè)控制鍵用來實(shí)現(xiàn)時(shí)間的調(diào)節(jié)和是否進(jìn)入省電模式的轉(zhuǎn)換。應(yīng)用Proteus的ISIS軟件實(shí)現(xiàn)了單片機(jī)電子時(shí)鐘系統(tǒng)的設(shè)計(jì)與仿真。該方法仿真效果真實(shí)、準(zhǔn)確,節(jié)省了硬件資源。關(guān)鍵字:單片機(jī);子時(shí)鐘;鍵盤控制。目 錄TOC o 1-2 h u HYPERLINK l _Toc6267 1 電子時(shí)鐘1 HYPERLIN
3、K l _Toc3968 1.1 電子時(shí)鐘簡介1 HYPERLINK l _Toc14272 1.2 電子時(shí)鐘的根本特點(diǎn)1 HYPERLINK l _Toc30977 1.3 電子時(shí)鐘的原理1 HYPERLINK l _Toc7968 2 單片機(jī)的相關(guān)知識(shí)1 HYPERLINK l _Toc3826 2.1 單片機(jī)簡介1 HYPERLINK l _Toc7851 2.2 單片機(jī)的開展史2 HYPERLINK l _Toc13925 2.3 單片機(jī)的特點(diǎn)3 HYPERLINK l _Toc11575 2.4 at89C2051單片機(jī)介紹3 HYPERLINK l _Toc5808 3 控制系統(tǒng)的
4、硬件設(shè)計(jì)5 HYPERLINK l _Toc6320 3.1 單片機(jī)型號(hào)的選擇5 HYPERLINK l _Toc7902 HYPERLINK l _Toc20854 3.2 數(shù)碼管顯示工作原理6 HYPERLINK l _Toc27954 3.3 鍵盤電路設(shè)計(jì)6 HYPERLINK l _Toc13987 3.4 整個(gè)電路原理圖7 HYPERLINK l _Toc7893 4 控制系統(tǒng)的軟件設(shè)計(jì)8 HYPERLINK l _Toc15908 主程序代碼和流程圖.8 4.2 仿真圖18 HYPERLINK l _Toc30967 4.3 仿真結(jié)果分析195 結(jié)束語19 HYPERLINK l
5、_Toc24966 參考文獻(xiàn)211 電子時(shí)鐘1.1 電子時(shí)鐘簡介 1957年,Ventura創(chuàng)造了世界上第一個(gè)電子表,從而奠定了電子時(shí)鐘的根底,電子時(shí)鐘開始迅速開展起來。現(xiàn)代的電子時(shí)鐘是基于單片機(jī)的一種計(jì)時(shí)工具,采用延時(shí)程序產(chǎn)生一定的時(shí)間中斷,用于一秒的定義,通過計(jì)數(shù)方式進(jìn)行滿六十秒分鐘進(jìn)一,滿六十分小時(shí)進(jìn)一,滿二十四小時(shí)小時(shí)清零。從而到達(dá)計(jì)時(shí)的功能,是人民日常生活補(bǔ)課缺少的工具。1.2 電子時(shí)鐘的原理 該電子時(shí)鐘由AT89C2051,BUTTON,六段數(shù)碼管等構(gòu)成,采用晶振電路作為驅(qū)動(dòng)電路,由延時(shí)程序和循環(huán)程序產(chǎn)生的一秒定時(shí),到達(dá)時(shí)分秒的計(jì)時(shí),六十秒為一分鐘,六十分鐘為一小時(shí),滿二十四小時(shí)為
6、一天。而電路中唯一的一個(gè)控制鍵卻擁有多種不同的功能,按下又松開,可以實(shí)現(xiàn)屏蔽數(shù)碼管顯示的功能,到達(dá)省電的目的;直接按下不松開,那么可以通過按鍵實(shí)現(xiàn)分鐘的累加,每按一次分鐘加一;而連續(xù)兩次按下按鍵不放松,那么可實(shí)現(xiàn)小時(shí)的調(diào)節(jié),同樣每按一次小時(shí)加一。2 單片機(jī)的相關(guān)知識(shí) 2.1 單片機(jī)簡介 單片機(jī)全稱為單片機(jī)微型計(jì)算機(jī)Single Chip Microsoftcomputer)。從應(yīng)用領(lǐng)域來看,單片機(jī)主要用來控制,所以又稱為微控制器Microcontroller Unit或嵌入式控制器。單片機(jī)是將計(jì)算機(jī)的根本部件微型化并集成在一塊芯片上的微型計(jì)算機(jī)。單片機(jī)的開展史4位單片機(jī) 1975年,美國德克薩
7、斯儀器公司首次推出4位單片機(jī)TMS-1000;此后,各個(gè)計(jì)算機(jī)公司競相推出四位單片機(jī)。日本松下公司的MN1400系列,美國洛克威爾公司的PPS/1系列等。四位單片機(jī)的主要應(yīng)用領(lǐng)域有:PC機(jī)的輸入裝置,電池充電器,運(yùn)動(dòng)器材,帶液晶顯示的音/視頻產(chǎn)品控制器,一般家用電器的控制及遙控器,電子玩具,鐘表,計(jì)算器,多功能 等。 8位單片機(jī) 1972年,美國Intel公司首先推出8位微處理器8008,并于1976年9月率先推出MCS-48系列單片機(jī)。在這以后,8位單片機(jī)紛紛面市。例如,莫斯特克和仙童公司合作生產(chǎn)的3870系列,摩托羅拉公司生產(chǎn)的6801系列等。隨著集成電路工藝水平的提高,一些高性能的8位單
8、片機(jī)相繼問世。例如,1978年摩托羅拉公司的MC6801系列及齊洛格公司的Z8系列,1979年NEC公司的UPD78XX系列。這類單片機(jī)的尋址能力達(dá)64KB,片內(nèi)ROM容量達(dá)4-8KB,片內(nèi)除帶有并行IO口外,還有串行IO口,甚至還有AD轉(zhuǎn)化器功能。8位單片機(jī)由于功能強(qiáng),被廣泛用于自動(dòng)化裝置、智能儀器儀表、智能接口、過程控制、通信、家用電器等各個(gè)領(lǐng)域。16位單片機(jī) 1983年以后,集成電路的集成度可達(dá)幾十萬只管/片,各系列16位單片機(jī)紛紛面市。這一階段的代表產(chǎn)品有1983年Intel公司推出的MCS-96系列,1987年Intel推出了80C96,美國國家半導(dǎo)體公司推出的HPC16040,NE
9、C公司推出的783XX系列等。16位單片機(jī)主要用于工業(yè)控制,智能儀器儀表,便攜式設(shè)備等場合。32位單片機(jī) 隨著高新技術(shù)只智能機(jī)器人,光盤驅(qū)動(dòng)器,激光打印機(jī),圖像與數(shù)據(jù)實(shí)時(shí)處理,復(fù)雜實(shí)時(shí)控制,網(wǎng)絡(luò)效勞器等領(lǐng)域的應(yīng)用與開展,20世紀(jì)80年代末推出了32位單片機(jī),如Motorlora公司的MC683XX系列,Intel的80960系列,以及近年來流行的ARM系列單片機(jī)。32位單片機(jī)是單片機(jī)的開展趨勢,隨著技術(shù)的開展及開發(fā)本錢和產(chǎn)品價(jià)格的下降,將會(huì)與8位單片機(jī)并駕齊驅(qū)。64位單片機(jī) 近年來,64位單片機(jī)在引擎控制,智能機(jī)器人,磁盤控制,語音圖像通信,算法密集的實(shí)時(shí)控制場合已有應(yīng)用,如英國Inmos公司
10、的Transputer T800是高性能的64位單片機(jī)。2.3 單片機(jī)的特點(diǎn) 1 . 單片機(jī)的存儲(chǔ)器ROM和RAM時(shí)嚴(yán)格區(qū)分的。ROM稱為程序存儲(chǔ)器,只存放程序,固定常數(shù),及數(shù)據(jù)表格。RAM那么為數(shù)據(jù)存儲(chǔ)器,用作工作區(qū)及存放用戶數(shù)據(jù)。 2 . 采用面向控制的指令系統(tǒng)。為滿足控制需要,單片機(jī)有更強(qiáng)的邏輯控制能力,特別是單片機(jī)具有很強(qiáng)的位處理能力。 3 . 單片機(jī)的I/O口通常時(shí)多功能的。由于單片機(jī)芯片上引腳數(shù)目有限,為了解決實(shí)際引腳數(shù)和需要的信號(hào)線的矛盾,采用了引腳功能復(fù)用的方法,引腳處于何種功能,可由指令來設(shè)置或由機(jī)器狀態(tài)來區(qū)分。 4 . 單片機(jī)的外部擴(kuò)展能力很強(qiáng)。在內(nèi)部的各種功能部件不能滿足
11、應(yīng)用的需求時(shí),均可在外部進(jìn)行擴(kuò)展,與許多通用的微機(jī)接口芯片兼容,給應(yīng)用系統(tǒng)設(shè)計(jì)帶來了很大的方便。2.4 AT89C2051單片機(jī)介紹 VCC:電源。 GND:接地。 P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程 序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。 P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作 輸
12、入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1時(shí),其管腳被內(nèi)部上拉電阻 拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存 儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1時(shí),它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能存放器 的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址
13、信號(hào)和控制信號(hào)。 圖2.1 89C51單片機(jī)P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流ILL這是由于上拉的緣故。P3口也可作為AT89C2051的一些特殊功能口,如下表所示:口管腳 備選功能P3.0 RXD串行輸入口P3.1 TXD串行輸出口P3.2 /INT0外部中斷0P3.3 /INT1外部中斷1P3.4 T0記時(shí)器0外部輸入P3.5 T1記時(shí)器1外部輸入P3.6 /WR外部數(shù)據(jù)存儲(chǔ)器寫選通P3.7 /RD外部數(shù)據(jù)存儲(chǔ)器讀選通P3口同時(shí)為閃爍編程和
14、編程校驗(yàn)接收一些控制信號(hào)。 RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。 ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE 端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器 時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,
15、置位無效。 PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。EA/VPP:當(dāng)/EA保持低電平時(shí),那么在此期間外部程序存儲(chǔ)0000H-FFFFH,不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí), /EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源VPP。3 控制系統(tǒng)的硬件設(shè)計(jì)3.1 單片機(jī)型號(hào)的選擇 通過對多種單片機(jī)性能的分析,最終認(rèn)為89C51是最理想的電子時(shí)鐘開發(fā)芯片。89C51是一種帶4K字節(jié)閃爍可編程可擦除只
16、讀存儲(chǔ)器的低電壓,高性能CMOS8位微處理器,器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的89C51是一種高效微控制器,而且它與MCS-51兼容,且具有4K字節(jié)可編程閃爍存儲(chǔ)器和1000寫/擦循環(huán),數(shù)據(jù)保存時(shí)間為10年等特點(diǎn),是最好的選擇。3.2 數(shù)碼管顯示工作原理數(shù)碼管是一種把多個(gè)LED顯示段集成在一起的顯示設(shè)備。有兩種類型,一種是共陽型,一種是共陰型。共陽型就是把多個(gè)LED顯示段的陽極接在一起,又稱為公共端。共陰型就是把多個(gè)LED顯示段的陰極接在一起,即為公共商。陽極即為二
17、極管的正極,又稱為正極,陰極即為二極管的負(fù)極,又稱為負(fù)極。通常的數(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 位段引管線;每位數(shù)碼管的陽極連在一起組成公共端。利用人眼的視覺暫留性,依次給出各個(gè)數(shù)碼管公共端加有效
18、信號(hào),在此同時(shí)給出該數(shù)碼管加有效的數(shù)據(jù)信號(hào),當(dāng)全段掃描速度大于視覺暫留速度時(shí),顯示就會(huì)清晰顯示出來。 圖3.1 數(shù)碼管3.3 鍵盤電路設(shè)計(jì) 該設(shè)計(jì)只用了一個(gè)鍵盤,但實(shí)現(xiàn)的功能卻是比擬完善,減少了硬件資源的損耗,該鍵盤可以實(shí)現(xiàn)小時(shí)和分鐘的調(diào)節(jié)以及控制是否進(jìn)入省電模式。當(dāng)按鍵按下又松開,可以實(shí)現(xiàn)屏蔽數(shù)碼管顯示的功能,到達(dá)省電的目的;直接按下不松開,那么可以通過按鍵實(shí)現(xiàn)分鐘的累加,每按一次分鐘加一;而連續(xù)兩次按下按鍵不放松,那么可實(shí)現(xiàn)小時(shí)的調(diào)節(jié),同樣每按一次小時(shí)加一。到達(dá)時(shí)間調(diào)節(jié)的目的。 圖3.2 多功能控制鍵電路原理圖 圖3.3 系統(tǒng)電路原理圖4 控制系統(tǒng)的軟件設(shè)計(jì) 4.1 主程序代碼和流程圖OR
19、G 0000H ;程序執(zhí)行開始地址LJMP START ;跳到標(biāo)號(hào)START執(zhí)行ORG 0003H ;外中斷0中斷程序入口RETI ;外中斷0中斷返回ORG 000BH ;定時(shí)器T0中斷程序入口LJMP INTT0 ;跳至INTTO執(zhí)行ORG 0013H ;外中斷1中斷程序入口RETI ;外中斷1中斷返回ORG 001BH ;定時(shí)器T1中斷程序入口LJMP INTT1 ;跳至INTT1執(zhí)行ORG 0023H ;串行中斷程序入口地址RETI ;串行中斷程序返回;主程序流程圖;開始開中斷,并允許T0中斷TH0,TL0裝入初值計(jì)數(shù)單元清零 P3.7按鍵識(shí)別成功否? 否 是時(shí)間調(diào)整程序加1秒計(jì)時(shí)程序
20、;主程序開始; START: MOV R0,#70H ;清70H-7AH共11個(gè)內(nèi)存單元MOV R7,#0BH CLEARDISP: MOV R0,#00H INC R0 DJNZ R7,CLEARDISP MOV 20H,#00H ;清20H標(biāo)志用MOV 7AH,#0AH ;放入熄滅符數(shù)據(jù) MOV TMOD,#11H ;設(shè)T0、T1為16位定時(shí)器 MOV TL0,#0B0H ;50MS定時(shí)初值T0計(jì)時(shí)用 MOV TH0,#3CH ;50MS定時(shí)初值 MOV TL1,#0B0H ;50MS定時(shí)初值T1閃爍定時(shí)用 MOV TH1,#3CH ;50MS定時(shí)初值 SETB EA ;總中斷開放 SET
21、B ET0 ;允許T0中斷 SETB TR0 ;開啟T0定時(shí)器 MOV R4,#14H ;1秒定時(shí)用初值50MS20START1: LCALL DISPLAY ;調(diào)用顯示子程序 JNB P3.7,SETMM1 ;口為0時(shí)轉(zhuǎn)時(shí)間調(diào)整程序 SJMP START1 ;口為1時(shí)跳回START1SETMM1: LJMP SETMM ;轉(zhuǎn)到時(shí)間調(diào)整程序SETMM ; 加1秒計(jì)時(shí) 程序流程圖 ; 圖 中斷處理流程圖;加1秒計(jì)時(shí) 程序開始;INTT0: PUSH ACC ;累加器入棧保護(hù) PUSH PSW ;狀態(tài)字入棧保護(hù) CLR ET0 ;關(guān)T0中斷允許 CLR TR0 ;關(guān)閉定時(shí)器T0 MOV A,#0B
22、7H ;中斷響應(yīng)時(shí)間同步修正 ADD A,TL0 ;低8位初值修正 MOV TL0,A ;重裝初值低8位修正值 MOV A,#3CH ;高8位初值修正 ADDC A,TH0 MOV TH0,A ;重裝初值高8位修正值 SETB TR0 ;開啟定時(shí)器T0 DJNZ R4, OUTT0 ;20次中斷未到中斷退出ADDSS: MOV R4,#14H ;20次中斷到1秒重賦初值 MOV R0,#71H ;指向秒計(jì)時(shí)單元71H-72H ACALL ADD1 ;調(diào)用加1程序加1秒操作 MOV A,R3 ;秒數(shù)據(jù)放入AR3為2位十進(jìn)制數(shù)組合 CLR C ;清進(jìn)位標(biāo)志 CJNE A,#60H,ADDMM AD
23、DMM: JC OUTT0 ;小于60秒時(shí)中斷退出 ACALL CLR0 ;大于或等于60秒時(shí)對秒計(jì)時(shí)單元清0 MOV R0,#77H ;指向分計(jì)時(shí)單元76H-77H ACALL ADD1 ;分計(jì)時(shí)單元加1分鐘 MOV A,R3 ;分?jǐn)?shù)據(jù)放入A CLR C ;清進(jìn)位標(biāo)志 CJNE A,#60H,ADDHH ADDHH: JC OUTT0 ;小于60分時(shí)中斷退出 ACALL CLR0 ;大于或等于60分時(shí)分計(jì)時(shí)單元清0 MOV R0,#79H ;指向小時(shí)計(jì)時(shí)單元78H-79HACALL ADD1 ;小時(shí)計(jì)時(shí)單元加1小時(shí) MOV A,R3 ;時(shí)數(shù)據(jù)放入A CLR C ;清進(jìn)位標(biāo)志 CJNE A,#
24、24H,HOUR HOUR: JC OUTT0 ;小于24小時(shí)中斷退出 ACALL CLR0 ;大于或等于24小時(shí)小時(shí)計(jì)時(shí)單元清0OUTT0: MOV 72H,76H ;中斷退出時(shí)將分、時(shí)計(jì)時(shí)單元數(shù)據(jù)移 MOV 73H,77H ;入對應(yīng)顯示單元 MOV 74H,78H MOV 75H,79H POP PSW ;恢復(fù)狀態(tài)字出棧 POP ACC ;恢復(fù)累加器 SETB ET0 ;開放T0中斷 RETI ;中斷返回; 閃動(dòng)調(diào)時(shí) 程 序 ; ;T1中斷效勞程序,用作時(shí)間調(diào)整時(shí)調(diào)整單元閃爍指示INTT1: PUSH ACC ;中斷現(xiàn)場保護(hù) PUSH PSW MOV TL1, #0B0H ;裝定時(shí)器T1定
25、時(shí)初值 MOV TH1, #3CH DJNZ R2,INTT1OUT ;秒未到退出中斷50MS中斷6次 MOV R2,#06H ;重裝秒定時(shí)用初值CPL 02H 秒定時(shí)到對閃爍標(biāo)志取反 JB 02H,FLASH1 ;02H位為1時(shí)顯示單元熄滅 MOV 72H,76H ;02H位為0時(shí)正常顯示 MOV 73H,77H MOV 74H,78H MOV 75H,79H INTT1OUT: POP PSW ;恢復(fù)現(xiàn)場 POP ACC RETI ;中斷退出FLASH1: JB 01H,FLASH2 ;01H位為1時(shí),轉(zhuǎn)小時(shí)熄滅控制 MOV 72H,7AH ;01H位為0時(shí),熄滅符數(shù)據(jù)放入分 MOV 73
26、H,7AH ;顯示單元72H-73H,將不顯示分?jǐn)?shù)據(jù) MOV 74H,78H MOV 75H,79H AJMP INTT1OUT ;轉(zhuǎn)中斷退出FLASH2: MOV 72H,76H ;01H位為1時(shí),熄滅符數(shù)據(jù)放入小時(shí) MOV 73H,77H ;顯示單元74H-75H,小時(shí)數(shù)據(jù)將不顯示 MOV 74H,7AH MOV 75H,7AH AJMP INTT1OUT ;轉(zhuǎn)中斷退出;加1秒子程序開始;ADD1: MOV A,R0 ;取當(dāng)前計(jì)時(shí)單元數(shù)據(jù)到A DEC R0 ;指向前一地址 SWAP A ;A中數(shù)據(jù)高四位與低四位交換ORL A,R0 ;前一地址中數(shù)據(jù)放入A中低四位 ADD A,#01H ;A
27、加1操作 DA A ;十進(jìn)制調(diào)整 MOV R3,A ;移入R3存放器 ANL A,#0FH ;高四位變0 MOV R0,A ;放回前一地址單元 MOV A,R3 ;取回R3中暫存數(shù)據(jù) INC R0 ;指向當(dāng)前地址單元 SWAP A ;A中數(shù)據(jù)高四位與低四位交換 ANL A,#0FH ;高四位變0 MOV R0,A ;數(shù)據(jù)放入當(dāng)削地址單元中 RET ;子程序返回; 清零程序 ; ;對計(jì)時(shí)單元復(fù)零用CLR0: CLR A ;清累加器 MOV R0,A ;清當(dāng)前地址單元 DEC R0 ;指向前一地址 MOV R0,A ;前一地址單元清0 RET ;子程序返回 ;時(shí)間調(diào)整 程序流程圖;小時(shí)加1分鐘加1
28、省電程序中斷返回開T0定時(shí)器,開T0中斷允許關(guān)T1定時(shí)器,關(guān)T1中斷允許開T1定時(shí)器,開T1中斷允許關(guān)T0定時(shí)器,關(guān)T0中斷允許按下大于1秒嗎?按下大于0.5秒嗎?按下大于0.5秒嗎?;時(shí)間調(diào)整 程序開始; ;當(dāng)調(diào)時(shí)按鍵按下時(shí)進(jìn)入此程序SETMM: CLR ET0 ;關(guān)定時(shí)器T0中斷 CLR TR0 ;關(guān)閉定時(shí)器T0 LCALL DL1S ;調(diào)用1秒延時(shí)程序JB P3.7,CLOSEDIS ;鍵按下時(shí)間小于1秒,關(guān)閉顯示省電 MOV R2,#06H ;進(jìn)入調(diào)時(shí)狀態(tài),賦閃爍定時(shí)初值 SETB ET1 ;允許T1中斷 SETB TR1 ;開啟定時(shí)器T1SET2: JNB P3.7,SET1 口為0
29、鍵未釋放,等待 SETB 00H ;鍵釋放,分調(diào)整閃爍標(biāo)志置1SET4: JB P3.7,SET3 ;等待鍵按下 LCALL DL05S ;有鍵按下,延時(shí)秒 JNB P3.7,SETHH ;按下時(shí)間大于秒轉(zhuǎn)調(diào)小時(shí)狀態(tài) MOV R0,#77H ;按下時(shí)間小于秒加1分鐘操作 LCALL ADD1 ;調(diào)用加1子程序 MOV A,R3 ;取調(diào)整單元數(shù)據(jù) CLR C ;清進(jìn)位標(biāo)志 CJNE A,#60H,HHH ;調(diào)整單元數(shù)據(jù)與60比擬HHH: JC SET4 ;調(diào)整單元數(shù)據(jù)小于60轉(zhuǎn)SET4循環(huán) LCALL CLR0 ;調(diào)整單元數(shù)據(jù)大于或等于60時(shí)清0 CLR C ;清進(jìn)位標(biāo)志 AJMP SET4 ;
30、跳轉(zhuǎn)到SET4循環(huán); 省電程序 ;CLOSEDIS:SETB ET0 ;省電LED不顯示狀態(tài)。開T0中斷 SETB TR0 ;開啟T0定時(shí)器開時(shí)鐘CLOSE: JB P3.7,CLOSE ;無按鍵按下,等待。 LCALL DISPLAY ;有鍵按下,調(diào)顯示子程序延時(shí)削抖 JB P3.7,CLOSE ;是干擾返回CLOSE等待WAITH: JNB P3.7,WAITH ;等待鍵釋放 LJMP START1 ;返回主程序LED數(shù)據(jù)顯示亮SETHH: CLR 00H ;分閃爍標(biāo)志去除進(jìn)入調(diào)小時(shí)狀態(tài)SETHH1: JNB P3.7,SET5 ;等待鍵釋放 SETB 01H ;小時(shí)調(diào)整標(biāo)志置1SET6:
31、 JB P3.7,SET7 ;等待按鍵按下 LCALL DL05S ;有鍵按下延時(shí)秒 JNB P3.7,SETOUT ;按下時(shí)間大于秒退出時(shí)間調(diào)整 MOV R0,#79H ;按下時(shí)間小于秒加1小時(shí)操作 LCALL ADD1 ;調(diào)加1子程序 MOV A,R3 CLR C CJNE A,#24H,HOUU ;計(jì)時(shí)單元數(shù)據(jù)與24比擬HOUU: JC SET6 ;小于24轉(zhuǎn)SET6循環(huán) LCALL CLR0 ;大于或等于24時(shí)清0操作 AJMP SET6 ;跳轉(zhuǎn)到SET6循環(huán)SETOUT: JNB P3.7,SETOUT1 ;調(diào)時(shí)退出程序。等待鍵釋放 LCALL DISPLAY ;延時(shí)削抖 JNB P
32、3.7,SETOUT ;是抖動(dòng),返回SETOUT再等待 CLR 01H ;清調(diào)小時(shí)標(biāo)志 CLR 00H ;清調(diào)分標(biāo)志 CLR 02H ;清閃爍標(biāo)志 CLR TR1 ;關(guān)閉定時(shí)器T1 CLR ET1 ;關(guān)定時(shí)器T1中斷 SETB TR0 ;開啟定時(shí)器T0 SETB ET0 ;開定時(shí)器T0中斷計(jì)時(shí)開始 LJMP START1 ;跳回主程序SET1: LCALL DISPLAY ;鍵釋放等待時(shí)調(diào)用顯示程序調(diào)分 AJMP SET2 ;防止鍵按下時(shí)無時(shí)鐘顯示SET3: LCALL DISPLAY ;等待調(diào)分按鍵時(shí)時(shí)鐘顯示用 AJMP SET4SET5: LCALL DISPLAY ;鍵釋放等待時(shí)調(diào)用顯示
33、程序調(diào)小時(shí) AJMP SETHH1 ;防止鍵按下時(shí)無時(shí)鐘顯示SET7: LCALL DISPLAY ;等待調(diào)小時(shí)按鍵時(shí)時(shí)鐘顯示用 AJMP SET6SETOUT1: LCALL DISPLAY ;退出時(shí)鐘調(diào)整時(shí)鍵釋放等待 AJMP SETOUT ;防止鍵按下時(shí)無時(shí)鐘顯示; 顯示程序 ; DISPLAY: MOV R1,#70H ;指向顯示數(shù)據(jù)首址 MOV R5,#0FEH ;掃描控制字初值PLAY: MOV A,R5 ;掃描字放入A MOV P3,A ;從P3口輸出 MOV A,R1 ;取顯示數(shù)據(jù)到A MOV DPTR,#TAB ;取段碼表地址 MOVC A,A+DPTR ;查顯示數(shù)據(jù)對應(yīng)段碼
34、 MOV P1,A ;段碼放入P1口 LCALL DL1MS ;顯示1MS INC R1 ;指向下一地址 MOV A,R5 ;掃描控制字放入A JNB ACC.5,ENDOUT ;ACC.5=0時(shí)一次顯示結(jié)束 RL A ;A中數(shù)據(jù)循環(huán)左移 MOV R5,A ;放回R5內(nèi) AJMP PLAY ;跳回PLAY循環(huán)ENDOUT: SETB P3.5 ;一次顯示結(jié)束,P3口復(fù)位 MOV P1,#0FFH ;P1口復(fù)位 RET ;子程序返回TAB: DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H,82H,0F8H,80H,90H,0FFH ;共陽段碼表 ; 延時(shí)程序 ; ;1MS延時(shí)
35、程序,LED顯示程序用DL1MS: MOV R6,#14HDL1: MOV R7,#19HDL2: DJNZ R7,DL2 DJNZ R6,DL1 RET ;20MS延時(shí)程序,采用調(diào)用顯示子程序以改善LED的顯示閃爍現(xiàn)象DS20MS: ACALL DISPLAY ACALL DISPLAY ACALL DISPLAY RET ;20MS延時(shí)程序,用作按鍵時(shí)間的長短判斷DL1S: LCALL DL05S LCALL DL05S RETDL05S: MOV R3,#20H ;8毫秒秒DL05S1: LCALL DISPLAY DJNZ R3,DL05S1 RET END ;程序結(jié)束4.2 仿真圖 圖4.2 開始運(yùn)行程序仿真圖 圖4.3 運(yùn)行一段時(shí)間后仿真圖4.3 仿真結(jié)果分析功能太過單
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2031年中國演出功放行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2031年中國扭力調(diào)整器行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2031年中國微電腦調(diào)度模擬屏成套設(shè)備行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2030年中國防撞型地上消火栓數(shù)據(jù)監(jiān)測研究報(bào)告
- 2025至2030年中國納米隔熱粉數(shù)據(jù)監(jiān)測研究報(bào)告
- 2025至2030年中國磁力驅(qū)動(dòng)攪拌石英玻璃反應(yīng)釜數(shù)據(jù)監(jiān)測研究報(bào)告
- 2025至2030年中國鹽酸消旋山莨菪堿注射液數(shù)據(jù)監(jiān)測研究報(bào)告
- 2025至2030年中國玉立式折疊門數(shù)據(jù)監(jiān)測研究報(bào)告
- 2025至2030年中國漆革數(shù)據(jù)監(jiān)測研究報(bào)告
- 2025至2030年中國彩彈護(hù)膝數(shù)據(jù)監(jiān)測研究報(bào)告
- 2024-2025學(xué)年重慶市渝中區(qū)四年級(jí)(上)期末數(shù)學(xué)試卷
- 2025年人教版中考英語一輪復(fù)習(xí):七年級(jí)下冊考點(diǎn)測試卷(含答案)
- 四川省成都市2025年中考數(shù)學(xué)模擬試卷五套附參考答案
- 四川省自貢市2024-2025學(xué)年上學(xué)期八年級(jí)英語期末試題(含答案無聽力音頻及原文)
- 2025-2030年中國汽車防滑鏈行業(yè)競爭格局展望及投資策略分析報(bào)告新版
- 2025年上海用人單位勞動(dòng)合同(4篇)
- 2025年生物安全年度工作計(jì)劃
- 三年級(jí)體育下冊全冊教案
- 人教版數(shù)學(xué)六年級(jí)下冊全冊核心素養(yǎng)目標(biāo)教學(xué)設(shè)計(jì)
- 通用電子嘉賓禮薄
- (研究生)商業(yè)倫理與會(huì)計(jì)職業(yè)道德ppt教學(xué)課件(完整版)
評(píng)論
0/150
提交評(píng)論