久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4112|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

基于51單片機(jī)的交通燈Proteus仿真程序 一個數(shù)碼管顯示

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:362692 發(fā)表于 2022-4-26 23:28 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
  設(shè)計一個十字路口的交通燈控制電路,要求南北方向和東西方向兩個交叉路口的車輛交替運行。
    2) 每次綠燈變紅燈時,要求黃燈先亮5S,才能變換運行車輛.
    3) 東西方向、南北方向車道除了有紅、黃、綠燈指示外,每一種燈亮的時間都用數(shù)碼管顯示器進(jìn)行顯示(采用LED倒計時的方法)

  附件有仿真電路,程序,框圖,參考文檔等等

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


制作出來的實物圖如下:


整個系統(tǒng)的構(gòu)成以STC89C52RC單片機(jī)為核心,由I/O口擴(kuò)展,LED數(shù)碼管顯示,還有復(fù)位電路、時鐘電路等組成。單片機(jī)作為整個硬件系統(tǒng)的核心,它既是協(xié)調(diào)整機(jī)工作的控制器,又是數(shù)據(jù)處理器。它由單片機(jī)、晶振電路、復(fù)位電路等組成。

行車方向指示采用LED發(fā)光二極管,可有紅、綠兩種顏色指示放行與禁止,黃燈作為紅綠轉(zhuǎn)換的提示,形象直觀。系統(tǒng)采用雙數(shù)碼管倒計時計數(shù)功能,最大顯示數(shù)字99。

3 系統(tǒng)硬件設(shè)計
3.1交通燈通行模式及行車方向指示

按交通燈控制規(guī)則,每個道口有紅、黃、綠三種指示燈,交道口模型如圖2.1所示:

圖3.1  交道口模型圖




2組LED數(shù)碼管按照設(shè)置的通行時間(各路口默認(rèn)的通行時間均為30s)進(jìn)行倒計時,倒計時到5S時,綠燈變成黃燈,并各自進(jìn)行紅、黃、綠燈顯示,共有兩種通行方式分別為:

圖3.2  通行方式一示意圖                       圖3.3  通行方式二示意圖


通行方式一:倒計時時間為30s(通行時間),紅綠燈狀態(tài)為:東西通行:綠,南北禁行:紅;如圖3.2所示。              

通行方式二:倒計時時間為30s(通行時間),紅綠燈狀態(tài)為:南北通行:綠;東西禁行:紅;如圖3.3所示。

通行默認(rèn)時間為30s,系統(tǒng)設(shè)置了任意更改功能,可以根據(jù)實際情況進(jìn)行調(diào)整,以提高車輛通過率,緩減交通壓力。在通行結(jié)束前5秒鐘,黃燈亮直至結(jié)束。本設(shè)計選用LED發(fā)光二極管的紅綠燈狀態(tài)用來指示交通指示信息。綠色表示通行,紅色則表示禁止通行,黃燈等待。你所有指示信息一目了然。


3.2各單元電路模塊功能3.2.1時鐘電路模塊

時鐘電路由一個晶體振蕩器12MHZ和兩個30pF的瓷片電容組成。時鐘電路用于產(chǎn)生單片機(jī)工作所需的時鐘信號,而時序所研究的是指令執(zhí)行中各信號之間的相互關(guān)系。單片機(jī)本身就是一個復(fù)雜的同步時序電路,為了保證同步工作方式的實現(xiàn),電路應(yīng)在唯一的時鐘信號控制下嚴(yán)格地工作。其電路如圖3.4所示:


                    
圖3.4  時鐘電路模塊

3.2.2復(fù)位電路模塊

    電容在上接高電平,電阻在下接地,中間為RST。這種復(fù)位電路為高電平復(fù)位。其工作原理是:通電時,電容兩端相當(dāng)于是短路,于是RST引腳上為高電平,然后電源通過電阻對電容充電,RST端電壓慢慢下降,降到一定程度,即為低電平,單片機(jī)開始正常工作。其電路如圖3.5所示:


