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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3539|回復: 0
打印 上一主題 下一主題
收起左側(cè)

左右轉(zhuǎn)向交通燈仿真及源程序

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:128255 發(fā)表于 2016-6-27 09:35 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
這是帶左右轉(zhuǎn)向的交通燈,采用每一個方向9個二極管燈的設計。這是根據(jù)設計任務做的。代碼 仿真都是自己做的。
設計內(nèi)容:1、東西干道和南北干道的通行分左行、右行、直行,其中左行、右行固定15秒;直行固定30
                        2、信號燈分綠燈(3種)、紅燈、黃燈,每次綠燈換紅燈時,黃燈亮3秒鐘
                        3、東西干道和南北干道交替控制,每次干道綠燈交替時,有3秒鐘所有干道的交通燈都是黃燈閃爍3秒鐘,提示已經(jīng)進入路口的車輛迅速通過



  1. #include<reg52.h>
  2. #define  uchar unsigned char
  3. #define  uint unsigned int
  4. sbit wei1=P3^0;
  5. sbit wei2=P3^1;
  6. sbit num1=P3^7;
  7. sbit e2=P3^4;
  8. sbit f2=P3^5;
  9. uchar num,num2,num3,flag;
  10. uchar code table[]=
  11. {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  12. void delayms(uint x)
  13. {
  14.         uint i,j;
  15.         for(i=x;i>0;i--)
  16.                 for(j=110;j>0;j--);
  17. }
  18. void lamp()
  19. {        if(num1==0)
  20.   {
  21.         if(num3<=13)
  22.         {
  23.           P0=0x81;
  24.           P2=0x0f;
  25.         }
  26.         if((num3>13)&&(num3<=15))
  27.         {
  28.           P0=0x80;
  29.           P2=0x0f;
  30.           delayms(400);
  31.           P2=0x1f;
  32.           delayms(400);
  33.         }
  34.         if((num3>15)&&(num3<=27))
  35.         {
  36.           P0=0x46;
  37.           P2=0x0e;
  38.         }
  39.         if((num3>27)&&(num3<=30))
  40.         {
  41.           P0=0X42;
  42.           P2=0X4e;
  43.           delayms(400);
  44.           P2=0X0e;
  45.           delayms(400);       
  46.         }
  47.         if((num3>30)&&(num3<=42))
  48.         {
  49.           P0=0x42;
  50.           P2=0x0f;
  51.         }
  52.         if(num3>42)
  53.         {
  54.           P0=0x00;
  55.           P2=0xf0;
  56.           e2=1;
  57.           f2=1;
  58.           delayms(400);
  59.           P2=0x00;
  60.           e2=0;
  61.           f2=0;
  62.           delayms(400);
  63.         }
  64.   }
  65. else
  66. {
  67.         if(num3<=13)
  68.         {
  69.           P0=0xc8;
  70.           P2=0x0d;
  71.         }
  72.         if((num3>13)&&(num3<=15))
  73.         {
  74.           P0=0xc0;
  75.           P2=0x8d;
  76.           delayms(400);
  77.           P2=0x0d;
  78.           delayms(400);
  79.         }
  80.         if((num3>15)&&(num3<=27))
  81.         {
  82.           P0=0xf0;
  83.           P2=0x03;
  84.         }
  85.         if((num3>27)&&(num3<=30))
  86.         {
  87.           P0=0Xd0;
  88.           P2=0X03;
  89.           f2=1;
  90.           delayms(400);
  91.           f2=0;
  92.           delayms(400);       
  93.         }
  94.         if((num3>30)&&(num3<=42))
  95.         {
  96.           P0=0xd0;
  97.           P2=0x0b;
  98.         }
  99.         if(num3>42)
  100.         {
  101.           P0=0x00;
  102.           P2=0xf0;
  103.           e2=1;
  104.           f2=1;
  105.           delayms(400);
  106.           P2=0x00;
  107.           e2=0;
  108.           f2=0;
  109.           delayms(400);
  110.         }
  111. }
  112. }
  113. void xs()
  114. {
  115.         P1=table[num/10];
  116.         wei1=1;
  117.         delayms(10);
  118.         wei1=0;
  119.         P1=table[num%10];
  120.         wei2=1;
  121.         delayms(10);
  122.         wei2=0;
  123.    
  124. }
  125. void main()
  126. {
  127.         P0=0x00;
  128.         num1=0;num3=0;
  129.         P1=P2=P3=0x00;
  130.         TMOD=0x01;
  131.         TH0=(65536-45872)/256;
  132.         TL0=(65536-45872)%256;
  133.         EA=1;
  134.         ET0=1;
  135.         TR0=1;
  136.         while(1)
  137.         {
  138.         lamp();
  139.         xs();
  140.         }
  141. }
  142. void T0_time() interrupt 1
  143. {
  144.         TH0=(65536-45872)/256;
  145.         TL0=(65536-45872)%256;
  146.         num2++;
  147.         if(num2==20)
  148.         { num2=0;
  149.         num3++;
  150.         if(num3==45)
  151.         {       
  152.         num3=0;
  153.         num1=~num1;
  154.         }
  155.         num=45-num3;
  156.         }
  157. }
復制代碼



這是用proteus的仿真圖 三刀.rar (53.7 KB, 下載次數(shù): 25)
這是用kellc編寫的程序 程序.rar (12.85 KB, 下載次數(shù): 25) 。初次發(fā)帖請各位大神關(guān)照。


評分

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

查看全部評分

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

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩亚洲国产 | 在线一区观看 | 亚洲国产乱码 | 婷婷桃色网 | 欧美色成人 | 国产免费拔擦拔擦8x高清 | 激情一区二区三区 | 久久大| 欧美精品乱码99久久影院 | 国产成人精品一区二区三区四区 | 亚洲精品乱码久久久久久按摩观 | 欧美日韩一区二区在线 | 黄色永久免费 | 久久久久久艹 | tube国产| 日韩在线观看网站 | 瑟瑟视频在线看 | 久久er99热精品一区二区 | 成人一区二区三区 | 九九伦理电影 | 欧美群妇大交群中文字幕 | 狠狠干天天干 | 国产福利免费视频 | 丁香综合 | 国产亚洲精品a | 国产探花在线精品一区二区 | 日韩欧美网 | 欧美午夜精品 | 国产精品久久av | 欧美黑人巨大videos精品 | 免费网站国产 | 日韩国产精品一区二区三区 | 日韩在线免费电影 | 精品一区二区三区四区 | 亚洲精品国产电影 | 欧美中文字幕一区二区 | 成人免费一区二区三区视频网站 | 香蕉国产在线视频 | 亚洲精品久久久 | 81精品国产乱码久久久久久 | 国产高潮好爽受不了了夜色 |