單片機原理及應用畢業(yè)課程設計-交通燈控制系統(tǒng)設計_第1頁
單片機原理及應用畢業(yè)課程設計-交通燈控制系統(tǒng)設計_第2頁
單片機原理及應用畢業(yè)課程設計-交通燈控制系統(tǒng)設計_第3頁
單片機原理及應用畢業(yè)課程設計-交通燈控制系統(tǒng)設計_第4頁
單片機原理及應用畢業(yè)課程設計-交通燈控制系統(tǒng)設計_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、?單片機原理及應用?課程設計 - 交通燈控制系統(tǒng)設計 摘 要交通在人們的日常生活中占有重要的地位,隨著人們社會活動的日益頻繁,這點更是表達的淋漓盡致。交通信號燈的出現(xiàn),使交通得以有效管制,對于疏導交通流量、提高道路通行能力,減少交通事故有明顯效果。本系統(tǒng)采用單片機AT89C51為中心器件來設計交通燈控制器,系統(tǒng)實用性強、操作簡單、擴展性強。本設計就是采用單片機模擬十字路口交通燈的各種狀態(tài)顯示以及倒計時時間。本設計系統(tǒng)由單片機I/O口擴展系統(tǒng)、交通燈狀態(tài)顯示系統(tǒng)、LED數(shù)碼顯示系統(tǒng)、緊急情況中斷系統(tǒng)、復位電路等幾大局部組成。系統(tǒng)除根本的交通燈功能外,還具有倒計時、緊急情況處理等功能,較好的模擬實

2、現(xiàn)了十字路口可能出現(xiàn)的狀況。軟件上采用C51編程,主要編寫了主程序,LED數(shù)碼管顯示程序,中斷程序延時程序等。經(jīng)過整機調(diào)試,實現(xiàn)了對十字路口交通燈的模擬。關鍵詞: AT89C51 8255A 74LS164 LED 交通燈 程序目 錄 TOC o 1-3 h z u HYPERLINK l _Toc172023905 任務書 PAGEREF _Toc172023905 h i HYPERLINK l _Toc172023906 摘 要 PAGEREF _Toc172023906 h ii HYPERLINK l _Toc172023907 第一章 緒 論 PAGEREF _Toc1720239

3、07 h 1 HYPERLINK l _Toc172023908 1.1 概述 PAGEREF _Toc172023908 h 1 HYPERLINK l _Toc172023909 1.2 設計目的 PAGEREF _Toc172023909 h 1 HYPERLINK l _Toc172023910 1.3 設計任務和內(nèi)容 PAGEREF _Toc172023910 h 1 HYPERLINK l _Toc172023911 第二章 總體設計及核心器件簡介 PAGEREF _Toc172023911 h 2 HYPERLINK l _Toc172023912 總體設計 PAGEREF _T

4、oc172023912 h 2 HYPERLINK l _Toc172023913 2.2 AT89C51 PAGEREF _Toc172023913 h 2 HYPERLINK l _Toc172023914 2.3 8255A PAGEREF _Toc172023914 h 4 HYPERLINK l _Toc172023915 2.4 74LS164 PAGEREF _Toc172023915 h 5 HYPERLINK l _Toc172023916 2.5 X5045 PAGEREF _Toc172023916 h 7 HYPERLINK l _Toc172023917 第三章 單元

5、電路模塊設計 PAGEREF _Toc172023917 h 11 HYPERLINK l _Toc172023918 復位電路 PAGEREF _Toc172023918 h 11 HYPERLINK l _Toc172023919 晶振電路 PAGEREF _Toc172023919 h 11 HYPERLINK l _Toc172023920 3.4 I/O口擴展電路 PAGEREF _Toc172023920 h 12 HYPERLINK l _Toc172023921 3.5 LED數(shù)碼管顯示電路 PAGEREF _Toc172023921 h 12 HYPERLINK l _Toc

6、172023922 3.6 交通燈狀態(tài)顯示電路 PAGEREF _Toc172023922 h 14 HYPERLINK l _Toc172023923 3.7 緊急情況中斷電路 PAGEREF _Toc172023923 h 15 HYPERLINK l _Toc172023924 3.8 總體設計原理圖及功能介紹 PAGEREF _Toc172023924 h 16 HYPERLINK l _Toc172023925 第四章 軟件編程設計 PAGEREF _Toc172023925 h 17 HYPERLINK l _Toc172023926 4.1 設計思想 PAGEREF _Toc17

