版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 單片機課程設(shè)計</b></p><p> 項目名稱 單片機電子時鐘 </p><p> 專業(yè)班級 通信工程101班 </p><p> 學(xué)生姓名 </p><p
2、> 指導(dǎo)教師 </p><p> 2012年12月 14日</p><p><b> 摘 要</b></p><p> 本課程設(shè)計提出電子時鐘設(shè)計,主要采用AT89C52單片機控制,完成數(shù)字電子時鐘的設(shè)計。本設(shè)計具有簡單、方便的特點,達到一鍵可控制多種功能水平
3、。具有將理論用于實踐意義。 單片計算機即單片微型計算機。由RAM ,ROM,CPU構(gòu)成,定時,計數(shù)和多種接口于一體的微控制器。它體積小,成本低,功能強,廣泛應(yīng)用于智能產(chǎn)業(yè)和工業(yè)自動化上。而51系列單片機是各單片機中最為典型和最有代表性的一種。這次課程設(shè)計通過對它的學(xué)習(xí),應(yīng)用,從而達到學(xué)習(xí)、設(shè)計、開發(fā)軟、硬的能力。</p><p> 本設(shè)計主要設(shè)計了一個基于AT89C52單片機的電子時鐘。并在數(shù)碼管上顯示相應(yīng)的
4、時間。并通過一個控制鍵用來實現(xiàn)時間的調(diào)節(jié)和是否進入省電模式的轉(zhuǎn)換。應(yīng)用Proteus的ISIS軟件實現(xiàn)了單片機電子時鐘系統(tǒng)的設(shè)計與仿真。該方法仿真效果真實、準(zhǔn)確,節(jié)省了硬件資源。</p><p> 關(guān)鍵詞:單片機;子時鐘;鍵盤控制;數(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章 電子時鐘1</p><p> 1.1 電子時鐘簡介1</p><p> 1.2 電子時鐘的基本特點1</p><p> 1.3 電子時鐘的原理1&l
11、t;/p><p> 第2章 單片機的相關(guān)知識2</p><p> 2.1 單片機簡介2</p><p> 2.2 單片機的發(fā)展史2</p><p> 2.3 單片機的特點3</p><p> 2.4 AT89C52介紹3</p><p> 第3章 控制系統(tǒng)的硬件6
12、</p><p> 3.1 單片機的型號選擇6</p><p> 3.2 數(shù)碼管顯示工作原理6</p><p> 3.3 鍵盤電路設(shè)計7</p><p> 3.4 整個電路原理圖 8</p><p> 第4章 控制系統(tǒng)的軟件設(shè)計10</p><p> 4.
13、1 程序設(shè)計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> 參考文獻19</b></p&
14、gt;<p><b> 附錄120</b></p><p><b> 致謝28</b></p><p><b> 第1章 緒論</b></p><p> 1.1 電子時鐘簡介</p><p> 1957年,Ventura發(fā)明了世界上第一個電子表,
15、從而奠定了電子時鐘的基礎(chǔ),電子時鐘開始迅速發(fā)展起來。現(xiàn)代的電子時鐘是基于單片機的一種計時工具,采用延時程序產(chǎn)生一定的時間中斷,用于一秒的定義,通過計數(shù)方式進行滿六十秒分鐘進一,滿六十分小時進一,滿二十四小時小時清零。從而達到計時的功能,是人民日常生活補課缺少的工具。</p><p> 1.2 電子時鐘的基本特點</p><p> 現(xiàn)在高精度的計時工具大多數(shù)都使用了石英晶體振蕩器,由于
16、電子鐘、石英鐘、石英表都采用了石英技術(shù),因此走時精度高,穩(wěn)定性好,使用方便,不需要經(jīng)常調(diào)試,數(shù)字式電子鐘用集成電路計時時,譯碼代替機械式傳動,用LED顯示器代替指針顯示進而顯示時間,減小了計時誤差,這種表具有時、分、秒顯示時間的功能,還可以進行時和分的校對,片選的靈活性好。</p><p> 1.3 電子時鐘的原理</p><p> 該電子時鐘由89C51,BUTTON,六段數(shù)碼管等
17、構(gòu)成,采用晶振電路作為驅(qū)動電路,由延時程序和循環(huán)程序產(chǎn)生的一秒定時,達到時分秒的計時,六十秒為一分鐘,六十分鐘為一小時,滿二十四小時為一天。而電路中唯一的一個控制鍵卻擁有多種不同的功能,按下又松開,可以實現(xiàn)屏蔽數(shù)碼管顯示的功能,達到省電的目的;直接按下不松開,則可以通過按鍵實現(xiàn)分鐘的累加,每按一次分鐘加一;而連續(xù)兩次按下按鍵不放松,則可實現(xiàn)小時的調(diào)節(jié),同樣每按一次小時加一。</p><p> 第2章 單片機的
18、相關(guān)知識</p><p> 2.1 單片機簡介</p><p> 單片機全稱為單片機微型計算機(Single Chip Microsoftcomputer)。從應(yīng)用領(lǐng)域來看,單片機主要用來控制,所以又稱為微控制器(Microcontroller Unit)或嵌入式控制器。單片機是將計算機的基本部件微型化并集成在一塊芯片上的微型計算機。</p><p> 2.
19、2 單片機的發(fā)展史</p><p> 1 . 4位單片機 </p><p> 1975年,美國德克薩斯儀器公司首次推出4位單片機TMS-1000;此后,各個計算機公司競相推出四位單片機。日本松下公司的MN1400系列,美國洛克威爾公司的PPS/1系列等。四位單片機的主要
20、應(yīng)用領(lǐng)域有:PC機的輸入裝置,電池充電器,運動器材,帶液晶顯示的音/視頻產(chǎn)品控制器,一般家用電器的控制及遙控器,電子玩具,鐘表,計算器,多功能電話等。 </p><p> 2 . 8位單片機 &
21、lt;/p><p> 1972年,美國Intel公司首先推出8位微處理器8008,并于1976年9月率先推出MCS-48系列單片機。在這以后,8位單片機紛紛面市。例如,莫斯特克和仙童公司合作生產(chǎn)的3870系列,摩托羅拉公司生產(chǎn)的6801系列等。隨著集成電路工藝水平的提高,一些高性能的8位單片機相繼問世。例如,1978年摩托羅拉公司的MC6801系列及齊洛格公司的Z8系列,1979年NEC公司的UPD78XX系列。這
22、類單片機的尋址能力達64KB,片內(nèi)ROM容量達4--8KB,片內(nèi)除帶有并行I\O口外,還有串行I\O口,甚至還有A\D轉(zhuǎn)化器功能。8位單片機由于功能強,被廣泛用于自動化裝置、智能儀器儀表、智能接口、過程控制、通信、家用電器等各個領(lǐng)域。</p><p> 3 . 16位單片機
23、 </p><p> 1983年以后,集成電路的集成度可達幾十萬只管/片,各系列16位單片機紛紛面市。這一階段的代表產(chǎn)品有1983年Intel公司推出的MCS-96系列,1987年Intel推出了80C96,美國國家半導(dǎo)體公司推出的HPC16040,NEC公司推出的783XX系列等。16位單片機主要用于工業(yè)控制,智能儀器儀表,便攜式設(shè)備等場合。</p><p> 4 .
24、32位單片機 </p><p> 隨著高新技術(shù)只智能機器人,光盤驅(qū)動器,激光打印機,圖像與數(shù)據(jù)實時處理,復(fù)雜實時控制,網(wǎng)絡(luò)服務(wù)器等領(lǐng)域的應(yīng)用與發(fā)展,20世紀80年代末推出了32位單片機,如Motorlora公司的MC683XX系列,Intel的80960系列,以及近年來流行的A
25、RM系列單片機。32位單片機是單片機的發(fā)展趨勢,隨著技術(shù)的發(fā)展及開發(fā)成本和產(chǎn)品價格的下降,將會與8位單片機并駕齊驅(qū)。</p><p> 5 . 64位單片機 </p><p> 近年來,64位單片機在引擎控制,智能機器人,磁盤控制,語音圖像通信,算法密集的實時控
26、制場合已有應(yīng)用,如英國Inmos公司的Transputer T800是高性能的64位單片機。</p><p> 2.3 單片機的特點</p><p> 1 . 單片機的存儲器ROM和RAM時嚴格區(qū)分的。ROM稱為程序存儲器,只存放程序,固定常數(shù),及數(shù)據(jù)表格。RAM則為數(shù)據(jù)存儲器,用作工作區(qū)及存放用戶數(shù)據(jù)。 </p><p> 2 . 采用面向控制的指令系
27、統(tǒng)。為滿足控制需要,單片機有更強的邏輯控制能力,特別是單片機具有很強的位處理能力。 </p><p> 3 . 單片機的I/O口通常時多功能的。由于單片機芯片上引腳數(shù)目有限,為了解決實際引腳數(shù)和需要的信號線的矛盾,采用了引腳功能復(fù)用的方法,引腳處于何種功能,可由指令來設(shè)置或由機器狀態(tài)來區(qū)分。
28、 </p><p> 4 . 單片機的外部擴展能力很強。在內(nèi)部的各種功能部件不能滿足應(yīng)用的需求時,均可在外部進行擴展,與許多通用的微機接口芯片兼容,給應(yīng)用系統(tǒng)設(shè)計帶來了很大的方便。</p><p> 2.4 AT89C52單片機介紹</p><p><b> VCC:電源。</b></p>&
29、lt;p><b> GND:接地。</b></p><p> P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程 序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。</p><
30、;p> P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作 輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 </p><p> P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,
31、其管腳被內(nèi)部上拉電阻 拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存 儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器 的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。 </p><p> AT89C
32、52單片機圖</p><p> P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個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(記時器0外部輸入)<
34、/p><p> P3.5 T1(記時器1外部輸入)</p><p> P3.6 /WR(外部數(shù)據(jù)存儲器寫選通)</p><p> P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)</p><p> P3口同時為閃爍編程和編程校驗接收一些控制信號。</p><p> RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個
35、機器周期的高電平時間。</p><p> ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE 端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器 時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時,
36、 ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。</p><p> PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。</p><p> EA/VPP:當(dāng)/EA保持低電平時,則在此期間外部程序存儲(
37、0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時, /EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p> 第3章 系統(tǒng)的硬件設(shè)計</p><p> 3.1 單片機型號的選擇</p><p> 通過對多種單片機性能的分析,最終認為89C
38、52是最理想的電子時鐘開發(fā)芯片。89C52是一種帶8K字節(jié)閃爍可編程可擦除只讀存儲器的低電壓,高性能CMOS8位微處理器,器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的89C52是一種高效微控制器,而且它與MCS-51兼容,且具有4K字節(jié)可編程閃爍存儲器和1000寫/擦循環(huán),數(shù)據(jù)保留時間為10年等特點,是最好的選擇。<
39、;/p><p> 3.2 數(shù)碼管顯示工作原理</p><p> 數(shù)碼管是一種把多個LED顯示段集成在一起的顯示設(shè)備。有兩種類型,一種是共陽型,一種是共陰型。共陽型就是把多個LED顯示段的陽極接在一起,又稱為公共端。共陰型就是把多個LED顯示段的陰極接在一起,即為公共商。陽極即為二極管的正極,又稱為正極,陰極即為二極管的負極,又稱為負極。通常的數(shù)碼管又分為8段,即8個LED顯示段,這是為工
40、程應(yīng)用方便如設(shè)計的,分別為A、B、C、D、E、F、G、DP,其中DP 是小數(shù)點位段。而多位數(shù)碼管,除某一位的公共端會連接在一起,不同位的數(shù)碼管的相同端也會連接在一起。即,所有的A段都會連在一起,其它的段也是如此,這是實際最常用的用法。數(shù)碼管顯示方法可分為靜態(tài)顯示和動態(tài)顯示兩種。靜態(tài)顯示就是數(shù)碼管的8段輸入及其公共端電平一直有效。動態(tài)顯示的原理是,各個數(shù)碼管的相同段連接在一起,共同占用8 位段引管線;每位數(shù)碼管的陽極連在一起組成公共端。利
41、用人眼的視覺暫留性,依次給出各個數(shù)碼管公共端加有效信號,在此同時給出該數(shù)碼管加有效的數(shù)據(jù)信號,當(dāng)全段掃描速度大于視覺暫留速度時,顯示就會清晰顯示出來。系統(tǒng)的硬件主要包括單片機芯片,數(shù)碼管顯</p><p> 示,按鍵開關(guān)電路,它的硬件電路如下圖所示,單片機采用廣泛使用的AT89C52,系統(tǒng)時鐘采用12MHz的晶振,八個數(shù)碼管顯示,小時與分鐘與秒鐘間用短橫線,采用共陽極七段式數(shù)碼管,P0口為段選碼輸出端,P2口為
42、位選碼輸出端。</p><p> 該設(shè)計我使用了2*4位數(shù)碼管,組合顯示,如下圖</p><p><b> 實物圖</b></p><p><b> 電路圖</b></p><p> 3.3 鍵盤電路設(shè)計</p><p> 該設(shè)計只用了一個鍵盤,但實現(xiàn)的功能卻是比
43、較完善,減少了硬件資源的損耗,該鍵盤可以實現(xiàn)小時和分鐘的調(diào)節(jié)以及控制是否進入省電模式。當(dāng)按鍵按下又松開,可以實現(xiàn)屏蔽數(shù)碼管顯示的功能,達到省電的目的;直接按下不松開,則可以通過按鍵實現(xiàn)分鐘的累加,每按一次分鐘加一;而連續(xù)兩次按下按鍵不放松,則可實現(xiàn)小時的調(diào)節(jié),同樣每按一次小時加一。達到時間調(diào)節(jié)的目的。</p><p> 3.4 整個電路原理圖</p><p> 要是顯示亮度不是很高的
44、話,需加三極管進行放大處理,其電路圖如下:</p><p> 第4章 控制系統(tǒng)的軟件設(shè)計</p><p><b> 4.1 程序設(shè)計</b></p><p> 本系統(tǒng)的軟件系統(tǒng)主要可分為主程序、定時計數(shù)中斷程序、時間調(diào)整程序、延時程序四大模塊。在程序設(shè)計過程中,加強了部分軟件抗干擾措施,下面對部分模塊作介紹。</p>&
45、lt;p><b> 定時計數(shù)中斷程序:</b></p><p> MOV TMOD,#00H ;寫控制字</p><p> MOV TH0,#0F0H ;寫定時常數(shù)</p><p> MOV TLO,#0CH</p><p>
46、SETB TR0 ;啟動T0</p><p> SETB ETO ;允許T0中斷</p><p> SETB EA ;開放CPU中斷</p><p><b> AJMP $</b></p&g
47、t;<p><b> 時間調(diào)整程序:</b></p><p> SETMM: cLR ET0 ;關(guān)定時器T0中斷</p><p> CLR TR0 ;關(guān)閉定時器T0</p><p> LCALL DL1S ;調(diào)用
48、1秒延時程序</p><p> JB P3.7,CLOSEDIS ;鍵按下時間小于1秒,關(guān)閉顯示(省電) MOV R2,#06H ;進入調(diào)時狀態(tài),賦閃爍定時初值
49、 SETB ET1 ;允許T1中斷</p><p> SETB TR1 ;開啟定時器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 ;有鍵按下,延時0.5秒</p><p> JNB
51、 P3.7,SETHH ;按下時間大于0.5秒轉(zhuǎn)調(diào)小時狀態(tài)</p><p> MOV R0,#77H ;按下時間小于0.5秒加1分鐘操作</p><p> LCALL ADD1 ;調(diào)用加1子程序</p><p> MOV A,R3
52、 ;取調(diào)整單元數(shù)據(jù)</p><p> CLR C ;清進位標(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時清0</p><p> CLR C ;清進位標(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定時器(開時鐘)</p><p> CLOSE: JB P3.7,CLOSE ;無按鍵按下,等待。</p><p> LCALL DISPLAY
55、 ;有鍵按下,調(diào)顯示子程序延時削抖</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)志清除(進入調(diào)小時狀態(tài))</p><p> SETHH1: JNB P3.7,SET5 ;等待鍵釋放</p><p> SETB 01H ;小時調(diào)整標(biāo)志置1</p><p>
57、 SET6: JB P3.7,SET7 ;等待按鍵按下</p><p> LCALL DL05S ;有鍵按下延時0.5秒</p><p> JNB P3.7,SETOUT ;按下時間大于0.5秒退出時間調(diào)整</p><p> MOV R0,#79H
58、 ;按下時間小于0.5秒加1小時操作</p><p> LCALL ADD1 ;調(diào)加1子程序</p><p> MOV A,R3 ;</p><p> CLR C ;</p><p> CJNE A,#
59、24H,HOUU ;計時單元數(shù)據(jù)與24比較</p><p> HOUU: JC SET6 小于24轉(zhuǎn)SET6循環(huán)</p><p> LCALL CLR0 ;大于或等于24時清0操作</p><p> AJMP SET6
60、 ; 跳轉(zhuǎn)到SET6循環(huán)</p><p> SETOUT: JNB P3.7,SETOUT1 ;調(diào)時退出程序。等待鍵釋放</p><p> LCALL DISPLAY ;延時削抖</p><p> JNB P3.7,SETOUT ;是抖動,返回SETO
61、UT再等待</p><p> CLR 01H ;清調(diào)小時標(biāo)志</p><p> CLR 00H ;清調(diào)分標(biāo)志</p><p> CLR 02H ;清閃爍標(biāo)志</p><p> CL
62、R TR1 ;關(guān)閉定時器T1</p><p> CLR ET1 ;關(guān)定時器T1中斷</p><p> SETB TR0 ;開啟定時器T0</p><p> SETB ET0
63、 ;開定時器T0中斷(計時開始)</p><p> LJMP START1 ;跳回主程序</p><p> SET1: LCALL DISPLAY ;鍵釋放等待時調(diào)用顯示程序(調(diào)分)</p><p> AJMP SET2 ;防止鍵按下時
64、無時鐘顯示</p><p> SET3: LCALL DISPLAY ;等待調(diào)分按鍵時時鐘顯示用</p><p> AJMP SET4</p><p> SET5: LCALL DISPLAY ;鍵釋放等待時調(diào)用顯示程序(調(diào)小時)</p><p> AJMP SETHH1
65、 ;防止鍵按下時無時鐘顯示</p><p> SET7: LCALL DISPLAY ;等待調(diào)小時按鍵時時鐘顯示用</p><p> AJMP SET6</p><p> SETOUT1: LCALL DISPLAY ;退出時鐘調(diào)整時鍵釋放等待</p><p>
66、AJMP SETOUT ;防止鍵按下時無時鐘顯示</p><p><b> 延時程序:</b></p><p> 1MS延時程序,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延時程序,采用調(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),只能實現(xiàn)時分秒的顯示,設(shè)計比較簡單。電路圖的設(shè)計過于單調(diào),用的器件太少,實現(xiàn)調(diào)節(jié)時間的按鈕太少,不能很好的實現(xiàn)時間的調(diào)節(jié)。在測試過程中,六位數(shù)碼顯示管只顯示五位數(shù)字,有一位數(shù)字不亮,通過多次的修改程序并在PROTEUS軟件環(huán)境中進行仿真,最終解決
70、了這個問題,同時也透露出本人在單片機電路設(shè)計和程序設(shè)計方面的不足。不過最后的仿真效果非常好,實現(xiàn)了預(yù)期的效果,能過通過多功能控制鍵調(diào)節(jié)時間和是否進入省電模式,是一個比較令人滿意的設(shè)計。</p><p><b> 結(jié)論</b></p><p> 從原始社會到19世紀人們都是用日晷、沙漏、石英鐘、機械表等計時,到了20世紀數(shù)字電子技術(shù)的出現(xiàn),使計時方式有了巨大的改變,
71、不僅是顯示方式的變化,更是由原來的機械計時轉(zhuǎn)換到電子計時,時間信息包涵在數(shù)字碼當(dāng)中,時間的誤差也變得更小了。</p><p> 在本次課程設(shè)計中,我遇到了許多問題,如程序編寫時,由于疏忽出現(xiàn)認為的粗心錯誤;在仿真時引腳連錯導(dǎo)致仿真不成功;在焊接實物時,由于經(jīng)驗不足,有些地方焊接的很不美觀,有的地方虛焊,導(dǎo)致了電路的不成功。在后來的檢查研究下,電路終于成功了。這次課程設(shè)計使我學(xué)到了許多書本學(xué)習(xí)不到的東西,使我認識
72、到了實踐的重要性。如在PROTEUS仿真時,電路不安裝電位器也可以仿真成功,但在實際電路中,不安裝電位器會導(dǎo)致屏幕無法調(diào)節(jié)亮度,進而導(dǎo)致不顯示,這些不經(jīng)過實際操作是無法知道的。所以,這次課程設(shè)計對我的幫助很大。</p><p><b> 參考文獻</b></p><p> [1] 謝自美.電子線路設(shè)計·實驗·測試[M].武漢:華中理工大學(xué)出版社
73、,1992.</p><p> [2] 何立民.單片機應(yīng)用系統(tǒng)設(shè)計[M].北京:北京航空航天大學(xué)出版社,1993.</p><p> [3] 樓然笛.單片機開發(fā)[M].北京:人民郵電出版社,1994.[4] 付家才.單片機控制工程實踐技術(shù)[M].北京:化學(xué)工業(yè)出版社 2004.3.[5] 李光才.單片機課程設(shè)計 實例指導(dǎo)[M]. 北京:北京航空航天大學(xué)出版社 2004.[6] 朱
74、定華.單片機原理及接口技術(shù)實驗[M].北京:北方交通大學(xué)出版社2002.11.</p><p> [7] 劉湘濤.江世明.單片機原理與應(yīng)用[M]. 北京:電子工業(yè)出版社,2006.</p><p><b> 附錄1</b></p><p> ORG 0000H ;程序執(zhí)行開始地址</p><
75、;p> LJMP START ;跳到標(biāo)號START執(zhí)行</p><p> ORG 0003H ;外中斷0中斷程序入口</p><p> RETI ;外中斷0中斷返回</p><p> ORG 000BH ;定時器T0中斷程序
76、入口</p><p> LJMP INTT0 ;跳至INTTO執(zhí)行</p><p> ORG 0013H ;外中斷1中斷程序入口</p><p> RETI ;外中斷1中斷返回</p><p> ORG 001BH
77、 ;定時器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個內(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位定時器</p><p> MOV TL0,#0B0H ;50MS定時初值(T0計時用)</p><p> MOV TH0,#3CH ;50MS定時初值</p><p> MOV TL1,#0B0H ;50MS定時初值(T1閃爍定時用)</p><
81、;p> MOV TH1,#3CH ;50MS定時初值</p><p> SETB EA ;總中斷開放</p><p> SETB ET0 ;允許T0中斷</p><p> SETB TR0 ;開啟T0定時器</p>&l
82、t;p> MOV R4,#14H ;1秒定時用初值(50MS×20)</p><p> START1: LCALL DISPLAY ;調(diào)用顯示子程序</p><p> JNB P3.7,SETMM1 ;P3.7口為0時轉(zhuǎn)時間調(diào)整程序</p><p> SJMP START1
83、;P3.7口為1時跳回START1</p><p> SETMM1: LJMP SETMM ;轉(zhuǎn)到時間調(diào)整程序SETMM</p><p> ;; 1秒計時程序 ;;</p><p> INTT0: PUSH ACC ;累加器入棧保護</p><p> PUSH P
84、SW ;狀態(tài)字入棧保護</p><p> CLR ET0 ;關(guān)T0中斷允許</p><p> CLR TR0 ;關(guān)閉定時器T0</p><p> MOV A,#0B7H ;中斷響應(yīng)時間同步修正</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 ;開啟定時器T0</p><p> DJNZ R4, OUTT0 ;20次中斷未到中斷退出</p><p
87、> ADDSS: MOV R4,#14H ;20次中斷到(1秒)重賦初值</p><p> MOV R0,#71H ;指向秒計時單元(71H-72H)</p><p> ACALL ADD1 ;調(diào)用加1程序(加1秒操作)</p><p> MOV A,R3
88、;秒數(shù)據(jù)放入A(R3為2位十進制數(shù)組合)</p><p> CLR C ;清進位標(biāo)志</p><p> CJNE A,#60H,ADDMM ;</p><p> ADDMM: JC OUTT0 ;小于60秒時中斷退出</p><p> ACALL CLR0
89、 ;大于或等于60秒時對秒計時單元清0 MOV R0,#77H ;指向分計時單元(76H-77H)</p><p> ACALL ADD1 ;分計時單元加1分鐘</p><p>
90、 MOV A,R3 ;分數(shù)據(jù)放入A</p><p> CLR C ;清進位標(biāo)志
91、 CJNE A,#60H,ADDHH ;</p><p> ADDHH: JC OUTT0 ;小于60分時中斷退出</p><p> ACALL CLR0 ;大于或等于60分時分計時單元清0
92、 MOV R0,#79H ;指向小時計時單元(78H-79H)</p><p> ACALL ADD1 ;小時計時單元加1小時 MOV A,R3
93、 ;時數(shù)據(jù)放入A</p><p> CLR C ;清進位標(biāo)志</p><p> CJNE A,#24H,HOUR ;</p><p> HOUR: JC OUTT0 ;小于24小時中斷退出</p><p> ACALL CLR0
94、 ;大于或等于24小時小時計時單元清0</p><p> OUTT0: MOV 72H,76H ;中斷退出時將分、時計時單元數(shù)據(jù)移</p><p> MOV 73H,77H ;入對應(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> ;; 閃動調(diào)時 程 序 ;;</p><p> ;T1中斷服務(wù)程序,用作時間調(diào)整時調(diào)整單元閃爍指示</p><p> INTT1: PUSH ACC ;中斷現(xiàn)場保護</p>
97、;<p> PUSH PSW ;</p><p> MOV TL1, #0B0H ;裝定時器T1定時初值 MOV TH1, #3CH ;</p><p
98、> DJNZ R2,INTT1OUT ;0.3秒未到退出中斷(50MS中斷6次) </p><p> MOV R2,#06H ;重裝0.3
99、秒定時用初值</p><p> CPL 02H ;0.3秒定時到對閃爍標(biāo)志取反 JB 02H,FLASH1 ;02H位為1時顯示單元"熄滅"
100、 MOV 72H,76H ;02H位為0時正常顯示</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時,轉(zhuǎn)小時熄
102、滅控制</p><p> MOV 72H,7AH ;01H位為0時,"熄滅符"數(shù)據(jù)放入分</p><p> MOV 73H,7AH ;顯示單元(72H-73H),將不顯示分數(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ù)據(jù)放入小時</p><p> MOV 73H,77H ;顯示單元(74H-75
104、H),小時數(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)前計時單元數(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 ;十進制調(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> ;對計時單元復(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> ;; 時鐘調(diào)整程序 ;;</p><p> ;當(dāng)調(diào)時按鍵按下時進入此程序</p><p> SETMM: CLR ET0 ;關(guān)定時器T0中斷</p><p> CLR TR0 ;關(guān)閉定時器T0</p><
112、;p> LCALL DL1S ;調(diào)用1秒延時程序</p><p> JB P3.7,CLOSEDIS ;鍵按下時間小于1秒,關(guān)閉顯示(省電) MOV R2,#06H ;進入調(diào)時狀態(tài),賦閃爍定時初值
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子時鐘單片機課程設(shè)計
- 單片機課程設(shè)計---電子時鐘
- 單片機課程設(shè)計——電子時鐘
- 單片機課程設(shè)計——電子時鐘
- 單片機課程設(shè)計--電子時鐘
- 單片機課程設(shè)計-電子時鐘
- 單片機課程設(shè)計--電子時鐘
- 單片機課程設(shè)計--電子時鐘
- 單片機課程設(shè)計----電子時鐘
- 單片機課程設(shè)計-電子時鐘
- 單片機課程設(shè)計---單片機電子時鐘
- 單片機課程設(shè)計--電子時鐘設(shè)計
- 數(shù)字電子時鐘-單片機課程設(shè)計
- 單片機課程設(shè)計---電子時鐘.doc
- 單片機課程設(shè)計--單片機模擬電子時鐘設(shè)計
- 單片機課程設(shè)計--- 單片機電子時鐘設(shè)計
- 單片機課程設(shè)計報告---電子時鐘
- 單片機課程設(shè)計報告--電子時鐘
- 單片機課程設(shè)計---電子時鐘.doc
- 單片機課程設(shè)計--單片機模擬電子時鐘設(shè)計
評論
0/150
提交評論