標題: 51單片機實現(xiàn)簡易交通燈的程序和電路圖 [打印本頁]

作者: renqian4436    時間: 2017-12-14 09:11
標題: 51單片機實現(xiàn)簡易交通燈的程序和電路圖
這是我前幾天無聊自己寫的交通燈程序,在51單片機上實現(xiàn)的;镜亩〞r的交通燈轉(zhuǎn)換是實現(xiàn)了,根據(jù)時間來改變交通燈的變換?梢韵螺d下來看看的,電路圖和原程序都有,代碼就自己下載吧。我不全放上了。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)

單片機源程序:
  1. #include<reg51.h>
  2. sbit beiR=P1^0;
  3. sbit beiY=P1^1;
  4. sbit beiG=P1^2;
  5. sbit nanR=P1^3;
  6. sbit nanY=P1^4;
  7. sbit nanG=P1^5;
  8. uint a,b,c,type,j,i;
  9. void Delay(uint x)                   //延時
  10. {
  11.         uchar i;
  12.         while(x--)for(i=0;i<120;i++);        

  13. }
  14. void delay_ms(uint q)           //延時
  15. {         
  16.         uint i,j;
  17.         for(i=q;i>0;i--)
  18.         for(j=141;j>0;j--);
  19. }
  20. void shumaguan(uint k)           //數(shù)碼管顯示
  21. {
  22.                 b=k/10;
  23.                 c=k%10;
  24.                 P3=11111101;
  25.                 P2=smg_dw[b];//選段碼
  26.         delay_ms(20);//延時5ms
  27.                 P3=11111110;
  28.                 P2=smg_dw[c];//選段碼
  29.                 delay_ms(20);//延時5ms
  30. }
  31. main()
  32. {
  33.         TMOD=0x01;                                   //設(shè)置定時器T0為工作方式1定時
  34.         TH0=(65536-50000)/256;
  35.         TL0=(65536-50000)%256;
  36.         TR0=1;                                          //啟動T0計數(shù)
  37.         ET0=1;                                          //允許T0中斷
  38.         EX0=1;                                          //允許外部中斷0中斷
  39.         EA=1;                                          //開中斷
  40.         IT0=1;                                          //允許外部中斷0為邊沿觸發(fā)方式
  41.         a=10;                                          //倒計時10s
  42.         type=1;
  43.         while(1){
  44.                 switch(type)
  45.                 {
  46.                         case 1: //東西向綠燈與南北向紅燈亮
  47.                                 beiR=0;beiY=1;beiG=1;
  48.                                 nanR=1;nanY=1;nanG=0;
  49.                                 shumaguan(a);
  50.                         break;
  51.                         case 2: //東西向黃燈閃爍,綠燈關(guān)閉        
  52.                                 if(a%2!=0)
  53.                                 {
  54.                                 beiR=1;beiY=0;beiG=1;
  55.                                 }
  56.                                 if(a%2==0)
  57.                                 {               
  58.                                 beiR=1;beiY=1;beiG=1;
  59.                                 }
  60.                                 shumaguan(a);
  61.                         break;
  62.                         case 3: //東西向紅燈,南北向綠燈亮
  63.                                 beiR=1;beiY=1;beiG=0;
  64.                                 nanR=0;nanY=1;nanG=1;
  65.                                 shumaguan(a);
  66.                         break;
  67.                         case 4: //南北向黃燈閃爍3次
  68.                                 if(a%2!=0)
  69.                                 {
  70.                                 nanR=1;nanY=0;nanG=1;
  71.                                 }        
  72.                                 if(a%2==0)
  73.                                 {        
  74.                                 nanR=1;nanY=1;nanG=1;
  75.                                 }
  76.                                 shumaguan(a);
  77.                         break;
  78.                 }
  79.                         }
  80. }
復制代碼



全部資料51hei下載地址:
51單片機實現(xiàn)定時交通燈.rar (55.81 KB, 下載次數(shù): 569)




作者: 凱爾特    時間: 2018-5-6 15:43
你的proteus仿真沒有辦法打開,格式上傳錯誤的。請解決。
作者: guiyajin    時間: 2018-5-7 12:42
謝謝  
作者: 13033542722    時間: 2018-5-16 08:58
不能用啊

