久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

基于單片機實現的調光控制器設計”的心得體會

時間:2019-05-13 01:12:40下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《基于單片機實現的調光控制器設計”的心得體會》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《基于單片機實現的調光控制器設計”的心得體會》。

第一篇:基于單片機實現的調光控制器設計”的心得體會

“基于單片機實現的調光控制器設計”的心得體會 經過這次單片機實驗我感覺自己學到了很多東西。回想一下整個的單片機實驗的過程,感覺那些經歷還還歷歷在目。

從剛開始魯老師布置課程設計時,感覺自己很迷茫,第一次拿到“基于單片機實現的調光控制器設計”大綱時。基本的電路、所需的器件以及設計方案都是一塌糊涂,沒有一個宏觀的概念,也沒有一個細致的分析。當老師把大綱發下了之后,我就開始仔細研究電路的板塊,包括硬件和軟件兩部分,硬件部分包括I/0通道設計,同步信號采樣電路、可控硅觸發電路等等。

我感覺我們學校對培養學生的動手能力是十分重視的,為了提高自己的動手能力,讓學生做相關實訓并完成單片機實驗報告,在實驗的形式上注重培養學生的實驗技能和動手能力。我感覺這樣非常好,通過實驗我從單片機實驗中總結出大量的經驗來為今后的職業發展做出基礎鋪墊。這次試驗中也是用到了很多的東西,包括并給出總圖中所用元器件的選型清單(清單中應包含序號、元器件名稱、規格、單位、數量、單價、合計及總價等)。這些都然我跟進一步的去了解了器件的性能,規格以及用途。電位器電壓給定及電壓采樣,開關量(I/O 端口)輸入輸出、定時器結構定義及延時、觸發脈沖產生、單片機中斷及定時器初始化、中斷子程序、主程序。

在實驗的過程中,單片機指令系統中匯編語言各種基本語句的意義及匯編語言程序設計的基本知識和方法,以及單片機與其他設備相連接的輸入輸出中斷等接口技術就顯得非常重要了。但是由于在學習單片機課程時,我學習的基礎不是特別好,所以就顯得不是那么游刃有余了,我在做的過程中經常要翻閱單片的相關書籍,并且向同學們提問,看到了自己的不足,更增進了我學習的動力。在這次試驗中我發現自己缺乏硬件設計及調試分析能力,對單片機如何構成一個單片機最小應用系統,缺乏認識,后來和同學討論后才慢慢提高了自己。通過這次的實驗我知道了軟件的修改也非常方便,軟件和硬件調試都自己動手操作了一些,感覺整個試驗下了,理論與實際的基礎更加緊密了。

第二篇:基于單片機的時鐘控制器設計

時鐘控制器設計任務書

1.設計目的與要求

設計出一個用于數字時鐘的控制器,準確地理解有關要求,獨立完成系統設計,要求所設計的電路具有以下功能:

(1)顯示: 可以顯示時、分和秒

(2)調時功能:時(0-24)、分和秒(0-60)可以連續可調(3)時間日誤差< 2秒(4)增加整點報時功能(5)增加鬧鐘任意設定功能 2.設計內容

(1)畫出電路原理圖,正確使用邏輯關系;(2)確定元器件及元件參數;(3)進行電路模擬仿真;(4)SCH文件生成與打印輸出;(5)PCB文件生成與打印輸出; 3.編寫設計報告

寫出設計的全過程,附上有關資料和圖紙,有心得體會。4.答辯

在規定時間內,完成敘述并回答問題。

目錄

1.引言…………………………………………………………………………-1-2 總體設計方案………………………………………………………………-1-2.1 設計思路…………………………………………………………………-1-2.2 方案確立…………………………………………………………………-1-2.3 設計方框圖………………………………………………………………-2-3 設計原理分析………………………………………………………………-2-3.1 系統硬件電路設計 ……………………………………………………-2-3.2 主控器件AT89S51 ………………………………………………………-2-3.3 譯碼器74HC245 …………………………………………………………-3-3.4 顯示電路 …………………………………………………………………3-3.5 按鍵電路…………………………………………………………………-4-3.6 復位電路…………………………………………………………………-4-3.7 蜂鳴電路…………………………………………………………………-5-3.8 時鐘電路…………………………………………………………………-5-3.9 總體原理圖………………………………………………………………-5-3.10程序框圖…………………………………………………………………-5-4 結束語………………………………………………………………………-7-參考文獻………………………………………………………………………-8-附錄 1 電路總原理圖 ………………………………………………………-9-附錄 2 總程序………………………………………………………………-10-

基于單片機控制的時鐘控制器

摘要:本設計以Atmel公司的AT89S51單片機為控制系統的核心,模型采用單片機作為主控制器,以匯編語言為程序設計的基礎,設計的一個用兩個四位一體數碼管串口顯示的時鐘控制電路,包含了時鐘控制電路的基本功能:數碼顯示,時間調整,鬧鐘設定,秒表顯示等,按照二十四小時循環,具有調節方便,簡單實用,可靠性強的優點,有很高的利用價值。關鍵詞:單片機 AT89C51 74LS245 數碼管 引言

數字鐘是采用數字電路實現對時、分、秒及數字顯示的計時裝置,廣泛用于個人家庭、車站、碼頭、辦公室等公共場所,成為人們日常生活中不可少的必需品,由于數字集成電路的發展和石英晶體振蕩器的廣泛應用,使得數字鐘的精度,遠遠超過老式鐘表,鐘表的數字化給人們生產生活帶來了極大的方便,而且大大地擴展了鐘表原先的報時功能。諸如定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、自動起閉路燈、定時開關烘箱、通斷動力設備、甚至各種定時電氣的自動啟用等,所有這些,都是以鐘表數字化為基礎的。因此,研究數字鐘及擴大其應用,有著非常現實的意義。為了適應時代的潮流,本設計采用AT89S51單片機為核心,使得計時的精度有了很大的提高,而且調節也變的簡單實用,采用數字顯示也跟加的直觀方便。總體設計方案

2.1 設計思路

本設計采用AT89S51單片機為控制核心,產生精確的時鐘震蕩,來控制數碼管顯示電路來進行數碼顯示,外圍電路主要有復位電路,震蕩電路,按鍵電路,顯示電路,蜂鳴電路組成;復位電路可及時的對單片機進行復位,恢復到初始的狀態,震蕩電路主要用于計數,定時,產生合適的波特率,按鍵電路主要是給人們提供一個合適的人機對話的界面,方便人們進行實時的調節,顯示電路主要用于數碼的顯示,蜂鳴電路用于鬧鈴設定等輔助功能。2.2 方案確立

本設計主要有包含了時鐘電路,按鍵掃描,顯示電路等幾個部分。由單片機實現時鐘功能單片機內部具有定時器,可方便實現定時功能。按鍵電路:鍵盤分為矩陣式鍵盤掃描電路和獨立式按鍵電路。。矩陣式鍵盤電路,此類鍵盤是采用行列掃描方式,優點是當按鍵較多時可以降低占用單片機的I/O口數目,缺點是電路復雜且會加大編程難度。獨立按鍵電路,每個鍵單獨占有一根I/O接口線,每個I/O口的工作狀態互不影響,此類鍵盤采用端口直接掃描方式。缺點是當按鍵較多時占用單片機的I/O數目較多,優點是電路設計簡單,且編程極其容易。由于該系統采用了常規鐘表式的校對方式,用鍵較少,系統資源足夠用,故采用了獨立按鍵電路。顯示電路分為:靜態顯示法與動態顯示法,由于靜態顯示法需要數據鎖存器等硬件,接口復雜一些,又考慮到時鐘顯示只有6位,且系統沒有其它復雜的處理任務,所以決定采用動態顯示法。2.3 硬件設計方框圖

電路的設計以AT89S51單片機為核心,包含了按鍵電路,復位電路,震蕩電路,數 碼顯示電路,整點報時電路等一系列獨立環節,下面介紹一下電路設計過程中的總體框圖,如圖1所示。

圖1 時鐘電路總體框圖 設計原理分析

用AT89S51單片機控制的數字時鐘電路,外接震蕩電路,按鍵電路,顯示電路,蜂鳴電路等:用單片機電路P0口來輸出7段碼數據,P2.0~P2.5口作列掃描輸出;按鍵用P1口控制,分別用于調節時,分,以及秒表和鬧鐘的設定;P1.7口接5V的小蜂鳴器,用于按鍵發音以及定時提醒,整點報時提醒等;采用74HC245作為數碼管的段碼驅動,為了提供共陽LED數碼管的列掃描驅動電壓,用三極管8550做電源的驅動輸出;采用12MHZ晶振,可提高秒計時的精確性;在軟件設計方面,應完成時鐘控制電路的各項要求。

3.1 系統硬件電路設計

系統硬件電路主要組成:主控制器AT89S52、譯碼器74HC245、顯示電路、蜂鳴器電路,復位電路時鐘電路。3.2 主控器件AT89C51 AT89S51是一款低功耗,高性能CMOS 8位單片機,片內含4k Bytes ISP(In-system programmable)的可反復擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術制造,兼容標準MCS-51指令系統及80C51引腳結構,芯片內集成了通用8位中央處理器和ISP Flash存儲單元,AT89S51在眾多嵌入式控制應用系統中得到廣泛應用。管腳如圖2所示。

圖2 DIP-40封裝89C51引腳圖

3.3譯碼器74LS245 74LS245是我們常用的芯片,用來驅動led或者其他的設備,它是8路同相三態雙向總線收發器,可雙向傳輸數據。74LS245還具有雙向三態功能,既可以輸出,也可以輸入數據。當89S51單片機的P0口總線負載達到或超過P0最大負載能力時,必須接入74LS245等總線驅動器。當片選端/CE低電平有效時,DIR=“0”,信號由 B 向 A 傳輸;(接收)DIR=“1”,信號由 A 向 B 傳輸;(發送)當CE為高電平時,A、B均為高阻態。P0口與74LS245輸入端相連,E端接地,保證數據線暢通。管腳如圖3所示。

圖3 74LS245管腳圖

3.4 顯示電路

LED顯示塊是由發光二極管顯示字段的顯示器件。這種顯示塊有共陰與共陽兩種結構。共陰極LED顯示塊的發光二極管陰極共地,當某個發光二極管的陽極為高電平時,發光二極管點亮。共陽極LED顯示塊的放光二極管陽極并接。顯示塊與單片機接口非常容易,只要將一個8位并行輸出口語顯示塊的發光二極管引腳相連即可(AT89S51需要加上拉電阻)。此次電路采用2個4位共陽LED數碼管,從P0口輸出段碼,列掃描用P2.0~P2.7來實現。如圖4所示。

