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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

基于Proteus的51單片機交通燈仿真+源代碼

[復制鏈接]
跳轉到指定樓層
樓主
51單片機交通燈仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:
  1. #include <reg51.h>
  2. #include <stdio.h>
  3. #define uchar     unsigned char
  4. #define uint      unsigned int

  5. uchar h;
  6. uint r=0;
  7. uint s;
  8. uchar code  dis[]={0Xc0,0Xf9,0Xa4,0Xb0,0X99,
  9.                   0X92,0X82,0Xf8,0X80,0X90,0Xff,};
  10. void delay(uint c)
  11. {
  12.    uint i,j;
  13.     for(i=0;i<c;i++)
  14.           for(j=0;j<100;j++);
  15.        
  16. }

  17. //interrupt 1
  18. void t0(void) interrupt 0 using 1
  19. {
  20.   delay(2);
  21.    if(INT0==0)
  22.     {
  23.       r++;
  24.           if(r==2)
  25.            {
  26.                   r=0;
  27.            }
  28.           r%=2;
  29.           if(r==0)
  30.            {
  31.             P0=0xeb;
  32.         P1=0x00;
  33.         P2=0xff;
  34.            }while(1)
  35.             {
  36.                    if(INT0==0|INT1==0|T0==0)
  37.                   {
  38.                   delay(2);
  39.                   if(INT0==0|INT1==0|T0==0)
  40.                           break;
  41.                   }

  42.             };
  43.           
  44.     }

  45. }

  46. //interrupt 2
  47. void t1(void) interrupt 2 using 1
  48. {
  49.   delay(2);
  50.    if(INT1==0)
  51.     {
  52.           r++;
  53.           if(r==2)
  54.            {
  55.                   r=0;
  56.            }
  57.           r%=2;
  58.           if(r==0)
  59.            {
  60.             P0=0xdd;
  61.         P1=0x00;
  62.         P2=0xff;
  63.            }while(1)
  64.             {
  65.                    if(INT1==0|INT0==0|T0==0)
  66.                   {
  67.                    delay(2);
  68.                    if(INT1==0|INT0==0|T0==0)
  69.                           break;
  70.                   }
  71.             };
  72.     }
  73. }

  74. //interrupt 3
  75. void t2(void) interrupt 1 using 1
  76. {
  77.   TH0=0xff;
  78.   TL0=0xff;
  79.     delay(2);
  80.      if(T0==0)
  81.        {
  82.             P0=0xdb;
  83.         P1=0x00;
  84.         P2=0xff;
  85.            }while(1)
  86.             {
  87.                    if(INT0==0|INT1==0)
  88.                   {         
  89.                     delay(2);
  90.                         if(INT0==0|INT1==0)
  91.                           break;
  92.                   }

  93.             };

  94. }



  95. void main(void)
  96. {
  97.   TMOD=0x06;
  98.   TH0=0xff;
  99.   TL0=0xff;
  100.   TR0=1;
  101.   EA=1;
  102.   EX0=1;
  103.   EX1=1;
  104.   ET0=1;
  105.   
  106.   
  107. while(1)
  108. {

  109.     P0=0xeb;
  110.      for(h=28;h>0;h--)
  111.      {
  112.        for(s=248;s>0;s--)
  113.        {
  114.         P1=0x00;
  115.         P2=0xff;
  116.         P1=0x01;
  117.         P2=dis[h/10];
  118.          delay(1);
  119.                 P1=0x00;
  120.         P2=0xff;
  121.         P1=0x02;
  122.         P2=dis[h%10];
  123.                  delay(1);
  124.                 P1=0x00;
  125.         P2=0xff;
  126.                 P1=0x04;
  127.         P2=dis[(h+2)/10];
  128.                  delay(1);
  129.                 P1=0x00;
  130.         P2=0xff;
  131.                 P1=0x08;
  132.         P2=dis[(h+2)%10];
  133.          delay(1);
  134.        }
  135.      }

  136.     delay(248);

  137.     P0=0xf3;
  138.      for(h=3;h>0;h--)
  139.      {
  140.         delay(392);
  141.          P0=0xf3;
  142.          delay(1);
  143.         P1=0x00;
  144.         P2=0xff;
  145.         P1=0xaa;
  146.         P2=dis[(h-1)%10];
  147.          delay(600);
  148.         P0=0xfb;
  149.      }

  150.     delay(248);
  151.      
  152.     P0=0xdd;
  153.      for(h=38;h>0;h--)
  154.      {
  155.        for(s=248;s>0;s--)
  156.        {
  157.             
  158.                 P1=0x00;
  159.         P2=0xff;
  160.         P1=0x01;
  161.         P2=dis[(h+2)/10];
  162.                  delay(1);
  163.                 P1=0x00;
  164.         P2=0xff;
  165.         P1=0x02;
  166.         P2=dis[(h+2)%10];
  167.                  delay(1);
  168.         P1=0x00;
  169.         P2=0xff;
  170.         P1=0x04;
  171.         P2=dis[h/10];
  172.          delay(1);
  173.         P1=0x00;
  174.         P2=0xff;
  175.         P1=0x08;
  176.         P2=dis[h%10];
  177.          delay(1);
  178.        }
  179.      }

  180.     delay(248);

  181.     P0=0xde;
  182.      for(h=3;h>0;h--)
  183.      {
  184.         delay(392);
  185.         P0=0xde;
  186.          delay(1);
  187.         P1=0x00;
  188.         P2=0xff;
  189.         P1=0xaa;
  190.         P2=dis[(h-1)%10];
  191.         delay(600);
  192.         P0=0xdf;
  193.       
  194.      }

  195.          delay(248);
  196.      
  197.    }
  198.   
  199. }
復制代碼

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


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

使用道具 舉報

沙發
ID:756400 發表于 2020-6-19 12:05 | 只看該作者
花里胡哨呀。。。
回復

使用道具 舉報

無效樓層,該帖已經被刪除
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 黄免费看 | 国产成人免费网站 | 99久久日韩精品免费热麻豆美女 | 欧美电影一区 | 成人在线精品 | 国产日韩欧美一区 | 中文字幕在线第二页 | 国产成人免费视频网站视频社区 | 欧美一区二区三区精品 | 亚洲一区二区在线视频 | 欧美国产一区二区 | 欧美一区二区三区视频在线播放 | 国产区精品| 欧美综合在线视频 | 99久久久国产精品 | 成人av免费 | 日本午夜精品一区二区三区 | 日韩在线精品视频 | 亚洲一区成人 | 精品成人av| 欧美一区二区在线观看 | 9191av| 99综合网| 丁香婷婷综合激情五月色 | 91免费在线视频 | 亚洲色图图片 | 香蕉视频91 | 欧美亚洲一区二区三区 | 亚洲视频一区 | 日韩免费网| 日日干日日色 | 成人精品视频 | 免费观看一级毛片视频 | 亚洲精品大全 | 国产精品二区三区在线观看 | 国产99热精品 | 久草视频网站 | 午夜极品 | 国产精品久久久久久久午夜 | 久久国产婷婷国产香蕉 | 在线国产小视频 |