[code][/code]
作者: q734258234    時間: 2018-6-3 21:13
數(shù)碼管是共陰的還是共陽的
作者: 1785346    時間: 2018-6-16 21:02
666太棒了
作者: Marauder    時間: 2018-9-14 21:20
謝謝你啊////
作者: 3361541322    時間: 2018-9-15 19:15
凱爾特 發(fā)表于 2018-5-6 15:43
你的proteus仿真沒有辦法打開,格式上傳錯誤的。請解決。

那個可能是版本問題吧
作者: 衷曲無默    時間: 2018-10-6 15:10
代碼有錯

作者: zjx66666    時間: 2018-11-22 15:14
壓縮包錯誤打不開啊
作者: 100234    時間: 2018-11-22 18:06
衷曲無默 發(fā)表于 2018-10-6 15:10
代碼有錯

我也覺得好像是有點問題的樣子
作者: 1378917401    時間: 2018-11-24 15:11
定義的那里有錯誤啊

作者: zjlmm    時間: 2019-1-10 16:25
仿真圖根本打不開

作者: zjlmm    時間: 2019-1-10 16:45
用isis打開不了

作者: sune111    時間: 2019-6-14 20:13
isis打不開求解決
作者: xingr    時間: 2019-10-17 17:08
為啥說第8行‘a(chǎn)’前missing一個“;”呢?
作者: 213584755    時間: 2019-11-13 16:37
你好厲害
作者: SHREK666    時間: 2019-12-3 15:57
xingr 發(fā)表于 2019-10-17 17:08
為啥說第8行‘a(chǎn)’前missing一個“;”呢?

我的也是

作者: SHREK666    時間: 2019-12-3 16:27
能改改程序不,第八行哪里錯了
作者: 1001752    時間: 2019-12-10 15:09
很給力
作者: 1001752    時間: 2019-12-10 15:09

用isis打開不了
作者: 黑金山科技    時間: 2020-2-16 17:07
isis打開第八行有錯誤
作者: LL1975947052    時間: 2020-5-20 17:12
想要這個課件學習學習
作者: LL1975947052    時間: 2020-5-20 17:13
想要這個課件來學習學習
作者: MantraLimiter    時間: 2020-5-27 09:48
十分感謝
作者: 275917655    時間: 2020-6-2 10:35
很好的實例,不知道怎么下載
作者: 王呵呵呀    時間: 2020-6-3 10:18
大佬能不能實現(xiàn)一下東西南北帶強通功能,和通過按鍵來調(diào)節(jié)紅綠燈時間的
作者: suyang110    時間: 2020-6-8 09:04
好棒啊
作者: 寰夜    時間: 2020-6-8 15:28
用的是什么芯片啊

作者: 寰夜    時間: 2020-6-8 17:24
代碼是錯的,在proteus上弄不出來

作者: 嗯ヽ(○    時間: 2020-6-13 23:42
不錯可以可以
作者: 東方可愛    時間: 2020-6-17 09:19
xingr 發(fā)表于 2019-10-17 17:08
為啥說第8行‘a(chǎn)’前missing一個“;”呢?

我也想問,無法解決

作者: zxc123mn    時間: 2020-10-13 08:18
超級牛逼啊兄弟
作者: Hei999    時間: 2020-10-18 19:26
寰夜 發(fā)表于 2020-6-8 17:24
代碼是錯的,在proteus上弄不出來

第108行的if(type==6)改為if(type==5)
作者: Hei999    時間: 2020-10-18 19:27
100234 發(fā)表于 2018-11-22 18:06
我也覺得好像是有點問題的樣子

第108行的if(type==6)改為if(type==5)
作者: 再吐娜木    時間: 2020-10-21 21:40
#在這里快Build target 'Target 1' compiling jtd.c... linking... *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS     SEGMENT: ?PR?_DELAY?JTD Program Size: data=21.0 xdata=0 code=475 creating hex file from "jtd"...速回復#
作者: abcd55    時間: 2020-10-30 09:24
代碼有誤啊,怎么修改呀?求解
作者: super233    時間: 2020-11-8 19:37
第八行的代碼怎么修改?

作者: super233    時間: 2020-11-9 18:24
本帖最后由 super233 于 2020-11-11 19:41 編輯
super233 發(fā)表于 2020-11-8 19:37
第八行的代碼怎么修改啊?

后面應該還有一串中斷程序

作者: 花滿樓1949    時間: 2021-1-12 15:04
這個單片機的程序是可以用于c51的單片機嗎




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1