交通控制系統(tǒng)課程設(shè)計報告_第1頁
已閱讀1頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論