交通控制系統(tǒng)課程設(shè)計(jì)報(bào)告_第1頁(yè)
交通控制系統(tǒng)課程設(shè)計(jì)報(bào)告_第2頁(yè)
交通控制系統(tǒng)課程設(shè)計(jì)報(bào)告_第3頁(yè)
交通控制系統(tǒng)課程設(shè)計(jì)報(bào)告_第4頁(yè)
交通控制系統(tǒng)課程設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、1主要內(nèi)容 單片微型計(jì)算機(jī)(single chip microcomputer)簡(jiǎn)稱單片機(jī),又稱微控制器(microcontroller unit)或嵌埋式控制器(embeded controller),是將計(jì)算機(jī)的基本部件微型化,使之集成于一塊芯片上的微機(jī)。片內(nèi)含有cpu、rom、ram、并行i/o、串行i/o、定時(shí)器/計(jì)數(shù)器、中斷控制、系統(tǒng)時(shí)鐘及系統(tǒng)總線等。單片機(jī)具有體積小、功耗低、功能強(qiáng)、性價(jià)比高、易于推廣應(yīng)用等顯著優(yōu)點(diǎn)。新型單片機(jī)可承擔(dān)數(shù)據(jù)與數(shù)值分析、信號(hào)處理、機(jī)器人智能控制,以及圖象處理等復(fù)雜任務(wù)。目前,單片機(jī)已在自動(dòng)化裝置、智能化儀表、過(guò)程控制和家用電器等領(lǐng)域得到日益廣泛的應(yīng)用。單

2、片機(jī)交通燈系統(tǒng)的研制,一方面可以改善交通堵塞問(wèn)題,疏導(dǎo)車流,提高道路利用率;另一方面可以節(jié)省交通警力,提高效率。2需求分析 十字路口車輛穿梭,行人熙攘,車行車道,人行人道,有條不紊。那么靠什么來(lái)實(shí)現(xiàn)這井然的秩序呢?靠的就是交通信號(hào)燈的自動(dòng)指揮系統(tǒng)。交通信號(hào)燈控制方式很多,傳統(tǒng)的交通信號(hào)燈控制系統(tǒng)一般由數(shù)字電路構(gòu)成,電路復(fù)雜,體積大成本高。采用單片機(jī)控制交通信號(hào),不僅可以簡(jiǎn)化電路結(jié)構(gòu),降低成本,減小體積,而且根據(jù)主、支干道車流量發(fā)生變化的實(shí)際情況,通過(guò)撥盤(pán)開(kāi)關(guān)可以很方便地進(jìn)行主、支干道通車時(shí)間的設(shè)定。本設(shè)計(jì)是模仿交通燈控制系統(tǒng)設(shè)計(jì)的一個(gè)交通燈控制電路,具有實(shí)用性強(qiáng)、操作簡(jiǎn)單的特點(diǎn)。3設(shè)計(jì)思想 系

3、統(tǒng)硬件的設(shè)計(jì)部分采用at89s52單片機(jī)為核心器件,加以復(fù)位電路,時(shí)序電路構(gòu)成最小系統(tǒng),并通過(guò)驅(qū)動(dòng)電路、數(shù)碼管及晶體管構(gòu)成顯示部分。紅綠燈循環(huán)點(diǎn)亮,倒計(jì)時(shí)剩5秒時(shí)黃燈閃爍警示,紅綠燈信號(hào)通過(guò)p0口輸出,顯示時(shí)間直接通過(guò)單片機(jī)p2口和選擇端送至雙位數(shù)碼管,通過(guò)掃描程序?qū)崿F(xiàn)東西和南北方向數(shù)據(jù)的顯示,同時(shí)能設(shè)置紅、綠燈點(diǎn)亮?xí)r間。4實(shí)現(xiàn)方法交通控制系統(tǒng)主要控制a、b兩車道的交通,以at89s52單片機(jī)為核心芯片,通過(guò)控制三色led的亮滅來(lái)控制各車道的通行,采用0.5s延時(shí)子程序的反復(fù)調(diào)用來(lái)實(shí)現(xiàn)各種定時(shí)時(shí)間。該電路具有電路簡(jiǎn)單,設(shè)計(jì)方便,顯示亮度高,耗電較少,也非常的可靠等特點(diǎn)??傮w設(shè)計(jì)框圖如圖1所示:

4、 圖1 硬件模塊圖整個(gè)過(guò)程流程圖如圖2所示 紅綠燈循環(huán)點(diǎn)亮,倒計(jì)時(shí)剩5秒時(shí)黃燈閃爍警示。初始化東西綠燈放行,倒計(jì)時(shí)40-0秒南北紅燈禁止,倒計(jì)時(shí)45-0秒倒計(jì)時(shí)5秒,東西黃燈閃爍,南北紅燈禁止南北綠燈放行,倒計(jì)時(shí)20-0秒東西紅燈禁止,倒計(jì)時(shí)25-0秒倒計(jì)時(shí)5秒,南北黃燈閃爍,東西紅燈禁止圖2 交通燈流程圖5芯片介紹 圖3 單片機(jī)at89s52at89s52是51系列單片機(jī)的一個(gè)型號(hào),它是atmel公司生產(chǎn)的。at89s52是一個(gè)低電壓,高性能cmos 8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫(xiě)的flash只讀程序存儲(chǔ)器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(ram),器件采用atmel

5、公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)mcs-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和flash存儲(chǔ)單元,功能強(qiáng)大的at89s52單片機(jī)可為您提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場(chǎng)合。at89s52有40個(gè)引腳,32個(gè)外部雙向輸入/輸出(i/o)端口,同時(shí)內(nèi)含2個(gè)外中斷口,3個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,2個(gè)讀寫(xiě)口線,at89s52可以按照常規(guī)方法進(jìn)行編程,但不可以在線編程(s系列的才支持在線編程)。其將通用的微處理器和flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫(xiě)的flash存儲(chǔ)器可有效地降低開(kāi)發(fā)成本。 兼容mcs51指令系統(tǒng) 8k可反復(fù)擦寫(xiě)(1000次)flash rom 32

6、個(gè)雙向i/o口 256x8bit內(nèi)部ram 3個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷 時(shí)鐘頻率0-24mhz 2個(gè)串行中斷 可編程uart串行通道 2個(gè)外部中斷源 共6個(gè)中斷源 2個(gè)讀寫(xiě)中斷口線 3級(jí)加密位 低功耗空閑和掉電模式 軟件設(shè)置睡眠和喚醒功能 at89s52p為40 腳雙列直插封裝的8 位通用微處理器,采用工業(yè)標(biāo)準(zhǔn)的c51內(nèi)核,在內(nèi)部功能及管腳排布上與通用的8xc52 相同,其主要用于會(huì)聚調(diào)整時(shí)的功能控制。功能包括對(duì)會(huì)聚主ic 內(nèi)部寄存器、數(shù)據(jù)ram及外部接口等功能部件的初始化,會(huì)聚調(diào)整控制,會(huì)聚測(cè)試圖控制,紅外遙控信號(hào)ir的接收解碼及與主板cpu通信等。主要管腳有:xtal1(19 腳)和

7、xtal2(18 腳)為振蕩器輸入輸出端口,外接12mhz 晶振。rst/vpd(9 腳)為復(fù)位輸入端口,外接電阻電容組成的復(fù)位電路。vcc(40 腳)和vss(20 腳)為供電端口,分別接+5v電源的正負(fù)端。p0p3 為可編程通用i/o 腳,其功能用途由軟件定義,在本設(shè)計(jì)中,p0 端口(3239 腳)被定義為n1 功能控制端口,分別與n1的相應(yīng)功能管腳相連接,13 腳定義為ir輸入端,10 腳和11腳定義為i2c總線控制端口,分別連接n1的sdas(18腳)和scls(19腳)端口,12 腳、27 腳及28 腳定義為握手信號(hào)功能端口,連接主板cpu 的相應(yīng)功能端,用于當(dāng)前制式的檢測(cè)及會(huì)聚調(diào)整

8、狀態(tài)進(jìn)入的控制功能。6實(shí)現(xiàn)過(guò)程1)晶振電路模塊晶振電路由一個(gè)晶體振蕩器12mhz和兩個(gè)30pf的瓷片電容組成。用于產(chǎn)生單片機(jī)工作所需要的時(shí)鐘信號(hào),而時(shí)序所研究的是指令執(zhí)行中各信號(hào)之間的相互關(guān)系。單片機(jī)本身就如一個(gè)復(fù)雜的同步時(shí)序電路,為了保證同步工作方式的實(shí)現(xiàn),電路應(yīng)在唯一的時(shí)鐘信號(hào)控制下嚴(yán)格地工作。其電路如圖4所示: 圖4 晶振電路圖2)復(fù)位電路模塊 復(fù)位電路是使單片機(jī)的cpu或系統(tǒng)中的其他部件處于某一確定的初始狀態(tài),并從此狀態(tài)開(kāi)始工作,除了進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)由于程序運(yùn)行出錯(cuò)或操作錯(cuò)誤使系統(tǒng)處于死鎖狀態(tài)時(shí),為擺脫困境,也需按復(fù)位電路以重新啟動(dòng)。本設(shè)計(jì)采用的是按鍵復(fù)位電路。其電路如圖5