7、2023926 h 17 HYPERLINK l _Toc172023927 4.2 程序框圖 PAGEREF _Toc172023927 h 17 HYPERLINK l _Toc172023928 4.3 源程序 PAGEREF _Toc172023928 h 17 HYPERLINK l _Toc172023929 第五章 設計心得和存在問題 PAGEREF _Toc172023929 h 21 HYPERLINK l _Toc172023930 參考文獻 PAGEREF _Toc172023930 h 24第一章 緒 論 概述近年來隨著科技的飛速開展,單片機的應用正在不斷地走向深入,同

8、時帶動傳統(tǒng)控制檢測日新月益更新。在實時檢測和自動控制的單片機應用系統(tǒng)中,單片機往往是作為一個核心部件來使用,僅單片機方面知識是不夠的,還應根據(jù)具體硬件結(jié)構(gòu),以及針對具體應用對象特點的軟件結(jié)合,加以完善。交通信號燈的出現(xiàn),使交通得以有效管制,對于疏導交通流量、提高道路通行能力,減少交通事故有明顯效果。1.2 設計目的1加強對單片機和C51語言的認識,充分掌握和理解設計各局部的工作原理、設計過程、選擇芯片器件、模塊化編程等多項知識。2用單片機模擬實現(xiàn)具體應用,使個人設計能夠真正使用。3把理論知識與實踐相結(jié)合,充分發(fā)揮個人能力,并在實踐中鍛煉。4提高利用已學知識分析和解決問題的能力。5提高實踐動手能

9、力。1.3 設計任務和內(nèi)容結(jié)合教材及參考資料,用AT89C51單片機模擬實現(xiàn)十字路口的交通燈亮滅、倒計時顯示、緊急情況處理等功能。1填寫設計任務書。2進行總體設計,畫出原理圖。3用Protel軟件畫出PCB板并制板。4焊接器件和芯片。5編寫并調(diào)試程序。第二章 總體設計及核心器件簡介整個設計以AT89C51單片機為核心,由I/O口擴展,LED數(shù)碼管顯示,緊急情況中斷電路,watchdog復位電路組成。硬件模塊入圖3-1。AT89C51單片機I/0口擴展LED數(shù)碼管顯示中斷系統(tǒng)復位電路圖21 硬件模塊2.2 AT89C511AT89C51單片機簡介AT89C51是美國ATMEL公司推出的系列單片機

10、,將多種功能的8位CPU與FPEROM快閃可編程/擦除只讀存儲器結(jié)合在一個芯片上,是一種低功耗、高性能的CMOS控制器,為很多嵌入式控制應用提供了非常靈活而又價格適宜的方案,其性能價格比遠高于同類芯片。它與MCS-51指令系統(tǒng)兼容,片內(nèi)FPEROM允許對程序存儲器在線重復編程,也可用常規(guī)的EPROM編程器編程,可循環(huán)寫入/擦除1000次。89C51內(nèi)含4KB的FPEROM,一般的EEPROM的字節(jié)擦除時間和寫入時間根本上均為10ms,對于任一個實時控制系統(tǒng)來說,這樣長的時間是不可能在線修改程序的。圖22 89C51內(nèi)部結(jié)構(gòu)圖與EEPROM相比擬,F(xiàn)PEROM大大縮短了存儲內(nèi)容擦除和寫入的時間,

11、為在線改寫程序提供了極大的方便,而且價格也比帶EPROM87C系列單片機廉價,這更顯示出了89C系列的優(yōu)越性。它還有128*8Bit的片內(nèi)RAM;32根I/O線;2個16位定時/計數(shù)器;5個中斷源;一個全雙工的異步串行口;間歇和掉電工作模式;三級程序存儲器加密;全靜態(tài)工作,晶振工作范圍:0Hz24MHz。2管腳功能AT89C51單片機為40引腳芯片如圖23所示。 = 1 * GB3 I/O口線: P0、P1、P2、P3共四個八位P0口是三態(tài)雙向口, 通稱數(shù)據(jù)總線口, 因為只有該口能直接用于對外部存儲器的讀寫操作。P0口也用以輸出外部存儲器的低8位地址。由于是分時輸出, 故應在外部加鎖存器將此地

