汽車燈控制器講解_第1頁
汽車燈控制器講解_第2頁
汽車燈控制器講解_第3頁
汽車燈控制器講解_第4頁
汽車燈控制器講解_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、1課題名稱汽車燈控制器課題工作內(nèi)容1) 以單片機為核心, 8255A 處理,最后輸出信號;2) 要求能輸出左轉(zhuǎn),右轉(zhuǎn),倒車,故障,霧燈種信號;3) 輸出信號可以通過按鍵來改變4) 完成系統(tǒng)電路設計;5) 完成系統(tǒng)軟件設計;6) 完成系統(tǒng) Proteus下的仿真。5)完成課程設計報告。指標要求利用8255電路進程安排第 一 天:下達任務、理解課題要求、收集和消化相關資料; 第 二 天 :方案論證和制定,元器件采購; 第三四天: 硬件制作、調(diào)試 第五八天: 軟件設計、調(diào)試第九天:根據(jù)設計內(nèi)容,撰寫設計報告第十天:作品演示、答辯考核主要參考文獻單片機應用系統(tǒng)設計技術 張齊著 電子工業(yè)出版社 單片機原

2、理及應用技術 范力旻 電子工業(yè)出版社 例說 8051 謝亮、陳敵北、 張義和 人民郵電出版社 單片機 C 語言應用 100例 王東鋒 王會良 電子工業(yè)出版社 51系列單片機設計實例 樓然苗 李光飛 北航出版社地點秋白樓 起止日期 2012.6.10-6.23目錄第一章 汽車控制燈的設計 11.1 課程設計的目的 . 11.2 課程設計要求 . 1第二章 設計方案 12.1 系統(tǒng)主要功能 . 12.2 系統(tǒng)硬件構(gòu)成及功能 12.2.1 AT89C52 單片機及其說明 12.2.2 資源分配 . 42.2.3 硬件設計 42.3 軟件設計 6第三章 仿真圖.7第四章 問題與總結(jié)7參考文獻 8附錄一

3、 元器件清單 10附錄二 程序清單 10附錄三 電路原理圖和物圖 10第一章 汽車控制燈的設計本次單片機的控制系統(tǒng)以 AT89C52為控制器;鍵盤為輸入信號,由于 AT89C52本身 的功能強大,汽車轉(zhuǎn)彎燈的驅(qū)動用單片機的驅(qū)動功能來完成。使得單片機的功能得到 了充分的運用; 并且顯示電路從并行 I/O 口輸出,由限流電阻和發(fā)光二極管組成, 低電 平使發(fā)光二極管導通,顯示出相應的轉(zhuǎn)彎信號;為提升了系統(tǒng)的可靠性,本方案中有 故障檢測電路和報警電路,能對每條顯示電路進行現(xiàn)場監(jiān)控,若有故障,發(fā)出報警信 號,具有一定的檢測功能。1.1 課程設計的目的:1、鞏固、 加深和擴大單片機應用的知識面, 提高綜合

4、及靈活運用所學知識解決實際課 題設計的能力。2、培養(yǎng)針對課題需要, 選擇和查閱有關手冊、 圖表及文獻資料的能力, 提高組成系統(tǒng)、 編程、調(diào)試的動腦動手能力。3、通過對課題設計方案的分析、選擇、比較,熟悉運用單片機系統(tǒng)開發(fā)、軟硬件設計 的方法內(nèi)容及步驟。4、掌握 AT89C52,8255A的接口電路,及使用方法。5、熟悉掌握函數(shù)信號發(fā)生器的工作原理。1.2 課程設計要求:1、熟悉組成系統(tǒng)中的實驗模塊原理,畫出實驗原理圖。2、寫出完整的設計任務書:課題的名稱、系統(tǒng)的功能、硬件原理圖、軟件框圖、元件 清單、程序清單、參考文獻。第 2 章 設計方案2.1 系統(tǒng)主要功能汽車轉(zhuǎn)彎燈單片機控制系統(tǒng)電路是由單

5、片機AT89C52、復位、電源、時鐘、 LED顯示電路、故障檢測電路、按鍵電路構(gòu)成。電源電路給控制相關電路提供所需電源; 復位電路供上電或按鍵時復位用。當要求重新啟動單片機或者單片機處于死循環(huán)時, 都可以由此電路來實現(xiàn); 時鐘電路用來產(chǎn)生時鐘脈沖信號, 供工作使用; 通過并行 I/O 口構(gòu)成鍵盤和顯示電路,輸入程序,即可實現(xiàn)汽車轉(zhuǎn)彎燈中各信號燈的功能操作;系 統(tǒng)的可靠性有所提高。2.2 系統(tǒng)硬件構(gòu)成及功能2.2.1 STC89C52 單片機及其說明STC89C52為 8 位通用微處理器圖 1.PDIP 封裝的 AT89C52 引腳圖 采用工業(yè)標準的 C51 內(nèi)核,在內(nèi)部功能及管腳排布上與通用的