圖4 74LS245驅動段碼顯示電路圖

3.5 按鍵電路

按鍵調節電路有四個獨立的按鍵接到P1口的P1.0—P1.3端口,控制著電路的調時,調分以及秒表功能和鬧鐘的設定。具體電路如下圖5所示。

圖5 按鍵電路圖

3.6 復位電路

AT89S51單片機的復位電路,如圖5所示中左邊電路。在RESET輸入端出現高電平時實現復位和初始化。在震蕩器運行的情況下,要實現復位操作,必須使RST引腳至少 保持兩個機器周期的高電平。在CPU在第二個機器周期內執行內部復位操作,以后每一個機器周期重復一次,直至RST端電平變低復位期間不產生ALE信號。當RST引腳返回低電平以后,CPU從0地址開始執行程序。3.7 蜂鳴電路

蜂鳴器是廣泛應用于各種電子產品的一種元器件,它用于提示、報警、音樂等許多應用場合。三極管8550作蜂鳴器的驅動,增加了蜂鳴器的驅動電流。蜂鳴器的正極性的一端接到三極管的集電極,另一端連接到地,三極管的基極由單片機的P1.7管腳控制,底電平時蜂鳴器響,高電平時不響。另外,蜂鳴器的聲音大小及音調可以通過調整P1.7管腳的置低時間及輸出的波形進行控制。蜂鳴器的連接電路的原理圖如圖5所示。3.8 時鐘電路

AT89S51內部片內有一個由反相放大器構成的振蕩電路,XTAL1和XTAL2分別為震蕩電路的輸入端和輸出端。時鐘可以由內部方式產生或外部方式產生。在XTAL1和XTAL2引腳上外接定時元件,內部震蕩電路就產生自己震蕩。定時元件通常采用石英晶體和電容組成的并聯諧振回路。外部方式的時鐘電路,XTAL1接地,XTAL2接外部振蕩器。一般要求輸入方波信號的頻率低于33Mhz。本文設計的系統采用的是內部方式的時鐘電路。如圖6所示。

圖6 時鐘電路原理圖

3.9 總體原理圖

見附錄1 3.10程序框圖

主程序如圖7所示首先是初始化部分,主要是計時單元清零,中斷初始化,啟動定時器工作,然后是調用顯示子程序,接著是判斷有無按鍵。無按鍵則回到調用顯示子程序處;有按鍵,則執行按鍵處理子程序,執行完后回到調用顯示子程序處,重復循環。定時器T0中斷如圖8所示

圖7 主程序流程圖

圖8 中斷程序流程圖 結束語

三周實習很快就過去了,通過自行設計、焊接和調試一個單片機系統,我熟悉了單片機基本的開發流程和單片機的深入學習。在完成這個設計的同時,我復習了書本上的許多相關內容,受益匪淺。因此我在獲得理論知識的同時,實踐中也獲得了許多書本上沒有的東西。提高了調試以及查找并解決問題的能力,我深入了解了焊普通元件與電路元件的技巧、數字時鐘的工作原理及其它各電路元件的作用等。這些知識不僅在課堂上有效,對以后的學習工作有很大的指導意義,在日常生活中更是有著現實意義;也對自己的動手能力是個很大的鍛煉。實踐出真知,縱觀古今,所有發明創造無一不是在實踐中得到檢驗的。沒有足夠的動手能力,就奢談在未來的科研尤其是實驗研究中有所成就。最后,感謝老師對我們這次實習的辛勤指導和幫助。

參考文獻

[1] 李光飛,樓然苗,胡佳文編著.單片機課程設計實例指導.北京:北京航空航天大學出版社.2004 [2] 黃仁欣主編.單片機原理及應用技術.北京: 清華大學出版社.2005.[3] 高吉祥主編.電子技術基礎實驗與課程設計.北京:電子工業出版社.2002 [4] 肖玲妮.印刷電路板設計教程.[M].北京:清華大學出版社,2003.[5] 康華光.電子技術基礎.[M].北京;高等教育出版社,2006.[6] 余小平等.電子系統設計.[M].北京:北京航空航天大學出版社,2007.附錄1: 11 電路總原理圖

附錄2: 總程序

ORG 0000H LJMP START ORG 000BH LJMP INIT0 START: MOV 70H,#0 MOV 71H,#0 MOV 72H,#0 MOV 73H,#0 MOV 74H,#0 MOV 75H,#0 MOV 76H,#0 MOV 77H,#0 MOV 78H,#0 MOV 79H,#0 MOV 7AH,#0 MOV 7BH,#0 MOV 7CH,#0 MOV 7DH,#0 MOV 7EH,#0 MOV 72H,#0AH;對連字符進行裝值

MOV 75H,#0AH MOV 60H,#0 MOV 61H,#0 MOV 63H,#0 MOV 64H,#0 CLR P1.7 MOV TMOD,#01H;選擇定時器/計數器T0的方式1 MOV TL0,#0B0H;對低位賦初值 MOV TH0,#03CH;高位賦初值 SETB EA SETB ET0 SETB TR0 START1: LCALL SCAN LCALL KEYSCAN SJMP START1 DL1MS: MOV R6,#14H;延時1子程序 DL1: MOV R7,#19H DL2: DJNZ R7,DL2 DJNZ R6,DL1 RET DELAY: MOV R6,#10 D1: MOV R7,#30 DJNZ R7,$ DJNZ R6,D1 RET

DL20MS: ACALL SCAN;延時20ms子程序 ACALL SCAN ACALL SCAN RET

;整點報時將秒和分的單元與零比較 SCAN: MOV A,7EH;7F單元的內容為0

CJNE A,79H,NEXT MOV A,7DH

CJNE A,7AH,NEXT SETB P1.7 AJMP NEXT1 NEXT: CLR P1.7 NEXT1:

MOV A,79H

CJNE A,#0,NEXT2 MOV A,78H

CJNE A,#0,NEXT2 SETB P1.7 LJMP NEXT3 NEXT2:CLR P1.7

;數碼管總顯示程序開始分兩部分

;校正時間和數碼管正常工作的顯示程序 NEXT3: MOV A,78H MOV B,#0AH

DIV AB;時間秒的十位送給A,時間秒的個位送B

MOV 71H,A;時間秒要顯示的十位

MOV 70H,B;時間秒要顯示的個位

MOV A,79H MOV B,#0AH

DIV AB;時間分的十位送給A,時間分的個位送B

MOV 74H,A;時間分要顯示的十位送地址

MOV 73H,B;時間分要顯示的個位送地址

MOV A,7AH MOV B,#0AH DIV AB;時間時的十位送給A,時間時的個位送B MOV 77H,A;時間時顯示的十位送地址

MOV 76H,B;時間時要顯示的個位送地址

MOV R1,#70H LCALL DL1MS JB P1.2,LAST HERE3:JNB P1.2,HERE3 INC 7EH MOV A,7EH

CJNE A,#3CH,LOOP3 MOV 7EH,#00H;調制鬧鈴的時間顯示 LOOP3: MOV DPTR,#TAB MOV R5,#0FEH MOV A,7DH MOV R3,#09H

MOV B,#10 SCAN1: MOV A,R5;數碼管正常工作的顯 DIV AB 示程序

MOV 64H,A MOV P2,A MOV 63H,B MOV A,@R1 MOV A,7EH MOV DPTR,#TAB

MOV B,#10 MOVC A,@A+DPTR;對字段表取值 DIV AB 顯示

MOV 61H,A MOV P0,A MOV 60H,B MOV A,R5 MOV P2,#0F7H LCALL DL1MS MOV A,60H INC R1 MOVC A,@A+DPTR MOV A,R5 MOV P0,A RL A LCALL DELAY MOV R5,A MOV P2,#0EFH DJNZ R3,SCAN1 MOV A,61H MOV P2,#00H MOVC A,@A+DPTR MOV P0,#00H MOV P0,A JB P1.3,QQ LCALL DELAY LCALL DL1MS MOV P2,#0DFH JB P1.3,QQ MOV P0,#40H HERE: JNB P1.3,HERE LCALL DELAY SJMP LOOP1 MOV P2,#0BFH

MOV A,63H QQ: LJMP LAST MOVC A,@A+DPTR LOOP1:JB P1.1,LOOP2 MOV P0,A LCALL DL1MS LCALL DELAY JB P1.1,LOOP2 MOV P2,#07FH HERE1:JNB P1.1,HERE1 MOV A,64H INC 7DH MOVC A,@A+DPTR MOV A,7DH

MOV P0,A CJNE A,#18H,LOOP2 LCALL DELAY MOV 7DH,#00H JB P1.3,LOOP4 LOOP2:JB P1.2,LOOP3 LCALL DL1MS 14 JB P1.3,LOOP4 HERE4:JNB P1.3,HERE4 LJMP LAST LOOP4:LJMP LOOP1 LAST: RET;“0~9”和“-”的字段表 TAB:

DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H

;定時/計數器T0中斷程序 INIT0: PUSH ACC PUSH PSW CLR ET0 CLR TR0 MOV TL0,#0B0H MOV TH0,#03CH SETB TR0 INC 7BH MOV A,7BH CJNE A,#14H,OUTT0;50ms是否到20次,沒有到就繼續執行50ms的延時

MOV 7BH,#00 INC 78H MOV A,78H CJNE A,#3CH,OUTT0;一秒的延時是否計到60次,沒有就繼續執行

MOV 78H,#00 INC 79H MOV A,79H CJNE A,#3CH,OUTT0 MOV 79H,#00 INC 7AH MOV A,7AH CJNE A,#18H,OUTT0;60分鐘的延時是否計到24次,沒有就繼續執行程序 MOV 7AH,#00 OUTT0: SETB ET0;啟動定時器T0 POP PSW POP ACC RETI;按鍵處理程序 KEYSCAN:CLR EA

JNB P1.0,KEYSCAN0;P1.0有按鍵按下則跳轉到子程序

JNB P1.1,KEYSCAN1;P1.1有按鍵按下則跳轉到子程序

JNB P1.2,KEYSCAN2;P1.2有按鍵按下則跳轉到子程序

KEYOUT: SETB EA RET

KEYSCAN0:LCALL DL20MS;20ms的延時消抖

JB P1.0,KEYOUT WAIT0: JNB P1.0,WAIT0;判斷按鍵是否松手,松手就往下執行程序 INC 7CH MOV A,7CH CLR ET0 CLR TR0

CJNE A,#04H,KEYOUT;按下第一次和第二次對時、分選定

MOV 7CH,#00;按下第三次時就啟動計時

SETB ET0 SETB TR0 LJMP KEYOUT

KEYSCAN1:LCALL DL20MS;按鍵加一的程序