圖3.5  復(fù)位電路模塊

3.2.3主控制系統(tǒng)模塊

主控制器采用STC89C52RC,STC89C52RC 單片機(jī)是宏晶科技推出的新一代高速/低功耗/超強(qiáng)抗干擾的單 片機(jī),指令代碼完全兼容傳統(tǒng) 8051 單片機(jī),12 時鐘/機(jī)器周期和 6 時鐘/機(jī)器周 期可以任意選擇。

其特點如下:

1. 增強(qiáng)型 8051 單片機(jī),6 時鐘/機(jī)器周期和 12 時鐘/機(jī)器周期可以任 意選擇,指令代碼完全兼容傳統(tǒng) 8051.

2. 工作電壓:5.5V~3.3V(5V 單片機(jī))/3.8V~2.0V(3V 單片機(jī))

3. 工作頻率范圍:0~40MHz,相當(dāng)于普通 8051 的 0~80MHz,實際工 作頻率可達(dá) 48MHz

4. 用戶應(yīng)用程序空間為 8K 字節(jié)

5. 片上集成 512 字節(jié) RAM

6. 通用 I/O 口 (32 個) 復(fù)位后為: , P1/P2/P3/P4 是準(zhǔn)雙向口/弱上拉, P0 口是漏極開路輸出,作為總線擴(kuò)展用時,不用加上拉電阻,作為 I/O 口用時,需加上拉電阻。

7. ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程) ,無需專用編程器,無 需專用仿真器,可通過串口(RxD/P3.0,TxD/P3.1)直接下載用戶程 序,數(shù)秒即可完成一片

8. 具有 EEPROM 功能

9. 具有看門狗功能

10. 共 3 個 16 位定時器/計數(shù)器。即定時器 T0、T1、T2

11. 外部中斷 4 路,下降沿中斷或低電平觸發(fā)電路,Power Down 模式可 由外部中斷低電平觸發(fā)中斷方式喚醒

12. 通用異步串行口(UART) ,還可用定時器軟件實現(xiàn)多個 UART

13. 工作溫度范圍:-40~+85℃(工業(yè)級)/0~75℃(商業(yè)級)

14. DIP 封裝



圖3.6主控置系統(tǒng)模塊電路

3.2.4交通燈輸出控制模塊
    道口交通燈指示采用紅、黃、綠發(fā)光二極管進(jìn)行提示。其圖如圖3.7所示:

圖3.7LED顯示模塊電路

當(dāng)R=1000歐時,按公式A=(5-1.8)/R計算,電路中的電流大小應(yīng)為A=3.2mA。由于每個路口的通行雙向指示處理相同,因此每個端口應(yīng)具有6.4mA的吸收電流能力。


3.2.5時間顯示電路模塊

考慮設(shè)計需要,我們在各個方向分別用二位數(shù)碼管用來顯示倒計時時間,構(gòu)成交通提示信息,形象逼真。本系統(tǒng)使用數(shù)碼管完成倒計時顯示功能。以方向東西為為例,數(shù)碼管顯示的數(shù)值從綠燈的設(shè)置時間最大值往下減,每秒鐘減1,一直減到0。然后又從紅燈的設(shè)置時間最大值往下減,一直減到0。接下來又顯示綠燈時間,如此循環(huán)。

系統(tǒng)共有1個二位的LED 數(shù)碼管,分別放置在模擬交通燈控制板上四組交通燈中間。四個方向上都應(yīng)該顯示同樣的內(nèi)容,所以我們可以把它們同樣對待,只用了一組數(shù)碼管來模擬。也就是說各個方向的數(shù)碼管個位(把數(shù)碼管第二位定義為個位,第一位定義為十位)用一根信號線控制,十位用另一根信號線控制。