12、址數(shù)據(jù)鎖存, 地址鎖存信號用ALE。P1口是專門供用戶使用的I/O口, 是準雙向口。P2口是從系統(tǒng)擴展時作高8位地址線用。不擴展外部存儲器時, P口也可以作為用戶I/O口線使用, P2口也是準雙向口。P3口是雙功能口, 該口的每一位均可獨立地定義為第一I/O 功能或第二I/O功能。作為第一功能使用時操作同P1口。P3口的第二功能如表21。圖2-3 89C51引腳圖 = 2 * GB3 控制口線: PSEN (片外取控制)、AL E( 地址鎖存控制)、EA (片外儲器選擇)、RE2SET (復位控制) ; = 3 * GB3 電源及時鐘: CCC、VSS; XTAL 1, XTAL 2表2-1

13、引腳功能表2.3 8255A8255A是Intel公司生產(chǎn)的可編程輸入輸出接口芯片,它具有3個8位的并I/O口,具有三種工作方式,可通過程序改變其功能,因而使用靈活,通用性強,可作為單片機與多種外圍設備連接時的中間接口電路。8255有三種根本工作方式,PC口被分為兩個局部,上半局部隨PA口稱為A組,下半局部隨PBPA口可工作與方式0、1和2,而PB口只能工作在方式0和1。8255共有40個引腳,采用雙列直插式封裝。其引腳圖如圖2-4所示,各引腳功能如下:圖2-4 8255A引腳圖D0-D7:三態(tài)雙向數(shù)據(jù)線,與單片機數(shù)據(jù)總線連接,用來傳送數(shù)據(jù)信息。CS:片選信號線,低電平有效,表示芯片被選中。R

14、D:讀出信號線,低電平有效,控制數(shù)據(jù)的讀出。WR:寫入信號線,低電平有效,控制數(shù)據(jù)的寫入。Vcc:+5V電源。PA0-PA7:A口輸入/輸出線。PB0-PB7:B口輸入/輸出線。PC0-PC7:C口輸入/輸出線。RESET:復位信號線。A1、A0:地址線,用來選擇8255內(nèi)部端口。GND:地線。2.4 74LS16474LS164引腳定義如圖2-5所示,其真值表如表2-2所示,其功能是將外部輸入的串行數(shù)據(jù)轉(zhuǎn)化為8位的并行數(shù)據(jù)輸出具有鎖寸功能。A、B端為串行數(shù)據(jù)輸入端,QA QH為數(shù)據(jù)輸出端,CLK為外部時鐘輸入端,CLR為清零端。圖2-5 74LS164引腳圖表2-2 74LS164真值表 輸

15、入輸出CLEARCLOCKA BQA QB QHLX X XL L LHL X XQA0 QB0 QH0H H HH QAn QGnH L XL QAn QGnH X LL QAn QGn注 QA0、 QB0、QH0為在穩(wěn)態(tài)輸入條件建立之前QA 、QB 和QH相應的電平;QAn 、QGn 為在最近的時鐘轉(zhuǎn)換前QA或QG的電平,表示移1位。74LS164內(nèi)部功能圖如圖2-6所示:圖2-6 74LS164內(nèi)部功能圖2.5 X5045 X5045是一種集看門狗、電壓監(jiān)控和串行EEPROM 三種功能于一身的可編程電路。這種組合設計減少了電路對電路板空間的需求。X5045中的看門狗對系統(tǒng)提供了保護功能。

16、當系統(tǒng)發(fā)生故障而超過設置時間時,電路中的看門狗將通過RESET信號向CPU 作出反響。X5045提供了三個時間值供用戶選擇使用。它所具有的電壓監(jiān)控功能還可以保護系統(tǒng)免受低電壓的影響,當電源電壓降到允許范圍以下時,系統(tǒng)將復位,直到電源電壓返回到穩(wěn)定值為止。X5045的存儲器與CPU 可通過串行通信方式接口,共有4096個位,可以按512 x 8個字節(jié)來放置數(shù)據(jù)。1 引腳介紹CS/WDI:片選輸入/看門狗復位輸入;SO:串行輸出;WP:寫保護輸入;RESET:復位輸出;SCK:同步時鐘輸入;SI:串行輸入。 圖2-7 X5045引腳圖 Vss:地;Vcc:電源;2 工作原理 2.1 上電復位 向X