JB P1.1,KEYOUT WAIT1: JNB P1.1,WAIT1 MOV A,7CH

CJNE A,#03H,KSCAN11;如果功能鍵按下則對時加一調整 INC 78H MOV A,78H

CJNE A,#60,KEYOUT MOV 78H,#00 LJMP KEYOUT

KSCAN11: CJNE A,#02H,KSCAN12 INC 79H MOV A,79H

CJNE A,#60,KEYOUT;如果加到60則清零

MOV 79H,#00 LJMP KEYOUT KSCAN12:CJNE A,#01H,KEYOUT INC 7AH;如果功能鍵是按下第二次則對分進行加一調整

MOV A,7AH CJNE A,#18H,KEYOUT MOV 7AH,#00 LJMP KEYOUT KEYSCAN2:LCALL DL20MS;延時消抖程序 JB P1.2,KEYOUT WAIT2: JNB P1.2,WAIT2;判斷是否放開按鍵

MOV A,7CH;如果功能鍵是按下第一次對時進行減一 CJNE A,#03H,KSCAN22 DEC 78H MOV A,78H CJNE A,#00H,KEYOUT MOV 78H,#3BH LJMP KEYOUT KSCAN22:CJNE A,#02H,KSCAN23 DEC 79H MOV A,79H CJNE A,#00H,KEYOUT1 MOV 79H,#3BH LJMP KEYOUT KSCAN23:CJNE A,#01H,KEYOUT1 DEC 7AH MOV A,7AH;如果功能鍵是按下第二次則對分進行減一 CJNE A,#00H,KEYOUT1 MOV 7AH,#17H LJMP KEYOUT1 KEYOUT1: SETB EA RET END

第三篇:基于單片機AT89C51的交通燈控制器的設計

2014屆本科生畢業設計

分類號:TP368.1

題目:基于單片機AT89C51的交通燈控制器的設計

姓 名: 張建猛 學 號 : 2010080870 學 院: 機械與電子工程學院 專 業: 自動化 指導教師職稱: 胡波 劉明

指導教師職稱: 助教(碩士)工程師

2014-05-11

摘 要

本文采用AT89C51單片機芯片為核心控制器件設計的交通燈控制器,該系統主要包括單片機最小系統,按鍵,數碼管顯示,交通燈演示系統。系統主要具有有人行道,交通燈的基本功能,倒計時,緊急情況處理,根據具體情況手動控制等功能。通過AT89C51并接數碼管和發光二極管來實現交通燈的變化規律,P1口設置紅,綠燈點亮時間功能的實現;紅綠燈循環點亮,倒計時剩余10秒時黃燈閃爍警示。本系統的研發周期短,可靠性高,實用性,操作簡單,維護方便,擴展功能強大。本系統軟硬件相結合,通過Proteus軟件仿真,基本實現了交通信號燈的模擬。

關鍵詞:AT89C51;數碼管;交通燈控制器

ABSTRACT In this paper, AT89C51 chip as the core control device design traffic light controller, the system includes smallest single-chip system, keyboard, digital display, traffic lights demonstration system.System mainly has a sidewalk, the basic functions of traffic lights, countdown, emergency treatment, according to the specific circumstances of manual control and other functions.And connected via AT89C51 LED digital tube and realized traffic lights change, P1 port settings of red, green lighting time function is implemented;traffic light cycle light, countdown 10 seconds remaining yellow flashing warning.The system development cycle is short, high reliability, practicality, simple operation, easy maintenance, expansion and powerful.This system combines hardware and software, Through the Proteus Software Simulation,the basic realization of traffic lights simulation.Keywords: AT89C51;System;Digital pipe;Traffic light controller

目錄

論...........................................................................................................................1 1.整體方案設計...........................................................................................................2 1.1 方案分析.........................................................................................................2 1.2 方案確立.........................................................................................................3 2.系統的硬件設計.......................................................................................................3

2.1設計原理及方法..............................................................................................3 2.2 AT89C51單片機最小系統..............................................................................4 2.2.1 復位電路..............................................................................................4 2.2.2 時鐘電路..............................................................................................5 2.2.2 EA腳的功能及接法.............................................................................6 2.3其它硬件模塊介紹及連接..............................................................................7

2.3.1 倒計時顯示模塊.................................................................................7

2.3.2 交通燈顯示模塊................................................................................8

2.3.3 按鍵控制模塊......................................................................................9 2.3.4 電源模塊............................................................................................10 3.系統的軟件設計.....................................................................................................10

3.1系統相關參數計算........................................................................................10 3.1.1 T0的計數初值...................................................................................10 3.1.2 倒計時顯示的理論分析....................................................................10 3.1.2 交通燈狀態顯示的理論分析............................................................11 3.2系統主程序設計............................................................................................11 4.系統的 Proteus軟件仿真....................................................................................12 4.1 Proteus仿真圖............................................................................................12 4.2 Proteus仿真的結果分析............................................................................12 結束語.........................................................................................................................14 參考文獻.....................................................................................................................14 致 謝.........................................................................................................................15 附錄:程序源代碼.....................................................................................................16

宿州學院本科生畢業設計

基于單片機AT89C51的交通燈控制器的設計

緒 論

隨著人口的迅速增長,道路資源的有限性和交通工具爆炸性的發展,城市交通正面臨著嚴峻考驗,因此造成日益嚴重的交通問題,每天的交通擁堵成了家常便飯但又不得不忍受。在這種情況下,與我國城市道路交通的實際情況相結合,開發出適合我們自身特點的智能信號燈控制系統已成為一個主要的任務。一個好的交通燈控制系統,將給道路擁堵,違章行駛等方面給予技術創新。隨著電子技術的發展,采用單片機技術,能夠智能管理交通燈,已成為目前廣泛使用的方法。

在人類的生活,工作環境中,交通扮演著極其重要的角色,人們的出行與交通時時刻刻打著交道。城市交通控制系統是基于城市交通信號控制技術為主導的發展,與汽車行業的發展并行。在其發展的不同階段,由于交通出現的各種矛盾,人們總是試圖把各個歷史階段的最新科技成果應用到交通自動控制中,從而促進交通自動控制技術不斷發展。

早在1850年,城市交叉路口處安全和擁堵問題引起人們的關注,全球第一個自動交通燈誕生,打開城市交通控制的序幕。在1868年,英國工程師娜奕特在倫敦西部威斯敏斯特街口安裝一個紅色和綠色煤氣照明燈,用來控制交叉路口的馬車通行,但一次煤氣爆炸事故致使交通信號燈消失了近半個世紀。1914年,美國克利夫蘭,紐約和芝加哥重新出現的交通信號燈,他們使用電動驅動,與現在意義的交通信號燈幾乎是一樣的。隨著時代的發展,各種運輸方式和交通管制的需要,第一光名副其實的三色燈(紅,黃,綠)出生于1918年。它的周圍是三色圓形投影機被安裝在紐約市五號街一座高塔上,由于它的誕生,城市交通大大改善。

在近一個世紀的發展,道路交通信號控制系統經歷了一個手動到自動,從固定到靈活配時,從無感應控制到有感應控制,從單點控制到干線控制,從區域控制到網絡控制的長期過程。

交通網絡是城市的動脈,是一個城市的生活經濟水平,工業文明的象征。交通關系到人民對財產,安全和時間相關的利益。憑借優良科學的交通控制技術對資源物流和人們出行是非常有價值的,確保交通安全線的暢通,才能確保舒適的出行,物流按時到位,甚至是生命通道延伸。為了確保安全,高效的交通秩序,除了制定一系列的交通規則,而且還必須通過一定的技術手段來實現。隨著單片機和傳感器技術的迅速發展,自動檢測領域發生了翻天覆地的變化,交通自動檢測控制研究已經取得了顯著的進步,必將以其優良的性能價格比,逐步取代傳統的交通控制措施。

宿州學院本科生畢業設計

基于單片機AT89C51的交通燈控制器的設計

1.整體方案設計

1.1 方案分析

交通燈一般設在城市道路的十字路口,可以分為東西方向(主干道)和南北方向(次干道),東西南北四個路口均設有有紅綠黃3種燈和1個二位數碼顯示管。在某一時刻規定只有一個方向可以通行,另一方向被禁行,狀態經過一定的過渡時間,將通行方向和禁行方向相互對換。其具體狀態如下圖所示。(白色表示滅)。通過具體的路口交通燈狀態的演示分析我們可以把這四個狀態歸納如圖1:

圖1 交通燈狀態圖

·東西方向(主干道)紅燈滅,同時綠燈亮,南北方向(次干道)黃燈滅,同時紅燈亮,倒計時顯示60秒。在此種狀態下,東西方向(主干道)允許通行,南北方向(次干道)禁止通行。

·東西方向(主干道)綠燈滅,同時黃燈閃爍,南北方向(次干道)紅燈亮,倒計時顯示10秒。在此種狀態下,除了正在通行中的車輛外,其他所有的車輛都應該等待狀態轉換。

·南北方向(次干道)紅燈滅,同時綠燈亮,東西方向(主干道)黃燈滅,同時紅燈亮,倒計時50秒。在此種狀態下,東西方向(主干道)禁止通行,南北向允許通行。

·南北方向(次干道)綠燈滅,同時黃燈閃爍,東西方向(主干道)紅燈亮,倒計時10秒。在此種狀態下,除了正在通行中的車輛外,其他所有車輛都應該等待狀態轉換。

宿州學院本科生畢業設計

基于單片機AT89C51的交通燈控制器的設計

1.2 方案確立

本設計系統以AT89C51單片機為控制核心,連接成最小系統,由倒計時顯示模塊、交通燈顯示模塊、按鍵開關控制模塊組成。軟件部分使用的是C 語言編程,由軟件設置交通燈的初始時間,東西方向(主干道)通行60秒,南北方向(支干道)通行50秒,數碼管采用動態顯示,P0口送字形碼,P2口送字位選通信號,通過單片機的P1口控制各種信號燈的點亮與熄滅,采用中斷方式實現各按鍵的功能。

2.系統的硬件設計

2.1 設計原理及方法

本設計采用模塊化的分層次設計方法,以單片機AT 89C 51為控制核心,連接成最小系統,由倒計時顯示模塊、交通燈顯示模塊、按鍵開關控制模塊等組成。系統的總體框圖如下所示。

圖2 交通燈控制器框圖

本系統采用AT89C51單片機及外圍器件構成最小控制系統,12個發光二極管分成4組紅綠黃三色燈構成信號燈指示模塊,4個數碼管東西南北方向各一個構成倒計時顯示模塊,通過四個按鍵K0、K1、K2、K3模擬控制交通燈東西通行,南北通行,返回,緊急情況各個交通燈工作情況之間相互轉化。