道口通行剩余時間采用紅色7段數(shù)碼管顯示,采用共陰數(shù)碼管,如用單片機(jī)P0口加上拉電阻驅(qū)動,P3.0/P3.1來控制數(shù)碼管的位。其顯示電路如圖3.8所示:



                        
圖3.8數(shù)碼管顯示模塊電路


3.2.6系統(tǒng)電源模塊電路
  由于該系統(tǒng)中 51 單片機(jī)及三極管工作電壓均為 5V 電壓,所以要保證系統(tǒng)穩(wěn)定可靠的工作,需要設(shè)計一個可以穩(wěn)定提供 5V 電壓的供電系統(tǒng)。本設(shè)計采用外置5V穩(wěn)壓開關(guān)電源作為系統(tǒng)的供電電源,系統(tǒng)電源輸入接口要加濾波電容以確保工作電壓穩(wěn)定。電源輸出接口加上LED 電源指示燈,用來判定電源是否正常工作。該系統(tǒng)電源電路設(shè)計如圖3.9所示:
圖3.9系統(tǒng)電源電路


  4 系統(tǒng)軟件設(shè)計

根據(jù)實際交通燈的變化情況和規(guī)律。假設(shè)一個十字路口為東南西北走向。初始狀態(tài)1東西綠燈通車,南北紅燈亮。過30s,轉(zhuǎn)狀態(tài)2,東西綠燈滅黃燈亮,南北紅燈滅黃燈亮,過5s,再轉(zhuǎn)狀態(tài)3,南北綠燈通車,東西紅燈亮。過30s,轉(zhuǎn)狀態(tài)4,南北綠燈滅黃燈亮,東西紅燈滅黃燈亮,過5s,又循環(huán)至狀態(tài)1。對于交通信號燈來說東西南北共四組燈,由于同一道上的兩組的信號燈的顯示情況是相同的,因此,采用單片機(jī)內(nèi)部的I/O口來控制12個信號燈。通過編寫程序,實現(xiàn)對發(fā)光二極管的控制,來模擬交通信號燈的管理。

4.1 軟件總體流程圖

軟件總體設(shè)計及流程圖見圖3-1,主要完成各部分的軟件控制和協(xié)調(diào)。本系統(tǒng)主程序模塊主要完成的工作是對系統(tǒng)的初始化,發(fā)送顯示數(shù)據(jù),同時對按鍵進(jìn)行掃描,等待外部中斷,以及根據(jù)所需要的功能進(jìn)行相應(yīng)的操作。其流程圖如圖4.1

圖4.1正常情況下交通燈控制流程




5 系統(tǒng)調(diào)試分析及結(jié)果
因本設(shè)計本身要求有穩(wěn)定性高、免維護(hù)、抗干擾能力強(qiáng)等功能,系統(tǒng)調(diào)試除了驗證數(shù)據(jù)處理的精度,確保判斷的準(zhǔn)確性外,同時必須確認(rèn)各項功能的正常運行。
5.1  電路板實物的制作
5.1.1印制電路板PCB圖的繪制
由于本電路硬件設(shè)計中,用單片機(jī)的一個IO口控制各路交通燈的循環(huán)點亮。用同一芯片單片機(jī)的P0口來控制數(shù)碼管的顯示點亮。因此,在同一芯片中,所要接的線路比較多。在硬件的布局中,各位LED燈和數(shù)碼管的布局比較固定化,集中分布在所控制的兩個路口。因此,若采用雙面PCB板的話,這個電路的布線比較容易實現(xiàn)。但是,現(xiàn)實水平中做雙面板會出現(xiàn)一些焊點接觸不良而導(dǎo)致電路調(diào)試過程不易實現(xiàn)。因此,決定使用單面板布線。單片面板的布線需要犧牲本設(shè)計電路板一部分實際電路的美觀。印制電路板的設(shè)計是以電路原理圖為根據(jù),實現(xiàn)電路設(shè)計者所需要的功能。印刷電路板的設(shè)計主要指版圖設(shè)計,需要考慮外部連接的布局、內(nèi)部電子元件的優(yōu)化布局、金屬連線和通孔的優(yōu)化布局、電磁保護(hù)、熱耗散等各種因素。優(yōu)秀的版圖設(shè)計可以節(jié)約生產(chǎn)成本,達(dá)到良好的電路性能和散熱性能。
5.1.2實物的制做
    準(zhǔn)備工作:采購萬能板若干張,實物電路所需的各種元器件;