6、 8xc52 相同,其 主要用于會聚調(diào)整時的功能控制。功能包括對會聚主 IC 內(nèi)部寄存器、數(shù)據(jù) RAM 及外部接口等功能部件的初始化,會聚調(diào)整控制,會聚測試圖控制,紅外遙控信 號 IR 的接收解碼及與主板 CPU通信等。主要管腳有: XTAL1( 19 腳)和 XTAL2 (18 腳)為振蕩器輸入輸出端口,外接12MHz 晶振。 RST/Vpd( 9 腳)為復位輸入端口,外接電阻電容組成的復位電路。VCC( 40 腳)和 VSS(20 腳)為供電端口,分別接 +5V 電源的正負端。 P0P3 為可編程通用 I/O 腳,其功能用途由 軟件定義,在本設計中, P0 端口( 3239 腳)被定義為

7、N1 功能控制端口,分 別與 N1的相應功能管腳相連接, 13 腳定義為 IR 輸入端, 10 腳和 11 腳定義為 I2C 總線控制端口,分別連接 N1的 SDAS( 18腳)和 SCLS(19腳)端口, 12 腳、27 腳及 28 腳定義為握手信號功能端口,連接主板 CPU 的相應功能端,用于當 前制式的檢測及會聚調(diào)整狀態(tài)進入的控制功能。P0 口P0 口是一組 8 位漏極開路型雙向 I/O 口, 也即地址 / 數(shù)據(jù)總線復用口。 作 為輸出口用時,每位能吸收電流的方式驅(qū)動 8 個 TTL 邏輯門電路,對端口 P0 寫“ 1”時,可作為高阻抗輸入 端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組

8、口線分時轉(zhuǎn)換地址(低 8 位) 和數(shù)據(jù)總線復用,在訪問期間激活內(nèi)部上拉電阻。在 Flash 編程時, P0 口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié), 校驗時,要求外接上拉電阻。P1 口P1 是一個帶內(nèi)部上拉電阻的 8 位雙向 I/O 口, P1 的輸出緩沖級可驅(qū)動 (吸收或輸出電流) 4 個 TTL 邏輯門電路。對端口寫“ 1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可 作輸入口。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低 時會輸出一個電流 (IIL) 。Flash 編程和程序校驗期間, P1 接收低 8 位地址。P2 口P2 是一個帶有內(nèi)部上拉電阻的 8 位雙向 I

9、/O 口, P2 的輸出緩沖級可驅(qū)動 (吸收或輸出電流) 4 個 TTL 邏輯門電路。對端口 P2 寫“ 1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此 時可作輸入口,作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號 拉低時會輸出一個電流 (IIL) 。在訪問外部程序存儲器或 16 位地址的外部數(shù)據(jù)存儲器時, P2 口送出高 8 位地址數(shù)據(jù)。在訪問 8 位地址的外部數(shù)據(jù)存儲器時, P2 口輸出 P2 鎖存器的內(nèi) 容。Flash 編程或校驗時, P2 亦接收高位地址和一些控制信號。P3 口P3 口是一組帶有內(nèi)部上拉電阻的 8 位雙向 I/O 口。 P3 口輸出緩沖級可驅(qū) 動(吸收或輸出電流

10、) 4 個 TTL 邏輯門電路。對 P3 口寫入“ 1”時,它們被內(nèi) 部上拉電阻拉高并可作為輸入端口。此時,被外部拉低的 P3 口將用上拉電阻輸 出電流( IIL )。P3 口除了作為一般的 I/O 口線外,更重要的用途是它的第二功能P3 口還接收一些用于 Flash 閃速存儲器編程和程序校驗的控制信號。RST復位輸入。當振蕩器工作時, RST引腳出現(xiàn)兩個機器周期以上高電平將使單 片機復位。ALE/ PROG當訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低 8 位字節(jié)。一般情況下, ALE 仍以時鐘振蕩頻率的 1/6 輸出固 定的脈沖信號,因此它可對外輸出時鐘