17、5045加電時會激活其內(nèi)部的上電復位電路,從而使RESET 引腳有效。該信號可防止系統(tǒng)微處理器在電壓缺乏或振蕩器未穩(wěn)定的情況下工作。當VCC 超過器件的Vtrip門限值時,電路將在200ms典型延時后釋放RESET 以允許系統(tǒng)開始工作。 2.2 低電壓監(jiān)視 工作時, X5045對VCC 電平進行監(jiān)測,假設電源電壓跌落至預置的最小Vtrip以下時,系統(tǒng)即確認RESET,從而防止微處理器在電源失效或斷開的情況下工作。當RESET 被確認后,該RESET 信號將一直保持有效,直到電壓跌到低于1V 。而當VCC 返回并超過Vtrip達200ms時,系統(tǒng)重新開始工作。 2.3 看門狗定時器看門狗定時器的

18、作用是通過監(jiān)視WDI輸入來監(jiān)視微處理器是否激活。由于微處理器必須周期性的觸發(fā)CS/WDI引腳以防止RESET 信號激活而使電路復位,所以CS/WDI引腳必須在看門狗超時時間終止之前受到由高至低信號的觸發(fā)。2.4 重新設置VCC 門限X5045/45出廠時設置的標準VCC 門限電壓為Vtrip,但在應用時,如果標準值不恰當,用戶可以重新調(diào)整。2.5 SPI串行存儲器器件存儲器局部是帶塊鎖保護的CMOS串行EEPROM 陣列,陣列的內(nèi)部組織是x8 位。X5045可提供最少為1000,000次擦寫和100年的數(shù)據(jù)保存期,并具有串行外圍接口SPI和軟件協(xié)議的特點,允許工作在簡單的四總線上。X5045主

19、要是通過一個8 位的指令存放器來控制器件的工作,其指令代碼通過SI輸入端MSB在前寫入存放器。表2-3所列為X5045的指令格式及其操作。表2-3 X5045的指令格式及其操作2.6 時鐘和數(shù)據(jù)時序 當CS變低以后,SI線上的輸入數(shù)據(jù)在SCK 的第一個上升沿時被鎖存。而SO 線上的數(shù)據(jù)那么由SCK的下降沿輸出。用戶可以停止時鐘,然后再啟動它, 以便在它停止的地方恢復操作。在整個工作期間,CS必須為低。2.7 狀態(tài)存放器 狀態(tài)存放器包含四個非易失性狀態(tài)位和兩個易失性狀態(tài)位??刂莆挥糜谠O置看門狗定時器的操作和存儲器的塊鎖保護。狀態(tài)存放器的格式如表2-4缺省值為00H) :表2-4 狀態(tài)存放器格式其

20、中: WIP (Write-In-Progress) 位是易失性只讀位,用于指明器件是否忙于內(nèi)部非易失性寫操作。WIP 位可用RDSR指令讀出。當該位為“1時,表示非易失性寫操作正在進行;為“0時,表示沒有進行寫操作。 WELWrite Enable Latch位用于指出“寫使能鎖存的狀態(tài)。WEL=1時,表示鎖存被設置;WEL=0 表示鎖存已復位。WEL 位是易失性只讀位。可以用WREN指令設置WEL 位;用WRDI指令復位WEL位。 用BLO,BL1Block Lock位可設置塊鎖存保護的范圍。任何被塊鎖保護的存儲器都只能讀出不能寫入。這兩個非易失性位可用WRSR指令來編程,并允許用戶保護E