還有其他的基本電子器件和制板工具。
①總制板工藝程序
1)先將所有元器件擺放到萬能板上,確實各個原件的最有位置,原則是,既美觀,又容易焊接。
2)把擺好位置的元器件焊到板子上,最好用焊臺來完成。
3)根據(jù)原理圖,把所有的連線連接起來,連接的導(dǎo)線,盡量用細(xì)一點的。  
②制板心得:我們在制板過程中,
1)首先是PROTEL設(shè)計的時候出現(xiàn)的錯誤導(dǎo)致印制電路板制作錯誤。
2)其次是由于設(shè)計的理論和實際有誤差導(dǎo)致無法實現(xiàn)目標(biāo)。
3)焊接過程中出現(xiàn)了一些問題,比如焊跳線的時候,由于接線太多,而且是手工焊接,并且焊接設(shè)備不好,烙鐵頭高溫下容易老化氧化和溫度不可控制。因此導(dǎo)致焊盤脫落,原件燙傷等原因?qū)е聢髲U了好幾塊板子。此外,有些焊盤太小并且有損壞跡象,所以焊接很不方便。但為了不出現(xiàn)虛焊,卻花了很長時間去焊,有些焊點并不是很美觀。
4)焊接過程中,有時候焊錫會不小心將相鄰的兩根引線短路。所以,此次做板積累了一些經(jīng)驗,主要是,再次做板的時候一定要注意PCB的引線之間的距離不能設(shè)置太近。因為是手工制作,精度和密度都必須有一個自由度和能力所及的范圍,并且考慮到手工制板的局限性和線路過細(xì)密導(dǎo)致的氧化和短路故障。擁有了這些寶貴的經(jīng)驗,相信今后制板,一定會完美保證電路的實現(xiàn)!