9、所示: 圖5 復(fù)位電路圖3)主控制系統(tǒng)模塊主控制器采用at89s52,是atmel公司生產(chǎn)的一款性能穩(wěn)定的8位單片機(jī)。at89s52具有1個(gè)8kb的flash程序存儲(chǔ)器,1個(gè)512字節(jié)的ram,4個(gè)8位的雙向可位尋址i/o端口,3個(gè)16位定時(shí)/計(jì)數(shù)器及1個(gè)串行口和6個(gè)向量二級(jí)中斷結(jié)構(gòu)。單片機(jī)的p0口分別用于控制南北及東西的通行燈,p2口和p34-p37口用于4組2位led計(jì)時(shí)器的控制,其主控電路如圖6所示: 圖6 主控電路圖4)交通燈輸出控制模塊道口交通燈指示采用高亮度紅、黃、綠發(fā)光二極管進(jìn)行提示。其圖如圖7所示 圖7 交通指示燈線路圖 當(dāng)r=220歐時(shí),按公式a=(5-1.8)/r計(jì)算,電路

10、中的電流大小應(yīng)為a=14.545ma.由于每個(gè)路口的通行雙向指示處理相同,因此每個(gè)端口應(yīng)具有3a的吸收電流能力。5)時(shí)間顯示電路模塊雙位7段led發(fā)光數(shù)碼管共有10個(gè)引腳,各管腳所對(duì)應(yīng)的數(shù)碼管發(fā)光段如圖8所示 圖8 雙位數(shù)碼管引腳對(duì)應(yīng)圖 道口通行剩余時(shí)間采用高亮紅色7段led發(fā)光數(shù)碼管顯示,采用共陽(yáng)極數(shù)碼管,如用單片機(jī)吸收電流驅(qū)動(dòng),列掃描驅(qū)動(dòng)使用三極管,按每段6ma電流計(jì)算,全顯示字形“8”時(shí),每個(gè)數(shù)碼需6ma*8=48ma,由于時(shí)間顯示每個(gè)道口相同,共需要電流192ma,因此設(shè)計(jì)中也采用了中功率三極管8550.其顯示電路如圖9所示: 數(shù)碼管的10號(hào)及5號(hào)管腳分別接三極管的c端,其它管腳按圖中

11、順序依次接單片機(jī)的p2.0-p2.7端口 圖9 時(shí)間顯示電路模塊7調(diào)試電路調(diào)試是利用開(kāi)發(fā)系統(tǒng)、基本測(cè)試儀器(萬(wàn)用表、示波器等),檢查系統(tǒng)硬件中存在的故障。其調(diào)試可分為靜態(tài)調(diào)試與動(dòng)態(tài)調(diào)試兩步進(jìn)行。靜態(tài)調(diào)試靜態(tài)調(diào)試是在系統(tǒng)未工作時(shí)的一種硬件檢測(cè)。第一步:目測(cè)。檢查外部的各種元件或者是電路是否有斷點(diǎn)。第二步:用萬(wàn)用表測(cè)試。先用萬(wàn)用表復(fù)核目測(cè)中有疑問(wèn)的連接點(diǎn),再檢測(cè)各種電源與地線之間是否有短路現(xiàn)象。第三步:加電檢測(cè)。給板加電,檢測(cè)所有的插座或是器件的電源端是否符合要求的值。第四步:是聯(lián)機(jī)檢查。因?yàn)橹挥杏脝纹瑱C(jī)開(kāi)發(fā)系統(tǒng)才能完成對(duì)用戶系統(tǒng)的調(diào)試。動(dòng)態(tài)調(diào)試動(dòng)態(tài)調(diào)試是在系統(tǒng)工作的情況下發(fā)現(xiàn)和排除系統(tǒng)硬件中存在

