![](https://static.zsdocx.com/FlexPaper/FileRoot/2019-6/5/21/26659968-b741-4ed9-b15c-0ab2e302a01d/26659968-b741-4ed9-b15c-0ab2e302a01dpic.jpg)
![畢業(yè)論文--電子時(shí)鐘設(shè)計(jì)_第1頁](https://static.zsdocx.com/FlexPaper/FileRoot/2019-6/5/21/26659968-b741-4ed9-b15c-0ab2e302a01d/26659968-b741-4ed9-b15c-0ab2e302a01d1.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 畢業(yè)設(shè)計(jì)(論文)</b></p><p> 題 目 名 稱 電子時(shí)鐘設(shè)計(jì) </p><p> 課 程 名 稱 單片機(jī)原理與接口技術(shù) </p><p> 學(xué) 生 姓 名 &
2、lt;/p><p> 學(xué) 號(hào) </p><p> 系 、專 業(yè) 機(jī)電工程系電氣自動(dòng)化類 </p><p> 指 導(dǎo) 教 師 </p><p> 2012年 5月 1 日&l
3、t;/p><p> 電子時(shí)鐘設(shè)計(jì) </p><p><b> 摘 要</b></p><p> 單片計(jì)算機(jī)即單片微型計(jì)算機(jī)。由RAM ,ROM,CPU構(gòu)成,定時(shí),計(jì)數(shù)和多種接口于一體的微控制器。它體積小,成本低,功能強(qiáng),廣泛應(yīng)用于智能產(chǎn)業(yè)和工業(yè)自動(dòng)化上。而51系列單片機(jī)是各單片機(jī)中最為典型和最有代表性的一種。這次課程
4、設(shè)計(jì)通過對(duì)它的學(xué)習(xí),應(yīng)用,從而達(dá)到學(xué)習(xí)、設(shè)計(jì)、開發(fā)軟、硬的能力。</p><p> 本設(shè)計(jì)主要設(shè)計(jì)了一個(gè)基于AT89C51單片機(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é)省了硬件資源。</p><p> 關(guān)鍵字:單片機(jī);子時(shí)鐘;鍵盤
5、控制。</p><p><b> 目 錄</b></p><p><b> 摘 要2</b></p><p><b> 英文摘要3</b></p><p><b> 目 錄4</b></p><p><b
6、> 1 電子時(shí)鐘6</b></p><p> 1.1 電子時(shí)鐘簡介6</p><p> 1.2 電子時(shí)鐘的基本特點(diǎn)6</p><p> 1.3 電子時(shí)鐘的原理6</p><p> 2 單片機(jī)識(shí)的相關(guān)知識(shí)7</p><p> 2.1 單片機(jī)簡介7</p>
7、<p> 2.2 單片機(jī)的發(fā)展史8</p><p> 2.3 單片機(jī)的特點(diǎn)8</p><p> 2.4 89C51單片機(jī)介紹9</p><p> 3 控制系統(tǒng)的硬件設(shè)計(jì)11</p><p> 3.1 單片機(jī)型號(hào)的選擇11</p><p> 3.2 數(shù)碼管顯示工作原理11&
8、lt;/p><p> 3.3 鍵盤電路設(shè)計(jì)12</p><p> 3.4 整個(gè)電路原理圖13</p><p> 4 控制系統(tǒng)的軟件設(shè)計(jì)14</p><p> 4.1程序設(shè)計(jì)14</p><p> 4.2 程序流程圖17</p><p> 4.3 仿真圖20</p&
9、gt;<p> 4.4 仿真結(jié)果分析21</p><p><b> 5 結(jié)束語22</b></p><p> 6 參考文獻(xiàn)23</p><p><b> 7 附錄24</b></p><p><b> 電子時(shí)鐘 </b></p&g
10、t;<p> 1.1 電子時(shí)鐘簡介 </p><p> 1957年,Ventura發(fā)明了世界上第一個(gè)電子表,從而奠定了電子時(shí)鐘的基礎(chǔ),電子時(shí)鐘開始迅速發(fā)展起來?,F(xiàn)代的電子時(shí)鐘是基于單片機(jī)的一種計(jì)時(shí)工具,采用延時(shí)程序產(chǎn)生一定的時(shí)間中斷,用于一秒的定義,通過計(jì)數(shù)方式進(jìn)行滿六十秒分鐘進(jìn)一,滿六十分小時(shí)進(jìn)一,滿二十四小時(shí)小時(shí)
11、清零。從而達(dá)到計(jì)時(shí)的功能,是人民日常生活補(bǔ)課缺少的工具。</p><p> 1.2 電子時(shí)鐘的基本特點(diǎn) </p><p> 現(xiàn)在高精度的計(jì)時(shí)工具大多數(shù)都使用了石英晶體振蕩器,由于電子鐘、石英鐘、石英表都采用了石英技術(shù),因此走時(shí)精度高,穩(wěn)定性好,使用方便,不需要經(jīng)常調(diào)試,數(shù)字式電子鐘用集成電路計(jì)時(shí)時(shí),譯碼代
12、替機(jī)械式傳動(dòng),用LED顯示器代替指針顯示進(jìn)而顯示時(shí)間,減小了計(jì)時(shí)誤差,這種表具有時(shí)、分、秒顯示時(shí)間的功能,還可以進(jìn)行時(shí)和分的校對(duì),片選的靈活性好。</p><p> 1.3 電子時(shí)鐘的原理 </p><p> 該電子時(shí)鐘由89C51,BUTTON,六段數(shù)碼管等構(gòu)成,采用晶振電路作為驅(qū)動(dòng)電路,由延時(shí)程序和循環(huán)程序產(chǎn)生的一秒定時(shí),
13、達(dá)到時(shí)分秒的計(jì)時(shí),六十秒為一分鐘,六十分鐘為一小時(shí),滿二十四小時(shí)為一天。而電路中唯一的一個(gè)控制鍵卻擁有多種不同的功能,按下又松開,可以實(shí)現(xiàn)屏蔽數(shù)碼管顯示的功能,達(dá)到省電的目的;直接按下不松開,則可以通過按鍵實(shí)現(xiàn)分鐘的累加,每按一次分鐘加一;而連續(xù)兩次按下按鍵不放松,則可實(shí)現(xiàn)小時(shí)的調(diào)節(jié),同樣每按一次小時(shí)加一。</p><p> 2 單片機(jī)識(shí)的相關(guān)知識(shí)
14、</p><p> 2.1 單片機(jī)簡介 </p><p> 單片機(jī)全稱為單片機(jī)微型計(jì)算機(jī)(Single Chip Microsoftcomputer)。從應(yīng)用領(lǐng)域來看,單片機(jī)主要用來控制,所以又稱為微控制器(Microcontroller Unit)或嵌入式控制器。單片機(jī)是將計(jì)算機(jī)的基本部件微型化并集成在一塊芯片上的微型計(jì)算機(jī)。</p><p>
15、2.2 單片機(jī)的發(fā)展史</p><p> 1 . 4位單片機(jī) </p><p> 1975年,美國德克薩斯儀器公司首次推出4位單片機(jī)TMS-1000;此后,各個(gè)計(jì)算機(jī)公司競(jìng)相推出四位單片機(jī)。日本松下公司的MN1400系列,美國洛克威爾公司的PPS/1系列等。四位單片機(jī)的
16、主要應(yīng)用領(lǐng)域有:PC機(jī)的輸入裝置,電池充電器,運(yùn)動(dòng)器材,帶液晶顯示的音/視頻產(chǎn)品控制器,一般家用電器的控制及遙控器,電子玩具,鐘表,計(jì)算器,多功能電話等。 </p><p> 2 . 8位單片機(jī)
17、 </p><p> 1972年,美國Intel公司首先推出8位微處理器8008,并于1976年9月率先推出MCS-48系列單片機(jī)。在這以后,8位單片機(jī)紛紛面市。例如,莫斯特克和仙童公司合作生產(chǎn)的3870系列,摩托羅拉公司生產(chǎn)的6801系列等。隨著集成電路工藝水平的提高,一些高性能的8位單片機(jī)相繼問世。例如,1978年摩托羅拉公司的MC6801系列及齊洛格公司的Z8系列,1979年NEC公司的UPD78XX系列
18、。這類單片機(jī)的尋址能力達(dá)64KB,片內(nèi)ROM容量達(dá)4--8KB,片內(nèi)除帶有并行I\O口外,還有串行I\O口,甚至還有A\D轉(zhuǎn)化器功能。8位單片機(jī)由于功能強(qiáng),被廣泛用于自動(dòng)化裝置、智能儀器儀表、智能接口、過程控制、通信、家用電器等各個(gè)領(lǐng)域。</p><p> 3 . 16位單片機(jī)
19、 </p><p> 1983年以后,集成電路的集成度可達(dá)幾十萬只管/片,各系列16位單片機(jī)紛紛面市。這一階段的代表產(chǎn)品有1983年Intel公司推出的MCS-96系列,1987年Intel推出了80C96,美國國家半導(dǎo)體公司推出的HPC16040,NEC公司推出的783XX系列等。16位單片機(jī)主要用于工業(yè)控制,智能儀器儀表,便攜式設(shè)備等場(chǎng)合。</p><p> 4
20、. 32位單片機(jī) </p><p> 隨著高新技術(shù)只智能機(jī)器人,光盤驅(qū)動(dòng)器,激光打印機(jī),圖像與數(shù)據(jù)實(shí)時(shí)處理,復(fù)雜實(shí)時(shí)控制,網(wǎng)絡(luò)服務(wù)器等領(lǐng)域的應(yīng)用與發(fā)展,20世紀(jì)80年代末推出了32位單片機(jī),如Motorlora公司的MC683XX系列,Intel的80960系列,以及近年來流行
21、的ARM系列單片機(jī)。32位單片機(jī)是單片機(jī)的發(fā)展趨勢(shì),隨著技術(shù)的發(fā)展及開發(fā)成本和產(chǎn)品價(jià)格的下降,將會(huì)與8位單片機(jī)并駕齊驅(qū)。</p><p> 5 . 64位單片機(jī) </p><p> 近年來,64位單片機(jī)在引擎控制,智能機(jī)器人,磁盤控制,語音圖像通信,算法密集的實(shí)
22、時(shí)控制場(chǎng)合已有應(yīng)用,如英國Inmos公司的Transputer T800是高性能的64位單片機(jī)。</p><p> 2.3 單片機(jī)的特點(diǎn) </p><p> 1 . 單片機(jī)的存儲(chǔ)器ROM和RAM時(shí)嚴(yán)格區(qū)分的。ROM稱為程序存儲(chǔ)器,只存放程序,固定常數(shù),及數(shù)據(jù)表格。RAM則為數(shù)據(jù)存儲(chǔ)器,用作工作區(qū)
23、及存放用戶數(shù)據(jù)。 </p><p> 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)來
24、區(qū)分。 4 . 單片機(jī)的外部擴(kuò)展能力很強(qiáng)。在內(nèi)部的各種功能部件不能滿足應(yīng)用的需求時(shí),均可在外部進(jìn)行擴(kuò)展,與許多通用的微機(jī)接口芯片兼容,給應(yīng)用系統(tǒng)設(shè)計(jì)帶來了很大的方便。</p><p> 2.4 89C51單片機(jī)介紹 </p><
25、;p><b> VCC:電源。</b></p><p><b> GND:接地。</b></p><p> P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程 序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口
26、,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。</p><p> P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作 輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 </p><p> P2口:P2口為一個(gè)內(nèi)
27、部上拉電阻的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)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器 的內(nèi)容。P2口在FLASH編程和
28、校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。</p><p> 圖2.1 89C51單片機(jī)</p><p> P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。</p><p> P3口也可作為AT8
29、9C51的一些特殊功能口,如下表所示:</p><p><b> 口管腳 備選功能</b></p><p> P3.0 RXD(串行輸入口)</p><p> P3.1 TXD(串行輸出口)</p><p> P3.2 /INT0(外部中斷0)</p><p> P3.3 /INT1(外
30、部中斷1)</p><p> P3.4 T0(記時(shí)器0外部輸入)</p><p> P3.5 T1(記時(shí)器1外部輸入)</p><p> P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)</p><p> P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)</p><p> P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。&l
31、t;/p><p> RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。</p><p> ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE 端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用
32、作外部數(shù)據(jù)存儲(chǔ)器 時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。</p><p> PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。<
33、/p><p> 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)。</p><p> 3 控制系統(tǒng)的硬件設(shè)計(jì)</p><p> 3.1 單片機(jī)
34、型號(hào)的選擇 </p><p> 通過對(duì)多種單片機(jī)性能的分析,最終認(rèn)為89C51是最理想的電子時(shí)鐘開發(fā)芯片。89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的低電壓,高性能CMOS8位微處理器,器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相
35、兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的89C51是一種高效微控制器,而且它與MCS-51兼容,且具有4K字節(jié)可編程閃爍存儲(chǔ)器和1000寫/擦循環(huán),數(shù)據(jù)保留時(shí)間為10年等特點(diǎn),是最好的選擇。</p><p> 3.2 數(shù)碼管顯示工作原理</p><p> 數(shù)碼管是一種把多個(gè)LED顯示段集成在一起的顯示設(shè)備。有兩種類型,一種是共陽型,一種是共陰型。共陽型就
36、是把多個(gè)LED顯示段的陽極接在一起,又稱為公共端。共陰型就是把多個(gè)LED顯示段的陰極接在一起,即為公共商。陽極即為二極管的正極,又稱為正極,陰極即為二極管的負(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ì)連在一起,其它的段也是如此,這
37、是實(shí)際最常用的用法。數(shù)碼管顯示方法可分為靜態(tài)顯示和動(dòng)態(tài)顯示兩種。靜態(tài)顯示就是數(shù)碼管的8段輸入及其公共端電平一直有效。動(dòng)態(tài)顯示的原理是,各個(gè)數(shù)碼管的相同段連接在一起,共同占用8 位段引管線;每位數(shù)碼管的陽極連在一起組成公共端。利用人眼的視覺暫留性,依次給出各個(gè)數(shù)碼管公共端加有效信號(hào),在此同時(shí)給出該數(shù)碼管加有效的數(shù)據(jù)信號(hào),當(dāng)全段掃描速度大于視覺暫留速度時(shí),顯示就會(huì)清晰顯示出來。</p><p> 圖3.1 共陰數(shù)
38、碼管</p><p> 3.3 鍵盤電路設(shè)計(jì) </p><p> 該設(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)分鐘
39、的累加,每按一次分鐘加一;而連續(xù)兩次按下按鍵不放松,則可實(shí)現(xiàn)小時(shí)的調(diào)節(jié),同樣每按一次小時(shí)加一。達(dá)到時(shí)間調(diào)節(jié)的目的。</p><p> 圖3.2 多功能控制鍵</p><p> 整個(gè)電路原理圖 </p><p> 圖3.3 系統(tǒng)電路原理圖</p><p&
40、gt; 4 控制系統(tǒng)的軟件設(shè)計(jì) </p><p> 4.1 程序設(shè)計(jì) </p><p> 本系統(tǒng)的軟件系統(tǒng)主要可分為主程序、定時(shí)計(jì)數(shù)中斷程序、時(shí)間調(diào)整程序、延時(shí)程序四大模塊。在程序設(shè)計(jì)過程中,加強(qiáng)了部分軟件抗干擾
41、措施,下面對(duì)部分模塊作介紹。</p><p><b> 定時(shí)計(jì)數(shù)中斷程序:</b></p><p> MOV TMOD,#00H ;寫控制字</p><p> MOV TH0,#0F0H ;寫定時(shí)常數(shù)</p><p> MOV TLO,
42、#0CH</p><p> SETB TR0 ;啟動(dòng)T0</p><p> SETB ETO ;允許T0中斷</p><p> SETB EA ;開放CPU中斷</p><p><b>
43、 AJMP $</b></p><p><b> 時(shí)間調(diào)整程序:</b></p><p> SETMM: cLR ET0 ;關(guān)定時(shí)器T0中斷</p><p> CLR TR0 ;關(guān)閉定時(shí)器T0</p><p> LCALL
44、 DL1S ;調(diào)用1秒延時(shí)程序</p><p> JB P3.7,CLOSEDIS ;鍵按下時(shí)間小于1秒,關(guān)閉顯示(省電) MOV R2,#06H ;進(jìn)入調(diào)時(shí)狀態(tài),賦
45、閃爍定時(shí)初值 SETB ET1 ;允許T1中斷</p><p> SETB TR1 ;開啟定時(shí)器T1</p><p> SET2: JNB P3.7,SE
46、T1 ;P3.7口為0(鍵未釋放),等待</p><p> SETB 00H ;鍵釋放,分調(diào)整閃爍標(biāo)志置1</p><p> SET4: JB P3.7,SET3 ;等待鍵按下</p><p> LCALL DL05S ;有鍵按下,延時(shí)0.5
47、秒</p><p> JNB P3.7,SETHH ;按下時(shí)間大于0.5秒轉(zhuǎn)調(diào)小時(shí)狀態(tài)</p><p> MOV R0,#77H ;按下時(shí)間小于0.5秒加1分鐘操作</p><p> LCALL ADD1 ;調(diào)用加1子程序</p><p&
48、gt; MOV A,R3 ;取調(diào)整單元數(shù)據(jù)</p><p> CLR C ;清進(jìn)位標(biāo)志</p><p> CJNE A,#60H,HHH ;調(diào)整單元數(shù)據(jù)與60比較</p><p> HHH: JC SET4
49、 ;調(diào)整單元數(shù)據(jù)小于60轉(zhuǎn)SET4循環(huán)</p><p> LCALL CLR0 ;調(diào)整單元數(shù)據(jù)大于或等于60時(shí)清0</p><p> CLR C ;清進(jìn)位標(biāo)志</p><p> AJMP SET4 ;跳轉(zhuǎn)到SET4循環(huán)</p>
50、;<p> CLOSEDIS:SETB ET0 ;省電(LED不顯示)狀態(tài)。開T0中斷</p><p> SETB TR0 ;開啟T0定時(shí)器(開時(shí)鐘)</p><p> CLOSE: JB P3.7,CLOSE ;無按鍵按下,等待。</p><p> L
51、CALL DISPLAY ;有鍵按下,調(diào)顯示子程序延時(shí)削抖</p><p> JB P3.7,CLOSE ;是干擾返回CLOSE等待</p><p> WAITH: JNB P3.7,WAITH ;等待鍵釋放</p><p> LJMP START1
52、 ;返回主程序(LED數(shù)據(jù)顯示亮)</p><p> SETHH: CLR 00H ;分閃爍標(biāo)志清除(進(jìn)入調(diào)小時(shí)狀態(tài))</p><p> SETHH1: JNB P3.7,SET5 ;等待鍵釋放</p><p> SETB 01H ;小時(shí)
53、調(diào)整標(biāo)志置1</p><p> SET6: JB P3.7,SET7 ;等待按鍵按下</p><p> LCALL DL05S ;有鍵按下延時(shí)0.5秒</p><p> JNB P3.7,SETOUT ;按下時(shí)間大于0.5秒退出時(shí)間調(diào)整</p>
54、<p> MOV R0,#79H ;按下時(shí)間小于0.5秒加1小時(shí)操作</p><p> LCALL ADD1 ;調(diào)加1子程序</p><p> MOV A,R3 ;</p><p> CLR C ;</
55、p><p> CJNE A,#24H,HOUU ;計(jì)時(shí)單元數(shù)據(jù)與24比較</p><p> HOUU: JC SET6 ; 小于24轉(zhuǎn)SET6循環(huán)</p><p> LCALL CLR0 ;大于或等于24時(shí)清0操作</p><p>
56、 AJMP SET6 ; 跳轉(zhuǎn)到SET6循環(huán)</p><p> SETOUT: JNB P3.7,SETOUT1 ;調(diào)時(shí)退出程序。等待鍵釋放</p><p> LCALL DISPLAY ;延時(shí)削抖</p><p> JNB P3.7,SETOU
57、T ;是抖動(dòng),返回SETOUT再等待</p><p> CLR 01H ;清調(diào)小時(shí)標(biāo)志</p><p> CLR 00H ;清調(diào)分標(biāo)志</p><p> CLR 02H ;清閃爍
58、標(biāo)志</p><p> CLR TR1 ;關(guān)閉定時(shí)器T1</p><p> CLR ET1 ;關(guān)定時(shí)器T1中斷</p><p> SETB TR0 ;開啟定時(shí)器T0</p><p>
59、 SETB ET0 ;開定時(shí)器T0中斷(計(jì)時(shí)開始)</p><p> LJMP START1 ;跳回主程序</p><p> SET1: LCALL DISPLAY ;鍵釋放等待時(shí)調(diào)用顯示程序(調(diào)分)</p><p> AJMP SET
60、2 ;防止鍵按下時(shí)無時(shí)鐘顯示</p><p> SET3: LCALL DISPLAY ;等待調(diào)分按鍵時(shí)時(shí)鐘顯示用</p><p> AJMP SET4</p><p> SET5: LCALL DISPLAY ;鍵釋放等待時(shí)調(diào)用顯示程序(調(diào)小時(shí))</p>&
61、lt;p> AJMP SETHH1 ;防止鍵按下時(shí)無時(shí)鐘顯示</p><p> SET7: LCALL DISPLAY ;等待調(diào)小時(shí)按鍵時(shí)時(shí)鐘顯示用</p><p> AJMP SET6</p><p> SETOUT1: LCALL DISPLAY ;退出時(shí)鐘調(diào)整時(shí)鍵
62、釋放等待</p><p> AJMP SETOUT ;防止鍵按下時(shí)無時(shí)鐘顯示</p><p><b> 延時(shí)程序:</b></p><p> 1MS延時(shí)程序,LED顯示程序用</p><p> DL1MS: MOV R6,#14H</p><p>
63、 DL1: MOV R7,#19H</p><p> DL2: DJNZ R7,DL2</p><p> DJNZ R6,DL1</p><p><b> RET</b></p><p> ;;20MS延時(shí)程序,采用調(diào)用顯示子程序以改善LED的顯示閃爍現(xiàn)象</p><p>
64、 DS20MS: ACALL DISPLAY</p><p> ACALL DISPLAY</p><p> ACALL DISPLAY</p><p><b> RET</b></p><p><b> 4.2程序流程圖</b></p><p> 系統(tǒng)的
65、流程圖如圖4.1和圖4.2所示:</p><p> 圖4.1 主程序流程圖</p><p> 圖 4.2 中斷處理流程圖</p><p><b> 4.3 仿真結(jié)果</b></p><p> 圖4.3 開始運(yùn)行程序仿真圖</p><p> 圖4.4 運(yùn)行一段時(shí)間后仿真圖</
66、p><p> 4.4 仿真結(jié)果分析</p><p> 功能太過單調(diào),只能實(shí)現(xiàn)時(shí)分秒的顯示,設(shè)計(jì)比較簡單。電路圖的設(shè)計(jì)過于單調(diào),用的器件太少,實(shí)現(xiàn)調(diào)節(jié)時(shí)間的按鈕太少,不能很好的實(shí)現(xiàn)時(shí)間的調(diào)節(jié)。在測(cè)試過程中,六位數(shù)碼顯示管只顯示五位數(shù)字,有一位數(shù)字不亮,通過多次的修改程序并在PROTEUS軟件環(huán)境中進(jìn)行仿真,最終解決了這個(gè)問題,同時(shí)也透露出本人在單片機(jī)電路設(shè)計(jì)和程序設(shè)計(jì)方面的不足。不過最后的
67、仿真效果非常好,實(shí)現(xiàn)了預(yù)期的效果,能過通過多功能控制鍵調(diào)節(jié)時(shí)間和是否進(jìn)入省電模式,是一個(gè)比較令人滿意的設(shè)計(jì)。</p><p><b> 5 結(jié)束語</b></p><p> 在xx老師耐心的指導(dǎo)下,我順利完成了這次單片機(jī)課程設(shè)計(jì)課題中的數(shù)碼時(shí)鐘設(shè)計(jì),通過這次的設(shè)計(jì)使我認(rèn)識(shí)到我對(duì)單片機(jī)方面的知識(shí)知道的太少了,對(duì)于書本上的很多知識(shí)還不能靈活運(yùn)用,尤其是對(duì)程序設(shè)計(jì)語句
68、的理解和運(yùn)用,不能夠充分理解每個(gè)語句的具體含義,導(dǎo)致編程的程序過于復(fù)雜,使得需要的存儲(chǔ)空間增大。損耗了過多的內(nèi)存資源。</p><p> 本次的設(shè)計(jì)使我從中學(xué)到了一些很重要的東西,那就是如何從理論到實(shí)踐的轉(zhuǎn)化,怎樣將我所學(xué)到的知識(shí)運(yùn)用到我以后的工作中去。在大學(xué)的課堂的學(xué)習(xí)只是在給我們灌輸專業(yè)知識(shí),而我應(yīng)把所學(xué)的用到我們現(xiàn)實(shí)的生活中去,此次的電子時(shí)鐘設(shè)計(jì)給我奠定了一個(gè)實(shí)踐基礎(chǔ),我會(huì)在以后的學(xué)習(xí)、生活中磨練自己,使
69、自己適應(yīng)于以后的競(jìng)爭,同時(shí)在查找資料的過程中我也學(xué)到了許多新的知識(shí),在和同學(xué)協(xié)作過程中增進(jìn)同學(xué)間的友誼,使我對(duì)團(tuán)隊(duì)精神的積極性和重要性有了更加充分的理解。</p><p> 最后,感謝xx老師對(duì)我的細(xì)心的指導(dǎo),正是由于xx老師的細(xì)心的輔導(dǎo)和他提供給我們的參考資料,使得我的課程設(shè)計(jì)能夠順利的完成,同時(shí)在課程設(shè)計(jì)過程中,我們鞏固和學(xué)習(xí)了我們的單片機(jī)知識(shí)。相信這對(duì)我以后的課程設(shè)計(jì)和畢業(yè)論文答辯將會(huì)有很大的幫助!<
70、;/p><p><b> 6 參考文獻(xiàn)</b></p><p> 1 H.G.Cragon.The Elements of Single-Chip Microcomputer Architecture.</p><p> Computer,1980 (13)27~41</p><p> 2 潘永雄.新編單片機(jī)原理與應(yīng)
71、用. 第2版.西安:西安電子科技大學(xué)出版社2006</p><p> 3 何立民.我國單片機(jī)應(yīng)用技術(shù)發(fā)展趨勢(shì)及展望.自動(dòng)化與儀表,1992(1):1~5</p><p> 4 向繼文,廖立新.基于AT89S51 的電子鐘系統(tǒng)設(shè)計(jì).機(jī)電產(chǎn)品開發(fā)與創(chuàng)新,2007(2):62~63</p><p> 5 張靜.基于單片機(jī)數(shù)字鐘的設(shè)計(jì).辦公自動(dòng)化雜志,2006(89)
72、:4~5</p><p> 6 樊金榮,謝智文.數(shù)字倒計(jì)時(shí)秒表的設(shè)計(jì)與實(shí)現(xiàn).中南民族大學(xué)計(jì)算機(jī)科學(xué)學(xué)院院報(bào),2005(1): 62~63</p><p> 7 魏立峰,王寶興.單片機(jī)原理與應(yīng)用技術(shù)[M].北京:北京大學(xué)出版社,2006.</p><p> 8 馬立國. AD7888與AT89C51單片機(jī)接口應(yīng)用技術(shù).集成電路通訊,2007(25):33~34&
73、lt;/p><p><b> 7 附 錄</b></p><p> ORG 0000H ;程序執(zhí)行開始地址</p><p> LJMP START ;跳到標(biāo)號(hào)START執(zhí)行</p><p> ORG 0003H ;外中斷0中斷程序入口
74、</p><p> RETI ;外中斷0中斷返回</p><p> ORG 000BH ;定時(shí)器T0中斷程序入口</p><p> LJMP INTT0 ;跳至INTTO執(zhí)行</p><p> ORG 0013H
75、 ;外中斷1中斷程序入口</p><p> RETI ;外中斷1中斷返回</p><p> ORG 001BH ;定時(shí)器T1中斷程序入口</p><p> LJMP INTT1 ;跳至INTT1執(zhí)行</p><p> ORG
76、0023H ;串行中斷程序入口地址</p><p> RETI ;串行中斷程序返回</p><p><b> 主程序開始; </b></p><p> START: MOV R0,#70H ;清70H-7AH共11個(gè)內(nèi)存單元</p><
77、p> MOV R7,#0BH ;</p><p> CLEARDISP: MOV @R0,#00H ;</p><p> INC R0 ;</p><p> DJNZ R7,CLEARDISP ;</p><p> MOV 20H,#00H
78、 ;清20H(標(biāo)志用)</p><p> MOV 7AH,#0AH ;放入"熄滅符"數(shù)據(jù)</p><p> MOV TMOD,#11H ;設(shè)T0、T1為16位定時(shí)器</p><p> MOV TL0,#0B0H ;50MS定時(shí)初值(T0計(jì)時(shí)用)</p><p&
79、gt; MOV TH0,#3CH ;50MS定時(shí)初值</p><p> MOV TL1,#0B0H ;50MS定時(shí)初值(T1閃爍定時(shí)用)</p><p> MOV TH1,#3CH ;50MS定時(shí)初值</p><p> SETB EA ;總中斷開放</p&
80、gt;<p> SETB ET0 ;允許T0中斷</p><p> SETB TR0 ;開啟T0定時(shí)器</p><p> MOV R4,#14H ;1秒定時(shí)用初值(50MS×20)</p><p> START1: LCALL DISPLAY
81、;調(diào)用顯示子程序</p><p> JNB P3.7,SETMM1 ;P3.7口為0時(shí)轉(zhuǎn)時(shí)間調(diào)整程序</p><p> SJMP START1 ;P3.7口為1時(shí)跳回START1</p><p> SETMM1: LJMP SETMM ;轉(zhuǎn)到時(shí)間調(diào)整程序SETMM</p><p> ;;
82、 1秒計(jì)時(shí)程序 ;;</p><p> INTT0: PUSH ACC ;累加器入棧保護(hù)</p><p> PUSH PSW ;狀態(tài)字入棧保護(hù)</p><p> CLR ET0 ;關(guān)T0中斷允許</p><p>
83、 CLR TR0 ;關(guān)閉定時(shí)器T0</p><p> MOV A,#0B7H ;中斷響應(yīng)時(shí)間同步修正</p><p> ADD A,TL0 ;低8位初值修正</p><p> MOV TL0,A ;重裝初值(低8位修正值)
84、 </p><p> MOV A,#3CH ;高8位初值修正</p><p> ADDC A,TH0 ;</p><p> MOV TH0,A ;重裝初值(高8位修正值) </p><
85、;p> SETB TR0 ;開啟定時(shí)器T0</p><p> DJNZ R4, OUTT0 ;20次中斷未到中斷退出</p><p> ADDSS: MOV R4,#14H ;20次中斷到(1秒)重賦初值</p><p> MOV R0,#71H ;指向秒計(jì)時(shí)單元(
86、71H-72H)</p><p> ACALL ADD1 ;調(diào)用加1程序(加1秒操作)</p><p> MOV A,R3 ;秒數(shù)據(jù)放入A(R3為2位十進(jìn)制數(shù)組合)</p><p> CLR C ;清進(jìn)位標(biāo)志</p><p> CJNE
87、 A,#60H,ADDMM ;</p><p> ADDMM: JC OUTT0 ;小于60秒時(shí)中斷退出</p><p> ACALL CLR0 ;大于或等于60秒時(shí)對(duì)秒計(jì)時(shí)單元清0 MOV R
88、0,#77H ;指向分計(jì)時(shí)單元(76H-77H)</p><p> ACALL ADD1 ;分計(jì)時(shí)單元加1分鐘</p><p> MOV A,R3 ;分?jǐn)?shù)據(jù)放入A</p><p> CLR C ;清進(jìn)位標(biāo)志
89、 CJNE A,#60H,ADDHH ;</p><p> ADDHH: J
90、C OUTT0 ;小于60分時(shí)中斷退出</p><p> ACALL CLR0 ;大于或等于60分時(shí)分計(jì)時(shí)單元清0 MOV R0,#79H ;指向小時(shí)計(jì)時(shí)單元(78H-79H)</p
91、><p> ACALL ADD1 ;小時(shí)計(jì)時(shí)單元加1小時(shí) MOV A,R3 ;時(shí)數(shù)據(jù)放入A</p><p> CLR C ;清進(jìn)位標(biāo)志</p><p> CJNE A
92、,#24H,HOUR ;</p><p> HOUR: JC OUTT0 ;小于24小時(shí)中斷退出</p><p> ACALL CLR0 ;大于或等于24小時(shí)小時(shí)計(jì)時(shí)單元清0</p><p> OUTT0: MOV 72H,76H ;中斷退出時(shí)將分、時(shí)計(jì)時(shí)單元數(shù)據(jù)移</p>
93、<p> MOV 73H,77H ;入對(duì)應(yīng)顯示單元</p><p> MOV 74H,78H ;</p><p> MOV 75H,79H ;</p><p> POP PSW ;恢復(fù)狀態(tài)字(出棧)</p>&l
94、t;p> POP ACC ;恢復(fù)累加器</p><p> SETB ET0 ;開放T0中斷 RETI ;中斷返回</p><p> ;; 閃動(dòng)調(diào)時(shí) 程 序
95、 ;;</p><p> ;T1中斷服務(wù)程序,用作時(shí)間調(diào)整時(shí)調(diào)整單元閃爍指示</p><p> INTT1: PUSH ACC ;中斷現(xiàn)場(chǎng)保護(hù)</p><p> PUSH PSW ;</p><p> MOV TL1, #0B0H ;裝定時(shí)器T1定時(shí)初
96、值 MOV TH1, #3CH ;</p><p> DJNZ R2,INTT1OUT ;0.3秒未到退出中斷(50MS中斷6次)
97、 </p><p> MOV R2,#06H ;重裝0.3秒定時(shí)用初值</p><p> CPL 02H ;0.3秒定時(shí)到對(duì)閃爍標(biāo)志取反
98、 JB 02H,FLASH1 ;02H位為1時(shí)顯示單元"熄滅" MOV 72H,76H ;02H位為0時(shí)正常顯示</p><p> MOV 73H,77H
99、 ;</p><p> MOV 74H,78H ;</p><p> MOV 75H,79H ;</p><p> INTT1OUT: POP PSW ;恢復(fù)現(xiàn)場(chǎng)</p><p> POP ACC ;</
100、p><p> RETI ;中斷退出</p><p> FLASH1: JB 01H,FLASH2 ;01H位為1時(shí),轉(zhuǎn)小時(shí)熄滅控制</p><p> MOV 72H,7AH ;01H位為0時(shí),"熄滅符"數(shù)據(jù)放入分</p><p>
101、 MOV 73H,7AH ;顯示單元(72H-73H),將不顯示分?jǐn)?shù)據(jù)</p><p> MOV 74H,78H ;</p><p> MOV 75H,79H ;</p><p> AJMP INTT1OUT ;轉(zhuǎn)中斷退出</p><p> FL
102、ASH2: MOV 72H,76H ;01H位為1時(shí),"熄滅符"數(shù)據(jù)放入小時(shí)</p><p> MOV 73H,77H ;顯示單元(74H-75H),小時(shí)數(shù)據(jù)將不顯示 MOV 74H,7AH ;</p
103、><p> MOV 75H,7AH ;</p><p> AJMP INTT1OUT ;轉(zhuǎn)中斷退出</p><p> ;; 加1子 程 序 ;;</p><p> ADD1: MOV A,@R0 ;取當(dāng)前計(jì)時(shí)單元數(shù)據(jù)到A</p>
104、;<p> DEC R0 ;指向前一地址</p><p> SWAP A ;A中數(shù)據(jù)高四位與低四位交換</p><p> ORL A,@R0 ;前一地址中數(shù)據(jù)放入A中低四位
105、 ADD A,#01H ;A加1操作</p><p> DA A ;十進(jìn)制調(diào)整</p><p> MOV R3,A ;移入R3寄存器</p><p> ANL A,#0FH ;高四位變0<
106、;/p><p> MOV @R0,A ;放回前一地址單元</p><p> MOV A,R3 ;取回R3中暫存數(shù)據(jù)</p><p> INC R0 ;指向當(dāng)前地址單元</p><p> SWAP A ;A中數(shù)據(jù)高四
107、位與低四位交換</p><p> ANL A,#0FH ;高四位變0</p><p> MOV @R0,A ;數(shù)據(jù)放入當(dāng)削地址單元中 RET ;子程序返回</p><p> ;; 清零程序
108、 ;;</p><p><b> ;對(duì)計(jì)時(shí)單元復(fù)零用</b></p><p> CLR0: CLR A ;清累加器</p><p> MOV @R0,A ;清當(dāng)前地址單元</p><p> DEC R0
109、 ;指向前一地址</p><p> MOV @R0,A ;前一地址單元清0</p><p> RET ;子程序返回</p><p> ;; 時(shí)鐘調(diào)整程序 ;;</p><p> ;當(dāng)調(diào)時(shí)按鍵按下時(shí)進(jìn)入此程序</p&
110、gt;<p> SETMM: CLR ET0 ;關(guān)定時(shí)器T0中斷</p><p> CLR TR0 ;關(guān)閉定時(shí)器T0</p><p> LCALL DL1S ;調(diào)用1秒延時(shí)程序</p><p> JB P3.7,CLOSEDIS ;鍵按下時(shí)間小于1秒,關(guān)閉
111、顯示(省電) MOV R2,#06H ;進(jìn)入調(diào)時(shí)狀態(tài),賦閃爍定時(shí)初值 SETB ET1 ;允許T1中
112、斷</p><p> SETB TR1 ;開啟定時(shí)器T1</p><p> SET2: JNB P3.7,SET1 ;P3.7口為0(鍵未釋放),等待</p><p> SETB 00H ;鍵釋放,分調(diào)整閃爍標(biāo)志置1</p><p> SET4: JB P
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文-----電子時(shí)鐘設(shè)計(jì)
- 電子時(shí)鐘設(shè)計(jì)畢業(yè)論文
- 電子時(shí)鐘設(shè)計(jì)畢業(yè)論文
- 電子時(shí)鐘設(shè)計(jì)--畢業(yè)論文初稿
- 畢業(yè)論文電子時(shí)鐘設(shè)計(jì)
- 畢業(yè)論文--數(shù)字電子時(shí)鐘的設(shè)計(jì)
- 電子時(shí)鐘程序設(shè)計(jì)畢業(yè)論文
- 數(shù)字電子時(shí)鐘的設(shè)計(jì) 畢業(yè)論文
- 多功能電子時(shí)鐘設(shè)計(jì)畢業(yè)論文
- 單片機(jī)電子時(shí)鐘畢業(yè)論文設(shè)計(jì)
- 單片機(jī)電子時(shí)鐘畢業(yè)論文設(shè)計(jì)
- 電子時(shí)鐘的設(shè)計(jì)與制作畢業(yè)論文
- 單片機(jī)電子時(shí)鐘畢業(yè)論文設(shè)計(jì)
- 單片機(jī)電子時(shí)鐘畢業(yè)論文設(shè)計(jì)
- 單片機(jī)電子時(shí)鐘畢業(yè)論文設(shè)計(jì)
- 單片機(jī)電子時(shí)鐘畢業(yè)論文設(shè)計(jì)
- 電子時(shí)鐘畢業(yè)設(shè)計(jì)論文
- 電子時(shí)鐘畢業(yè)設(shè)計(jì)論文
- 電子時(shí)鐘——畢業(yè)設(shè)計(jì)論文
- 電子時(shí)鐘——畢業(yè)設(shè)計(jì)論文
評(píng)論
0/150
提交評(píng)論