5.2 系統(tǒng)硬件調(diào)試
在設(shè)計過程中,實物交通燈控制系統(tǒng)的PCB電路板焊接工作量非常大,電路安裝完成后,首先進(jìn)行檢查,即確認(rèn)電路無虛焊,無短路,無斷路,集成元件安裝是否正確,之后進(jìn)行電路功能模塊的分級調(diào)試,根據(jù)電路功能逐級進(jìn)行:通行方式功能調(diào)試:包括對兩種通行方式控制調(diào)試,指示燈亮度和驅(qū)動電路調(diào)試;倒計時功能調(diào)試:數(shù)碼管亮度調(diào)試;復(fù)位功能調(diào)試。
5.3 系統(tǒng)軟件調(diào)試
本系統(tǒng)的軟件系統(tǒng)很大,選用一般的單片機(jī)通信C語言程序進(jìn)行編寫和調(diào)試。除了語法差錯外,當(dāng)確認(rèn)程序沒問題時,通過直接下載到單片機(jī)來調(diào)試。采取的是自下到上的調(diào)試方法,即單獨調(diào)試好每一個模塊,然后再連接成一個完整的系統(tǒng),最后完成一個完整的系統(tǒng)調(diào)試。
5.4 系統(tǒng)總體調(diào)試
系統(tǒng)做好后,進(jìn)行系統(tǒng)的完整調(diào)試。主要任務(wù)是檢驗實現(xiàn)的功能及其效果并校正誤差。
測試一開始,我們就發(fā)現(xiàn)了系統(tǒng)出現(xiàn)了兩個問題:一是有一部分交通燈亮度不夠,所發(fā)出來的光非常的微弱以致于幾乎感覺不到它的亮度;二是數(shù)碼管不工作,沒有時間顯示。這與設(shè)計的要求完全不符。為了找出這個問題和解決方法,查找了電路的輸出各部分的輸出電平。發(fā)現(xiàn)了一個現(xiàn)象,我們采用的數(shù)碼管是共陰極數(shù)碼管。而控制數(shù)碼段顯示的P3.0和P3.1口輸出的是高電平。
經(jīng)多方查閱資料,解決第二個問題可以有兩個解決方法。其一,將硬件電路作修改,將數(shù)碼管換成共陽極的數(shù)碼管。這樣數(shù)碼管就可以正常進(jìn)行時間顯示了。其二,修改程序,讓控制數(shù)碼管段碼的P0輸出的是低電平。若采用修改硬件電路的方法的話,硬件電路就得作變動。已經(jīng)布好的線也必須有相應(yīng)的變動,操作起來比較麻煩。所以,我們采用了第二種方法。修改了程序電路中的段碼代碼。再次調(diào)試,按照設(shè)計要求的指標(biāo),系統(tǒng)數(shù)碼管電路部分基本能按照預(yù)先設(shè)定的要求來進(jìn)行倒計時的顯示。亮度要求也基本符合預(yù)先設(shè)想。
接下來還有一個問題有待解決,交通燈亮度不足,以致于部分交通燈只能勉強(qiáng)看得出來它在亮而已。這明顯不能滿足設(shè)計要求。經(jīng)多方檢測,我們認(rèn)為這是由于LED燈驅(qū)動能力不足引起的亮度弱問題。若要修正這個問題,那就得為LED燈增加驅(qū)動電路以提高電路的驅(qū)動能力。要實現(xiàn)這一步驟必須對硬件電路進(jìn)行一定的改動。LED燈的驅(qū)動電路可以用集成電路電路芯片來進(jìn)行驅(qū)動。在初步方案中考慮要用集成電路來完成。但是由于客觀方面的原因,沒有制作實物的環(huán)境條件。因此,這部分改進(jìn)只作了一個設(shè)想,并沒有時間去付諸實施。但基本問題和解決問題的原理還是有一定的了解。



附錄B:總體電路原理圖、PCB、仿真圖及實物圖