21、EPROM 陣列的1/4 、1/2、全部或0。參見表2-5 。2-5 受保護的EEPROM陳列地址WD0、WD1 Watchdog Timer位用于選擇看門狗的超時周期。見表2-6 。表2-6 看門狗的超時周期選擇 當用CS 選中器件后,送8 位RDSR指令,并由CLK 信號觸發(fā)即可將狀態(tài)存放器的內(nèi)容從SO 線上讀出。而在寫狀態(tài)存放器時,應先將CS 拉低,然后送WREN指令,再拉高CS。然后再次拉低CS,最后送入WREN指令及對應于狀態(tài)存放器內(nèi)容的8 位數(shù)據(jù)即可。該操作由CS 變高結(jié)束。 WEL位及WP引腳的狀態(tài)對器件內(nèi)的存儲器及狀態(tài)存放器各局部保護的影響如表2-7所列。表2-7 WREN命令

22、和/WP引腳狀態(tài)存放器的影響 第三章 單元電路模塊設計復位方式有多種,但本設計采用看門狗芯片X5045,接線圖如圖3-1所示。 3-1 復位電路原理圖在設定的定時時間內(nèi),89C51必須在/CS/WDI引腳產(chǎn)生一個由高到低的電平變化,以清內(nèi)部定時器,即“喂狗,否那么X5045將產(chǎn)生一個復位信號。晶振電路原理圖如3-2:3-2晶振模塊原理圖選取原那么:傳統(tǒng)做法,但能夠?qū)崿F(xiàn)所需,即最簡單也最是實用。電容選取22uF,晶振為11.0592Hz。3.4 I/O口擴展電路 硬件原理設計圖如圖3-3所示:圖3-3 8255A擴展單片機I/0口電路圖用74LS373鎖存,74LS138譯碼,擴展單片機的I/O

23、口,由原理圖得8255端口地址分配為:A口:0FFD8HB口:0FFD9HC口:0FFDAH3.5 LED數(shù)碼管顯示電路在單片機應用系統(tǒng)中,數(shù)碼管顯示常用兩種方法:靜態(tài)顯示和動態(tài)掃描顯示。所謂靜態(tài)顯示,就是每一個顯示器都要占用單獨的具有鎖存功能的I/O接口用于筆劃段字形代碼。這樣單片機只要把要顯示的字形代碼發(fā)送到接口電路,就不用管它了,直到要顯示新的數(shù)據(jù)時,再發(fā)送新的字形碼,因此,使用這種方法單片機中CPU的開銷小,可以提供單獨鎖存的I/O接口電路很多。所以本設計采用串并轉(zhuǎn)換電路74LS164的靜態(tài)顯示電路。其電路圖如圖3-4所示。 圖3-4 數(shù)碼管顯示靜態(tài)驅(qū)動電路MCS-51單片機串行口方式

24、0為移位存放器方式,外接2片74LS164作為2位LED顯示器的靜態(tài)顯示接口,把89C51的RXD作為數(shù)據(jù)輸出線,TXD作為移位時鐘脈沖。74LS164為TTL單向8位移位存放器,可實現(xiàn)串行輸入,并行輸出。其中A、B第1、2腳為串行數(shù)據(jù)輸入端,2個引腳按邏輯與運算規(guī)律輸入信號,共一個輸入信號時可并接。T第8腳為時鐘輸入端,可連接到串行口的TXD端。每一個時鐘信號的上升沿加到T端時,移位存放器移一位,8個時鐘脈沖過后,8位二進制數(shù)全部移入74LS164中。R第9腳為復位端,當R=0時,移位存放器各位復0,只有當R=1時,時鐘脈沖才起作用。Q1Q8第3-6和10-13引腳并行輸出端分別接LED顯示

25、器的hga各段對應的引腳上。在給出了8個脈沖后,最先進入74LS164的第一個數(shù)據(jù)到達了最高位,然后如果再來一個脈沖,第一個脈沖就會從最高位移出。設計中的2片7LS164首尾相串,而時鐘端那么接在一起,這樣,當輸入8個脈沖時,從單片機RXD端輸出的數(shù)據(jù)就進入到了第一片74LS164中了,而當?shù)诙€8個脈沖到來后,這個數(shù)據(jù)就進入了第二片74LS164,而新的數(shù)據(jù)那么進入了第一片74LS164,這樣首先送出的數(shù)據(jù)被送到了右面的164中,后送入的那么在左面的164中。本設計中采用的是共陰極LED數(shù)碼管,其字形碼如表3-1所示。表3-1 共陰極LED數(shù)碼管字形碼表數(shù)據(jù)位D7D6D5D4D3D2D1D0