宿州學院本科生畢業設計

基于單片機AT89C51的交通燈控制器的設計

2.2 AT89C51單片機最小系統

單片機最小系統一般有晶振、復位、電源、系統的輸入控制、輸出顯示,以及其他外圍模塊(如通信、數據采集等)等模塊組成。2.2.1 復位電路

單片機復位電路原理是在單片機的復位引腳RST上外接電阻和電容,實現上電復位。當復位電平持續兩個機器周期以上時復位有效。復位電平的持續時間必須大于單片機的兩個機器周期。具體數值可以由RC電路計算出時間常數。復位電路由手動復位和上電復位兩部分組成。

(1)上電復位電路要求接通電源后,通過外部電容充電來實現單片機自動復位操作。上電瞬間RESET引腳獲得高電平,隨著電容的充電,RERST引腳的高電平將逐漸下降。RERST引腳的高電平只要能保持足夠的時間(2個機器周期),單片機就可以進行復位操作。

(2)手動復位:手動復位就是在復位電容上并聯一個開關,當開關按下時電容被放電、RST也被拉到高電平,而且由于電容的充電,會保持一段時間的高電平來使單片機復位。單片機復位期間不產生ALE和PSEN信號,即ALE=1和PSEN=1。這表明單片機復位期間不會有任何取指操作。

圖3 單片機手動復位電路

宿州學院本科生畢業設計

基于單片機AT89C51的交通燈控制器的設計

2.2.2 時鐘電路

單片機系統里都有晶振,在單片機系統里晶振作用非常大,全稱叫晶體振蕩器,它結合單片機內部電路產生單片機所需的時鐘頻率,單片機晶振提供的時鐘頻率越高,那么單片機運行速度就越快,單片機的一切指令的執行都是建立在單片機晶振提供的時鐘頻率。單片機晶振的作用是為系統提供基本的時鐘信號。單片機的時鐘電路由外接的一只晶振和兩只起振電容,以及單片機內部的時鐘電路組成,晶振的頻率越高,單片機處理數據的速度越快,系統功耗也會相應增加,穩定性也會下降。

單片機的時鐘電路設計有兩種方式,一種是內部時鐘方式,一種是外部時鐘方式。

在內部時鐘方式下單片機內部的高增益、反相放大器通過XTAL1、XTAL2外接作為反饋元件的外部晶體管振蕩器與電容組成的并聯諧振回路構成一個穩定的自激振蕩器,向內部時鐘電路提供振蕩時鐘。振蕩器的頻率主要取決于晶體的振蕩頻率。外部時鐘方式是把外部已有的時鐘信號引入到單片機內。此方式常用于多片單片機同時工作,以便于各單片機的同步。一般要求外部信號高電平的持續時間大于20μs,且為頻率低于12MHz的方波。本設計采用內部時鐘方式,單片機系統常用的晶振頻率有6MHz、11.0592MHz、12MHz、本系統采用11.0592MHz晶振,電容選22pF或30pF均可。

圖4 單片機時鐘電路

宿州學院本科生畢業設計

基于單片機AT89C51的交通燈控制器的設計

2.2.2 EA腳的功能及接法

AT89C51 單片機的EA/VPP(31 腳)是內部和外部程序存儲器的選擇管腳。當EA 保持高電平時,單片機訪問內部程序存儲器;當EA 保持低電平時,則不管是否有內部程序存儲器,只訪問外部存儲器。由于現在單片機內部的flash容量都很大,因此基本都是從內部的存儲器讀取程序,即不需要外接ROM來存儲程序,因此,EA腳必須接高電平。

圖5 單片機最小系統

宿州學院本科生畢業設計

基于單片機AT89C51的交通燈控制器的設計

2.3 其它硬件模塊介紹及連接 2.3.1 倒計時顯示模塊

系統要求南北和東西方向的信號燈時間不一樣,所以就利用單片機的P0口送出數據的段碼,位選信號用P2口送出,用動態掃描的方法顯示東西、南北的倒計時間。7段數碼管一般由8個發光二極管組成,其中由7個細長的發光二極管組成數字顯示,另外一個圓形的發光二極管顯示小數點。當發光二極管導通時,相應的一個點或一個筆畫發光。控制相應的二極管導通,就能顯示出各種字符。本設計采用共陰數碼管,需要接上470歐上拉電阻以提供足夠大的電流來驅動數碼管,數碼管的每段的電流是約10毫安。

圖6 數碼管顯示模塊

宿州學院本科生畢業設計

基于單片機AT89C51的交通燈控制器的設計

2.3.2 交通燈顯示模塊

本系統利用單片機的P1口來驅動和控制各種信號燈的燃亮和燃亮時間,在實際中,交通燈的信號燈需要用高電壓控制,在這里我們只是模擬一下它的控制信號,所以我們就只用單片機的信號引腳直接來控制發光二極管。發光二極管是半導體二極管的一種,可以把電能轉化成光能,常簡寫為LED。發光二極管與普通二極管一樣是由一個PN結組成,也具有單向導電性。當給發光二極管加上正向電壓后,從P區注入到N區的空穴和由N區注入到P區的電子,在PN結附近數微米內分別與N區的電子和P區的空穴復合,產生自發輻射的熒光。不同的半導體材料中電子和空穴所處的能量狀態不同。當電子和空穴復合時釋放出的能量多少不同,釋放出的能量越多,則發出的光的波長越短。常用的是發紅光、綠光或黃光的二極管。發光二極管的反向擊穿電壓約5伏。它的正向伏安特性曲線

很陡,使用時必須串聯限流電阻以控制通過管子的電流。

圖7 交通燈模塊

宿州學院本科生畢業設計

基于單片機AT89C51的交通燈控制器的設計

2.3.3 按鍵控制模塊

本系統設置了有4個鍵:K0鍵,K1鍵,K2鍵,K3鍵。每個按鍵一端接地,另一端接上二極管。低電平有效,當按鍵按下端口接地,單片機捕獲到低電平,從而得到相應的輸入信息。本系統采用了二極管做開關,是為了防止有一按鍵被按下3根線同時被低,中斷無效。二極管在正向電壓作用下電阻很小,處于導通狀態,相當于一只接通的開關;在反向電壓作用下,電阻很大,處于截止狀態,如同一只斷開的開關。利用二極管的開關特性,可以組成各種邏輯電路。

程序開始運行先東西段通行、南北段禁止60s,后南北段通行、東西段禁止50s,依此循環。系統分三種工作模式:南北通行模式、東西通行模式、返回模式、緊急情況模式,并且通過四個按鍵K0、K1、K2、K3實現之間的相互轉化。

圖8 按鍵控制模塊

宿州學院本科生畢業設計

基于單片機AT89C51的交通燈控制器的設計

2.3.4 電源模塊

單片機工作時需要的+5V電壓,所以在設計電源電路時,需要一個電子元件能提供+5V電壓,由于78L05能夠提供5V電壓的三端穩壓電源,78L05一腳為電源輸入端,二腳為公共接地端,三腳即為我們所需要的+5V電壓輸出端.本系統采用典型的78L05提供電壓的電路,即在78L05的1腳和公共接地端(即2腳)之間接入0.3μF的電容,在公共接地端和三腳+5V電壓輸出端之間接入0.1μF的電容.圖9 電源模塊

3.系統的軟件設計

3.1 系統相關參數計算 3.1.1 T0的計數初值

T0的計數初值:X=216-12*50*1000/12=15536=3CB0H 3.1.2 倒計時顯示的理論分析

倒計時顯示的理論分析:利用定時器中斷,設TH0=TH1=(65536-50000)/256,即每0.05秒中斷一次。每到第20次中斷即過了20*0.05秒=1秒時,使時間的計數值減1,便實現了倒計時的功能。

宿州學院本科生畢業設計

基于單片機AT89C51的交通燈控制器的設計

3.1.2 交通燈狀態顯示的理論分析

狀態燈顯示的理論分析:黃燈閃爍同樣可以利用定時器中斷。每到第10次中斷即過了10*0.05秒=0.5秒時,使黃燈標志位反置,即可讓黃燈1秒閃爍一次。

3.2 系統主程序設計

本系統采用AT89C51單片機實現交通燈的控制,程序的編寫用C語言來完成。系統控制程序可以分為若干模塊:初始化程序,按鍵開關控制程序,交通燈轉換控制程序,LED數碼管顯示程序,按鍵消抖動程序,延時程序,中斷服務子程序等。系統相應的程序流程如圖所示。

圖10 程序流程圖

宿州學院本科生畢業設計

基于單片機AT89C51的交通燈控制器的設計

4.系統的 Proteus軟件仿真

4.1 Proteus仿真圖

交通燈控制系統的仿真是通過 proteus 軟件實現的交通燈控制系統仿真效果,仿真如下圖9所示:

圖11 仿真圖

4.2 Proteus仿真的結果分析

Proteus仿真實現東西方向和南北方向的十字路口的車輛相互交替通過,東西方向(主干道)每次通行時間設置為60秒、南北方向(次干道)通行時間設置為50秒。同時可以實現紅燈、黃燈、綠燈各狀態之間的相互轉換,黃燈閃爍時間設置為10秒,數碼管可以準確進行倒計時顯示。按下東西放行鍵K0,東西方向(主干道)綠燈亮,南北方向(次干道)紅燈亮;按下南北放行鍵K1,南北方向(次干道)綠燈亮,東西方向(主干道)紅燈亮;無論在任何時候按下返回鍵K2,該控制系統都將返回到初始狀態;若遇緊急情況,按下緊急情況按鍵K3,東西南北方向都亮紅燈,實現主干道和支干道全部禁止通行;模擬了控制交通燈東西方向(主干道)通行,南北方向(次干道)通行,返回,緊急情況各個交通燈工作情況之間相互轉化,實現了課程設計的要求。宿州學院本科生畢業設計

基于單片機AT89C51的交通燈控制器的設計

結束語

通過這次畢業設計,使我受益匪淺。使我在軟硬件結合的綜合運用能力上有了進一步的提升,對課堂上所學的單片機知識有了進一步的加深和鞏固,在C語言的掌握方面也向前邁了一大步,在老師和同學的幫助下,提高了個人分析解決實際問題的綜合能力以及協同合作的能力,同時還鍛煉了我查閱資料的能力、動手能力、發現問題、解決問題的能力。面對電腦搜索資料,一點點,一塊塊的電路慢慢拼成完整的電路經過一次次的反復修改終于設計出了屬于自己的程序和電路,雖然還有諸多不足之處,不過使自己真正的體會到了探索事物的奧秘的快樂,同時自己也更深入的了解到了單片機的巨大的潛力,雖然有的時候可能遇到了一些困難,但是我最終解決了,我也會感覺到成功給我帶來的喜悅,我知道我在專業知識上的掌握還是遠遠不夠的,我還要更加努力的去學習,提高自己了實踐能力。

