【正文】
時器初值)定時器/計數(shù)器有4種工作方式,由TMOD中的M0和M1位確定,工作方式不同,計數(shù)長度和計數(shù)方式也不同。 PCB圖第4章 軟件系統(tǒng)設計 編程軟件Keil簡介Keil 是美國Keil Software 公司開發(fā)的基于51內(nèi)核的微處理器軟件開發(fā)平臺。 電路板設計 PROTEL簡介ROTEL是Altium公司在80年代末推出的EDA軟件,在電子行業(yè)的CAD軟件中,它當之無愧地排在眾多EDA軟件的前面,是電子設計者的首選軟件,它較早就在國內(nèi)開始使用,在國內(nèi)的普及率也最高,有些高校的電子專業(yè)還專門開設了課程來學習它,幾乎所有的電子公司都要用到它,許多大公司在招聘電子設計人才時在其條件欄上常會寫著要求會使用PROTEL。(5)設置緊急按鍵用以處理緊急情況。如驅(qū)動5個數(shù)碼管靜態(tài)顯示則需要58=40根I/O端口來驅(qū)動,要知道一個AT89S51單片機可用的I/O端口才32個,實際應用時必須增加譯碼驅(qū)動器進行驅(qū)動,增加了硬件電路的復雜性。共陽極數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管。 復位電路除了進入系統(tǒng)的正常初始化之外,當由于程序運行出錯或操作錯誤使系統(tǒng)處于“死鎖”狀態(tài)時為擺脫困境,也需通過復位操作,重新啟動。 電源電路本設計方案采用 通過USB外接5V直流電源。通常,單片機由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計算機的基本功能部件:中央處理器、存儲器和I/O接口電路等。方案二: 直接在I/O口線上接上按鍵開關(guān)。單片機運算能力強,軟件編程靈活,自由度大。黃燈是警告信號,面對黃燈的車輛不能越過停車線,但車輛已十分接近停車線而不能安全停車時可以進入交叉路口。1858年,在英國倫敦主要街頭安裝了以燃煤氣為光源的紅,藍兩色的機械扳手式信號燈,用以指揮馬車通行。由于缺乏能提高交通狀況、特別是缺乏擁塞網(wǎng)絡交通狀況的實時控制策略,幾乎可以說真正成熟的控制策略仍然不存在。交通信號燈控制方式有很多。城市交通問題是困擾城市發(fā)展、制約城市經(jīng)濟建設的重要因素。交通是社會發(fā)展和人民生活水平提高的基本條件,經(jīng)濟的發(fā)展必然帶來出行的增加,而且在我國汽車工業(yè)正處在起步階段的時期,因此限制車輛的增加不是解決問題的好方法。紅外線紅綠燈當行人踏上對壓力敏感的路面時,它就能察覺到有人要過馬路。 課題設計內(nèi)容本次設計的課題是智能交通燈控制系統(tǒng)的設計,采用的控制芯片是AT89S52,交通型號燈控制系統(tǒng)除了具有一般的紅綠燈顯示功能外,還具有倒計時功能、夜間模式、緊急模式等功能,用PROTEL DXP實現(xiàn)電路原理圖和PCB電路圖的繪制,用KEIL C語言編程,并通過PROTEUS進行仿真。方案三:用七段LED數(shù)碼管完成倒計時顯示,用LED燈作為狀態(tài)燈指示功能。設東西、南北的車流量相同。 AT89S52具有以下標準功能: 8k字節(jié)Flash,256字節(jié)RAM, 32 位I/O 口線,看門狗定時器,2 個數(shù)據(jù)指針,三個16 位 定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口, 片內(nèi)晶振及時鐘電路。 時鐘電路 復位電路RESET為復位端(正脈沖有效,寬度)10ms),RST引腳持續(xù)2個周期高電平將使單片機復位。在平均電流相同的情況下,脈沖工作狀態(tài)可產(chǎn)生比直流工作狀態(tài)較強的亮度。 數(shù)碼內(nèi)部電路圖 驅(qū)動方式由于LED是電流發(fā)光器件,加到LED顯示器上的段碼首先應通過驅(qū)動電路,產(chǎn)生驅(qū)動LED顯示器發(fā)光所需要的驅(qū)動電流,從而顯示出我們想要的數(shù)字。單片機作為整個硬件系統(tǒng)的核心,它既是協(xié)調(diào)整機工作的控制器,又是數(shù)據(jù)處理器。 ISP接口ISP就是在線編程,以往單片機下載程序都需要專門的燒寫器,并且需要把單片機從電路板上拔下來燒寫,燒好再插上,很麻煩。在這一過程中,要充分利用PROTEL所提供的各種原理圖繪制工具、各種編輯功能,來實現(xiàn)我們的目的,即得到一張正確、精美的電路原理圖。 計數(shù)器初值設置定時中斷是為滿足定時或計數(shù)的需要而設計的。于是,CPU暫時中斷當前的工作,轉(zhuǎn)而處理所發(fā)生的事件。當CPU采樣到INT0端出現(xiàn)有效的中斷請求時,再由硬件自動清零。所以在現(xiàn)代化工業(yè)生產(chǎn)中仿真過程是不可或缺的。通過這次設計,我對大學四年所學知識有了進一步的認識,尤其是單片機中的定時計數(shù)器的工作方法,中斷子程序的運用方法,及單片各個端口的用法。sbit B1=P0^0。 //第一位數(shù)碼管顯示 Port=Tab[time1%10]。 //定時器工作在12T模式 TMOD = 0x02。 if(Key1==0) //進入夜間模式按鍵 { EA=0。 //緊急模式只開紅燈 LED_G_B=OFF。 time_A。 //打開黃燈 LED_G_A=OFF。 } if(LED_Y_B==ON) //關(guān)閉B方向,打開A方向 { time_A=G_time。 //重新倒計時 LED_Y_B=OFF。amp。 //倒計B時減一 } if((time_A=2)amp。 //緊急模式只開紅燈 LED_R_A=ON。 //夜間只開黃燈 LED_R_B=OFF。 //填入0xFF到算一次 TR0 = 1。A1=B1=B2=1。//紅綠燈sbit LED_R_A=P1^0。同時,通過這次設計,我發(fā)現(xiàn)了自身的很多不足之處,在以后的學習中,我會不斷的完善自我,不斷進取,使自己在單片機編程這方面有一個大的發(fā)展。仿真成功,證明方案可行,電路設計方案基本無誤,可以進行生產(chǎn)PCB板和元件焊接等后期步驟了。IT0(IT1)=1為脈沖方式(下降沿有效);IT0(IT1)=0為電平方式(低電平有效)。這樣的過程,稱為中斷。當定時時間到或計數(shù)器計數(shù)溢出時,置位相應的標志位,作為向CPU申請中斷請求的標志。網(wǎng)絡表是電路原理圖設計與印制電路板設計之間的一座橋梁,它是電路板自動的靈魂。 ATMEL指定的ISP_10PIN標準接口及其接線方式 LED模擬燈組 采用紅、綠、黃發(fā)光二極管實時模擬控制的路口交通燈。通行方向指示采用紅、綠、黃LED發(fā)光管,用三種顏色指示車輛放行、暫停、禁止,形象直觀。另一種驅(qū)動方法是采用專用芯片,例如744744451MAX7219(專用的帶驅(qū)動器的LED譯碼器)可以實現(xiàn)對BCD碼的譯碼,但不能對大于9的BCD碼進行譯碼。LED數(shù)碼管屬于電流控制型器件,發(fā)光亮度與正向電流成正比,每個字段的工作電流約為10mA左右。確定單片機工作的起始狀態(tài),完成單片機的啟動過程??臻e模式下,CPU 停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工 作。(3) 實現(xiàn)南北東西方向都禁止通行。這種方案既滿足系統(tǒng)功能要求,又減少了系統(tǒng)實現(xiàn)的復雜度。第2章 設計基礎目前設計交通燈的方案有很多,有應用PLC實現(xiàn)對交通燈控制系統(tǒng)的設計,有應用單片機實現(xiàn)對交通信號燈設計。信號燈的出現(xiàn),使交通得以有效管制,對于疏導交通流量、提高道路通行能力,減少交通事故有明顯效果。這就需要依靠除限制需求和提供道路設施之外的其他方法來滿足日益增長的交通需求。城市街道網(wǎng)絡上的交通容量的不斷增加,表明車輛對道路容量的要求仍然很高,短期內(nèi)還不可能改變。在實時檢測和自動控制的單片機應用系統(tǒng)中,單片機往往作為一個核心部件來使用,但是僅單片機方面知識是不夠的,還應根據(jù)具體硬件結(jié)構(gòu),以及與針對具體應用對象的軟件結(jié)合,加以完善,這樣才能夠給人們帶來更有價值的應用。計算機硬件能力與控制軟件能力很不相符,由此造成的影響是很多交通控制策略根本不能實現(xiàn)。對城市交通流進行智能控制,可以使道路暢通,提高交通效率。左右轉(zhuǎn)彎車輛都必須讓合法地正在路口內(nèi)行駛的車輛和過人行橫道的行人優(yōu)先通行。 控制模塊選擇方案方案一:由計數(shù)器74LS161級聯(lián)組成,配合譯碼器和秒脈沖信號發(fā)生器等器件組成交通燈系統(tǒng),整個系統(tǒng)簡單,控制簡單,調(diào)試容易等優(yōu)點。該方案的優(yōu)點是:使用靈活可編程,并且有RAM,及計數(shù)器。相對而言,單片機體積小、重量輕、抗干擾能力強,對環(huán)境的要求不高,并且價格低廉、可靠性高、靈活性高。 AT89S52最小工作系統(tǒng) 電源電路AT89S52單片機的工作電壓都范圍:—, 所以通常給單片機外接5V直流電源。在充電過程中,隨著電容電壓逐步趨近于VCC,RST腳上的電壓最終接近于0,過度過程的長短取決于電阻電容的大小。按能顯示多少個“8”可分為1位、2位、4位等等。靜態(tài)驅(qū)動是指每個數(shù)碼管的每一個段碼都由一個單片的I/O端口進行驅(qū)動,或者使用如BCD碼二十進制譯碼器譯碼進行驅(qū)動。 交通燈設計基本框圖(1)AT89S52單片機作為系統(tǒng)核心器件,通過各個I/O口控制和驅(qū)動整個系統(tǒng);(2)P0口的第一到第四引腳控制數(shù)碼管的位選,然后經(jīng)過三極管輸出高電平傳輸?shù)诫p位共陽數(shù)碼管進行選通,P2口的第一到第七引腳用于控制數(shù)碼管的片選。紅燈表示禁止通行。(5)元器件手動布局。定時器的計數(shù)脈沖來源于單片機內(nèi)部,是對內(nèi)部系統(tǒng)時鐘經(jīng)12分頻后的脈沖計數(shù)。外部中斷請求有兩種信號方式,即脈沖方式和電平方式。本論文中采用的中斷方式為脈沖方式。(2)制作PCB圖時由于排版不當導致生產(chǎn)PCB板廠家退回一次,后經(jīng)聽取老師意見和反復修改終于完成。在設計過程中,我受益匪淺,不僅使我對課本上的知識粗淺認識了更進一步的理解,而且我還積累了很多課本以外的知識,開闊了我的視野,豐富了我的內(nèi)涵,同時還積累了很多寶貴的經(jīng)驗,增強了獨立思考的能力,當然在這過程中也發(fā)現(xiàn)自己還有許多不足之處,但整個過程對我來說就像一個世紀的演練,這對我來說無疑是一筆寶貴的財富。sbit LED_R_B=P1^3。 //第二位數(shù)碼管顯示 Port=Tab[time2/10]。 //打開全局中斷開關(guān) LED_Y_A=OFF。 //夜間只開黃燈 LED_R_A=OFF。 //按鍵去抖動 while(!Key2)。amp。 //打開黃燈 LED_G_B=OFF。 LED_Y_A=OFF。 LED_Y_B=OFF。amp。 flag++。 } } } if(Key2==0) //按下Key2進入禁止模式 { EA=0。}void main(){ init()。delay(60)。A2=B1=B2=1。//數(shù)碼管段碼unsigned char code Tab[]={0x0C,0x3F,0x45,0x25,0x36,0xA4,0x84,0x3D, 0x04,0x24,0x14,0x86,0xCC,0x07,0xC4,0xD4}。另外,制作PCB板也較以前有所進步,在選取元器件時,更是認真的與實際原件相結(jié)合,使之與之相配,而且較易買到。 仿真結(jié)果 在PROTUES中畫好仿真電路之后,待寫好程序就可以對設計進行仿真了。AT89S52單片機中有6個中斷源,通過對IE的某些位置1或清0,允許或禁止某個中斷。 倒計時顯示的理論分析利用定時中斷,設置 TH0=TL0=156,即每100us中斷一次。開始 緊急狀態(tài)子程序按鍵是否按下? 否 是狀態(tài)正常運行所有紅燈亮 按鍵是否按下? 是 狀態(tài)正常運行 緊急狀態(tài)子程序在正常情況下,首先要進行判斷緊急模式控制按鍵是否按下,要是按下則進入緊急模式(所有紅燈亮),否則狀態(tài)正常運行,當進入緊急模式后,再次判斷緊急模式按鍵是否按下,只有再次按下時才能轉(zhuǎn)為正常狀態(tài),否則,仍處于緊急模式(所有紅燈亮)狀態(tài)。原理圖設計系統(tǒng)包括原理圖設計(*.schdoc)原理圖原件庫的設計(*.schlib),印刷電路板的設計系統(tǒng)包括印刷電路板圖的設計(*.pcbdoc)和原件封裝庫的設計(*.pcblib) 電路板設計利用PROTEL設計PCB電路板大體一共分為六步(1)制作原理圖符號庫。: AT89S52單片機引腳圖 顯示元件 在交通信號燈的正上方安裝一個可以顯示綠燈通行時間,紅燈等待時間的顯示電路,采用數(shù)碼管顯示電路是一種很好的方法。缺點是顯示器亮度不如靜態(tài)顯示方式,軟件不斷掃描顯示器要占用單片機較多的時間。在實際應用中,除公共極外,其他各極應串接一個電阻后在接到相應電平?;蛘邞铱找_,單片機默認為1。電容為15—45pF,本設計中使用30pF電容。使用Atmel 公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完 全兼容。故選擇第二種方案。這種方案只顯示有限的符號和數(shù)碼字苻,無法勝任題目要求。紅燈是禁行信號,面對紅燈的車輛必須在交叉口的停車線后停車。紅燈亮表示“停止”,綠燈亮表示“通行”。交通問題已經(jīng)日益成為世界性的難題,城市交通事故、交通阻塞和交通污染問題愈加突出。s lives, while detection technology is increasingly driven by traditional control the realtime detection and automatic control of microputer application system, the microcontroller is often used as a core ponent, but only SCM knowledge is not enough, we should based on the specific hardware architecture, as well as applicationspecific objects and bine software, to be perfect, so as to be able to