12、的器件內(nèi)部故障、器件連接邏輯錯(cuò)誤等的一種硬件檢查。動(dòng)態(tài)調(diào)試的一般方法是由近及遠(yuǎn)、由分到合。由分到合是指首先按邏輯功能將系統(tǒng)硬件電路分為若干塊,當(dāng)調(diào)試電路時(shí),與該元件無(wú)關(guān)的器件全部從系統(tǒng)中去掉,這樣可以將故障范圍限定在某個(gè)局部的電路上。當(dāng)各塊電路無(wú)故障后,將各電路逐塊加入系統(tǒng)中,在對(duì)各塊電路功能及各電路間可能存在的相互聯(lián)系進(jìn)行調(diào)試。由分到合調(diào)試既告完成。由近及遠(yuǎn)是將信號(hào)流經(jīng)的各器件按照距離單片機(jī)的邏輯距離進(jìn)行由近及的分層,然后分層調(diào)試。調(diào)試時(shí),仍采用去掉無(wú)關(guān)元件的方法,逐層調(diào)試下去,就會(huì)定位故障元件了。 軟件調(diào)試軟件調(diào)試是通過(guò)對(duì)擁護(hù)程序的c編程、連接、執(zhí)行發(fā)現(xiàn)程序中存在的語(yǔ)法錯(cuò)誤與邏輯錯(cuò)誤并加以

13、排除糾正的過(guò)程。運(yùn)行程序后,編輯,查看程序是否有邏輯的錯(cuò)誤。 調(diào)試過(guò)程中遇到的問(wèn)題 1)在調(diào)試過(guò)程中出現(xiàn)數(shù)碼管不亮的情況,通過(guò)查詢資料和詢問(wèn)同學(xué),得出出現(xiàn)此種情況是由于單片機(jī)驅(qū)動(dòng)電流太小,故增加三極管起到放大電流的作用。 2)數(shù)碼管的多個(gè)引腳通過(guò)跳線與單片機(jī)多個(gè)端口分別連接,要注意順序正確,且不同跳線之間不能短接,否則會(huì)影響電路實(shí)現(xiàn)。 3)經(jīng)過(guò)多次的測(cè)試與修正,最終實(shí)現(xiàn)了預(yù)期的功能。8 總結(jié) 本次課程設(shè)計(jì)讓我對(duì)以前學(xué)到的理論知識(shí)得到了一次實(shí)際的驗(yàn)證,對(duì)自己已有的知識(shí)有了更進(jìn)一步的理解和認(rèn)識(shí),使我在單片機(jī)的基本原理,單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程,以及在常用編程設(shè)計(jì)思路的掌握上向前邁了一大步。在此,由于

14、能力有限,在課程設(shè)計(jì)中碰到了很多難題,我通過(guò)查閱相關(guān)書(shū)籍,與同學(xué)相互交流探討使問(wèn)題得到了解決。通過(guò)這次單片機(jī)課程設(shè)計(jì),我不僅加深了對(duì)單片機(jī)理論的認(rèn)識(shí),還學(xué)會(huì)了培養(yǎng)自己的創(chuàng)新精神,從而不斷的戰(zhàn)勝自己,超越自己。 9 參考文獻(xiàn)1何利民。mcs-51系列單片機(jī)應(yīng)用統(tǒng)計(jì)。北京:北京航空航天大學(xué)出版社。1999、62周堅(jiān),單片機(jī)c語(yǔ)言輕松入門(mén)。北京:北京航空航天大學(xué)出版社。2006、13樓然苗,李光飛,單片機(jī)課程設(shè)計(jì)指導(dǎo)。北京:北京航空航天大學(xué)出版社。2007、14楊居義。單片機(jī)課程設(shè)計(jì)指導(dǎo)。北京:清華大學(xué)出版社。附錄 #include #define uchar unsigned char #defi

15、ne uint unsigned int #define time 50000 #define on 0 #define off 1sbit red_zhu = p00; /南北 紅燈 sbit yellow_zhu = p01;/南北 黃燈sbit green_zhu = p02; /南北 綠燈 sbit red_zhi = p03; /東西 紅燈sbit yellow_zhi = p04; /東西 黃燈sbit green_zhi = p05; /東西 綠燈sbit p23 = p35;sbit p22 = p34; /東西方向數(shù)碼管位選sbit p21 = p37;sbit p20 =

