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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3594|回復: 1
打印 上一主題 下一主題
收起左側

51單片機交通燈(Proteus仿真電路,C語言程序代碼)

[復制鏈接]
跳轉到指定樓層
樓主
東西向綠燈;
南北向紅燈;
東西向紅燈;
南北向綠燈;
南北向向黃燈閃爍;

時間顯示(時間自定);
下面是仿真電路;


(注:沒畫最小系統)
篇幅有限,代碼放附件了

單片機源程序如下:
  1. #include<reg51.h>
  2. //#define uchar unsigned char
  3. //#define uint unsigned int
  4. char code smg_dw[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  5. //共陽0-9
  6. sbit lR=P1^0;
  7. sbit lY=P1^1;
  8. sbit lG=P1^2;
  9. sbit hR=P1^3;
  10. sbit hY=P1^4;
  11. sbit hG=P1^5;
  12. sbit shi=P3^0;
  13. sbit ge=P3^1;
  14. int a,b,c,type,j,i;
  15. void Delay(int x);
  16. void delay_ms(int q);
  17. void shumaguan(int k);
  18. main()
  19. {
  20.         TMOD=0x01;                                  
  21.         TH0=(65536-50000)/256;
  22.         TL0=(65536-50000)%256;
  23.         TR0=1;                                          
  24.         ET0=1;                                         
  25.         EX0=1;                                         
  26.         EA=1;                                                                           
  27.         a=10;                                          
  28.         type=1;
  29.         while(1){
  30.                 switch(type)
  31.                 {
  32.                         case 1: //東西向綠燈與南北向紅燈亮
  33.                                 lR=0;lY=1;lG=1;
  34.                                 hR=1;hY=1;hG=0;
  35.                                 shumaguan(a);
  36.                         break;
  37.                         case 2: //東西向黃燈閃爍,綠燈關閉       
  38.                                 if(a%2!=0)
  39.                                 {
  40.                                 lR=1;lY=0;lG=1;
  41.                                 }
  42.                                 if(a%2==0)
  43.                                 {               
  44.                                 lR=1;lY=1;lG=1;
  45.                                 }
  46.                                 shumaguan(a);
  47.                         break;
  48.                         case 3: //東西向紅燈,南北向綠燈亮
  49.                                 lR=1;lY=1;lG=0;
  50.                                 hR=0;hY=1;hG=1;
  51.                                 shumaguan(a);
  52.                         break;
  53.                         case 4: //南北向黃燈閃爍3次
  54.                                 if(a%2!=0)
  55.                                 {
  56.                                 hR=1;hY=0;hG=1;
  57.                                 }       
  58.                                 if(a%2==0)
  59.                                 {       
  60.                                 hR=1;hY=1;hG=1;
  61.                                 }
  62.                                 shumaguan(a);
  63.                         break;
  64.                 }
  65.                         }
  66. }

  67. void T0_int0(void) interrupt 1                   //中斷
  68. {
  69.         TH0=(65536-50000)/256;
  70.         TL0=(65536-50000)%256;
  71.         i++;
  72.         if(i==20)
  73.         {
  74.                 i=0;
  75.                 a--;
  76.                 if(a==0)
  77.                 {
  78.                         if(type==1||type==3)
  79.                         {
  80.                                 a=5;
  81.                         }
  82.                         if(type==2||type==4)
  83.                         {
  84.                                 a=10;
  85.                         }
  86.                         type++;
  87.                         if(type==5)
  88.                         {
  89.                                 type=1;
  90.                         }
  91.                 }
  92.         }       
  93. }

  94. void shumaguan(int k)           //數碼管顯示
  95. {
  96.                 b=k/10;
  97.                 c=k%10;
  98.                 P3=0xfd;
  99.                 P2=smg_dw[b];//選段碼
  100.       delay_ms(20);//延時5ms
  101.                 P3=0xfe;
  102.                 P2=smg_dw[c];//選段碼
  103.                 delay_ms(20);
  104. }

  105. void Delay(int x)                   //延時
  106. {
  107.         char i;
  108.         while(x--)for(i=0;i<120;i++);       

  109. }

  110. void delay_ms(int q)           //延時
  111. {        
  112.         int i,j;
  113.         for(i=q;i>0;i--)
  114.         for(j=141;j>0;j--);
  115. }
復制代碼

所有資料51hei提供下載:
交通燈.zip (46.36 KB, 下載次數: 91)


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

使用道具 舉報

沙發
ID:535215 發表于 2020-11-28 18:22 | 只看該作者
nice
回復

使用道具 舉報

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

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: www.日韩系列 | 二区精品| 国产精品欧美一区二区三区不卡 | 亚洲视频在线播放 | 久久精品一 | 亚洲欧美在线视频 | 天堂免费看片 | 香蕉一区二区 | 亚洲成人福利 | 亚洲免费视频在线观看 | 日韩欧美一区二区三区免费观看 | 亚洲视频一区在线观看 | 中文字幕第5页 | 99影视| 日韩免费在线视频 | 美女精品一区 | 伊人网综合在线观看 | 久久久久久天堂 | 国产精品一区久久久久 | 午夜精品久久久久久久99黑人 | 91se在线| 日本亚洲精品 | 亚洲欧美在线视频 | 伊人久久一区二区 | 色婷婷亚洲国产女人的天堂 | 久久国内| 91免费版在线观看 | 日韩精品一区二区三区视频播放 | 福利视频网 | 国产精品国产三级国产aⅴ中文 | 国产一区二区三区亚洲 | 成年人在线电影 | 亚洲性爰 | 国产免费一区二区 | 成人在线免费视频 | 中文在线一区二区 | 国产一区二区三区色淫影院 | 亚洲一区在线日韩在线深爱 | 欧美五月婷婷 | 日本高清精品 | 国产在线一区二区 |