找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機實現(xiàn)簡易交通燈的程序和電路圖

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:255579 發(fā)表于 2017-12-14 09:11 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
這是我前幾天無聊自己寫的交通燈程序,在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. }
復(fù)制代碼



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



評分

參與人數(shù) 4黑幣 +61 收起 理由
daxudaai + 1 很給力!
Ekoo + 5 共享資料的黑幣獎勵!
hhhgg + 5
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:318620 發(fā)表于 2018-5-6 15:43 | 只看該作者
你的proteus仿真沒有辦法打開,格式上傳錯誤的。請解決。
回復(fù)

使用道具 舉報

板凳
ID:324112 發(fā)表于 2018-5-7 12:42 | 只看該作者
謝謝  
回復(fù)

使用道具 舉報

地板
ID:330979 發(fā)表于 2018-5-16 08:58 | 只看該作者
不能用啊

[code][/code]
回復(fù)

使用道具 舉報

5#
ID:343531 發(fā)表于 2018-6-3 21:13 | 只看該作者
數(shù)碼管是共陰的還是共陽的
回復(fù)

使用道具 舉報

6#
ID:352998 發(fā)表于 2018-6-16 21:02 | 只看該作者
666太棒了
回復(fù)

使用道具 舉報

7#
ID:249033 發(fā)表于 2018-9-14 21:20 | 只看該作者
謝謝你啊////
回復(fù)

使用道具 舉報

8#
ID:398417 發(fā)表于 2018-9-15 19:15 | 只看該作者
凱爾特 發(fā)表于 2018-5-6 15:43
你的proteus仿真沒有辦法打開,格式上傳錯誤的。請解決。

那個可能是版本問題吧
回復(fù)

使用道具 舉報

9#
ID:405287 發(fā)表于 2018-10-6 15:10 | 只看該作者
代碼有錯
回復(fù)

使用道具 舉報

10#
ID:408147 發(fā)表于 2018-11-22 15:14 | 只看該作者
壓縮包錯誤打不開啊
回復(fù)

使用道具 舉報

11#
ID:412308 發(fā)表于 2018-11-22 18:06 來自手機 | 只看該作者
衷曲無默 發(fā)表于 2018-10-6 15:10
代碼有錯

我也覺得好像是有點問題的樣子
回復(fù)

使用道具 舉報

12#
ID:432381 發(fā)表于 2018-11-24 15:11 | 只看該作者
定義的那里有錯誤啊
回復(fù)

使用道具 舉報

13#
ID:465503 發(fā)表于 2019-1-10 16:25 | 只看該作者
仿真圖根本打不開
回復(fù)

使用道具 舉報

14#
ID:465503 發(fā)表于 2019-1-10 16:45 | 只看該作者
用isis打開不了
回復(fù)

使用道具 舉報

15#
ID:540968 發(fā)表于 2019-6-14 20:13 | 只看該作者
isis打不開求解決
回復(fù)

使用道具 舉報

16#
ID:625698 發(fā)表于 2019-10-17 17:08 | 只看該作者
為啥說第8行‘a(chǎn)’前missing一個“;”呢?
回復(fù)

使用道具 舉報

17#
ID:641275 發(fā)表于 2019-11-13 16:37 | 只看該作者
你好厲害
回復(fù)

使用道具 舉報

18#
ID:653987 發(fā)表于 2019-12-3 15:57 | 只看該作者
xingr 發(fā)表于 2019-10-17 17:08
為啥說第8行‘a(chǎn)’前missing一個“;”呢?

我的也是
回復(fù)

使用道具 舉報

19#
ID:653987 發(fā)表于 2019-12-3 16:27 | 只看該作者
能改改程序不,第八行哪里錯了
回復(fù)

使用道具 舉報

20#
ID:660625 發(fā)表于 2019-12-10 15:09 | 只看該作者
很給力
回復(fù)

使用道具 舉報

21#
ID:660625 發(fā)表于 2019-12-10 15:09 | 只看該作者

用isis打開不了
回復(fù)

使用道具 舉報

22#
ID:693950 發(fā)表于 2020-2-16 17:07 | 只看該作者
isis打開第八行有錯誤
回復(fù)

使用道具 舉報

23#
ID:756481 發(fā)表于 2020-5-20 17:12 | 只看該作者
想要這個課件學(xué)習學(xué)習
回復(fù)

使用道具 舉報

24#
ID:756481 發(fā)表于 2020-5-20 17:13 | 只看該作者
想要這個課件來學(xué)習學(xué)習
回復(fù)

使用道具 舉報

25#
ID:761673 發(fā)表于 2020-5-27 09:48 | 只看該作者
十分感謝
回復(fù)

使用道具 舉報

26#
ID:400047 發(fā)表于 2020-6-2 10:35 | 只看該作者
很好的實例,不知道怎么下載
回復(fù)

使用道具 舉報

27#
ID:768157 發(fā)表于 2020-6-3 10:18 | 只看該作者
大佬能不能實現(xiàn)一下東西南北帶強通功能,和通過按鍵來調(diào)節(jié)紅綠燈時間的
回復(fù)

使用道具 舉報

28#
ID:772420 發(fā)表于 2020-6-8 09:04 | 只看該作者
好棒啊
回復(fù)

使用道具 舉報

29#
ID:772895 發(fā)表于 2020-6-8 15:28 | 只看該作者
用的是什么芯片啊
回復(fù)

使用道具 舉報

30#
ID:772895 發(fā)表于 2020-6-8 17:24 | 只看該作者
代碼是錯的,在proteus上弄不出來
回復(fù)

使用道具 舉報

31#
ID:778627 發(fā)表于 2020-6-13 23:42 來自手機 | 只看該作者
不錯可以可以
回復(fù)

使用道具 舉報

32#
ID:779798 發(fā)表于 2020-6-17 09:19 | 只看該作者
xingr 發(fā)表于 2019-10-17 17:08
為啥說第8行‘a(chǎn)’前missing一個“;”呢?

我也想問,無法解決
回復(fù)

使用道具 舉報

33#
ID:824474 發(fā)表于 2020-10-13 08:18 | 只看該作者
超級牛逼啊兄弟
回復(fù)

使用道具 舉報

34#
ID:770817 發(fā)表于 2020-10-18 19:26 | 只看該作者
寰夜 發(fā)表于 2020-6-8 17:24
代碼是錯的,在proteus上弄不出來

第108行的if(type==6)改為if(type==5)
回復(fù)

使用道具 舉報

35#
ID:770817 發(fā)表于 2020-10-18 19:27 | 只看該作者
100234 發(fā)表于 2018-11-22 18:06
我也覺得好像是有點問題的樣子

第108行的if(type==6)改為if(type==5)
回復(fù)

使用道具 舉報

36#
ID:828400 發(fā)表于 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"...速回復(fù)#
回復(fù)

使用道具 舉報

37#
ID:836519 發(fā)表于 2020-10-30 09:24 | 只看該作者
代碼有誤啊,怎么修改呀?求解
回復(fù)

使用道具 舉報

38#
ID:840644 發(fā)表于 2020-11-8 19:37 | 只看該作者
第八行的代碼怎么修改?
回復(fù)

使用道具 舉報

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

后面應(yīng)該還有一串中斷程序
回復(fù)

使用道具 舉報

40#
ID:876318 發(fā)表于 2021-1-12 15:04 | 只看該作者
這個單片機的程序是可以用于c51的單片機嗎
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表