單片機(jī)源程序如下:
  1. #include<reg51.h>
  2. #include<intrins.h>           //包含庫文件
  3. sbit smg1=P3^0;                   //定義南北方向數(shù)碼管低位
  4. sbit smg2=P3^1;                   //定義南北方向數(shù)碼管高位
  5. sbit N_green=P2^0;           //定義北向綠燈端口
  6. sbit N_red=P2^1;           //定義北向紅燈端口
  7. sbit N_yellow=P2^2;           //定義北向黃燈端口           

  8. sbit S_green=P2^7;           //定義南向綠燈端口
  9. sbit S_red=P2^6;           //定義南向紅燈端口
  10. sbit S_yellow=P2^5;           //定義南向黃燈端口

  11. sbit W_green=P1^0;           //定義西向綠燈端口
  12. sbit W_red=P1^1;           //定義西向紅燈端口
  13. sbit W_yellow=P1^2;           //定義西向黃燈端口   

  14. sbit E_green=P1^7;           //定義東向綠燈端口
  15. sbit E_red=P1^6;           //定義東向紅燈端口
  16. sbit E_yellow=P1^5;           //定義東向黃燈端口


  17. int js=0,djs=30;                       //初始倒計時時間
  18. int table[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x40};          //共陰極數(shù)碼管段值
  19. /************以下為函數(shù)聲明*************/
  20. void jtd();
  21. void jtda();
  22. void jtdb();
  23. void djsxs();
  24. void yj();
  25. void jj();
  26. void jtday();
  27. void jtdby();

  28. /*****************************************************/
  29. /*             函數(shù)名:delayms                                             */
  30. /*           功能:產(chǎn)生毫秒級延時                                         */
  31. /*****************************************************/
  32. void delayms(int x)
  33. {
  34. char i;
  35. while(x--)
  36. {
  37.   for(i=150;i>0;i--);
  38. }
  39. }
  40. /*****************************************************/
  41. /*             函數(shù)名:Timer0_init()                                  */
  42. /*             功能:定時器0初始化                                         */
  43. /*****************************************************/
  44. void Timer0_init()
  45. {
  46.       js=0;
  47.           TMOD=0x01;                  //定義定時器0工作模式        
  48.       TH0=0x4c;                        //賦初值高位
  49.           TL0=0x00;                        //賦初值低位
  50.       TR0=1;                        //啟動定時器
  51.           ET0=1;                        //開中斷
  52.           EA=1;                                //開全局中斷
  53. }
  54. /*****************************************************/
  55. /*        函數(shù)名:timer0() interrupt 1 using 1             */
  56. /*             功能:定時器0中斷服務(wù)函數(shù)                     */
  57. /*****************************************************/
  58. void timer0() interrupt 1 using 1        
  59. {
  60.             TF0=0;
  61.                  TH0=0x4c;
  62.                 TL0=0x00;                  //重新賦高地位初值
  63.                 js++;
  64.                 if(js==22)
  65.                   { js=0;
  66.                     djs--;
  67.                    }
  68. }
  69. /*****************************************************/
  70. /*                 函數(shù)名:djsxs11()                     */
  71. /*                功能:數(shù)碼管動態(tài)顯示                       */
  72. /*****************************************************/
  73. void  djsxs11()                 //此函數(shù)注視同djsxs22()
  74. {        int b1,b2;
  75.          b1=djs/10;                 //將倒計時時間的高位賦予b1
  76.         b2=djs%10;                 //將倒計時時間的低位賦予b2
  77.         P0=table[b1];
  78.     smg1=0;
  79.     delayms(3);
  80.     smg1=1;                         //顯示b1

  81.         P0=table[b2];
  82.         smg2=0;
  83.         delayms(3);
  84.         smg2=1;                        //顯示b2
  85. }


  86. /*****************************************************/
  87. /*                 函數(shù)名:qm()                             */
  88. /*        功能:使所有的交通信號燈全部熄滅           */
  89. /*****************************************************/
  90. void qm()
  91. {
  92. N_green=1;
  93. N_red=1;
  94. N_yellow=1;                  

  95. S_green=1;
  96. S_red=1;
  97. S_yellow=1;

  98. W_green=1;
  99. W_red=1;
  100. W_yellow=1;                  

  101. E_green=1;
  102. E_red=1;
  103. E_yellow=1;
  104. }
  105. /*****************************************************/
  106. /*                 函數(shù)名:jtdb()                         */
  107. /*       功能:交通燈東西方向綠燈亮,紅燈滅          */
  108. /*             交通燈南北方向紅燈亮,綠燈滅          */
  109. /*****************************************************/
  110. void jtdb()
  111. {
  112. qm();                                                                         //所有信號燈滅
  113. W_green=0;                                                                 //西向綠燈亮
  114. E_green=0;                                                                 //東向綠燈亮
  115. N_red=0;                                                                 //北向紅燈亮
  116. S_red=0;                                                                         //南向紅燈亮
  117. while(1)
  118. {
  119.         if(djs>5)                                                         //當(dāng)?shù)褂嫊r時間大于5秒時,執(zhí)行
  120.                 {
  121.              djsxs11();                                                          //數(shù)碼管時間顯示
  122.         }
  123.     if(djs<=5)                                                       //當(dāng)?shù)褂嫊r時間小于5秒時,執(zhí)行
  124.                 {
  125.                   jtdby();                                                          //調(diào)用函數(shù)
  126.                 }
  127. }
  128. }
  129. /*****************************************************/
  130. /*                 函數(shù)名:jtdby()                         */
  131. /*       功能:交通燈東西方向黃燈亮,紅燈滅          */
  132. /*             交通燈南北方向紅燈亮,綠燈滅          */
  133. /*****************************************************/
  134. void jtdby()
  135. {
  136. qm();                                                                          //所有信號燈全滅
  137. W_green=1;                                                                  //西向綠燈滅
  138. E_green=1;                                                                  //東向綠燈滅
  139. W_yellow=0;                                                                  //西向黃燈亮
  140. E_yellow=0;                                                                  //東向黃燈亮
  141. N_red=0;                                                                  //北向紅燈滅
  142. S_red=0;                                                                  //南向紅燈滅
  143. while(1)
  144. {
  145. djsxs11();                                                                  //數(shù)碼管時間顯示
  146. if(djs<0)                                                                   //當(dāng)?shù)褂嫊r時間小于0秒時,執(zhí)行
  147.   {
  148.     djs=30;
  149.         jtda();                                                                  //調(diào)用jtda()函數(shù)
  150.   }
  151. }
  152. }

  153. /*****************************************************/
  154. /*                 函數(shù)名:jtda()                         */
  155. /*       功能:交通燈南北方向綠燈亮,紅燈滅          */
  156. /*             交通燈東西方向紅燈亮,綠燈滅          */
  157. /*****************************************************/
  158. void jtda()
  159. {
  160. qm();                                                                          //所有信號燈滅
  161. N_green=0;                                                                  //北向綠燈亮
  162. S_green=0;                                                                  //南向綠燈亮
  163. W_red=0;                                                                  //西向紅燈亮
  164. E_red=0;                                                                  //東向紅燈亮
  165. while(1)
  166. {
  167. if(djs>5)                                                                  //當(dāng)?shù)褂嫊r時間大于5秒時,執(zhí)行
  168. {
  169.                 djsxs11();                                                  //數(shù)碼管時間顯示
  170. }
  171. if(djs<=5)                                                   //當(dāng)?shù)褂嫊r時間小于5秒時,執(zhí)行
  172. {
  173.         jtday();                                  //調(diào)用函數(shù)
  174. }
  175. }
  176. }

  177. /*****************************************************/
  178. /*                 函數(shù)名:jtday()                         */
  179. /*       功能:交通燈南北方向黃燈亮,紅燈滅          */
  180. /*             交通燈東西方向紅燈亮,綠燈滅          */
  181. /*****************************************************/
  182. void jtday()
  183. {
  184. qm();                                                                          //所有信號燈全滅
  185. N_green=1;                                                                  //北向綠燈滅
  186. ……………………

  187. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
仿真程序文檔下載:
基于51單片機(jī)的交通燈一個數(shù)碼管.zip (2.41 MB, 下載次數(shù): 60)

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏5 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:262 發(fā)表于 2022-4-27 21:49 | 只看該作者
好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩精品在线一区 | 欧美日韩综合精品 | 一区二区视频 | 亚洲日本欧美 | 在线天堂免费中文字幕视频 | 91精品一区二区 | 亚洲日日操 | 在线观看中文字幕 | 五月天婷婷久久 | 国产高清免费在线 | 欧美日韩一区二区三区四区 | 在线看黄免费 | 亚洲热在线视频 | 九九久久久 | 精品视频在线免费观看 | 国产一区二区三区四区 | 亚洲综合首页 | 久久久蜜桃一区二区人 | 一区二区在线 | 国产高潮好爽受不了了夜夜做 | 天天天久久久 | 婷婷综合| 日本欧美国产在线观看 | 天天插天天操 | 91久久久久 | 久草在线 | 欧美aⅴ在线观看 | 免费视频一区二区 | 综合五月 | 欧美一级在线观看 | 成人性视频在线播放 | 亚欧精品一区 | 欧美一级精品片在线看 | 色综合色综合 | 欧美v日韩 | 91久久国产综合久久91精品网站 | 精品亚洲一区二区三区 | 欧美美女二区 | 麻豆一区一区三区四区 | 2022精品国偷自产免费观看 | 第一av |