11、或用于定時目的。要注意的是:每當訪問 外部數(shù)據(jù)存儲器時將跳過一個 ALE 脈沖。對 Flash 存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對特殊功能寄存器( SFR)區(qū)中的 8EH 單元的 D0 位置位, 可禁止 ALE 操作。該位置位后,只有一條MOVX 和 MOVC指令才能將 ALE 激活。此外,該引腳會被微弱拉高,單片機 執(zhí)行外部程序時,應設置 ALE 禁止位無效。PSEN程序儲存允許 (PSEN)輸出是外部程序存儲器的讀選通信號,當 STC89C52 由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次PSEN 有效,即輸出兩個脈沖。在此期間,當訪問外部數(shù)據(jù)

12、存儲器,將跳過兩次PSEN信號。EA / VPP外部訪問允許。欲使 CPU 僅訪問外部程序存儲器(地址為0000H FFFFH),EA 端必須保持低電平(接地)。需注意的是:如果加密位 LB1 被編程,復位時內(nèi)部會鎖存 EA 端狀態(tài)。 如 EA端為高電平(接 Vcc 端), CPU 則執(zhí)行內(nèi)部程序存儲器中的指令。Flash 存儲器編程時,該引腳加上 +12V 的編程允許電源 Vpp,當然這必須 是該器件是使用 12V 編程電壓 Vpp。XTAL1振蕩器反相放大器的及內(nèi)部時鐘發(fā)生器的輸入端XTAL2振蕩器反相放大器的輸出端特殊功能寄存器在 STC89C52 片內(nèi)存儲器中, SFE), SFR 的

13、地址空間映象如表 并非所有的地址都被定義,從80H-FFH 共 128 個單元為 特殊功 能寄存 器2 所示。80H FFH 共 128 個字節(jié)只有一部分被定義, 還有相當一部分沒有定義。對沒有定義的單元讀寫將是無效的,讀出的數(shù)值將不確定,而寫入的數(shù)據(jù)也將丟失不應將數(shù)據(jù)“ 1”寫入未定義的單元,由于這些單元在將來的產(chǎn)品中可能賦 予新的功能,在這種情況下,復位后這些單元數(shù)值總是“ 0”。STC89C52除了與 STC89C51所有的定時 / 計數(shù)器 0 和定時 / 計數(shù)器 1 外,還 增加了一個定時 / 計數(shù)器 2。定時 / 計數(shù)器 2 的控制和狀態(tài)位位于 T2CON、 T2MOD, 寄存器對(

14、 RCAO2、H RCAP2L)是定時器 2 在 16 位捕獲方式或 16 位 自動重裝載方式下的捕獲 / 自動重裝載寄存器。數(shù)據(jù)存儲器AT89C52 有 256 個字節(jié)的內(nèi)部 RAM, 80H-FFH 高 128 個字節(jié)與特殊功能寄 存器( SFR)地址是重疊的,也就是高 128 字節(jié)的 RAM 和特殊功能寄存器的地址 是相同的,但物理上它們是分開的。當一條指令訪問 7FH 以上的內(nèi)部地址單元時,指令中使用的尋址方式是不同的,也即尋址方式?jīng)Q定是訪問高 128 字節(jié)RAM 還是訪問特殊功能寄存器。 如果指令是直接尋址方式則為訪問特殊功能 寄存器。 間接尋址指令訪問高 128 字節(jié) RAM,堆棧

15、操作也是間接尋址方式, 所以, 高 128 位數(shù)據(jù) RAM 亦可作為堆棧區(qū)使用。2.2.2 資源分配晶振采用 12MHZ。P1 口的 P1.0-P1.4 分別與四個按鍵連接,分別控制波形切換、 頻率加、頻率減,占空比加,占空比減。P2口與 DAC0832的 D0-D7數(shù)據(jù)輸入端相連。P3 口用來控制 DAC0832的輸入寄存器選擇信號 CS。2.2.2 硬件設計時鐘電路采用單片機內(nèi)部晶振。 如圖 3所示。在 MCS-51系列單片機內(nèi)部有一個高增益反向 放大器,其輸入端為芯片引腳 XTAL1,輸出端為引腳 XTAL2。而在芯片外部 XTAL1和 XTAL2之間跨接晶體振蕩器和微調(diào)電容,形成反饋電

