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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機交通燈仿真

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


單片機源程序如下:
  1. //proteus仿真論壇
  2. #include <reg51.h>
  3. #include <stdio.h>
  4. #define uchar     unsigned char
  5. #define uint      unsigned int

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

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

  43.             };
  44.           
  45.     }

  46. }

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

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

  94.             };

  95. }



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

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

  137.     delay(248);

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

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

  181. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

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


評分

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

查看全部評分

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

使用道具 舉報

沙發
ID:110866 發表于 2017-6-24 18:45 | 只看該作者
不錯,設計的很完善
回復

使用道具 舉報

板凳
ID:233789 發表于 2017-9-18 11:28 | 只看該作者
這個是幾個數碼管顯示的設計????
回復

使用道具 舉報

地板
ID:267456 發表于 2017-12-27 10:33 | 只看該作者
很不錯的設計
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美成人精品一区二区男人看 | 日韩在线视频免费观看 | 毛片网在线观看 | 欧洲在线视频 | 欧美日韩国产精品一区 | 成人免费在线 | 欧美激情综合五月色丁香小说 | 日韩乱码一二三 | 久久久久1 | 国产精品入口麻豆www | 亚洲精品一区二区在线观看 | 亚洲97| 国内自拍偷拍一区 | 精品国产一级 | 国产精品污www一区二区三区 | 精品久久久久久久人人人人传媒 | 免费视频一区二区 | 毛片在线看看 | 久久久久久久久久久久久久国产 | 99免费在线 | 国产精品无码专区在线观看 | 国产欧美视频一区二区 | 久久久91精品国产一区二区三区 | 日韩av视屏 | www.亚洲| 国产精品久久久久久亚洲调教 | 精品视频一区二区三区在线观看 | 人人插人人 | 四虎在线视频 | 亚洲精品国产a久久久久久 中文字幕一区二区三区四区五区 | 99视频免费在线 | 国产精品一区二区三区久久 | 亚洲成人精品在线 | 欧美色人 | 亚洲一区二区免费 | 99久久精品一区二区毛片吞精 | 成人免费看黄网站在线观看 | 国产成人精品亚洲日本在线观看 | 一区二区三区视频免费看 | 亚洲一区二区三区国产 | 麻豆av在线免费观看 |