26、筆段位ABCDEFGH字形碼0011111107EH10001001012H210111100BCH310110110B6H411010010D2H511100110E6H611101110EEH70011001032H811111110FEH911110110F6H全滅0000000000H3.6 交通燈狀態(tài)顯示電路十字路口的交通燈分布示意圖如圖3-5所示,將這12個交通燈進行編號。圖3-5 十字路口交通燈分布示意圖這12個交通燈共有四個狀態(tài):狀態(tài)1S1:東西紅燈4、10亮,南北綠燈3、9亮狀態(tài)2S2:南北黃燈2、8亮,東西仍為紅燈4、10亮狀態(tài)3S3:南北紅燈1、7亮,東西綠燈6、12亮狀

27、態(tài)4S4:東西黃燈5、11亮,南北仍為紅燈1、7亮對應的硬件原理設計圖如圖3-6所示:圖3-6 交通燈狀態(tài)顯示電路用7407對發(fā)光二極管進行驅(qū)動,圖中電阻R為390歐姆,以保證通過發(fā)光二極管的電流大于工作電流10mA。四種狀態(tài)下發(fā)光二極管與相應端口取值關系見表3-2。表3-2 發(fā)光二極管與相應端口取值關系PB5PB4PB3PB2PB1PB0PA5PA4PA3PA2PA1PA0西紅西綠西黃南紅南綠南黃東紅東綠東黃北紅北綠北黃東西紅燈亮南北綠燈亮0111010111011D1DH東西紅燈亮南北黃燈亮0111100111101E1EH東西綠燈亮南北紅燈亮1010111010112B2BH東西黃燈亮南

28、北紅燈亮1100111100113333h紅燈全亮0110110110111B1BH3.7 緊急情況中斷電路緊急情況中斷處理電路圖如圖3-7所示:圖3-7 緊急情況中斷電路圖當東西向或南北向有特殊情況,比方有救護車通過,開關SW0為低電平那么應使交通燈處于S3東西綠燈、南北,開關SW1為低電平那么應使交通燈處于S1南北向綠燈、東西向紅燈。3.8 總體設計原理圖及功能介紹 整個設計原理圖見附圖。功能介紹在應用電路中,采用8255A對單片機的I/O口進行有效的擴展,從而大大增加了可利用的I/O口資源,使得I/O口很充裕。8255的PA口和PB口接發(fā)光二極管,通過對PA口和PB口的位寫“1或“0來控

29、制發(fā)光二極管的亮、滅,進而模擬顯示出十字路口交通燈的各種狀態(tài)。 LED數(shù)碼管那么用來對各種狀態(tài)進行倒計時的顯示。設計中采用74LS164靜態(tài)驅(qū)動LED數(shù)碼管,利用單片機的RXD作為數(shù)據(jù)的輸出端給164送數(shù)。利用164的移位進行多位的顯示。利用延時程序控制每秒時間,從而控制RXD送數(shù)的時間間隔。緊急情況的處理那么采用查詢加中斷的方式。通過查詢P1.2和P1.3的狀態(tài)來控制外部中斷1,然后進去相應的處理程序。在哪一方向上有緊急情況,那么能通過開關進行中斷,使該方向上為綠燈放行,同時緊急情況報警燈亮。第四章 軟件編程設計4.1 設計思想交通燈根據(jù)其顯示情況可以分為四個狀態(tài),可以通過定時來控制每個狀態(tài)

30、的時間;通過定時也可以向LED數(shù)碼管中每隔1秒送一個數(shù),顯示該狀態(tài)剩余的時間;如果有中斷出現(xiàn)那么進入相應的處理程序:先保存目前的顯示狀態(tài),然后根據(jù)情況顯示處理中的狀態(tài),緊急情況結(jié)束那么恢復到保存的原來狀態(tài)。4.2 程序框圖 主程序框圖和中斷程序框圖分別如圖4-1和4-2所示。程序初始化狀態(tài)1(S1)狀態(tài)2 (S2)狀態(tài)3S3狀態(tài)4S4 圖4-1 主程序框圖 圖4-2 中斷程序框圖4.3 源程序#include #include #include #define uint unsigned int#define uchar unsigned char#define COM8255 XBYTE0