16、路,就構(gòu)成了一個穩(wěn)定的自激振 蕩器。外接晶體(石英或陶瓷,陶瓷的精度不高,但價格便宜)振蕩器以及電容 C1 和 C2構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中, C1 和 C2 的大小會對振蕩器頻 率的高低、振蕩器的穩(wěn)定性、起振的快速性和溫度特性有一定的影響。因此建議在采 用石英晶體振蕩器時 C=30+/-10pF,陶瓷振蕩器時, C=40+/-10pF,典型值為 40pF。在 設計電路板時,振蕩器和電容應盡量安裝得與單片機靠近,以減小寄生電容的存在更 好的保障振蕩器穩(wěn)定、可靠的工作。由多片單片機組成的系統(tǒng)中 部脈沖信號作為各單片機的振蕩,為了各單片機間時鐘信號的同步,常引入統(tǒng)一的外脈沖。將外部

17、震蕩器的信號接至圖 3 時鐘振蕩電路XTAL2內(nèi)部時鐘發(fā)生器的輸入端,而內(nèi)部反向發(fā)大器的輸入端 XTAL1應接地, XTAL2 的邏輯電平不是 TTL阻。因為整個電子鐘只用一塊單片機,不涉及時刻信如圖 4 所示電平,所以需要外接一個上拉電號同步問題,所以此種電路我們VCC外部時鐘信號圖4 外部時鐘源接法復位電路上電復位電路如圖 5 所示,是利用外部復位電路實現(xiàn)。 振蕩器啟動時間不超 過 10ms。在加電情況下,這個電可以使單片機復位。按鍵手動復位又分按鍵脈沖 電平復位和按鍵電平復位,如圖 6,7。電平復位將復位端通過電阻與 Vcc 相連, 按鍵脈沖復位是利用 RC分電路產(chǎn)生正脈沖來達到復位的。

18、 在按鍵電平復位和按鍵 脈沖復位兩種簡單的復位電路中,干擾易串入復位端,在大多數(shù)情況下,不會造 成單片機的錯誤復位,但會引起內(nèi)部寄存器錯誤復位,這里可在復位端引腳上接 一個去藕電容。 需說明的是, 如復位電路中 R、C 的值選擇不當, 使復位時間過長, 單片機將處于循環(huán)復位狀態(tài)。VCC電阻、電容參數(shù)適宜于 6MHz晶振,能保證復位信號與電平持續(xù)時間大于 2 個機器 周期。我們采用按鍵電平復位的方法,電路如圖 7。VCC221KVCCRESETVSSVCC1K 1K22FRESETVSS圖5 上電復位電圖 6 按鍵脈沖復位電路VCC200圖72.3 軟件設計軟件設計 單片機的應用開發(fā),除了保證硬

19、件電路的正確連接以外,更重要的工作是進行軟 件的開發(fā)。單片機與其他微型計算機一樣,若沒有軟件的支持,所設計產(chǎn)品就沒有什 么用途。在開發(fā)時,要掌握一定的程序設計和開發(fā)方法。軟件調(diào)試對應用程序進行排錯調(diào)試就是對已經(jīng)進行過硬件檢查的試驗板和翻譯成機器碼的 應用程序,還要進行聯(lián)合排錯和調(diào)試檢查。目前常用的排錯、調(diào)試方法有兩種,一是 用單片機仿真開發(fā)裝置與試驗板聯(lián)機提供排錯、調(diào)試手段,具體的方法有單步運行、 斷點運行、跟蹤運行、全速運行等。其中單步運行方法是使所編制的程序指令僅執(zhí)行 一條就停止下來,檢查試驗板和應用程序中的錯誤,然后再單步執(zhí)行下一條指令;斷 點運行方法是在程序中設置斷點,使得當程序執(zhí)行到

20、斷點處時停止,供設計者檢查試 驗板和應用程序中的錯誤;跟蹤運行方法是應用程序指令一條一條地執(zhí)行,開發(fā)裝置 攝取運行每一條指令的地址、 單片機各部分數(shù)據(jù)、 I/O 端口等處信息, 供調(diào)試者隨時停 止程序,對各種信息進行檢查和修改;全速運行方法是實時地運行用戶程序,可以檢 查用戶程序最終執(zhí)行結(jié)果,也可用 Vision2 軟件進行程序的調(diào)試 5 。在這次硬件仿真中,應用到了 Proteus 軟件。先打開軟件,找到所需元器件,把 元器件調(diào)入,連線,下載程序到 AT89C52 芯片中,運行,根據(jù)不同的按鍵按下的情況 的不同,可直觀的看到相應的信號燈亮或閃爍。在此,我們可以先把方案在軟件中調(diào) 試,確定方案