宿州學院本科生畢業設計

基于單片機AT89C51的交通燈控制器的設計

參考文獻

[1] 楊素行.模擬電子技術[M].北京:高等教育出版社.2006 [2] 余孟嘗.數字電子技術[M].北京:高等教育出版社. 2006 [3] 邱關源,羅先覺.電路[M].北京:高等教育出版社.2011 [4] 張毅剛.單片機原理及應用[M].北京:高等教育出版社.2011 [5] 凌志浩.AT89C52單片機原理與接口技術[M].北京:高等教育出版社.2011 [6] 郭循釗,鄺帆.基于單片機的多功能交通燈控制系統設計與仿真實現[J].公路交通技術.2010 [7] 劉日華,宋海.基于單片機的交通燈設計[J].科技致富向導.2012 [9] 高文慶,呂英英. 基于AT89C51單片機的數字秒表設計[J]. 電腦知識與技術.2012 [10] 譚浩強著,C程序設計 第三版[M].清華大學出版社.2006 [11] 彭虎,周佩玲. 微機原理與接口技術[M].電子工業出版社.2011 [12] GUO Haili.Design of Traffic Light Control System Based on Proteus and Single-chip Computer.Journal of Hengshui University[J].2012 [13] Tang Jing-nan, Qin Shen .Development and Examples of 51 Microcontroller's C Language [M].Posts & Telecom Press.2008

宿州學院本科生畢業設計

基于單片機AT89C51的交通燈控制器的設計

致 謝

本畢業設計在胡波和劉明老師的親切關懷和悉心指導以及同學們的熱心幫助下完成的。感謝他們在此次畢業設計過程中給予我的悉心指導與各方面的幫助,他們給了我許多非常有益的建議和意見,使我在思路上得到了很大的啟發,從中認識到了自己存在的不足,并且學到了很多非常寶貴的知識。同時也要感謝系里其它同學和我的朋友在設計中給我提供的幫助和支持。總的來說,這次設計給了我一個很好的鍛煉機會,讓我學到了很多東西,讓我將自己所掌握的理論知識切實運用于工作和生活實踐中,這不僅有利于加深對書本知識的理解和鞏固,而且在很大程度上提高了我們在理論知識的指導下觀察、分析和解決問題的能力。最后,再次向所有幫助過我的老師、同學表示衷心的感謝!謝謝你們!宿州學院本科生畢業設計

基于單片機AT89C51的交通燈控制器的設計

附錄:程序源代碼

/*#include */ #include #define uchar unsigned char uchar duanma[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};uchar code weima[4]={0x0D,0x0E,0x07,0x0B};uchar code deng[4]={0xDE,0xDD,0xF3,0xEB};char SN=50,WE=60;char SN_G=50,WE_G=40,Y=10;uchar i,k=0,count=0;void delayms(uchar ms);void light();void led();sbit K0=P3^7;sbit K1=P3^6;sbit K2=P3^3;sbit K3=P3^5;/*程序初始化*/ void init(void){ /*12MHz */ TMOD=0x01;TH1=(65536-50000)/256;/*0x3C*/ TL1=(65536-50000)%256;/*0xB0*//*計50000個數,用時50ms*/ IT0=1;/*外部中斷0為邊沿觸發方式*/ ET0=1;/*允許T0中斷*/ TR0=1;/*啟動計數器*/ EA=1;/*CPU開放總中斷*/ EX0=1;/*允許外部中斷0中斷,即允許響應端口P3^2(K4)中斷*/ EX1=1;/*允許外部中斷1中斷,即允許響應端口P3^3(K2)中斷*/ } /*延時ms毫秒*/ void delayms(uchar ms)

code 宿州學院本科生畢業設計

基于單片機AT89C51的交通燈控制器的設計

{ uchar i;

while(ms--){ {} for(i=0;i<200;i++)}

} /*中斷0處理程序*/ void int0(void)interrupt 0 { EA=0;/*CPU禁止響應一切中斷*/ P1=0xF6,P0=duanma[0];/*東西南北方向均紅燈亮,P0口輸出0*/

{ P2=weima[0],P0=duanma[(SN_G+Y)%10];/*南北方向數碼管顯示可通行 while(1)/*無條件循環*/ 時間的個位*/ delayms(10);/*延時*/

P2=weima[1],P0=duanma[(SN_G+Y)/10];/*南北方向數碼管顯示可通行 delayms(10);/*延時*/ 時間的十位*/ P2=weima[2],P0=duanma[(WE_G+Y)%10];/*東西方向數碼管顯示可通行時間的個位*/ delayms(10);/*延時*/

P2=weima[3],P0=duanma[(WE_G+Y)/10];/*東西方向數碼管顯示可通行時間的十位*/

/*設置南北方向通行時間*/ if(K0==0)/*P3^7=0*/ { delayms(10);/*延時*/ 17 宿州學院本科生畢業設計

基于單片機AT89C51的交通燈控制器的設計

delayms(20);/*延時,把抖動的時間拋掉*/ if(K0==0)*/ { } SN_G++;/*南北方向綠燈時間+1*/ if(SN_G==100)SN_G=0;/*由于使用的是兩位數碼管,當南北方向綠燈時間加到100后清零*/ }

} /*設置東西方向通行時間*/ if(K1==0)/*P3^6=0*/ { { while(K0==0)/*當松開K0開關時,跳出空循環,執行后面的程序 delayms(20);/*延時,把抖動的時間拋掉*/ if(K1==0){ while(K1==0)/*當松開K1開關時,跳出空循環,執行后面的程序*/ { } WE_G++;/*東西方向綠燈時間+1*/ if(WE_G==100)WE_G=0;/*由于使用的是兩位數碼管,當東西方向綠燈時間加到100后清零*/ }

} /*返回*/ if(K3==0)/*P3^5=0*/ delayms(20);/*延時,把抖動的時間拋掉*/ if(K3==0){ { 18 宿州學院本科生畢業設計

基于單片機AT89C51的交通燈控制器的設計

while(K3==0)/*當松開K3開關時,跳出空循環,執行后面的程

{ } count=0;/*清零*/ k=0;/*南北方向通車,東西方向不通車*/ SN=SN_G,WE=SN_G+Y;/*南北方向顯示時間為南北方向綠燈通行序*/ 時間,東西方向顯示時間為南北方向綠燈通行時間加黃燈閃亮時間*/ light();/*調用交通燈函數*/

led();/*調用數碼管函數*/ EA=1;/*CPU開放總中斷*/

break;/*跳出*/ }

} } } /*中斷1處理程序*/ {

P1=0xF6,P0=duanma[0];/*東西南北方向均紅燈亮,P0口輸出0*/ TR0=!TR0;/*計數器停止工作*/ {/*數碼管掃描程序,*/ P2=weima[0];/*顯示南北方向個位*/ delayms(10);/*延時*/ delayms(10);/*延時*/ P2=weima[2];/*顯示東西方向個位*/ delayms(10);/*延時*/ P2=weima[3];/*顯示東西方向十位*/ delayms(10);/*延時*/ /*返回*/ EA=0;/*CPU禁止響應一切中斷*/ while(1)/*無條件循環*/

void int1(void)interrupt 2 P2=weima[1];/*顯示南北方向十位*/ if(K3==0)/*P3^5=0*/ { 19 宿州學院本科生畢業設計

基于單片機AT89C51的交通燈控制器的設計

delayms(20);/*延時,把抖動的時間拋掉*/

if(K3==0){ while(K3==0)/*當松開K3開關時,跳出空循環,執行后面的程序*/

{ } TR0=!TR0;/*啟動計數器*/ EA=1;/*CPU開放總中斷*/

break;/*跳出*/

}

} } } /*鍵盤程序*/ void key(){ /*南北有車而東西無車*/ if(K0==0)/*K0=0*/ { delayms(20);/*延時,把抖動的時間拋掉*/ if(K0==0){ while(K0==0)/*當松開K0開關時,跳出循環,執行后面的程序*/ { light();/*調用交通燈函數*/ led();/*調用數碼管函數*/ } count=0;/*清零*/ k=0;/*南北方向通車,東西方向不通車*/ SN=SN_G,WE=SN_G+Y;/*南北方向顯示時間為南北方向綠燈通行時間,東西方向顯示時間為南北方向綠燈通行時間加黃燈閃亮時間*/ light();/*調用交通燈函數*/ led();/*調用數碼管函數*/ } }

宿州學院本科生畢業設計

基于單片機AT89C51的交通燈控制器的設計

/*南北無車而東西有車*/ if(K1==0)/*K1=0*/ { delayms(20);/*延時,把抖動的時間拋掉*/ if(K1==0){ while(K1==0)/*當松開K1開關時,跳出循環,執行后面的程序*/ { light();/*調用交通燈函數*/ led();/*調用數碼管函數*/ } count=0;/*清零*/ k=1;/*南北方向不通車,東西方向通車*/ SN=WE_G+Y,WE=WE_G;/*南北方向顯示時間為東西方向綠燈通行時間加黃燈閃亮時間,東西方向顯示時間為東西方向綠燈通行時間*/ light();/*調用交通燈函數*/

} /*定時函數*/ void time1(void)interrupt 1 {

TH0=0x3c;TL0=0xb0;/*計50000個數,用時50ms*/ count++;/*自增運算*/ if(count>=20)/*當count大于或等于20時,歷時1s,執行程序*/ { SN--;/*自減運算*/ WE--;/*自減運算*/ count=0;/*清零*/ if(SN==0||WE==0)/*當SN=0或者WE=0時,執行程序*/ { } led();/*調用數碼管函數*/ } k++;/*自增運算*/ if(k>3)/*當k>3時,執行程序*/ 21 宿州學院本科生畢業設計

基于單片機AT89C51的交通燈控制器的設計

k=0;/*清零*/ switch(k)/*switch 語句*/ { case 0:SN=SN_G,WE=SN_G+Y;break;/*南北方向顯示時間為南北方向綠燈通行時間,東西方向顯示時間為南北方向綠燈通行時間加黃燈閃亮時間*/ case 1:SN=Y,WE=Y;break;/*東西南北方向顯示時間均為黃燈閃亮時間*/ case 2:SN=WE_G+Y,WE=WE_G;break;/*南北方向顯示時間為東西方向綠燈通行時間加黃燈閃亮時間,東西方向顯示時間為東西方向綠燈通行時間*/ case 3:SN=Y,WE=Y;break;/*東西南北方向顯示時間均為黃燈閃亮時間*/ } } } /*交通燈函數*/ void light(){

P1=deng[k];/*交通燈對應著k的值變化*/ if(P1==deng[1]&&count==0)/*當南北方向亮黃燈且count=0時,執行程序*/

{ TH1=(65536-50000)/256;

} TL1=(65536-50000)%256;/*延時50ms*/

P1=0xDF;/*南北方向黃燈熄滅,東西方向亮紅燈*/ } else if(P1==deng[3]&&count==0)/*當東西方向亮黃燈且count=0時,執行程序*/ { TH1=(65536-300000)/256;

TL1=(65536-300000)%256;/*延時50ms*/ P1=0xFB;/*南北方向亮紅燈,東西方向黃燈熄滅*/ 22 宿州學院本科生畢業設計

基于單片機AT89C51的交通燈控制器的設計

} } /*數碼管函數*/ void led(){

} /*主函數*/