31、xffdb#define PA8255 XBYTE0 xffd8#define PB8255 XBYTE0Xffd9sbit P1_0=P10;sbit P1_2=P12;sbit P1_3=P13;sbit P3_0=P30;sbit P3_1=P31;uchar code table=0 xfc,0 x60,0 xda,0 xf2,0 x66,0 xb6,0 xbe,0 xe0,0 xff,0 xf6,0 x00;void delay_500ms(int x) /*延時子程序*/ int i; for(;x0;x-) for(i=6245;i0;i+) ;void int1_srv(voi

32、d)interrupt 2 using 2 uchar a,b; if(!INT1) a=PA8255; b=PB8255; /*保存A口,B口狀態(tài)*/ if(P1_2=0) PA8255=0 x1d; PB8255=0 x1d; P1_0=0; if(P1_3=0) PA8255=0 x2b; PB8255=0 x2b; P1_0=0; while(!INT1); /*等待開關斷開*/ PA8255=0 xff; PA8255=0 xff; PA8255=a; PB8255=b; /*恢復A口,B口狀態(tài)*/ P1_0=1; void display(uchar x,uchar y) ucha

33、r a2=5,1,4,1,3,1,2,1,1,1,0,1,9,10,8,10,7,10,6,10,5,10,4,10,3,10,2,10,1,10,0,10; uchar i,j; for(i=x;iy;i+) for(j=0;j2;j+) x=aij; SBUF=tablex; dowhile(TI=0); TI=0; delay_500ms(2); void main()SCON=0 x00;P3_0=1;P3_1=1;COM8255=0 x88;SCON=0 x00;EA=1;ET0=1;PX1=1;EX1=1;PA8255=0 x1b;PB8255=0 x1b;delay_500ms(

34、2);while(1) PA8255=0 x1d;/*東西紅,南北綠:12秒*/ PB8255=0 x1d; display(0,12); PA8255=0 x1e; /*東西紅,南北黃:3秒*/ PB8255=0 x1e; display(12,16); PA8255=0 x2b; /*東西綠,南北紅:8秒*/ PB8255=0 x2b; display(5,12); PA8255=0 x33; /*東西黃,南北紅:3秒*/ PB8255=0 x33; display(12,16); PA8255=0 x1d;/*循環(huán)*/ PB8255=0 x1d; 第五章 設計心得和存在問題 通過本次課程

35、設計,我深深的體會到了作為一個硬件工程師的艱辛。即使做一個小小的工程,都需要這么多的辛苦,必須考慮到問題的任何一個細節(jié),否那么最后也將是功敗垂成。 原理圖設計: 當我們選取了這樣一個題目,我們就開始收集相關的各種資料,對題目有個大致的了解,規(guī)劃一下設計的任務將要完成哪些功能。然后就具體的每一項功能應該怎樣具體的設計,例如用什么方法完成這一功能,這種想法是否合理,比擬使用哪個芯片來完成這項功能。經(jīng)過長時間的查閱資料、思索、推敲,最后定出了這次設計的原理圖。PCB板設計:在上學期兩個星期的課程設計中我們從圖書館借來了有關protel軟件使用方面的資料,研究應該怎樣生成正確的網(wǎng)絡表,PCB板的布局,布線,制板等工作。剛開始由于經(jīng)驗缺乏,不知道如何封裝庫里面沒有的器件和芯片而且生成的網(wǎng)絡表又有那么多的線,當時真是一頭霧水,經(jīng)過老師和同學的幫助以及自己的摸索,最后以勉強及格的水準畫出了這次的設計用板。硬件焊接:在拿到板之后,按照老師的要求我們首先檢查了一下板子是否有錯誤,這是一個非常關鍵的步驟,因為當你焊接上器件之后將會很難檢查。結(jié)果發(fā)現(xiàn)了真的還有一些缺乏,比方在畫板的過程中我們居然忘記留出電源接口,還有一些兩根電源線沒有和其他線接到一塊,另外我們給按鍵留的引腳的孔太小了,數(shù)碼管的

溫馨提示

  • 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

提交評論