16、p36; /南北方向數(shù)碼管位選sbit int0_key = p32;sbit int1_key = p33;void display1(uchar,uchar);void display2(uchar,uchar);void delayms(uint k);uchar temp1,temp2,temp3,temp4,temp5,temp6;/*=倒計(jì)時(shí)=*/uchar n = 50,y = 45,z = 50,m = 75,g = 80,u =80;uchar c50ms,t0;uchar seg = 1;uchar flag=0,led_data_temp;void initialt1(v

17、oid) tmod = 0x10; /定時(shí)器0,1工作在方式1th1 = (65536 - time)/256; /相當(dāng)于(65536-time)/256;tl1 = (65536 - time)%256;/初值為time(50ms)tr1 = 1;/開(kāi)定時(shí)器1中斷et1 = 1;/允許定時(shí)器1中斷 et0 = 1;th0 = (65536 - time)/256;tl0 = (65536 - time)%256; ex0 = 1; /允許外部中斷0ie0 = 1;/啟動(dòng)外部中斷0px0 = 1;ex1=1;ie1=1;ea = 1; /開(kāi)總中斷void int0(void) interrup

18、t 0/外中斷0 flag = 0;led_data_temp = p0;t0 = 20;if(!int0_key) delayms(10);if(!int0_key)while(!int0_key);th0 = (65536 - time)/256;tl0 = (65536 - time)%256;tr1 = 0; tr0 = 1;ex0 = 0;ex1 = 0;c50ms = 0;void int1(void) interrupt 2/外部中斷1 t0=15; flag = 1;led_data_temp = p0;if(red_zhu = 0) & (green_zhi = 0)|(ye

19、llow_zhi = 0)&(red_zhu = 0) p0 = 0xff; green_zhu = 0; red_zhi = 0;else /if(red_zhi = 0)&(green_zhu = 0)p0 = 0xff; green_zhi = 0; red_zhu = 0;if(!int1_key) delayms(10);if(!int1_key)while(!int1_key);th0 = (65536 - time)/256;tl0 = (65536 - time)%256;tr1 = 0; tr0 = 1;ex0 = 0;ex1 = 0;c50ms = 0;void isrt0

20、(void) interrupt 1/定時(shí)器0中斷服務(wù)子程序 temp1 = n,temp2 = y,temp3 = z,temp4 = m,temp5 = g,temp6 = u;th0 = (65536 - time)/256;tl0 = (65536 - time)%256; /重裝初值timeyellow_zhu=1; /如果在黃5s時(shí)進(jìn)行熄滅黃燈yellow_zhi=1;if(!flag)p0 = 0xf6;c50ms+;if(c50ms 19) t0-; c50ms = 0;if(t0 = 0) p0 = led_data_temp;n = temp1,y = temp2,z =

21、temp3,m = temp4,g = temp5,u = temp6;tr0 = 0;/禁止定時(shí)器1中斷tr1 = 1;/開(kāi)定時(shí)器1中ex1 = 1;/ex0 = 1;c50ms = 0;return; void isrt1(void) interrupt 3 /定時(shí)器1中斷服務(wù)子程序 th1 = (65536 - time)/256;tl1 = (65536 - time)%256; /重裝初值timec50ms+;if(c50ms 19) n-; m-; y-; z-; g-; u-; c50ms = 0;/*=延時(shí)=*/void delay10us(uchar second)uint

22、i;while(second-) != 0)for(i = 0;i 5;i+)void delayms(uint k) uint i,j; for(i = 0;i k;i+) for(j = 0;j 120;j+);/*=數(shù)碼管控制=*/uchar code discode=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/共陽(yáng)數(shù)碼管0-9代碼 void display1(uchar num1,uchar num2) /控制南數(shù)碼管顯示p2=discodenum1; p21=on; delay10us(10); p21=off; /低位 p2

23、=discodenum2; p20=on; delay10us(10); p20=off; /高位 void display2(uchar num3,uchar num4) /控制東西數(shù)碼管顯示p2 = discodenum3; p23 = on; delay10us(10); p23 = off; /低位p2 = discodenum4; p22 = on; delay10us(10); p22 = off; /高位 /*=主函數(shù)=*/main()/*=初始狀態(tài):東西南北都紅燈=*/ red_zhu=on; red_zhi=on;delayms(1000);red_zhu = off;red_zhi = off; initialt1(); while(1) / 初始化計(jì)時(shí)器 /*=狀態(tài)1:南北綠燈(45s) 東西紅燈(40s)=*/*=狀態(tài)2:南北黃燈(5s) 東西紅燈(5s)=*/red_zhi = on;green_zhu = on;while(n != 0) if(tr0 = 1) display2(t0/10,t0%10);/ 當(dāng)t0=20時(shí)東西、南北紅燈(20s) display1(t0/10,t0%10);/ 當(dāng)t0=15時(shí)東西、南北紅、綠燈交換點(diǎn)亮else if(n = 5)while(z != 0)if(tr0 = 1) display2(t0/10,t0%

溫馨提示

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

評(píng)論

0/150

提交評(píng)論