void main(void){

init();/*調用程序初始化函數*/ { key();/*調用鍵盤程序*/ light();/*調用交通燈函數*/ led();/*調用數碼管函數*/ } while(1)/*無條件循環*/ P2=weima[0],P0=duanma[SN%10];/*顯示南北方向個位*/ P2=weima[1],P0=duanma[SN/10];/*顯示南北方向十位*/ delayms(10);/*延時*/ P2=weima[2],P0=duanma[WE%10];/*顯示東西方向個位*/ delayms(10);/*延時*/ P2=weima[3],P0=duanma[WE/10];/*顯示東西方向十位*/ delayms(10);/*延時*/ delayms(10);/*延時*/ } 23

第四篇:基于單片機的時鐘控制器設計論文

單片機原理與應用技術課程設計報告

基于單片機控制的時鐘控制器

專業班級: _電氣XX班_ __ 姓

名:__ ___XXX__ ___ 時 間:2013/11/25~12/15 指導教師: XXXX XXX

2013年12月11日

基于單片機控制的時鐘控制器課程設計任務書

1。設計目的與要求

設計出一個基于單片機控制的時鐘控制器。通過向單片機輸入不同的指令可以實現24小時制時鐘的基本顯示和連續的調時,調分和調秒的功能,同時又擴展了整點報時功能。該電路硬件較為簡單、計時精度高、可控性好,可以隨時調整和設定時間,并且調時間的誤差小,操作簡單、通用性強。

(1)基本功能

<1>、顯示:可以顯示時、分和秒

<2>、調時功能:時(0-24)、分和秒(0-60)可以連續可調(2)性能:時間日誤差< 2秒(3)擴展功能 <1>.增加整點報時功能 <2>.增加鬧鐘任意設定功能 2.設計內容

(1)畫出電路原理圖,正確使用邏輯關系;(2)確定元器件及元件參數;(3)進行電路模擬仿真;(4)SCH文件生成與打印輸出; 3.編寫設計報告

寫出設計的全過程,附上有關資料和圖紙,有心得體會。4.答辯

在規定時間內,完成敘述并回答問題。

目錄

摘要...................................................................1 1.引言................................................................1 2.設計目的和要求......................................................1 3.總體設計方案........................................................1 3.1 方案設計要求.......................................................1 3.2 方案設計與論證.....................................................1 3.3 整體設計框圖.......................................................2 3.4 系統設計流程圖.....................................................2 4.設計原理分析........................................................3 4.1 外接晶振電路..................................................3 4.2 復位電路...........................................................3 4.3 數碼管顯示電路.....................................................3 4.4 鍵盤控制電路.......................................................4 4.5 Proteus仿真電路....................................................4 4.6 單片機程序的編寫...................................................5 4.7 電路的檢測.........................................................5 4.8 CAD電路的連接及PCB電路布線并做出電路板............................5 4.9 軟件與硬件的調試...................................................5 5.總結與體會..........................................................5 6.附錄................................................................5 6.1 CAD電路連接圖......................................................5 6.2 PCB電路布線圖......................................................6 6.3 時鐘控制器參考源程序...............................................6 7.參考文獻...........................................................13

基于單片機控制的時鐘控制器 班級:電氣115班 姓名:趙傳陽

摘要:近年來隨著計算機在社會領域的滲透和大規模集成電路的發展,單片機的應用不斷地走向深入,由于它具有功能強,體積小,功耗低,價格便宜,工作可靠,使用方便等特點。本次設計的時鐘控制器是以單片機(AT89C51)為核心,結合相關的元器件(3個2位共陽數碼管,一個發光二極管和一個蜂鳴器)和應用程序(在Proteus軟件和KEIL編譯軟件),構成相應的應用系統。

關鍵詞:單片機 AT89C51 共陽數碼管 發光二極管 蜂鳴器 Proteus軟件 KEIL編譯軟件 中斷

1.引言

隨著科技的發展,電子技術得到了飛速的發展,尤其是單片機的應用更為普遍。單片機的應用已深入眾多技術領域,從軍事、工業到家庭日常生活,單片機因體積小、功能強、價格低廉而得到廣泛應用。在此基礎上,越來越多各式各樣的時鐘也逐漸走進我們的生活,它們設計精巧、方便、耐用、美觀,深得各領域的厚愛。隨著科技的進步,基于單片機控制的時鐘控制器的出現則打破了人們對時鐘的傳統概念,因為數字時鐘不僅可以通過數字直觀地顯示出時間,還可以定時發出各種聲、光、電信號,以啟動各種設備實現實時控制、時間順序控制。該課程設計既有一般時鐘的基本顯示和調整功能,同時又增加了整點報時功能,復位功能及實時時鐘控制功能。

2.設計目的與要求

設計出一個基于單片機控制的時鐘控制器。通過向單片機輸入不同的指令可以實現24小時制時鐘的基本顯示和連續的調時,調分和調秒的功能,同時又擴展了整點報時功能。該電路硬件較為簡單、計時精度高、可控性好,可以隨時調整和設定時間,并且調時間的誤差小,操作簡單、通用性強。

在一個單片機應用系統中,時鐘有兩方面的含義:一是指為保障系統正常工作的基準振蕩定時信號,主要由晶振和外圍電路組成,晶振頻率的大小決定了單片機系統工作的快慢;二是指系統的標準定時時鐘,即定時時間。

本文主要介紹用單片機為核心部件的時鐘控制器,本設計由單片機AT89C51芯片和3個兩位一體的共陽極的數碼管為核心,輔以必要的電路,構成了一個單片機時鐘控制器。基本要求:1.顯示: 可以顯示時、分和秒

2.調時功能:時(0-24)、分和秒(0-60)可以連續可調并進行校準 3.能夠完成時間的顯示、定時鬧鐘、整點報時及復位功能

3.總體設計方案

3.1.方案設計要求

設計制作一個時鐘控制器,要求能實現基本走時,并以數字形式顯示時、分、秒,采用24小時制,能實現校時、校分連續可調、整點報時功能、復位功能以及鬧鐘任意設定功能。3.2方案設計與論證

方案一:采用各種純數字芯片實現數字時鐘的設計。優點:各個模塊功能清晰,電路易于理解實現。缺點:各個模塊功能已定不能進行智能化調整,整體電路太龐大。

方案二:采用 FPGA模塊用硬件語言實現功能。優點:運算速度快,走時精度高,算法簡單。缺點:成本高,大材小用。

方案三:采用單片機最小系統實現功能。優點:電路簡單,能通過程序進行隨機調整并擴展功能,成本低,易于實現。缺點:走時有一定的誤差。

經過綜合考慮成本問題以及電路實現問題,選擇第三種方案實現設計要求。3.3整體設計框圖

整體設計框圖如圖1所示:

4.設計原理分析

4.1外接晶振電路

晶振連接電路圖如圖3,以12MHZ晶振為基準。

圖3 外接晶振電路連接圖

XTAL1、XTAL2:XTAL1是片內振蕩器的反相放大器輸入端,XTAL2則是輸出端,使用外部振蕩器時,外部振蕩信號應直接加到XTAL1,而XTAL2懸空。內部方式時,時鐘發生器對振蕩脈沖二分頻,如晶振為12MHz,時鐘頻率就為6MHz。晶振的頻率可以在1MHz-24MHz內選擇,一般選用12MHZ晶振,電容取30PF左右。4.2復位電路

常用復位電路圖如圖4:

圖4 復位電路連接圖

在振蕩器運行時,有兩個機器周期(24個振蕩周期)以上的高電平出現在此引:腳時,將使單片機復位,只要這個腳保持高電平,51芯片便循環復位。復位后P0-P3口均置1引腳表現為高電平,程序計數器和特殊功能寄存器SFR全部清零。4.3 數碼管顯示電路

二位一體共陽極數碼管電路連接圖如圖5,以PNP三極管為驅動。

圖5 數碼管顯示電路連接圖

4.4 鍵盤控制電路

鍵盤控制電路如圖6。

圖6 時鐘按鍵控制電路圖

通過S1、S2、S3和S4四個按鍵,對時間進行修改和鬧鐘的設置,S0控制鬧鐘的啟動和停止。按下S4鍵顯示鬧鐘,松開后顯示時間;按下S1鍵進入時間修改模式,再按S1鍵時間的時加1,按S3分加1,調整結束后按下S4恢復正常顯示;按下S2鍵進入鬧鐘修改模式,再按S3鍵鬧鐘的時加1,按S3分加1,調整結束后按下S4恢復正常顯示。在按鍵按下和放開時會出現抖動現象。通過延時程序,可以進行去抖動設計。4.5 Proteus仿真電路

整體電路連接圖如圖7:

圖7 整體電路連接圖

4.6 單片機程序的編寫

用KEIL編譯軟件進行程序的設計、編譯并生成可執行文件。4.7 電路的檢測

電路連接完畢后,應用單片機程序燒錄工具進行程序燒錄,然后單擊運行按鈕進行仿真,檢測電路是否有誤。

4.8 CAD電路的連接及PCB電路布線并做出電路板

待仿真電路檢測無誤后,則通過CAD軟件進行電路圖的連接并對元件進行封裝,確定無誤后生成PCB圖進行電路的布線,之后做出電路板進行元件的焊接。4.9 軟件與硬件的調試

單片機應用系統的調試包括硬件和軟件兩部分,但是它們并不能完全分開。一般的方法是排除明顯的硬件故障,再進行綜合調試,排除可能的軟件或硬件故障。

軟件調試是指用仿真軟件進行仿真調試,驗證系統的各項功能;硬件調試即軟件調試成功后,將程序下載至AT89C51芯片中,用焊接好的電路來進行各項功能的驗證與檢測。

需要特別注意的是軟件調試與硬件調試的差異,軟件調試只是初步的估測,硬件的調試才是最真實的。

5總結與體會

