

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 1主要內(nèi)容</b></p><p> 單片微型計算機(jī)(Single Chip Microcomputer)簡稱單片機(jī),又稱微控制器</p><p> (Microcontroller Unit)或嵌埋式控制器(Embeded Controller),是將計算機(jī)的基本部件微型化,使之集成于一塊芯片上的微機(jī)。片內(nèi)含有CPU、ROM、RAM
2、、并行I/O、串行I/O、定時器/計數(shù)器、中斷控制、系統(tǒng)時鐘及系統(tǒng)總線等。</p><p> 單片機(jī)具有體積小、功耗低、功能強(qiáng)、性價比高、易于推廣應(yīng)用等顯著優(yōu)點。新型單片機(jī)可承擔(dān)數(shù)據(jù)與數(shù)值分析、信號處理、機(jī)器人智能控制,以及圖象處理等復(fù)雜任務(wù)。目前,單片機(jī)已在自動化裝置、智能化儀表、過程控制和家用電器等領(lǐng)域得到日益廣泛的應(yīng)用。</p><p> 單片機(jī)交通燈系統(tǒng)的研制,一方面可以改善交
3、通堵塞問題,疏導(dǎo)車流,提高道路利用率;另一方面可以節(jié)省交通警力,提高效率。</p><p><b> 2需求分析</b></p><p> 十字路口車輛穿梭,行人熙攘,車行車道,人行人道,有條不紊。那么靠什么來實現(xiàn)這井然的秩序呢?靠的就是交通信號燈的自動指揮系統(tǒng)。交通信號燈控制方式很多,傳統(tǒng)的交通信號燈控制系統(tǒng)一般由數(shù)字電路構(gòu)成,電路復(fù)雜,體積大成本高。采用單片機(jī)
4、控制交通信號,不僅可以簡化電路結(jié)構(gòu),降低成本,減小體積,而且根據(jù)主、支干道車流量發(fā)生變化的實際情況,通過撥盤開關(guān)可以很方便地進(jìn)行主、支干道通車時間的設(shè)定。本設(shè)計是模仿交通燈控制系統(tǒng)設(shè)計的一個交通燈控制電路,具有實用性強(qiáng)、操作簡單的特點。</p><p><b> 3設(shè)計思想 </b></p><p> 系統(tǒng)硬件的設(shè)計部分采用AT89S52單片機(jī)為核心器件,加以復(fù)
5、位電路,時序電路構(gòu)成最小系統(tǒng),并通過驅(qū)動電路、數(shù)碼管及晶體管構(gòu)成顯示部分。</p><p> 紅綠燈循環(huán)點亮,倒計時剩5秒時黃燈閃爍警示,紅綠燈信號通過P0口輸出,顯示時間直接通過單片機(jī)P2口和選擇端送至雙位數(shù)碼管,通過掃描程序?qū)崿F(xiàn)東西和南北方向數(shù)據(jù)的顯示,同時能設(shè)置紅、綠燈點亮?xí)r間。</p><p><b> 4實現(xiàn)方法</b></p><p
6、> 交通控制系統(tǒng)主要控制A、B兩車道的交通,以AT89S52單片機(jī)為核心芯片,通過控制三色LED的亮滅來控制各車道的通行,采用0.5S延時子程序的反復(fù)調(diào)用來實現(xiàn)各種定時時間。</p><p> 該電路具有電路簡單,設(shè)計方便,顯示亮度高,耗電較少,也非常的可靠等特點。</p><p> 總體設(shè)計框圖如圖1所示:</p><p><b> 圖1
7、 硬件模塊圖</b></p><p> 整個過程流程圖如圖2所示</p><p> 紅綠燈循環(huán)點亮,倒計時剩5秒時黃燈閃爍警示。</p><p><b> 圖2 交通燈流程圖</b></p><p><b> 5芯片介紹</b></p><p> 圖3
8、單片機(jī)AT89S52</p><p> AT89S52是51系列單片機(jī)的一個型號,它是ATMEL公司生產(chǎn)的。</p><p> AT89S52是一個低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通
9、用8位中央處理器和Flash存儲單元,功能強(qiáng)大的AT89S52單片機(jī)可為您提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場合。</p><p> AT89S52有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含2個外中斷口,3個16位可編程定時計數(shù)器,2個全雙工串行通信口,2個讀寫口線,AT89S52可以按照常規(guī)方法進(jìn)行編程,但不可以在線編程(S系列的才支持在線編程)。其將通用的微處理器和Flash存儲器結(jié)合在一起,特
10、別是可反復(fù)擦寫的Flash存儲器可有效地降低開發(fā)成本。</p><p> 兼容MCS51指令系統(tǒng) · 8k可反復(fù)擦寫(>1000次)Flash ROM </p><p> · 32個雙向I/O口 · 256x8bit內(nèi)部RAM </p><p> · 3個16位可編程定時/計數(shù)器中斷 · 時鐘頻率0-2
11、4MHz </p><p> · 2個串行中斷 · 可編程UART串行通道 </p><p> · 2個外部中斷源 · 共6個中斷源 </p><p> · 2個讀寫中斷口線 · 3級加密位 </p><p> · 低功耗空閑和掉電模式 · 軟件設(shè)置睡眠和
12、喚醒功能 </p><p> AT89S52P為40 腳雙列直插封裝的8 位通用微處理器,采用工業(yè)標(biāo)準(zhǔn)的C51內(nèi)核,在內(nèi)部功能及管腳排布上與通用的8xc52 相同,其主要用于會聚調(diào)整時的功能控制。功能包括對會聚主IC 內(nèi)部寄存器、數(shù)據(jù)RAM及外部接口等功能部件的初始化,會聚調(diào)整控制,會聚測試圖控制,紅外遙控信號IR的接收解碼及與主板CPU通信等。主要管腳有:XTAL1(19 腳)和XTAL2(18 腳)為振蕩器
13、輸入輸出端口,外接12MHz 晶振。RST/Vpd(9 腳)為復(fù)位輸入端口,外接電阻電容組成的復(fù)位電路。VCC(40 腳)和VSS(20 腳)為供電端口,分別接+5V電源的正負(fù)端。P0~P3 為可編程通用I/O 腳,其功能用途由軟件定義,在本設(shè)計中,P0 端口(32~39 腳)被定義為N1 功能控制端口,分別與N1的相應(yīng)功能管腳相連接,13 腳定義為IR輸入端,10 腳和11腳定義為I2C總線控制端口,分別連接N1的SDAS(18腳)和
14、SCLS(19腳)端口,12 腳、27 腳及28 腳定義為握手信號功能端口,連接主板CPU 的相應(yīng)功能端,用于當(dāng)前制式的檢測及會聚調(diào)整狀態(tài)進(jìn)入的控制功能。</p><p><b> 6實現(xiàn)過程</b></p><p><b> 1)晶振電路模塊</b></p><p> 晶振電路由一個晶體振蕩器12MHZ和兩個30p
15、F的瓷片電容組成。用于產(chǎn)生單片機(jī)工作所需要的時鐘信號,而時序所研究的是指令執(zhí)行中各信號之間的相互關(guān)系。單片機(jī)本身就如一個復(fù)雜的同步時序電路,為了保證同步工作方式的實現(xiàn),電路應(yīng)在唯一的時鐘信號控制下嚴(yán)格地工作。其電路如圖4所示:</p><p><b> 圖4 晶振電路圖</b></p><p><b> 2)復(fù)位電路模塊</b></p
16、><p> 復(fù)位電路是使單片機(jī)的CPU或系統(tǒng)中的其他部件處于某一確定的初始狀態(tài),并從此狀態(tài)開始工作,除了進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)由于程序運行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,為擺脫困境,也需按復(fù)位電路以重新啟動。本設(shè)計采用的是按鍵復(fù)位電路。其電路如圖5所示:</p><p><b> 圖5 復(fù)位電路圖</b></p><p><b&
17、gt; 3)主控制系統(tǒng)模塊</b></p><p> 主控制器采用AT89S52,是ATMEL公司生產(chǎn)的一款性能穩(wěn)定的8位單片機(jī)。AT89S52具有1個8KB的FLASH程序存儲器,1個512字節(jié)的RAM,4個8位的雙向可位尋址I/O端口,3個16位定時/計數(shù)器及1個串行口和6個向量二級中斷結(jié)構(gòu)。</p><p> 單片機(jī)的P0口分別用于控制南北及東西的通行燈,P2口和P
18、3^4-P3^7口用于4組2位LED計時器的控制,其主控電路如圖6所示:</p><p><b> 圖6 主控電路圖</b></p><p> 4)交通燈輸出控制模塊</p><p> 道口交通燈指示采用高亮度紅、黃、綠發(fā)光二極管進(jìn)行提示。其圖如圖7所示</p><p> 圖7 交通指示燈線路圖</p>
19、;<p> 當(dāng)R=220歐時,按公式A=(5-1.8)/R計算,電路中的電流大小應(yīng)為A=14.545mA.由于每個路口的通行雙向指示處理相同,因此每個端口應(yīng)具有3A的吸收電流能力。</p><p> 5)時間顯示電路模塊</p><p> 雙位7段LED發(fā)光數(shù)碼管共有10個引腳,各管腳所對應(yīng)的數(shù)碼管發(fā)光段如圖8所示</p><p> 圖8 雙位
20、數(shù)碼管引腳對應(yīng)圖</p><p> 道口通行剩余時間采用高亮紅色7段LED發(fā)光數(shù)碼管顯示,采用共陽極數(shù)碼管,如用單片機(jī)吸收電流驅(qū)動,列掃描驅(qū)動使用三極管,按每段6mA電流計算,全顯示字形“8”時,每個數(shù)碼需6mA*8=48mA,由于時間顯示每個道口相同,共需要電流192mA,因此設(shè)計中也采用了中功率三極管8550.其顯示電路如圖9所示:</p><p> 數(shù)碼管的10號及5號管腳分別接
21、三極管的C端,其它管腳按圖中順序依次接單片機(jī)的P2.0-P2.7端口</p><p> 圖9 時間顯示電路模塊</p><p><b> 7調(diào)試</b></p><p> 電路調(diào)試是利用開發(fā)系統(tǒng)、基本測試儀器(萬用表、示波器等),檢查系統(tǒng)硬件中存在的故障。其調(diào)試可分為靜態(tài)調(diào)試與動態(tài)調(diào)試兩步進(jìn)行。</p><p>&
22、lt;b> 靜態(tài)調(diào)試</b></p><p> 靜態(tài)調(diào)試是在系統(tǒng)未工作時的一種硬件檢測。</p><p> 第一步:目測。檢查外部的各種元件或者是電路是否有斷點。</p><p> 第二步:用萬用表測試。先用萬用表復(fù)核目測中有疑問的連接點,再檢測各種電源與地線之間是否有短路現(xiàn)象。</p><p> 第三步:加電檢測
23、。給板加電,檢測所有的插座或是器件的電源端是否符合要求的值。</p><p> 第四步:是聯(lián)機(jī)檢查。因為只有用單片機(jī)開發(fā)系統(tǒng)才能完成對用戶系統(tǒng)的調(diào)試。</p><p><b> 動態(tài)調(diào)試</b></p><p> 動態(tài)調(diào)試是在系統(tǒng)工作的情況下發(fā)現(xiàn)和排除系統(tǒng)硬件中存在的器件內(nèi)部故障、器件連接邏輯錯誤等的一種硬件檢查。動態(tài)調(diào)試的一般方法是由近
24、及遠(yuǎn)、由分到合。</p><p> 由分到合是指首先按邏輯功能將系統(tǒng)硬件電路分為若干塊,當(dāng)調(diào)試電路時,與該元件無關(guān)的器件全部從系統(tǒng)中去掉,這樣可以將故障范圍限定在某個局部的電路上。當(dāng)各塊電路無故障后,將各電路逐塊加入系統(tǒng)中,在對各塊電路功能及各電路間可能存在的相互聯(lián)系進(jìn)行調(diào)試。由分到合調(diào)試既告完成。</p><p> 由近及遠(yuǎn)是將信號流經(jīng)的各器件按照距離單片機(jī)的邏輯距離進(jìn)行由近及的分層
25、,然后分層調(diào)試。調(diào)試時,仍采用去掉無關(guān)元件的方法,逐層調(diào)試下去,就會定位故障元件了。</p><p><b> 軟件調(diào)試</b></p><p> 軟件調(diào)試是通過對擁護(hù)程序的C編程、連接、執(zhí)行發(fā)現(xiàn)程序中存在的語法錯誤與邏輯錯誤并加以排除糾正的過程。運行程序后,編輯,查看程序是否有邏輯的錯誤。</p><p> 調(diào)試過程中遇到的問題<
26、/p><p> 1)在調(diào)試過程中出現(xiàn)數(shù)碼管不亮的情況,通過查詢資料和詢問同學(xué),得出出現(xiàn)此種情況是由于單片機(jī)驅(qū)動電流太小,故增加三極管起到放大電流的作用。</p><p> 2)數(shù)碼管的多個引腳通過跳線與單片機(jī)多個端口分別連接,要注意順序正確,且不同跳線之間不能短接,否則會影響電路實現(xiàn)。</p><p> 3)經(jīng)過多次的測試與修正,最終實現(xiàn)了預(yù)期的功能。</p
27、><p><b> 8 總結(jié) </b></p><p> 本次課程設(shè)計讓我對以前學(xué)到的理論知識得到了一次實際的驗證,對自己已有的知識有了更進(jìn)一步的理解和認(rèn)識,使我在單片機(jī)的基本原理,單片機(jī)應(yīng)用系統(tǒng)開發(fā)過程,以及在常用編程設(shè)計思路的掌握上向前邁了一大步。</p><p> 在此,由于能力有限,在課程設(shè)計中碰到了很多難題,我通過查閱相關(guān)書籍,與同
28、學(xué)相互交流探討使問題得到了解決。通過這次單片機(jī)課程設(shè)計,我不僅加深了對單片機(jī)理論的認(rèn)識,還學(xué)會了培養(yǎng)自己的創(chuàng)新精神,從而不斷的戰(zhàn)勝自己,超越自己。</p><p><b> 9 參考文獻(xiàn)</b></p><p> [1]何利民。MCS-51系列單片機(jī)應(yīng)用統(tǒng)計。北京:北京航空航天大學(xué)出版社。1999、6</p><p> [2]周堅,單片機(jī)
29、C語言輕松入門。北京:北京航空航天大學(xué)出版社。2006、1</p><p> [3]樓然苗,李光飛,單片機(jī)課程設(shè)計指導(dǎo)。北京:北京航空航天大學(xué)出版社。2007、1</p><p> [4]楊居義。單片機(jī)課程設(shè)計指導(dǎo)。北京:清華大學(xué)出版社。</p><p><b> 附錄</b></p><p> #include
30、<reg52.h></p><p> #define uchar unsigned char</p><p> #define uint unsigned int</p><p> #define time 50000</p><p> #define on 0</p><p> #define
31、off 1</p><p> sbit RED_ZHU = P0^0; //南北 紅燈 </p><p> sbit YELLOW_ZHU = P0^1;//南北 黃燈</p><p> sbit GREEN_ZHU = P0^2; //南北 綠燈 </p><p> sbit RED_ZHI = P0^3; //東西 紅燈&l
32、t;/p><p> sbit YELLOW_ZHI = P0^4; //東西 黃燈</p><p> sbit GREEN_ZHI = P0^5; //東西 綠燈</p><p> sbit P23 = P3^5;</p><p> sbit P22 = P3^4; //東西方向數(shù)碼管位選</p><p> sb
33、it P21 = P3^7;</p><p> sbit P20 = P3^6; //南北方向數(shù)碼管位選</p><p> sbit int0_key = P3^2;</p><p> sbit int1_key = P3^3;</p><p> void display1(uchar,uchar);</p><p
34、> void display2(uchar,uchar);</p><p> void delayms(uint k);</p><p> uchar temp1,temp2,temp3,temp4,temp5,temp6;</p><p> /*===============倒計時=========================*/</p&g
35、t;<p> uchar N = 50,Y = 45,Z = 50,M = 75,G = 80,U =80;</p><p> uchar C50ms,t0;</p><p> uchar seg = 1;</p><p> uchar flag=0,led_data_temp;</p><p> void Initi
36、alT1(void) </p><p><b> {</b></p><p> TMOD = 0x10; //定時器0,1工作在方式1</p><p> TH1 = (65536 - time)/256; //相當(dāng)于(65536-time)/256;</p><p> TL1 = (65536 - time)%2
37、56;//初值為time(50ms)</p><p> TR1 = 1;//開定時器1中斷</p><p> ET1 = 1;//允許定時器1中斷 </p><p><b> ET0 = 1;</b></p><p> TH0 = (65536 - time)/256;</p><p>
38、; TL0 = (65536 - time)%256;</p><p> EX0 = 1; //允許外部中斷0</p><p> IE0 = 1;//啟動外部中斷0</p><p><b> PX0 = 1;</b></p><p><b> EX1=1;</b></p>&
39、lt;p><b> IE1=1;</b></p><p> EA = 1; //開總中斷</p><p><b> }</b></p><p> void int0(void) interrupt 0//外中斷0</p><p><b> { </b>
40、</p><p><b> flag = 0;</b></p><p> led_data_temp = P0;</p><p><b> t0 = 20;</b></p><p> if(!int0_key) </p><p><b> {</b&
41、gt;</p><p> delayms(10);</p><p> if(!int0_key)</p><p><b> {</b></p><p> while(!int0_key);</p><p> TH0 = (65536 - time)/256;</p>&l
42、t;p> TL0 = (65536 - time)%256;</p><p> TR1 = 0; </p><p><b> TR0 = 1;</b></p><p><b> EX0 = 0;</b></p><p><b> EX1 = 0;</b>&
43、lt;/p><p> C50ms = 0;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> void int1(void) interrupt 2//外部中斷
44、1</p><p><b> { </b></p><p><b> t0=15; </b></p><p><b> flag = 1;</b></p><p> led_data_temp = P0;</p><p> if(((R
45、ED_ZHU == 0) && (GREEN_ZHI == 0))||((YELLOW_ZHI == 0)&&(RED_ZHU == 0)))</p><p><b> {</b></p><p> P0 = 0xff;</p><p> GREEN_ZHU = 0;</p><p>
46、; RED_ZHI = 0;</p><p><b> }</b></p><p> else //if((RED_ZHI == 0)&&(GREEN_ZHU == 0))</p><p><b> {</b></p><p> P0 = 0xff;<
47、;/p><p> GREEN_ZHI = 0;</p><p> RED_ZHU = 0;</p><p><b> }</b></p><p> if(!int1_key) </p><p><b> {</b></p><p> delay
48、ms(10);</p><p> if(!int1_key)</p><p><b> {</b></p><p> while(!int1_key);</p><p> TH0 = (65536 - time)/256;</p><p> TL0 = (65536 - time)%2
49、56;</p><p> TR1 = 0; </p><p><b> TR0 = 1;</b></p><p><b> EX0 = 0;</b></p><p><b> EX1 = 0;</b></p><p> C50ms = 0
50、;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> void ISRT0(void) interrupt 1//定時器0中斷服務(wù)子程序</p><p><b
51、> { </b></p><p> temp1 = N,temp2 = Y,temp3 = Z,temp4 = M,temp5 = G,temp6 = U;</p><p> TH0 = (65536 - time)/256;</p><p> TL0 = (65536 - time)%256; //重裝初值time</p>
52、<p> YELLOW_ZHU=1; //如果在黃5S時進(jìn)行熄滅黃燈</p><p> YELLOW_ZHI=1;</p><p><b> if(!flag)</b></p><p><b> {</b></p><p> P0 = 0xf6;</p>&
53、lt;p><b> }</b></p><p><b> C50ms++;</b></p><p> if(C50ms > 19)</p><p><b> { </b></p><p> t0--; </p><p>
54、 C50ms = 0;</p><p><b> }</b></p><p> if(t0 == 0)</p><p><b> {</b></p><p> P0 = led_data_temp;</p><p> N = temp1,Y = temp2,Z
55、= temp3,M = temp4,G = temp5,U = temp6;</p><p> TR0 = 0;//禁止定時器1中斷</p><p> TR1 = 1;//開定時器1中</p><p><b> EX1 = 1;</b></p><p> //EX0 = 1;</p><p&g
56、t; C50ms = 0;</p><p><b> return;</b></p><p><b> } </b></p><p><b> }</b></p><p> void ISRT1(void) interrupt 3 //定時器1中斷服務(wù)子程序<
57、/p><p><b> { </b></p><p> TH1 = (65536 - time)/256;</p><p> TL1 = (65536 - time)%256; //重裝初值time</p><p><b> C50ms++;</b></p><p>
58、 if(C50ms > 19)</p><p><b> {</b></p><p><b> N--;</b></p><p><b> M--;</b></p><p><b> Y--;</b></p><p>
59、;<b> Z--;</b></p><p><b> G--;</b></p><p><b> U--;</b></p><p> C50ms = 0;</p><p><b> }</b></p><p><b
60、> }</b></p><p> /*=================延時=======================*/</p><p> void Delay10uS(uchar second)</p><p><b> {</b></p><p><b> uint i;&
61、lt;/b></p><p> while((second--) != 0)</p><p><b> {</b></p><p> for(i = 0;i < 5;i++)</p><p><b> {}</b></p><p><b> }
62、</b></p><p><b> }</b></p><p> void delayms(uint k)</p><p><b> {</b></p><p><b> uint i,j;</b></p><p> for(i =
63、 0;i < k;i++)</p><p> for(j = 0;j < 120;j++);</p><p><b> }</b></p><p> /*==================數(shù)碼管控制========================*/</p><p> uchar code disc
64、ode[]=</p><p> {0xC0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共陽數(shù)碼管0-9代碼</p><p> void display1(uchar num1,uchar num2) //控制南數(shù)碼管顯示</p><p><b> {</b></p>&
65、lt;p> P2=discode[num1]; P21=on; Delay10uS(10); P21=off; //低位 </p><p> P2=discode[num2]; P20=on; Delay10uS(10); P20=off; //高位 </p><p><b> }</b></p><p> void di
66、splay2(uchar num3,uchar num4) //控制東西數(shù)碼管顯示</p><p><b> {</b></p><p> P2 = discode[num3]; P23 = on; Delay10uS(10); P23 = off; //低位</p><p> P2 = discode[num4]; P22 = on
67、; Delay10uS(10); P22 = off; //高位 </p><p><b> }</b></p><p> /*===================主函數(shù)=================================*/</p><p><b> main()</b></p>&
68、lt;p><b> {</b></p><p> /*=============初始狀態(tài):東西南北都紅燈==================*/</p><p> RED_ZHU=on;</p><p> RED_ZHI=on;</p><p> delayms(1000);</p><
69、;p> RED_ZHU = off;</p><p> RED_ZHI = off; </p><p> InitialT1(); </p><p><b> while(1)</b></p><p><b> { </b></p><p> // 初
70、始化計時器 </p><p> /*=============狀態(tài)1:南北綠燈(45s) 東西紅燈(40s)==================*/</p><p> /*=============狀態(tài)2:南北黃燈(5s) 東西紅燈(5s)=================*/</p><p> RED_ZHI = on;</p>
71、;<p> GREEN_ZHU = on;</p><p> while(N != 0)</p><p><b> { </b></p><p> if(TR0 == 1) </p><p><b> {</b></p><p> disp
72、lay2(t0/10,t0%10);// 當(dāng)t0=20時東西、南北紅燈(20s)</p><p> display1(t0/10,t0%10);// 當(dāng)t0=15時東西、南北紅、綠燈交換點亮</p><p><b> }</b></p><p><b> else</b></p><p>
73、<b> { </b></p><p> if(N == 5)</p><p><b> {</b></p><p> while(Z != 0)</p><p><b> {</b></p><p> if(TR0 == 1) &
74、lt;/p><p><b> {</b></p><p> display2(t0/10,t0%10);</p><p> display1(t0/10,t0%10);</p><p><b> }</b></p><p><b> else</b&g
75、t;</p><p><b> {</b></p><p> display1(N/10,N%10); // 東西紅燈(5s)</p><p> display2(Z/10,Z%10); // 南北黃燈(5s)</p><p> GREEN_ZHU = off;</p><p>
76、YELLOW_ZHU = on;</p><p><b> } </b></p><p> } </p><p><b> }</b></p><p><b> else</b></p><p>&l
77、t;b> {</b></p><p> display1(N/10,N%10); // 東西紅燈(45s)</p><p> display2(Y/10,Y%10); // 南北綠燈(40s)</p><p><b> }</b></p><p><b> }</b>
78、;</p><p><b> } </b></p><p> GREEN_ZHU = off;</p><p> RED_ZHI = off;</p><p> YELLOW_ZHU = off;</p><p> P0 = 0xff; //數(shù)碼管全關(guān)掉</p><
79、p> Delay10uS(1);</p><p> /*=============狀態(tài)3:東西綠燈(20s) 南北紅燈(25s)==================*/</p><p> /*=============狀態(tài)4:東西黃燈(5s) 南北紅燈(5s)==================*/</p><p> GREEN_ZHI = on;&l
80、t;/p><p> RED_ZHU = on;</p><p> while(G != 0)</p><p><b> { </b></p><p> if(TR0 == 1) </p><p><b> {</b></p><p>
81、; display2(t0/10,t0%10);</p><p> display1(t0/10,t0%10);</p><p><b> }</b></p><p><b> else</b></p><p> { </p><p> if(G
82、== 5)</p><p><b> {</b></p><p> while(U != 0)</p><p><b> {</b></p><p> if(TR0 == 1) </p><p><b> {</b></p>
83、<p> display2(t0/10,t0%10);</p><p> display1(t0/10,t0%10);</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p>
84、<p> display2(G/10,G%10);// 東西黃燈(5s)</p><p> display1(U/10,U%10);// 南北紅燈(5s)</p><p> GREEN_ZHI = off;</p><p> YELLOW_ZHI = on;</p><p><b> }</b&
85、gt;</p><p> } </p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> display2(G/10,G%10);// 東西
86、綠燈(25s)</p><p> display1(M/10,M%10);// 南北紅燈(20s)</p><p><b> } </b></p><p><b> } </b></p><p><b> }</b></p><p>
87、 GREEN_ZHI = off;</p><p> RED_ZHU = off;</p><p> YELLOW_ZHI = off;</p><p> P0 = 0xff; </p><p> Delay10uS(1);</p><p> N =50,Y = 45,Z = 50,M = 75,G = 80
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 交通燈控制系統(tǒng)課程設(shè)計報告
- 交通燈課程設(shè)計---交通控制系統(tǒng)設(shè)計
- eda課程設(shè)計報告--交通燈控制系統(tǒng)設(shè)計
- 交通燈控制系統(tǒng)課程設(shè)計
- 課程設(shè)計--交通燈控制系統(tǒng)
- 課程設(shè)計--交通燈控制系統(tǒng)設(shè)計
- 課程設(shè)計---交通燈控制系統(tǒng)設(shè)計
- 基于plc交通燈控制系統(tǒng)課程設(shè)計報告
- 交通燈控制系統(tǒng)課程設(shè)計
- 交通燈控制系統(tǒng) 課程設(shè)計
- 交通燈控制系統(tǒng)課程設(shè)計
- 課程設(shè)計-交通燈控制系統(tǒng)設(shè)計
- 彩燈控制系統(tǒng)課程設(shè)計報告
- 控制系統(tǒng)課程設(shè)計報告--- 控制系統(tǒng)設(shè)計與仿真
- 單片機(jī)課程設(shè)計報告---交通燈控制系統(tǒng)設(shè)計
- 智能交通燈控制系統(tǒng)設(shè)計課程設(shè)計
- 交通燈課程設(shè)計--交通燈控制系統(tǒng)設(shè)計
- 硬件課程設(shè)計實踐報告-- 模擬交通燈控制系統(tǒng)
- 課程設(shè)計---模擬交通燈控制系統(tǒng)
- eda課程設(shè)計--交通燈控制系統(tǒng)設(shè)計
評論
0/150
提交評論