單片機電子時鐘畢業(yè)論文設計
單片機電子時鐘摘要:單片計算機既單片微型計算機。由RAM,ROM,CUP構成,定時,計數和多種接口與一體的微型控制器。他體積小,成本低,功能強,廣泛應用于智能產業(yè)和工業(yè)自動化上。而51 系列單片機是各單片機中最為典型和最有代表性的一種。這次畢業(yè)設計通過對它的學習,應用,從而達到學習,設計的能力。本設計主要涉及了一個基于AT89C51單片機的電子時鐘。并在數碼管上顯示相應的時間。并通過一個控制鍵用來實現時間的調節(jié)和是否進入省電模式的轉換。單片機自20世紀70年代問世以來,以其極高的性能價格比,受到人們的重視和關注,應用很廣、發(fā)展很快。單片機體積小、重量輕、抗干擾能力強、環(huán)境要求不高、價格低廉、可靠性高、靈活性好、開發(fā)較為容易。由于具有上述優(yōu)點,在我國,單片機已廣泛地應用在工業(yè)自動化控制、自動檢測、智能儀器儀表、家用電器、電力電子、機電一體化設備等各個方面,而51單片機是各單片機中最為典型和最有代表性的一種。這次畢業(yè)設計通過對它的學習、應用,以AT89S51芯片為核心,輔以必要的電路,設計了一個簡易的電子時鐘,它由4.5V直流電源供電,通過數碼管能夠準確顯示時間,調整時間,從而到達學習、設計、開發(fā)軟、硬件的能力。關鍵詞:單片機、電子時鐘ABSTRACT:A monolithic computer is single chip microcomputer. By RAM, ROM, CUP, timing, counting and multiple interfaces and the integration of the micro controller. He has the advantages of small volume, low cost, strong function, widely used in smart industries, and industrial automation. And 51 Series SCM is the most typical and the most representative one. The graduation design through the study, application, to achieve the study, design ability.This design mainly involves a AT89C51 microcontroller based on the electronic clock. And in digital tube display the corresponding time. And through a control key is used to realize the time regulated and whether to enter power-saving mode conversion.Since the 1970 s chip since the advent, with its high cost performance and attention by people and attention, it is widely used and fast development. SCM small volume, light weight, strong anti-jamming capability, environmental demand is not high, low cost, high reliability, flexibility is good, development more easy. Because of the above features, in our country, the microcontroller is widely used in industrial automation control, automatic detection, intelligent instrument and apparatus, household appliances, power electronics, mechanical and electrical equipment, and other aspects, and 51 SCM is the most typical chip and most representative one. The graduation design through to its study, application to AT89S51 chips as the core, with the necessary circuit, design of a simple electronic clock, it by 4.5 V dc power supply, through the digital tube can show time, adjust the time, thus to learning, the design, the development of software and hardware in the ability.Key word: Single-chip microcomputer AT89S目 錄前 言1第一章 原理3第二章 方案3第三章系統設計43.1 總體設計43.1.1系統說明43.2 模塊設計43.2.1電源部分43.2.2復位電路53.3.3程序下載接口63.3.4位選部分63.3.5數碼管的連接電路63.3.6控制部分8第四章 原理圖.13第五章 軟件設計. 145.1 程序流程圖145.2 源程序15第六章 總結.21參考文獻(References):23 前 言單片機系統被定義為:以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統。實際上單片機系統是計算機的一種應用形式,是將先進的計算機技術、半導體技術和電子技術與各個行業(yè)的具體應用相結合后的產物,具有軟件代碼小、高度自動化、響應速度快等特點。因此它是一個技術密集、資金密集、高度分散、不斷創(chuàng)新的知識集成系統。特別適合于要求實時的和多任務的系統。如今單片機系統的應用越來越廣泛,那么單片機系統應用緣何能在近年來的信息技術應用中脫穎而出,成為眾多商家角逐的對象。其實原因很簡單,因為這里面蘊藏著巨大的市場,巨大的商業(yè)利益,單就電視應用而言,目前全球有2億多有線電視用戶,中國也有8000多萬戶,而且每年還在以600萬的速度遞增。如今,在這塊領域里,還沒有一家公司有成熟的產品,也沒有標準的操作系統,更沒有一個可以主導市場的壟斷者。在這種局勢下,雖然競爭將異常劇烈,但突圍的可能性也較大,只要能夠培養(yǎng)出自己的技術能力和市場開拓能力,是有可能取得巨大成功的。第一章 電子時鐘原理該電子時鐘有89C51,BUTTON,六段數碼管等構成,采用晶振電路作為驅動電路,由延時程序和循環(huán)程序產生的一秒定時,達到時分秒的計時,六十秒為一分鐘,六十分鐘為一小時,滿二十四小時為一天。而電路中唯一的一個控制鍵卻擁有多種不同的功能,按下又松開,可以實現屏蔽數碼管顯示的功能,達到省電的目的;直接按下不松開,則可以通過按鍵實現分鐘的累加,每按一次分鐘加一;而連續(xù)兩次按下按鍵不松,則可以實現小時的調節(jié),同樣每按一次小時加一。第二章 方案21顯示方案 方案:動態(tài)顯示。所謂動態(tài)顯示就是一位一位的輪流點亮各個位,對于顯示器的每一位來說,每隔一段時間點亮一次。利用人的視覺暫留功能可以看到整個顯示,但必須保證掃描速度足夠快,字符才不閃爍。顯示器的亮度既與導通電流有關,也于點亮時間與間隔時間的比例有關。調整參數可以實現較高穩(wěn)定度的顯示。動態(tài)顯示節(jié)省了I/O口,降低了能耗。第三章 系統設計3.1系統設計利用單片機(AT89S51)制作簡易電子時鐘,由六個LED數碼管分別顯示小時十位、小時個位、分鐘十位、分鐘個位、秒鐘十位、秒鐘個位。6個PNP管(9012)分別控制六個數碼管的亮滅,一個按鍵用于時間調整。3.2模塊設計3.2.1電源部分圖3-1:內部方式 外部方式如圖3-1所示,XTAL119 XTAL218XTAL1是片內振蕩器的反相放大器輸入端,XTAL2則是輸出端,使用外部振蕩器時,外部振蕩信號應直接加到XTAL1,而XTAL2懸空。內部方式時,時鐘發(fā)生器對振蕩脈沖二分頻,如晶振為12MHz,時鐘頻率就為6MHz。晶振的頻率可以在1MHz-24MHz內選擇。電容取30PF左右。系統的時鐘電路設計是采用的內部方式,即利用芯片內部的振蕩電路。AT89單片機內部有一個用于構成振蕩器的高增益反相放大器。引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外晶體諧振器一起構成一個自激振蕩器。外接晶體諧振器以及電容C1和C2構成并聯諧振電路,接在放大器的反饋回路中。對外接電容的值雖然沒有嚴格的要求,但電容的大小會影響震蕩器頻率的高低、震蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。因此,此系統電路的晶體振蕩器的值為12MHz,電容應盡可能的選擇陶瓷電容,電容值約為22F。在焊接刷電路板時,晶體振蕩器和電容應盡可能安裝得與單片機芯片靠近,以減少寄生電容,更好地保證震蕩器穩(wěn)定和可靠地工作。3.2.2復位電路 圖3-2:復位電路圖如圖3-2所示,復位電路主要由型號為1N4148的二極管,型號為10UF/16V的電解電容,型號為104的瓷片電容,10K的電阻以及按鍵S1構成,S1接芯片的相應引腳RST,當開關按下時引腳RST為高電平1,斷開時引腳為低電平0。3. 程序下載接口 圖3-3:程序下載接口如圖3-3所示,由AT89S ISP構成的兩排十針下載口,板圖上有一個小方框,為1號引角;下載線的凸口為正方向,凸口的右側邊的第一個插孔為1號引角。4. 位選部分 圖3-4圖3-5為位選電路,三極管的集電極接數碼管的公共端,當P2口對應的引腳輸出高電平時三極管導通,對應的數碼管顯示數據。這樣,在同一時刻,6位LED中只有選通的那1位顯示出字符,而其他5位則是熄滅的。同樣,在下一時刻,只讓下一位的位選線處于選通狀態(tài),而其他個位的位選線處于關閉狀態(tài),在段碼線上輸出將要顯示字符的段碼,則同一時刻,只有選通位顯示出相應的字符,而其他各位則是熄滅的。如此循環(huán)下去,就可以使各位顯示出將要顯示的字符。雖然這些字符是在不同時刻出現的,而在同一時刻,只有一位顯示,其他各位熄滅,但由于LED的余輝和人眼的視覺暫留作用,只要每位顯示間隔足夠短,則可以造成多位同時亮的假象,達到同時顯示的效果。5. 數碼管的連接電路圖3-5-1 圖 圖3-5-2:數碼管的引腳圖-圖3-5-2為數碼管的引腳圖,每位的段碼線(a,b,c,d,e,f,g,dp)分別與1個8位的鎖存器輸出相連據,如令其顯示1則b,c-圖3-5-2為數碼管的引腳圖,每位的段碼線(a,b,c,d,e,f,g,dp)分別與1個8位的鎖存器輸出相連,由AT89S51控制組合09十個數據,如令其顯示1則b,c引腳(即2,3引腳)送高電平,此時數碼管顯示1。由于各位的段碼線并聯,8位I/O口輸出段碼對各個顯示位來說都是相同的。6. 控制部分圖3-6:AT89S51是美國ATMEL公司生產的低功耗,高性能CMOS 8位單片機,片內含4K bytes的可系統編程的Flash只讀程序存儲器,器件采用ATMEL公司的高密度,非易失性存儲技術生產,兼容標準8051指令系統及引腳。AT89S51提供以下標準功能:4K字節(jié)Flash閃速存儲器,128字節(jié)內部RAM,32I/O口線,看門狗(WDT),兩個數據指針,兩個16位定時/計數器,一個5向量兩級中斷結構,一個全雙工串行通信口,片內振蕩器及時鐘電路。如圖3-7所示,AT89S51有40引腳,雙列直插(DIP)封裝,所用引腳功能如下:一、 VCC 運行時加4.5V二、 GND 接地三、 XTAL1 振蕩器反相放大器及內部時鐘發(fā)生器的輸入端四、 XTAL2 振蕩器反相放大器的輸出端五、 RST 復位輸入,高電平有效,在晶振工作時,在RST引腳上作用2個機器周期以上的高電平,將使單片機復位。WDT溢出將使該引腳輸出高電平,設置SFT AUXR的DISRTO位(地址8EH)可打開或關閉該功能。DISRTO位缺省為RESET輸出高電平打開狀態(tài)。六、 EA/VPP 片外程序存儲器訪問允許信號。欲使CPU僅訪問外部程序存儲器(地址為0000H-FFFFH),EA端必須保持低電平(接地),如果EA端為高電平(接Vcc端),CPU則執(zhí)行內部程序存儲器中的指令。七、 P1口,P2口P1,P2是一組帶內部上拉電阻的8位雙向I/O口。運行時通過P1口控制驅動電路的工作,將數據送到數碼管,顯示相應的段碼,為了達到減少功耗或滿足端口對最大電流的限制,應加上一限流電阻。P2.0P2.5口控制數碼管的位選,使六個數碼管輪流顯示數據,等于1時位選三極管導通,等于0 時位選三極管截止。八、 無自鎖開關(S2P3.7)開關接相應引腳P37,當開關按下時,相應引腳為低電平0,斷開時引腳為高電平1。I/O口的內部結構: I/O口作為輸入口時有兩種工作方式即所謂的讀端口與讀引腳讀端口時實際上并不從外部讀入數據而是把端口鎖存器的內容讀入到內部總線經過某種運算或變換后再寫回到端口鎖存器只有讀端口時才真正地把外部的數據讀入到內部總線上面圖中的兩個三角形表示的就是輸入緩沖器CPU將根據不同的指令分別發(fā)出讀端口或讀引腳信號以完成不同的操作這是由硬件自動完成的不需要我們操心 讀引腳時也就是把端口作為外部輸入線時首先要通過外部指令把端口鎖存器置1然后再實行讀引腳操作否則就可能讀入出錯為什么看上面的圖如果不對端口置1端口鎖存器原來的狀態(tài)有可能為0Q端為0Q為1加到場效應管柵極的信號為1該場效應管就導通對地呈現低阻抗,此時即使引腳上輸入的信號為1也會因端口的低阻抗而使信號變低使得外加的1信號讀入后不一定是1若先執(zhí)行置1操作則可以使場效應管截止引腳信號直接加到三態(tài)緩沖器中實現正確的讀入由于在輸入操作時還必須附加一個準備動作所以這類I/O口被稱為準雙向口89C51的P0/P1/P2/P3口作為輸入時都是準雙向口接下來讓我們再看另一個問題從圖中可以看出這四個端口還有一個差別除了P1口外P0P2P3口都還有其他的功能RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數據存儲器時,這兩次有效的/PSEN信號將不出現。/EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內部程序存儲器。注意加密方式1時,/EA將內部鎖定為RESET;當/EA端保持高電平時,此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。一單片機I/O口的輸出實驗1實驗程序程序如下ORG 0000HAJMP LOOPLOOP:MOV SP,#65H;/保護堆棧,養(yǎng)成習慣MOV P1,#0FFH ;LCALL DELAY ;MOV P1,#00H ;LCALL DELAY ;LJMP LOOP ;DELAY:MOV R7,#250 ;D1:MOV R6,#250 ;D2:DJNZ R6,D2 ;DJNZ R7,D1 ;RET ;END將以上寫入MEDWIN編譯軟件,源代碼編譯生成HEX文件,燒寫到實驗板看到了什么8只LED燈都在閃爍2程序分析這段程序和教程里的程序比較有兩處不同第1條原來是SETB P1.0現在改為MOV P1#0FFH第3條原來是CLR P1現在改為MOV P1#00H為什么這樣改了之后就變成了8只LED燈同時閃爍了原來P1代表了P1.7-P1.0的全部我們把它當作一個存儲器單元即一個字節(jié)不過對一個存儲器單元送數就應該用MOV指令了在這里P1P1.7-P1.0接的是LED燈也就是負載它起到了一個輸出端的作用那如果把P1改為P0或P2或P3行不行呢答案是肯定的為什么我們稍后再談接著看第2個實驗二單片機I/O口的輸入實驗1實驗程序 程序如下MAIN:MOV P3,#0FFH ;LOOP:MOV A,P3 ;MOV P1,A ;LJMP LOOP ;END同樣的方法把程序搞到單片機實驗板上按下第1個按鈕有一個LED燈亮了按下第2個按鈕另一個LED燈亮了松開按鈕相應的燈就滅了是不是有點象工業(yè)控制中的點動控制原理分析一下這個程序3振蕩器特性:XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅動器件,XTAL2應不接。有余輸入至內部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。4芯片擦除:整個PEROM陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ALE管腳處于低電平10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復編程以前,該操作必須被執(zhí)行。此外,AT89C51設有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時器,計數器,串口和中斷系統仍在工作。在掉電模式下,保存RAM的內容并且凍結振蕩器,禁止所用其他芯片功能,直到下一個硬件復位為止。第四章 原理圖圖4-1 第五章 軟件設計5.1程序流程圖N24小時到?分單元清零,時單元加1NNNYY時單元清零時間顯示中斷返回開始一秒時間到?60秒時間到?60分鐘到?秒單元加1秒單元清零,分單元加1YY-時鐘調整程序關閉顯示,省電狀態(tài)分鐘閃爍,調時狀態(tài)分值加1按鍵S2時間t>1時值=24?按鍵S2時間t<0.5按鍵S2時間t<0.5時鐘閃爍,調時狀態(tài)分值=60?分值清零時值加1時值清零返回顯示S2是否按下(二) 源程序表5-2 P1口對應段碼及數值顯示數字P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.016進制代碼dpgfedcba0001111113FH10000011006H2010110115BH3010011114FH40110011066H5011011016DH6011111017DH70000011107H8011111117FH9011011116FH JMP START ORG 0BH JMP TIM0START: MOV SP,#70H MOV 28H,#00 MOV 2AH,#12H MOV 2BH,#00 MOV 2CH,#00 MOV TMOD,#00000001B MOV TH0,#HIGH(65536-4000) MOV TL0,#LOW(65536-4000) MOV IE,#10000010B MOV R4,#250 SETB TR0LOOP: JB P0.0,N2 CALL DELAY MOV A,2CH ADD A,#01 DA A MOV 2CH,A CJNE A,#60H,N1 MOV 2CH,#00N1: JNB P0.0,$ CALL DELAY N2: JB P0.1,N4 CALL DELAY MOV A,2BH ADD A,#01 DA A MOV 2BH,A CJNE A,#60H,N3 MOV 2BH,#00N3: JNB P0.1,$ CALL DELAYN4: JB P0.2,LOOP CALL DELAY MOV A,2AH ADD A,#01 DA A MOV 2AH,A CJNE A,#24H,N5 MOV 2AH,#00N5: JNB P0.2,$ CALL DELAY JMP LOOPTIM0: MOV TH0,#HIGH(65536-4000) MOV TL0,#LOW(65536-4000) PUSH ACC PUSH PSW DJNZ R4,X2 MOV R4,#250 CALL CLOCK CALL DISPX2: CALL SCAN POP PSW POP ACC RETISCAN: MOV R0,#28H INC R0 CJNE R0,#6,X3 MOV R0,#0X3: MOV A,R0 ADD A,#20H MOV R1,A MOV A,R0 SWAP A ORL A,R1 MOV P1,A RETCLOCK: MOV A,2CH ADD A,#1 DA A MOV 2CH,A CJNE A,#60H,X4 MOV 2CH,#00 MOV A,2BH ADD A,#1 DA A MOV 2BH,A CJNE A,#60H,X4 MOV 2BH,#00 MOV A,2AH ADD A,#1 DA A MOV 2AH,A CJNE A,#24H,X4 MOV 2AH,#00X4: RETDISP: MOV R1,#20H MOV A,2CH MOV B,#10H DIV AB MOV R1,B INC R1 MOV R1,A INC R1 MOV A,2BH MOV B,#10H DIV AB MOV R1,B INC R1 MOV R1,A INC R1 MOV A,2AH MOV B,#10H DIV AB MOV R1,B INC R1 MOV R1,A RETDELAY: MOV R6,#60D1: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 RET END第六章 總結本設計能夠很準確的走時,并能夠通過硬件對時鐘進行時間調整。我在這一次單片機最小系統的設計過程中,很是受益匪淺。通過對自己在大學三年時間里所學的知識的回顧,并充分發(fā)揮對所學知識的理解和對畢業(yè)設計的思考及書面表達能力,最終完成了。這為自己今后進一步深化學習,積累了一定寶貴的經驗。撰寫論文的過程也是專業(yè)知識的學習過程,它使我運用已有的專業(yè)基礎知識,對其進行設計,分析和解決一個理論問題或實際問題,把知識轉化為能力的實際訓練。培養(yǎng)了我運用所學知識解決實際問題的能力。通過這次課程設計我發(fā)現,只有理論水平提高了;才能夠將課本知識與實踐相整合,理論知識服務于教學實踐,以增強自己的動手能力。這個實驗十分有意義 我獲得很深刻的經驗。通過這次課程設計,我們知道了理論和實際的距離,也知道了理論和實際想結合的重要性,也從中得知了很多書本上無法得知的知識。我們的學習不但要立足于書本,以解決理論和實際教學中的實際問題為目的,還要以實踐相結合,理論問題即實踐課題,解決問題即課程研究,學生自己就是一個專家,通過自己的手來解決問題比用腦子解決問題更加深刻。學習就應該采取理論與實踐結合的方式,理論的問題,也就是實踐性的課題。這種做法既有助于完成理論知識的鞏固,又有助于帶動實踐,解決實際問題,加強我們的動手能力和解決問題的能力。參考文獻1 于海生微型計算機控制技術M 清華大學出版社1999-62 孫涵芳MCS-51系列單片機原理及應用M 北京航空航天大學出版社1996-43 黃正謹綜合電子設計與實踐M 東南大學出版社2002-34 楊欣等電子設計從零開始M 清華大學出版社2005-105 謝嘉奎電子線路M 高等教育出版社2003-26 夏路易,石宗義電路原理圖與電路設計教程Protel 99SEM 北京希望電子出版社20027 王毓銀數字電路邏輯設計M 高等教育出版社2004-28 邱關源電路M 高等教育出版社2003-2