版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 單片機(jī)課程設(shè)計(jì)</b></p><p> 項(xiàng)目名稱 單片機(jī)電子時(shí)鐘 </p><p> 專業(yè)班級(jí) 通信工程101班 </p><p> 學(xué)生姓名 </p><p
2、> 指導(dǎo)教師 </p><p> 2012年12月 14日</p><p><b> 摘 要</b></p><p> 本課程設(shè)計(jì)提出電子時(shí)鐘設(shè)計(jì),主要采用AT89C52單片機(jī)控制,完成數(shù)字電子時(shí)鐘的設(shè)計(jì)。本設(shè)計(jì)具有簡單、方便的特點(diǎn),達(dá)到一鍵可控制多種功能水平
3、。具有將理論用于實(shí)踐意義。 單片計(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ī)中最為典型和最有代表性的一種。這次課程設(shè)計(jì)通過對(duì)它的學(xué)習(xí),應(yīng)用,從而達(dá)到學(xué)習(xí)、設(shè)計(jì)、開發(fā)軟、硬的能力。</p><p> 本設(shè)計(jì)主要設(shè)計(jì)了一個(gè)基于AT89C52單片機(jī)的電子時(shí)鐘。并在數(shù)碼管上顯示相應(yīng)的
4、時(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í)鐘;鍵盤控制;數(shù)碼管。</p><p><b> Abstract</b></p><p> This course is
5、 designed electronic clock design, control using AT89C52 to complete the design of digital electronic clock. This design has a simple, convenient, a key can control the level of multiple functions. With having a theory f
6、or the practical significance. The single-chip computer chip microcomputer. By RAM, ROM, CPU configuration, timing, counting and a variety of interfaces in one of the micro-controller. Its small size, low cost, function,
7、 and are widely used in intelligent industry a</p><p> The design is mainly designed based on AT89C52 electronic clock. And on the digital display the appropriate time. And through a control key is used to
8、achieve the adjustment of the time and whether to enter the power saving mode conversion. Application of Proteus ISIS software implementation of the system design and simulation of single-chip electronic clock. Simulatio
9、n results of the method is true, accurate, saving the hardware resources.</p><p> Keywords: Microcontroller; Sub-clock;Keyboard control; Digital tube.</p><p><b> 目 錄</b></p>
10、<p><b> 摘 要I</b></p><p> AbstractII</p><p> 第1章 電子時(shí)鐘1</p><p> 1.1 電子時(shí)鐘簡介1</p><p> 1.2 電子時(shí)鐘的基本特點(diǎn)1</p><p> 1.3 電子時(shí)鐘的原理1&l
11、t;/p><p> 第2章 單片機(jī)的相關(guān)知識(shí)2</p><p> 2.1 單片機(jī)簡介2</p><p> 2.2 單片機(jī)的發(fā)展史2</p><p> 2.3 單片機(jī)的特點(diǎn)3</p><p> 2.4 AT89C52介紹3</p><p> 第3章 控制系統(tǒng)的硬件6
12、</p><p> 3.1 單片機(jī)的型號(hào)選擇6</p><p> 3.2 數(shù)碼管顯示工作原理6</p><p> 3.3 鍵盤電路設(shè)計(jì)7</p><p> 3.4 整個(gè)電路原理圖 8</p><p> 第4章 控制系統(tǒng)的軟件設(shè)計(jì)10</p><p> 4.
13、1 程序設(shè)計(jì)10</p><p> 4.2 程序流程圖13</p><p> 4.3 仿真圖16</p><p> 4.4 仿真結(jié)果分析17</p><p><b> 結(jié)論18</b></p><p><b> 參考文獻(xiàn)19</b></p&
14、gt;<p><b> 附錄120</b></p><p><b> 致謝28</b></p><p><b> 第1章 緒論</b></p><p> 1.1 電子時(shí)鐘簡介</p><p> 1957年,Ventura發(fā)明了世界上第一個(gè)電子表,
15、從而奠定了電子時(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í)清零。從而達(dá)到計(jì)時(shí)的功能,是人民日常生活補(bǔ)課缺少的工具。</p><p> 1.2 電子時(shí)鐘的基本特點(diǎn)</p><p> 現(xiàn)在高精度的計(jì)時(shí)工具大多數(shù)都使用了石英晶體振蕩器,由于
16、電子鐘、石英鐘、石英表都采用了石英技術(shù),因此走時(shí)精度高,穩(wěn)定性好,使用方便,不需要經(jīng)常調(diào)試,數(shù)字式電子鐘用集成電路計(jì)時(shí)時(shí),譯碼代替機(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ù)碼管等
17、構(gòu)成,采用晶振電路作為驅(qū)動(dòng)電路,由延時(shí)程序和循環(huán)程序產(chǎn)生的一秒定時(shí),達(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ī)的
18、相關(guān)知識(shí)</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> 2.
19、2 單片機(jī)的發(fā)展史</p><p> 1 . 4位單片機(jī) </p><p> 1975年,美國德克薩斯儀器公司首次推出4位單片機(jī)TMS-1000;此后,各個(gè)計(jì)算機(jī)公司競相推出四位單片機(jī)。日本松下公司的MN1400系列,美國洛克威爾公司的PPS/1系列等。四位單片機(jī)的主要
20、應(yīng)用領(lǐng)域有:PC機(jī)的輸入裝置,電池充電器,運(yùn)動(dòng)器材,帶液晶顯示的音/視頻產(chǎn)品控制器,一般家用電器的控制及遙控器,電子玩具,鐘表,計(jì)算器,多功能電話等。 </p><p> 2 . 8位單片機(jī) &
21、lt;/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系列。這
22、類單片機(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ī)
23、 </p><p> 1983年以后,集成電路的集成度可達(dá)幾十萬只管/片,各系列16位單片機(jī)紛紛面市。這一階段的代表產(chǎn)品有1983年Intel公司推出的MCS-96系列,1987年Intel推出了80C96,美國國家半導(dǎo)體公司推出的HPC16040,NEC公司推出的783XX系列等。16位單片機(jī)主要用于工業(yè)控制,智能儀器儀表,便攜式設(shè)備等場合。</p><p> 4 .
24、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系列,以及近年來流行的A
25、RM系列單片機(jī)。32位單片機(jī)是單片機(jī)的發(fā)展趨勢,隨著技術(shù)的發(fā)展及開發(fā)成本和產(chǎn)品價(jià)格的下降,將會(huì)與8位單片機(jī)并駕齊驅(qū)。</p><p> 5 . 64位單片機(jī) </p><p> 近年來,64位單片機(jī)在引擎控制,智能機(jī)器人,磁盤控制,語音圖像通信,算法密集的實(shí)時(shí)控
26、制場合已有應(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ū)及存放用戶數(shù)據(jù)。 </p><p> 2 . 采用面向控制的指令系
27、統(tǒng)。為滿足控制需要,單片機(jī)有更強(qiáng)的邏輯控制能力,特別是單片機(jī)具有很強(qiáng)的位處理能力。 </p><p> 3 . 單片機(jī)的I/O口通常時(shí)多功能的。由于單片機(jī)芯片上引腳數(shù)目有限,為了解決實(shí)際引腳數(shù)和需要的信號(hào)線的矛盾,采用了引腳功能復(fù)用的方法,引腳處于何種功能,可由指令來設(shè)置或由機(jī)器狀態(tài)來區(qū)分。
28、 </p><p> 4 . 單片機(jī)的外部擴(kuò)展能力很強(qiáng)。在內(nèi)部的各種功能部件不能滿足應(yīng)用的需求時(shí),均可在外部進(jìn)行擴(kuò)展,與許多通用的微機(jī)接口芯片兼容,給應(yīng)用系統(tǒng)設(shè)計(jì)帶來了很大的方便。</p><p> 2.4 AT89C52單片機(jī)介紹</p><p><b> VCC:電源。</b></p>&
29、lt;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 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。</p><
30、;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)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),
31、其管腳被內(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)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器 的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 </p><p> AT89C
32、52單片機(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口也可作為AT89C51的一些特殊功能口,如下表所示:</p><p><b>
33、 口管腳 備選功能</b></p><p> P3.0 RXD(串行輸入口)</p><p> P3.1 TXD(串行輸出口)</p><p> P3.2 /INT0(外部中斷0)</p><p> P3.3 /INT1(外部中斷1)</p><p> P3.4 T0(記時(shí)器0外部輸入)<
34、/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)。</p><p> RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)
35、機(jī)器周期的高電平時(shí)間。</p><p> ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE 端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器 時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí),
36、 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)。</p><p> EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)(
37、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ī)型號(hào)的選擇</p><p> 通過對(duì)多種單片機(jī)性能的分析,最終認(rèn)為89C
38、52是最理想的電子時(shí)鐘開發(fā)芯片。89C52是一種帶8K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的低電壓,高性能CMOS8位微處理器,器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的89C52是一種高效微控制器,而且它與MCS-51兼容,且具有4K字節(jié)可編程閃爍存儲(chǔ)器和1000寫/擦循環(huán),數(shù)據(jù)保留時(shí)間為10年等特點(diǎn),是最好的選擇。<
39、;/p><p> 3.2 數(shù)碼管顯示工作原理</p><p> 數(shù)碼管是一種把多個(gè)LED顯示段集成在一起的顯示設(shè)備。有兩種類型,一種是共陽型,一種是共陰型。共陽型就是把多個(gè)LED顯示段的陽極接在一起,又稱為公共端。共陰型就是把多個(gè)LED顯示段的陰極接在一起,即為公共商。陽極即為二極管的正極,又稱為正極,陰極即為二極管的負(fù)極,又稱為負(fù)極。通常的數(shù)碼管又分為8段,即8個(gè)LED顯示段,這是為工
40、程應(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ù)碼管的陽極連在一起組成公共端。利
41、用人眼的視覺暫留性,依次給出各個(gè)數(shù)碼管公共端加有效信號(hào),在此同時(shí)給出該數(shù)碼管加有效的數(shù)據(jù)信號(hào),當(dāng)全段掃描速度大于視覺暫留速度時(shí),顯示就會(huì)清晰顯示出來。系統(tǒng)的硬件主要包括單片機(jī)芯片,數(shù)碼管顯</p><p> 示,按鍵開關(guān)電路,它的硬件電路如下圖所示,單片機(jī)采用廣泛使用的AT89C52,系統(tǒng)時(shí)鐘采用12MHz的晶振,八個(gè)數(shù)碼管顯示,小時(shí)與分鐘與秒鐘間用短橫線,采用共陽極七段式數(shù)碼管,P0口為段選碼輸出端,P2口為
42、位選碼輸出端。</p><p> 該設(shè)計(jì)我使用了2*4位數(shù)碼管,組合顯示,如下圖</p><p><b> 實(shí)物圖</b></p><p><b> 電路圖</b></p><p> 3.3 鍵盤電路設(shè)計(jì)</p><p> 該設(shè)計(jì)只用了一個(gè)鍵盤,但實(shí)現(xiàn)的功能卻是比
43、較完善,減少了硬件資源的損耗,該鍵盤可以實(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é)的目的。</p><p> 3.4 整個(gè)電路原理圖</p><p> 要是顯示亮度不是很高的
44、話,需加三極管進(jìn)行放大處理,其電路圖如下:</p><p> 第4章 控制系統(tǒng)的軟件設(shè)計(jì)</p><p><b> 4.1 程序設(shè)計(jì)</b></p><p> 本系統(tǒng)的軟件系統(tǒng)主要可分為主程序、定時(shí)計(jì)數(shù)中斷程序、時(shí)間調(diào)整程序、延時(shí)程序四大模塊。在程序設(shè)計(jì)過程中,加強(qiáng)了部分軟件抗干擾措施,下面對(duì)部分模塊作介紹。</p>&
45、lt;p><b> 定時(shí)計(jì)數(shù)中斷程序:</b></p><p> MOV TMOD,#00H ;寫控制字</p><p> MOV TH0,#0F0H ;寫定時(shí)常數(shù)</p><p> MOV TLO,#0CH</p><p>
46、SETB TR0 ;啟動(dòng)T0</p><p> SETB ETO ;允許T0中斷</p><p> SETB EA ;開放CPU中斷</p><p><b> AJMP $</b></p&g
47、t;<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 DL1S ;調(diào)用
48、1秒延時(shí)程序</p><p> JB P3.7,CLOSEDIS ;鍵按下時(shí)間小于1秒,關(guān)閉顯示(省電) MOV R2,#06H ;進(jìn)入調(diào)時(shí)狀態(tài),賦閃爍定時(shí)初值
49、 SETB ET1 ;允許T1中斷</p><p> SETB TR1 ;開啟定時(shí)器T1</p><p> SET2: JNB P3.7,SET1 ;P3.7口為0(鍵未釋放),
50、等待</p><p> SETB 00H ;鍵釋放,分調(diào)整閃爍標(biāo)志置1</p><p> SET4: JB P3.7,SET3 ;等待鍵按下</p><p> LCALL DL05S ;有鍵按下,延時(shí)0.5秒</p><p> JNB
51、 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> MOV A,R3
52、 ;取調(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 ;調(diào)整單元數(shù)據(jù)小于60轉(zhuǎn)SET4循環(huán)</p&g
53、t;<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><p> CLOSEDIS:SETB
54、 ET0 ;省電(LED不顯示)狀態(tài)。開T0中斷</p><p> SETB TR0 ;開啟T0定時(shí)器(開時(shí)鐘)</p><p> CLOSE: JB P3.7,CLOSE ;無按鍵按下,等待。</p><p> LCALL DISPLAY
55、 ;有鍵按下,調(diào)顯示子程序延時(shí)削抖</p><p> JB P3.7,CLOSE ;是干擾返回CLOSE等待</p><p> WAITH: JNB P3.7,WAITH ;等待鍵釋放</p><p> LJMP START1 ;返回主程序(LED數(shù)據(jù)顯
56、示亮)</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í)調(diào)整標(biāo)志置1</p><p>
57、 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><p> MOV R0,#79H
58、 ;按下時(shí)間小于0.5秒加1小時(shí)操作</p><p> LCALL ADD1 ;調(diào)加1子程序</p><p> MOV A,R3 ;</p><p> CLR C ;</p><p> CJNE A,#
59、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> AJMP SET6
60、 ; 跳轉(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,SETOUT ;是抖動(dòng),返回SETO
61、UT再等待</p><p> CLR 01H ;清調(diào)小時(shí)標(biāo)志</p><p> CLR 00H ;清調(diào)分標(biāo)志</p><p> CLR 02H ;清閃爍標(biāo)志</p><p> CL
62、R TR1 ;關(guān)閉定時(shí)器T1</p><p> CLR ET1 ;關(guān)定時(shí)器T1中斷</p><p> SETB TR0 ;開啟定時(shí)器T0</p><p> SETB ET0
63、 ;開定時(shí)器T0中斷(計(jì)時(shí)開始)</p><p> LJMP START1 ;跳回主程序</p><p> SET1: LCALL DISPLAY ;鍵釋放等待時(shí)調(diào)用顯示程序(調(diào)分)</p><p> AJMP SET2 ;防止鍵按下時(shí)
64、無時(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><p> AJMP SETHH1
65、 ;防止鍵按下時(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í)鍵釋放等待</p><p>
66、AJMP SETOUT ;防止鍵按下時(shí)無時(shí)鐘顯示</p><p><b> 延時(shí)程序:</b></p><p> 1MS延時(shí)程序,LED顯示程序用</p><p> DL1MS: MOV R6,#14H</p><p> DL1: MOV R7,#19H</p
67、><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> DS20MS: ACALL DISPLAY<
68、/p><p> ACALL DISPLAY</p><p> ACALL DISPLAY</p><p><b> RET</b></p><p> 4.2 程序流程圖</p><p> 系統(tǒng)的流程圖如圖4.1和圖4.2:</p><p><b>
69、4.3 仿真結(jié)果</b></p><p><b> 仿真結(jié)果分析</b></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é)。在測試過程中,六位數(shù)碼顯示管只顯示五位數(shù)字,有一位數(shù)字不亮,通過多次的修改程序并在PROTEUS軟件環(huán)境中進(jìn)行仿真,最終解決
70、了這個(gè)問題,同時(shí)也透露出本人在單片機(jī)電路設(shè)計(jì)和程序設(shè)計(jì)方面的不足。不過最后的仿真效果非常好,實(shí)現(xiàn)了預(yù)期的效果,能過通過多功能控制鍵調(diào)節(jié)時(shí)間和是否進(jìn)入省電模式,是一個(gè)比較令人滿意的設(shè)計(jì)。</p><p><b> 結(jié)論</b></p><p> 從原始社會(huì)到19世紀(jì)人們都是用日晷、沙漏、石英鐘、機(jī)械表等計(jì)時(shí),到了20世紀(jì)數(shù)字電子技術(shù)的出現(xiàn),使計(jì)時(shí)方式有了巨大的改變,
71、不僅是顯示方式的變化,更是由原來的機(jī)械計(jì)時(shí)轉(zhuǎn)換到電子計(jì)時(shí),時(shí)間信息包涵在數(shù)字碼當(dāng)中,時(shí)間的誤差也變得更小了。</p><p> 在本次課程設(shè)計(jì)中,我遇到了許多問題,如程序編寫時(shí),由于疏忽出現(xiàn)認(rèn)為的粗心錯(cuò)誤;在仿真時(shí)引腳連錯(cuò)導(dǎo)致仿真不成功;在焊接實(shí)物時(shí),由于經(jīng)驗(yàn)不足,有些地方焊接的很不美觀,有的地方虛焊,導(dǎo)致了電路的不成功。在后來的檢查研究下,電路終于成功了。這次課程設(shè)計(jì)使我學(xué)到了許多書本學(xué)習(xí)不到的東西,使我認(rèn)識(shí)
72、到了實(shí)踐的重要性。如在PROTEUS仿真時(shí),電路不安裝電位器也可以仿真成功,但在實(shí)際電路中,不安裝電位器會(huì)導(dǎo)致屏幕無法調(diào)節(jié)亮度,進(jìn)而導(dǎo)致不顯示,這些不經(jīng)過實(shí)際操作是無法知道的。所以,這次課程設(shè)計(jì)對(duì)我的幫助很大。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 謝自美.電子線路設(shè)計(jì)·實(shí)驗(yàn)·測試[M].武漢:華中理工大學(xué)出版社
73、,1992.</p><p> [2] 何立民.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,1993.</p><p> [3] 樓然笛.單片機(jī)開發(fā)[M].北京:人民郵電出版社,1994.[4] 付家才.單片機(jī)控制工程實(shí)踐技術(shù)[M].北京:化學(xué)工業(yè)出版社 2004.3.[5] 李光才.單片機(jī)課程設(shè)計(jì) 實(shí)例指導(dǎo)[M]. 北京:北京航空航天大學(xué)出版社 2004.[6] 朱
74、定華.單片機(jī)原理及接口技術(shù)實(shí)驗(yàn)[M].北京:北方交通大學(xué)出版社2002.11.</p><p> [7] 劉湘濤.江世明.單片機(jī)原理與應(yīng)用[M]. 北京:電子工業(yè)出版社,2006.</p><p><b> 附錄1</b></p><p> ORG 0000H ;程序執(zhí)行開始地址</p><
75、;p> LJMP START ;跳到標(biāo)號(hào)START執(zhí)行</p><p> ORG 0003H ;外中斷0中斷程序入口</p><p> RETI ;外中斷0中斷返回</p><p> ORG 000BH ;定時(shí)器T0中斷程序
76、入口</p><p> LJMP INTT0 ;跳至INTTO執(zhí)行</p><p> ORG 0013H ;外中斷1中斷程序入口</p><p> RETI ;外中斷1中斷返回</p><p> ORG 001BH
77、 ;定時(shí)器T1中斷程序入口</p><p> LJMP INTT1 ;跳至INTT1執(zhí)行</p><p> ORG 0023H ;串行中斷程序入口地址</p><p> RETI ;串行中斷程序返回</p><p><b&g
78、t; 主程序開始; </b></p><p> START: MOV R0,#70H ;清70H-7AH共11個(gè)內(nèi)存單元</p><p> MOV R7,#0BH ;</p><p> CLEARDISP: MOV @R0,#00H ;</p><p> INC R0
79、 ;</p><p> DJNZ R7,CLEARDISP ;</p><p> MOV 20H,#00H ;清20H(標(biāo)志用)</p><p> MOV 7AH,#0AH ;放入"熄滅符"數(shù)據(jù)</p><p> MOV TMOD,#11H
80、 ;設(shè)T0、T1為16位定時(shí)器</p><p> MOV TL0,#0B0H ;50MS定時(shí)初值(T0計(jì)時(shí)用)</p><p> MOV TH0,#3CH ;50MS定時(shí)初值</p><p> MOV TL1,#0B0H ;50MS定時(shí)初值(T1閃爍定時(shí)用)</p><
81、;p> MOV TH1,#3CH ;50MS定時(shí)初值</p><p> SETB EA ;總中斷開放</p><p> SETB ET0 ;允許T0中斷</p><p> SETB TR0 ;開啟T0定時(shí)器</p>&l
82、t;p> MOV R4,#14H ;1秒定時(shí)用初值(50MS×20)</p><p> START1: LCALL DISPLAY ;調(diào)用顯示子程序</p><p> JNB P3.7,SETMM1 ;P3.7口為0時(shí)轉(zhuǎn)時(shí)間調(diào)整程序</p><p> SJMP START1
83、;P3.7口為1時(shí)跳回START1</p><p> SETMM1: LJMP SETMM ;轉(zhuǎn)到時(shí)間調(diào)整程序SETMM</p><p> ;; 1秒計(jì)時(shí)程序 ;;</p><p> INTT0: PUSH ACC ;累加器入棧保護(hù)</p><p> PUSH P
84、SW ;狀態(tài)字入棧保護(hù)</p><p> CLR ET0 ;關(guān)T0中斷允許</p><p> CLR TR0 ;關(guān)閉定時(shí)器T0</p><p> MOV A,#0B7H ;中斷響應(yīng)時(shí)間同步修正</p><p> ADD
85、 A,TL0 ;低8位初值修正</p><p> MOV TL0,A ;重裝初值(低8位修正值) </p><p> MOV A,#3CH ;高8位初值修正</p><p> ADDC A,TH0 ;<
86、;/p><p> MOV TH0,A ;重裝初值(高8位修正值) </p><p> SETB TR0 ;開啟定時(shí)器T0</p><p> DJNZ R4, OUTT0 ;20次中斷未到中斷退出</p><p
87、> ADDSS: MOV R4,#14H ;20次中斷到(1秒)重賦初值</p><p> MOV R0,#71H ;指向秒計(jì)時(shí)單元(71H-72H)</p><p> ACALL ADD1 ;調(diào)用加1程序(加1秒操作)</p><p> MOV A,R3
88、;秒數(shù)據(jù)放入A(R3為2位十進(jìn)制數(shù)組合)</p><p> CLR C ;清進(jìn)位標(biāo)志</p><p> CJNE A,#60H,ADDMM ;</p><p> ADDMM: JC OUTT0 ;小于60秒時(shí)中斷退出</p><p> ACALL CLR0
89、 ;大于或等于60秒時(shí)對(duì)秒計(jì)時(shí)單元清0 MOV R0,#77H ;指向分計(jì)時(shí)單元(76H-77H)</p><p> ACALL ADD1 ;分計(jì)時(shí)單元加1分鐘</p><p>
90、 MOV A,R3 ;分?jǐn)?shù)據(jù)放入A</p><p> CLR C ;清進(jìn)位標(biāo)志
91、 CJNE A,#60H,ADDHH ;</p><p> ADDHH: JC OUTT0 ;小于60分時(shí)中斷退出</p><p> ACALL CLR0 ;大于或等于60分時(shí)分計(jì)時(shí)單元清0
92、 MOV R0,#79H ;指向小時(shí)計(jì)時(shí)單元(78H-79H)</p><p> ACALL ADD1 ;小時(shí)計(jì)時(shí)單元加1小時(shí) MOV A,R3
93、 ;時(shí)數(shù)據(jù)放入A</p><p> CLR C ;清進(jìn)位標(biāo)志</p><p> CJNE A,#24H,HOUR ;</p><p> HOUR: JC OUTT0 ;小于24小時(shí)中斷退出</p><p> ACALL CLR0
94、 ;大于或等于24小時(shí)小時(shí)計(jì)時(shí)單元清0</p><p> OUTT0: MOV 72H,76H ;中斷退出時(shí)將分、時(shí)計(jì)時(shí)單元數(shù)據(jù)移</p><p> MOV 73H,77H ;入對(duì)應(yīng)顯示單元</p><p> MOV 74H,78H ;</p><p>
95、MOV 75H,79H ;</p><p> POP PSW ;恢復(fù)狀態(tài)字(出棧)</p><p> POP ACC ;恢復(fù)累加器</p><p> SETB ET0 ;開放T0中斷
96、 RETI ;中斷返回</p><p> ;; 閃動(dòng)調(diào)時(shí) 程 序 ;;</p><p> ;T1中斷服務(wù)程序,用作時(shí)間調(diào)整時(shí)調(diào)整單元閃爍指示</p><p> INTT1: PUSH ACC ;中斷現(xiàn)場保護(hù)</p>
97、;<p> PUSH PSW ;</p><p> MOV TL1, #0B0H ;裝定時(shí)器T1定時(shí)初值 MOV TH1, #3CH ;</p><p
98、> DJNZ R2,INTT1OUT ;0.3秒未到退出中斷(50MS中斷6次) </p><p> MOV R2,#06H ;重裝0.3
99、秒定時(shí)用初值</p><p> CPL 02H ;0.3秒定時(shí)到對(duì)閃爍標(biāo)志取反 JB 02H,FLASH1 ;02H位為1時(shí)顯示單元"熄滅"
100、 MOV 72H,76H ;02H位為0時(shí)正常顯示</p><p> MOV 73H,77H ;</p><p> MOV 74H,78H ;</p><p> MOV 75H,79H ;</p>
101、;<p> INTT1OUT: POP PSW ;恢復(fù)現(xiàn)場</p><p> POP ACC ;</p><p> RETI ;中斷退出</p><p> FLASH1: JB 01H,FLASH2 ;01H位為1時(shí),轉(zhuǎn)小時(shí)熄
102、滅控制</p><p> MOV 72H,7AH ;01H位為0時(shí),"熄滅符"數(shù)據(jù)放入分</p><p> MOV 73H,7AH ;顯示單元(72H-73H),將不顯示分?jǐn)?shù)據(jù)</p><p> MOV 74H,78H ;</p><p>
103、MOV 75H,79H ;</p><p> AJMP INTT1OUT ;轉(zhuǎn)中斷退出</p><p> FLASH2: MOV 72H,76H ;01H位為1時(shí),"熄滅符"數(shù)據(jù)放入小時(shí)</p><p> MOV 73H,77H ;顯示單元(74H-75
104、H),小時(shí)數(shù)據(jù)將不顯示 MOV 74H,7AH ;</p><p> MOV 75H,7AH ;</p><p> AJMP INTT1OUT ;轉(zhuǎn)中斷退出</p><p> ;
105、; 加1子 程 序 ;;</p><p> ADD1: MOV A,@R0 ;取當(dāng)前計(jì)時(shí)單元數(shù)據(jù)到A</p><p> DEC R0 ;指向前一地址</p><p> SWAP A ;A中數(shù)據(jù)高四位與低四位交換</p>
106、<p> ORL A,@R0 ;前一地址中數(shù)據(jù)放入A中低四位 ADD A,#01H ;A加1操作</p><p> DA A ;十進(jìn)制調(diào)整</p>
107、;<p> MOV R3,A ;移入R3寄存器</p><p> ANL A,#0FH ;高四位變0</p><p> MOV @R0,A ;放回前一地址單元</p><p> MOV A,R3 ;取回R3中暫存數(shù)據(jù)</p>
108、;<p> INC R0 ;指向當(dāng)前地址單元</p><p> SWAP A ;A中數(shù)據(jù)高四位與低四位交換</p><p> ANL A,#0FH ;高四位變0</p><p> MOV @R0,A ;數(shù)據(jù)放入當(dāng)削地址單元
109、中 RET ;子程序返回</p><p> ;; 清零程序 ;;</p><p><b> ;對(duì)計(jì)時(shí)單元復(fù)零用</b></p><p> CLR0: CLR A ;清
110、累加器</p><p> MOV @R0,A ;清當(dāng)前地址單元</p><p> DEC R0 ;指向前一地址</p><p> MOV @R0,A ;前一地址單元清0</p><p> RET ;子程序返回
111、</p><p> ;; 時(shí)鐘調(diào)整程序 ;;</p><p> ;當(dāng)調(diào)時(shí)按鍵按下時(shí)進(jìn)入此程序</p><p> SETMM: CLR ET0 ;關(guān)定時(shí)器T0中斷</p><p> CLR TR0 ;關(guān)閉定時(shí)器T0</p><
112、;p> LCALL 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),賦閃爍定時(shí)初值
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子時(shí)鐘單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---電子時(shí)鐘
- 單片機(jī)課程設(shè)計(jì)——電子時(shí)鐘
- 單片機(jī)課程設(shè)計(jì)——電子時(shí)鐘
- 單片機(jī)課程設(shè)計(jì)--電子時(shí)鐘
- 單片機(jī)課程設(shè)計(jì)-電子時(shí)鐘
- 單片機(jī)課程設(shè)計(jì)--電子時(shí)鐘
- 單片機(jī)課程設(shè)計(jì)--電子時(shí)鐘
- 單片機(jī)課程設(shè)計(jì)----電子時(shí)鐘
- 單片機(jī)課程設(shè)計(jì)-電子時(shí)鐘
- 單片機(jī)課程設(shè)計(jì)---單片機(jī)電子時(shí)鐘
- 單片機(jī)課程設(shè)計(jì)--電子時(shí)鐘設(shè)計(jì)
- 數(shù)字電子時(shí)鐘-單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---電子時(shí)鐘.doc
- 單片機(jī)課程設(shè)計(jì)--單片機(jī)模擬電子時(shí)鐘設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--- 單片機(jī)電子時(shí)鐘設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)報(bào)告---電子時(shí)鐘
- 單片機(jī)課程設(shè)計(jì)報(bào)告--電子時(shí)鐘
- 單片機(jī)課程設(shè)計(jì)---電子時(shí)鐘.doc
- 單片機(jī)課程設(shè)計(jì)--單片機(jī)模擬電子時(shí)鐘設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論