21、的可行性以及需要改進的地方,同時,在硬件仿真中,可以很直觀、形 象地看到現(xiàn)象 第三章 仿真圖19U1U2R1R2 100R4R5XTAL1XTAL2RST3833373236313530342933283227P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD739 34D0D1D2D3D4D5D6D72930PSEN ALE EAP2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15127P1.0/T2P1.1/T2EXP1.2P1.3P1.4P1

22、.5P1.6P1.7P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD223623924825263527628101112131415161721 5RDA0A1RESETCSPA0PA1PA2PA3PA4PA5PA6PA7PB0PB1PB2PB3PB4PB5PB6PB7PC0PC1PC2PC3PC4PC5PC6PC7181920232425AT89C521001008255AGND=VSSVCC=VDD第四章 問題與總結(jié)4.1 問題(1) 在繪制電路圖時電路出現(xiàn)錯誤,經(jīng)過觀察和調(diào)整,得以原理圖成功制出。(2) 在編寫

23、程序時程序也出現(xiàn)了問題, 出現(xiàn)許多提示錯誤, 經(jīng)過和同學討論, 最后程序 才成功編寫完成,仿真效果也隨之出來。(3) 本來以為仿真圖出來, 接下來就是簡單的手工問題, 可過程遠比我想象的要復雜的 多,第一次焊了一塊板,差不多快完成時發(fā)現(xiàn)連線連成“蜘蛛網(wǎng)” ,甚是難看,在同學 的建議下我選擇了重新焊,在第二次的焊板過程中發(fā)現(xiàn)第一次焊時有許多地方的引腳 是錯誤,結(jié)果總不會如自己所意料的,第二次焊結(jié)束時所想要的效果還是沒有出來, 當時的心很失落,用電壓表查電路、查看板有無虛焊,在焊完漏掉的線路后效果仍舊 沒出來,我的心更加失望,在快要絕望準備放棄時,我抱著試一試的心理重新燒了一 下程序,結(jié)果出來了,

24、心中的石頭落下了。4.2 總結(jié)本次的設計中利用 STC89C52和 8255A以及放大器完成電路的設計, 用開關來控制 各種波形的發(fā)生及轉(zhuǎn)換,用單片機輸出后,經(jīng)過 8255,最終可以通過 LED觀察。通過這次課程設計,我進一步了解了汽車控制燈的原理,在實際動手操作過程中, 使我接觸了許多我以前沒接觸過的元件,而且重新溫習了剛學不久的匯編語言,使我 學得了許多知識, 使我獲益匪淺。 這次課程設計, 使我的動手能力得到了很大的提高, 更使我們懂得理論知識的重要性,沒有理論的指導一切實際行動都是盲目的,且實際 操作是我們得到的理論知識得到驗證,更能增加對理論知識的理解。參考文獻單片機應用系統(tǒng)設計技術

25、 張齊著 電子工業(yè)出版社 單片機原理及應用技術 范力旻 電子工業(yè)出版社 例說 8051 謝亮、陳敵北、 張義和 人民郵電出版社 單片機 C語言應用 100例 王東鋒 王會良 電子工業(yè)出版社 51系列單片機設計實例 樓然苗 李光飛 北航出版社10附錄附錄 1 元器件清單汽車轉(zhuǎn)彎燈元器件清單如表 4.1名稱汽車轉(zhuǎn)彎燈元器件清單數(shù)量名稱數(shù)LED7限流電阻( 100)6按鍵1電阻( 1K)3下載線接口1上拉電阻( 5.1K)5芯片插座( 40PIN)1電容( 30pF)2電源插針( 2PIN)1電容( 22F)1整流橋1印刷板1三極管( NPN)2電阻( 200)2晶振( 12MHz)1撥碼開關5附錄

26、 2:程序清單#include #include #include #define TRUE 1#define PA8255 XBYTE0x0000#define PB8255 XBYTE0x2000#define COM8255 XBYTE0x6000#include #define TURN_ON_leftLed PA8255=0xfe #define TURN_OFF_leftLed PA8255=0xff #define TURN_ON_rightLed PA8255=0xfd #define TURN_OFF_rightLed PA8255=0xff #define TURN_ON_

27、backLed PA8255=0xfb #define TURN_OFF_backLed PA8255=0xff #define TURN_ON_errLed PA8255=0xf7 #define TURN_OFF_errLed PA8255=0xff10 void time(unsigned int ucMs); void main(void) COM8255=0x82; while(TRUE) while (PB8255=0xfe)PA8255=0xfe; TURN_OFF_leftLed;while (PB8255=0xfd)TURN_ON_rightLed;TURN_OFF_rightLed;while (PB8255=0xfb)TURN_ON_backLed; TURN_OFF_b

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論