經過三周的實習設計,我設計的時鐘控制器實現了它最基本功能,三個星期的緊張實習,讓我獲益非淺,更加熟練的掌握了Proteus軟件、KEIL軟件及CAD軟件的應用,使我看到了自己專業知識的淺薄與不足。通過本次的課程設計,我對單片機這門課程有了更深的了解,單片機課程設計則是人生課程,我學到了很多課堂上無法學到的東西,懂得了學習的不容易,在以后的學習中我會更加努力的去學習和研究,以取得更好的成績。

6.附錄

6.1 CAD電路連線圖如圖8。

圖8 CAD電路連接圖

6.2 PCB電路布線圖如圖9。

圖9 PCB布線電路圖(注:未連線的端口用外接線連接)

6.3 時鐘控制器參考源程序

使用keil軟件編寫源程序 ORG 0000H LJMP START ORG 000BH LJMP TIME;********初始化********* START: MOV SP, #50H MOV 20H,#00H;定義秒

MOV 21H,#00H;定義分 MOV 22H,#00H;定義時

MSTOP1: MOV C,P1.3;P1.3為0時轉移 JNC MSTOP1 LCALL DELAY1;延時

MOV A,50H

INC 50H

CJNE A,#00H,HJ1

LJMP L0 HJ1: MOV C,P1.3 JNC MSTOP1 INC 22H;小時自加一 MOV A,22H CJNE A,#18H,GO12;MOV 22H,#00H;MOV 34H,#00H MOV 35H,#00H LJMP L0 L1: JB P1.1,L2;P1.1=1 MOV C,P1.1 JC L1 LCALL DELAY1;JC L1 MSTOP2: MOV C,P1.1 JNC MSTOP2 LCALL DELAY1;MOV C,P1.1 JNC MSTOP2 INC 21H;MOV A,21H CJNE A,#3CH,GO11;MOV 21H,#00H;MOV 32H,#00H MOV 33H,#00H LJMP L0 GO11: MOV B,#0AH DIV AB MOV 32H,B;MOV 33H,A;LJMP L0 GO12: MOV B,#0AH DIV AB MOV 34H,B;MOV 35H,A;LJMP L0 L2: JB P1.0,L0;P1.0 MOV C,P1.0 JC L2 LCALL DELAY1;MOV C,P1.0 JC L2 STOP1: MOV C,P1.0 JNC STOP1

小時計數循環

復位 時轉移 延時;P1.1=0時轉移 延時 分鐘加一 分鐘計數循環 復位 將A的低4位存入32單元 將A的高4位存入33單元 將A的低4位存入34單元 將A的高4位存入35單元=1時轉移 延時;P1.0=0時轉移

LCALL DELAY1;延時 MOV C,P1.0 JNC STOP1

MOV 50H,#00H LJMP MAIN;*******設置鬧鐘******* SETATIME:LCALL DISPLAY2;調用DISPLAY2顯示鬧鐘 N0: LCALL DISPLAY2 MM2: JB P1.2,N1;P1.2=1時轉移 MOV C,P1.2 JC MM2 LCALL DELAY1;JC MM2 MSTOP3: MOV C,P1.2 JNC MSTOP3 LCALL DELAY1;

LJMP N0 HJ2: MOV C,P1.2 JNC MSTOP3 INC 24H;MOV A,24H CJNE A,#24,GO22;MOV 24H,#00H;MOV 38H,#00H MOV 39H,#00H LJMP N0 N1: JB P1.1,N2;P1.1 MOV C,P1.1 JC N1 LCALL DELAY1;JC N1 MSTOP4: MOV C,P1.1 JNC MSTOP4 LCALL DELAY1;MOV C,P1.1 JNC MSTOP4 INC 23H;MOV A,23H CJNE A,#60,GO21;MOV 23H,#00H;MOV 36H,#00H MOV 37H,#00H LJMP N0 GO21: MOV B,#0AH DIV AB MOV 36H,B;MOV 37H,A;LJMP N0

延時 =0時轉移 延時 小時加一 小時計數循環 復位 =1時轉移 延時 =0時轉移 延時 分鐘加一 分鐘計數循環 復位 將A的低4位存入36單元 將A的高4位存入37單元

;P1.2 MOV A,50H INC 50H CJNE A,#00H,HJ2;P1.1

GO22: MOV B,#0AH DIV AB MOV 38H,B;將A的低4位存入38單元 MOV 39H,A;將A的高4位存入39單元 LJMP N0 N2: JB P1.0 ,N0;P1.0=1時轉移 MOV C,P1.0 JC N2 LCALL DELAY1;延時 MOV C,P1.0 JC N2 STOP2: MOV C,P1.0 JNC STOP2 LCALL DELAY1 MOV C,P1.0 JNC STOP2

MOV 50H,#00H LJMP MAIN;*******鬧鐘判斷***************** TIMEPRO: MOV A,21H MOV B,23H CJNE A,B,BK;判斷定時鬧鐘的分鐘 MOV A,22H MOV B,24H CJNE A,B,BK;判斷定時鬧鐘的小時 SETB 25H.0 MOV C,25H.0 LCALL TIMEOUT;調用TIMEOUT BK:RET;**************喇叭報警***************** TIMEOUT: X1: LCALL BZ;調用喇叭響應程序 CLR 25H.0;調用喇叭響應程序結束 LCALL DELAY;延時 CLR 25H.0 LJMP DISPLAY1 BZ:MOV C,25H.1 MOV P1.6,C CLR P1.7 MOV R7,#0FFH;喇叭響應時間 T2: MOV R6,#0FFH T3: DJNZ R6,T3 DJNZ R7,T2 SETB P1.7 RET;*************顯示鬧鐘時間************ LOOKATIME:LCALL DISPLAY2 MM: JNB P1.0,LOOKATIME LCALL DELAY1 LJMP MAIN DELAY1: MOV R4,#14H;時間延時

0

POP ACC RETI;********顯示子程序********** DISPLAY1: MOV R0,#30H MOV R3,#0FEH MOV A,R3 PLAY1: MOV P2,A MOV A,@R0;取要顯示的數據 MOV DPTR,#DSEG1;指向字形段碼首地址 MOVC A,@A+DPTR CJNE R0,#34H,PA ORL A,#80H PA:CJNE R0,#32H,PB ORL A,#80H PB:CPL A;MOV P0,A;LCALL DL1 MOV P2,#0FFH MOV A,R3;RL A;JNB ACC.6,LD1 INC R0;MOV R3,A LJMP PLAY1 LD1: RET DISPLAY2: PUSH ACC;PUSH PSW MOV R0,#36H MOV R3,#0FBH MOV A,R3

PLAY2: MOV P2,A MOV A,@R0;MOV DPTR,#DSEG1;MOVC A,@A+DPTR CJNE R0,#38H,PP ORL A,#80H PP:CPL A;MOV P0,A;LCALL DL1;MOV P2,#0FFH MOV A,R3;RL A;JNB ACC.6,LD2 INC R0;MOV R3,A LJMP PLAY2;LD2: POP PSW POP ACC;RET;******DELAY*******

查表取字形段碼 指向P0口 判斷是否顯示到最低位 左移一位 緩沖器地址加一 保護現場 取要顯示的數據 指向字形段碼首地址 查表取字形段碼 指向P0口 調用DL1 判斷是否顯示到最低位左移一位 緩沖器地址加一 調用PLAY2 恢復現場

DL1: MOV R7,#20H DL: MOV R6,#20H DL6: DJNZ R6,$ DJNZ R7,DL RET DSEG1: DB 3FH,06H,5BH,4FH,66H;七段碼表 DB 6DH,7DH,07H,7FH,6FH END 7.參考文獻

[1].王建校,楊建國.51系列單片機及C51程序設計.北京:科學出版社, 2002.[2].吳金戊, 沈慶陽等.8051單片機實踐與應用.北京:清華大學出版社, 2002.[3].李建忠.單片機原理及應用(第二版).西安:西安電子科技大學出版社, 2008.2.[4].張毅剛.新編MCS-51單片機應用設計(第3版).哈爾濱: 哈爾濱工業大學出版社, 2006.10.[5].李學禮.基于Proteus的8051單片機實例教程.電子工業出版社出版時間, 2008.6.[6].百度文庫:http://wenku.baidu.com/view/a9243c18fad6195f312ba6d3.html

第五篇:基于C51單片機和PWM調光的LED臺燈設計

摘要

LED臺燈作為LED綠色照明光源產品,作為國家綠色照明推廣使用的產品。在實際的應用中,發現LED燈在周邊亮度大時依然以同一功率發光,存在電能浪費;在周邊亮度小時LED燈不能提供足夠和恰當的光度。本文介紹了以STC89C51為控制核心,通過光敏電阻感應光度,并利用PWM調光技術對LED進行光度的自動調節。同時設置手動控制。該LED臺燈電路簡單,很大程度上節省電能,延長LED燈壽命,適宜閱讀。

關鍵詞

LED臺燈 光度 PID PWM調光 自動調節

原創性聲明

本設計所用到的程序代碼和電路均是來自本團隊,如沒有經過允許,不得復制和轉載。

目錄

前言··············································4 總體方案設計······································5 硬件設計··········································5 軟件設計··········································9 總結·············································12 附錄1:作品照片··································13 附錄2:程序·······································15

前言

LED照明又稱固態照明,作為繼白熾燈、熒光燈后的第三代照明技術,具有節能、環保、安全可靠的特點,固態光源是被業界看好的未來十年替換傳統照明器具極具潛力的新型光源,代表照明技術的未來。發展新固態照明,不僅是照明領域的革命,而且符合當前政府提出的“建設資源節約型和環境友好型社會”的要求。

LED臺燈就是以LED(Light Emitting Diode)即發光二極管為光源的臺燈,LED是一種固態的半導體器件,它可以直接把電轉化為光。LED臺燈是典型的綠色照明光源產品,作為國家綠色照明推廣使用的產品,具有廣闊的應用前景。

在實際的應用中,發現LED燈在周邊亮度大時依然以同一功率發光,存在電能浪費。另外一方面,因為LED的發熱量和電流存在正相關的關系,發熱影響了LED的壽命,所以在不必要的亮度下也減少了LED的壽命。然而,當LED在周邊亮度小時,LED燈不能提供足夠和恰當的光度,這樣又影響了閱讀,造成視覺疲勞。

PWM方法的基本思想就是利用單片機具有的PWM端口,在不改變PWM方波周期的前提下,通過軟件的方法調整單片機的PWM控制寄存器來調整PWM的占空比,從而控制充電電流。本方法所要求的單片機必須具有ADC端口和PWM端口這兩個必須條件,另外ADC的位數盡量高,單片機的工作速度盡量快。在調整充電電流前,單片機先快速讀取充電電流的大小,然后把設定的充電電流與實際讀取到的充電電流進行比較,若實際電流偏小則向增加充電電流的方向調整PWM的占空比;若實際電流偏大則向減小充電電流的方向調整PWM的占空比。

