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

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

運用定時器中斷寫的交通燈

作者:未知   來源:不詳   點擊數:  更新時間:2014年06月28日   【字體:

這是一個運用51單片機寫的交通燈的例子,可以顯示時間,紅黃藍等,第一個按鍵是左右路通行20S,第二個按鍵是上下路通行20S,第一個按鍵是所有路都是紅燈20S。這是從時鐘該來的程序,與上一個始終的程序大體相同。

 

#include<reg52.h>
#define uint unsigned int
int code table[]={
 0xc0,0xf9,0xa4,0xb0,0x99,0x92,  
 0x82,0xf8,0x80,0x90,
};
sbit hongA=P0^0;
sbit huangA=P0^1;
sbit lvA=P0^2;
sbit hongB=P0^3;
sbit huangB=P0^4;
sbit lvB=P0^5;
sbit key1=P1^0;
sbit key2=P1^1;
sbit key3=P1^2;
int t=0,t1=0,flag=0,tt0,tt1;
void delay();
void ziyou();
void Bfangxing();
void Afangxing();
void zhongduan();
void main()

  EA=1;//開總中斷
 TMOD=0x01;//設置定時器0為工作方式1
 TH0=(65536-50000)/256;
 TL0=(65536-50000)%6; 
 ET0=1;//開定時器0中斷
 TR0=1;//啟動定時器0

 P0=0xff;
 lvA=0;//打開綠燈
 hongB=0;
 while(1)
 
   
    if(flag==0)  ziyou();//自由狀態
    if(flag==1)  Afangxing();//B放行期間改變
    if(flag==2)  Bfangxing();//B放行期間改變 
    if(flag==3)  zhongduan();//B放行期間改變        
    if(tt0==-1) {tt1--;tt0=9;}
    P3=0X01;
    P2=table[tt1];
    delay();
    P3=0X02;
    P2=table[tt0];
       delay();   
 }
}
void delay()
{
  int i;
   for(i=0;i<200;i++);
}
void ziyou()//自由狀態
{
  if(t==20)//達到1s
   {
    t=0;
    t1=t1+1;
    tt0--;//減少秒
   }
  if(t1==0)
   {
    hongB=0;lvB=1;huangB=1;//B道
    lvA=0;huangA=1;hongA=1;//A道
    tt1=3;tt0=0;
   }
  if(t1==30)//30
   {
    hongB=0;lvB=1;huangB=1;//B道
    lvA=1;huangA=0;hongA=1;//A道
    tt1=0;tt0=5;
   }
  if(t1==35)//35
   {
    hongB=1;lvB=0;huangB=1;//B道
    hongA=0;huangA=1;lvA=1;//A道
    tt1=2;tt0=0;
   }
  if(t1==55)//55
   {
    hongA=0;lvA=1;huangA=1;//A道
    lvB=1;huangB=0;hongB=1;//B道
    tt1=0;tt0=5;
   }
  if(t1==60)//60
   {
    t1=0;
    tt1=0;tt0=0;
    
}
void Afangxing()//A放行
{
   hongB=0;lvB=1;huangB=1;//B道
 lvA=0;huangA=1;hongA=1;//A道
       if(t==20)//達到1s
   {
    t=0;
    t1=t1+1;
    tt0--;
   }
    if(t1==15)
     {
       t1=30;//跳至30
    flag=0;
   
     }
}
void Bfangxing()//B放行
 
  hongB=1;lvB=0;huangB=1;//B道
  hongA=0;huangA=1;lvA=1;//A道
       if(t==20)//達到1s
   {
    t=0;
    t1=t1+1;
    tt0--;
   }
    if(t1==15)
     {
       t1=55;//跳至55
    flag=0;
     }
}
void zhongduan()//key3
  
  hongB=0;lvB=1;huangB=1;//B道
  hongA=0;huangA=1;lvA=1;//A道
       if(t==20)//達到1s
   {
    t=0;
    t1=t1+1;
    tt0--;
   }
    if(t1==20)
     {
       t1=0;//跳至55
    flag=0;
     }
}
void time0() interrupt 1
{
 TH0=(65536-50000)/256;
 TL0=(65536-50000)%6;
 t++; //tt=20為1s
 if(key1==0)
 {
   if(t1>30) {flag=1;t=0;t1=0;tt1=1;tt0=5;}//35
 
 
 if(key2==0)  
 {
   if(t1<35) {flag=2;t=0;t1=0;tt1=1;tt0=5;}//35
 }
 if(key3==0)  
 tt1=2;tt0=0;
    flag=3;t=0;t1=0;
 }
}

關閉窗口

相關文章

主站蜘蛛池模板: 国产激情一区二区三区 | 成人a视频片观看免费 | 亚洲网一区| 激情五月激情综合网 | 免费一区二区 | 欧美精品一级 | av在线播放网址 | 一区精品视频在线观看 | 久久亚洲欧美日韩精品专区 | 国产乱码久久久久久一区二区 | 日韩在线精品视频 | 久久91av| www,黄色,com | 久草免费在线视频 | 精品久久国产老人久久综合 | 不卡一区| 免费国产一区二区 | 中文成人在线 | 狠狠骚 | 国产成人精品免费视频 | 青青激情网 | 欧美日韩在线一区 | 自拍偷拍一区二区三区 | 亚洲精品久久久一区二区三区 | 亚洲男女视频在线观看 | 久久久无码精品亚洲日韩按摩 | 国产一区二区三区在线 | www.99热这里只有精品 | 欧美一区二区三区国产 | 亚洲精品久 | 日韩一区二区三区精品 | 91免费版在线观看 | 日韩高清国产一区在线 | 蜜桃视频在线观看免费视频网站www | 国产精品成人一区 | 男人天堂99| 欧美一a一片一级一片 | 国产高清视频一区二区 | 国产特级毛片 | 久久精品久久久 | 天天操一操 |