本文介紹了以STC89C51為控制核心,通過光敏電阻感應光度,并利用PWM調光技術對LED進行光度的自動調節。同時設置手動控制。該LED臺燈電路簡單,很大程度上節省電能,延長LED燈壽命,適宜閱讀。

一、總體方案設計

基于C51單片機和PWM調光的LED臺燈以STC89C51作為主控芯片,設置了手動控制和自動控制。在手動控制時,分為三檔,輸出不同的PWM占空比對LED的電流進行控制,從而實現了對光度的手動調節。

在自動控制時,通過ADC0809模擬-數字轉換芯片不斷檢驗光敏電阻的電壓來間接測量感應光度,將電壓和預設的閾值進行對比,調整PWM的占空比對LED的電流進行控制,從而實現了對光度的自動調節。總體框圖如下(圖1.1):

圖1.1

二、硬件設計

硬件設計總體框圖如下:

圖2.0

1、主控電路: 主控電路采用STC89C51作為主MCU。STC89C51是一款八位,片內有ROM/EPROM的單片機,其硬件結構具有功能部件種類全,功能強等特點。這種芯片構成的最小系統簡單、實用﹑可靠。用STC89C51單片機構成最小應用系統時,只要將單片機接上時鐘電路和復位電路即可,如下圖(圖2.1)所示。本設計所選用的晶振為12MHZ,晶振電容為30PF。

圖2.1

2、LED驅動

LED的亮度受電流控制,通過控制電流調節LED燈的亮度。利用公式IL?tONTI可知,利用調整PWM不同的占空比就可以控制電流的大小。電流通斷的變化用NMOS管K2717實現,三極管9014提供驅動K2717的電流,PWM由P2.0輸出,低電平有效。如下圖(圖2.2)所示:

圖2.2

2、手動控制

KEY4變化控制的方式,KEY4為自鎖按鍵,按下為手動控制,彈起為自動控制。手動控制時可以分為三檔,對應與KEY1~3三個按鍵。如下圖(圖2.3)所示:

圖2.3

3、自動控制

<1>光敏電阻反饋部分

光敏電阻器是利用半導體的光電效應制成的一種電阻值隨入射光的強弱而改變的電阻器;入射光強,電阻減小,入射光弱,電阻增大。光敏電阻器一般用于光的測量、光的控制和光電轉換。因此,不斷采集光敏電阻對地的電壓便可以獲知臺燈周邊光強的變化。如下圖(圖2.4)所示:

圖2.4 <2>ADC0809模數轉換部分

ADC 0808和ADC 0809除精度略有差別外(前者精度為8位、后者精度為7位),其余各方面完全相同。它們都是CMOS器件,不僅包括一個8位的逐次逼近型的ADC部分,而且還提供一個8通道的模擬多路開關和通道尋址邏輯,因而有理由把它作為簡單的“數據采集系統”。利用它可直接輸入8個單端的模擬信號分時進行A/D轉換,在多點巡回檢測和過程控制、運動控制中應用十分廣泛。

如下圖(圖2.4)所示,ADC0809的參考電壓設置成5V,時鐘信號通過單片機P3.3口利用定時器中斷輸出。光敏電阻的對地電壓從IN3口輸入,ADC0809將其轉換成數字量后通過OUT1-7輸出,以便單片機進一步處理。

圖2.5

三、軟件設計

1、總體框圖

圖3.1 8

2、主要程序

<1>按鍵掃描

不斷掃描按鍵判斷是手動控制和自動控制。程序代碼:

void keyscan(){

ad();

if(key==1)

//key4松開,a恒為0 ,通過讀c的值確定b的值

{

if(c<0.40)

last=0;

else if((c>=0.40)&&(c<2.0))

last=2;

else if((c>=2.0)&&(c<3.0))

last=5;

else if((c>=3.0)&&(c<4.0))

last=7;

else

last=10;

}

if(key==0)

//key4按下,{

if(key1==0)

{

delayms(10);//去抖

if(key1==0)

last=1;

}

if(key2==0)

{

delayms(10);

if(key2==0)

last=6;

}

if(key3==0)

{

delayms(10);

if(key3==0)

last=10;

}

}

}

手動控制 9

<2>AD轉換

定時器1產生CLK信號,定時時間為2us,亦即CLK周期為0.4us。程地址為011,即IN3口輸入。利用公式getdata*1.0/255*VREV+對數字量進行變化。程序代碼如下:

void ad(){

} ST=0;//關閉轉換 OE=0;//關閉輸出 ST=1;//開啟轉換 ST=0;//關閉轉換 P34=1;//選擇通道0 P35=1;P36=0;while(EOC==0);//判斷是否轉換結束:是則執行以下語句,否則等待 OE=1;//開啟數據輸出允許

getdata=P0;//將數據取走,存放在變量getdata中

OE=0;//關閉輸出

c=getdata*1.0/255*4.85;//電壓值轉換,5V作為參考電壓,分成256 <3>PWM調節

定時器0控制PWM周期和占空比。程序代碼如下: void into(void)interrupt 1 { TH0=(65536-500)/256;TL0=(65536-500)%256;

count++;if(count>CIRCLE)

{ count=1;}

if(count<=last)pwm=0;//占空比,使用反相器應為1 else

pwm=1;

四、總結

基于C51單片機和PWM調光的LED臺燈以STC89C51作為主控芯片,設置了手動控制和自動控制。在手動控制時,分為三檔,輸出不同的PWM占空比實現了對光度的手動調節。在自動控制時,通過ADC0809模擬-數字轉換芯片不斷檢驗光敏電阻的電壓來間接測量感應光度,將電壓和預設的閾值進行對比,調整PWM的占空比實現了對光度的自動調節。該LED臺燈電路簡單,很大程度上節省電能,延長LED燈壽命,適宜閱讀。

同時,在本次課程設計中,主要有以下體會:

1、對LED的驅動有進一步的了解,明白了如何對LED進行規定電流驅動,并通過輸出不同的占空比來調節LED的亮度,從而對LED的耗電進行相應的管理;

2、進一步掌握了AD轉換原理以及相關芯片的應用,通過ADC0809對外界的模擬量進行轉換。

3、培養了自己的團隊意識,能夠比較好的和隊員就項目進行及時的溝通,在分工和整合方面做的不錯。附錄1:作品照片

下載基于單片機實現的調光控制器設計”的心得體會word格式文檔
下載基于單片機實現的調光控制器設計”的心得體會.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    基于單片機的液位控制器設計(合集5篇)

    專業基礎綜合實驗報告 題目:測控技術與儀器專業 姓名:學號:專業班級: 1、總體設計方案 1.1 設計功能及要求 1、利用單片機和傳感器構建一套完整的水位自動控制系統。要求既能......

    數字控制器工程實現

    一種是利用PLC的固定模塊來實現(PLC400的現成模塊);一種是自己編程實現(TDC)自動化控制系統的核心是控制器。控制器的任務是按照一定的控制規律,產生滿足工藝要求的控制信號,以輸出......

    單片機課程設計:汽車ABS控制器模擬測試系統硬件接口設計與實現

    引言: 汽車行駛在路途中遇到突發狀況時進行緊急制動,容易發生側滑,甚至發生掉頭和側翻。相當多的交通事故由此產生。因此在行車制動中,不能讓車輪抱死,進而才不發生側滑和掉頭......

    基于單片機的液位模糊控制器設計論文(最終五篇)

    摘 要:液位控制由于其應用極其普遍,種類繁多,其中不乏一些大型的復雜系統,譬如在石油化工等工業生產中。它主要有以下幾個特點:1、時滯性很大。在大型、復雜的液位控制系統中,當......

    《單片機原理及應用課程設計》節日彩燈控制器的設計

    《單片機原理及應用課程設計》報告 ——節日彩燈控制器的設計 專業:班級: 姓名: 學號:2014年2月 1.課程設計目的 1.1鞏固和加深對單片機原理和接口技術知識的理解; 1.2培養根據......

    單片機數字鐘設計心得體會

    單片機數字鐘設計心得體會 經過一周的課程設計,我收獲頗多,有深刻的心得體會。 實訓讓我們受益匪淺。首先是關于單片機方面的。我們學到了許多關于單片機系統開發的知識,從最......

    基于單片機的恒壓供水系統的設計與實現

    湖南科技大學畢業設計(論文) 題目 作者 學院 專業 學號 指導教師 二〇一一年四月八日 單片機構成的恒壓供水控制系統設計 李鐵雄 信息與電氣工程 自動化 0704020117 沈宏遠老......

    基于單片機的交通燈控制系統設計與實現

    基于單片機的交通燈控制系統設計與實現 目的:本文以AT89S51 單片機為核心器件,設計了多功能交通燈控制系統。 軟件仿真和硬件實現的結果表明該系統具有紅綠燈顯示功能、時間......

主站蜘蛛池模板: 玩弄少妇秘书人妻系列| 精品性高朝久久久久久久| 狠狠色噜噜狠狠狠777米奇888| 亚洲欧美精品无码一区二区三区| 少妇人妻互换不带套| 欧美性猛交xxxxx按摩欧美| 亚洲乱码中文字幕在线| 国产精品国产三级国产av麻豆| 日韩欧美一中文字暮专区| 久久精品人人做人人爽电影蜜月| 国产成人丝袜精品视频app| 无码免费大香伊蕉在人线国产| 久久激情日本亚洲欧洲国产中文| 国产情侣草莓视频在线| 亚洲色偷偷综合亚洲av伊人| 欧美饥渴少妇xxxxx性| 亚洲国产欧美动漫在线人成| 狠狠综合久久综合88亚洲爱文| 2020久久国产综合精品swag| 国产内射在线激情一区| 最新亚洲伦理中文字幕| 亚洲日韩电影久久| 久久亚洲私人国产精品va| 国产成人精品一区二区三区| 人妻无码一区二区三区| 国产av高清无亚洲| 国内精品人妻无码久久久影院导航| 一本色综合亚洲精品蜜桃冫| 18禁裸体动漫美女无遮挡网站| 一二三四视频在线观看日本| 午夜福利麻豆国产精品| 精品无码国产污污污免费| 亚洲女人被黑人巨大进入| 国产高欧美性情一线在线| 99热精品国产三级在线| 亚洲国产天堂一区二区三区| 国产精品自在线拍亚洲另类| 在线视+欧美+亚洲日本| 少妇久久久久久被弄到高潮| 天堂网在线.www天堂在线资源| 国产做无码视频在线观看浪潮|