资源简介

很牛叉的交通灯仿真程序,值得下载,内附很美的proteus十字路口模型,并附有keil程序,同学们赶紧下载。

资源截图

代码片段和文件信息

#include
#include   
#define uchar unsigned char
#define uint unsigned int
void delay(uint c);
//PA、PB、PC端口及命令端口地址定义
#define PA XBYTE[0x0000]
#define PB XBYTE[0x0001]
#define PC XBYTE[0x0002]
#define COM XBYTE[0x0003]
sbit P1_7=P1^7;
sbit P1_6=P1^6;
sbit P1_5=P1^5;
sbit P1_4=P1^4;
sbit P1_3=P1^3;
sbit P1_2=P1^2;
sbit P1_1=P1^1;
sbit P1_0=P1^0;
sbit P3_1=P3^1;
sbit P3_2=P3^2;
sbit P3_3=P3^3;
sbit P2_7=P2^7;
sbit P2_6=P2^6;
sbit P2_5=P2^5;
sbit P2_4=P2^4;
sbit P2_3=P2^3;
sbit P2_2=P2^2;
sbit P2_1=P2^1;
sbit P2_0=P2^0;

uchar s=0red_tgreen_ttflag=0;
 uchar WE_shiWE_geSN_shiSN_geset_tset_flag=0;
//待显示字符编码队列
uchar code DSY_CODE[]={
0Xc0/*0*/
0Xf9/*1*/
0Xa4/*2*/
0Xb0/*3*/
0X99/*4*/
0X92/*5*/
0X82/*6*/
0Xf8/*7*/
0X80/*8*/
0X90/*9*/
0Xff/*NULL*/
};
//数码管选通
uchar code DSY_choice[]={0x010x020x040x08};

//键盘程序
void key_scan()
{
if(P1_5==0) //加1键
{
delay(50);
if(P1_5==0)
{
  set_t=set_t+1;
} while(P1_5==0);

}

if(P1_4==0)   //加5键
{
delay(50);
if(P1_4==0)
{
  set_t=set_t+5;
} while(P1_4==0);

}

if(P1_3==0) //减5键
{
delay(50);
if(P1_3==0)
{
  set_t=set_t-5;
} while(P1_3==0);

}

if(P1_2==0)    //减1键
{
delay(50);
if(P1_2==0)
{
  set_t=set_t-1;
} while(P1_2==0);

}
}

 //延时
void delay(uint c)
{
   uint ij;
    for(i=0;i   for(j=0;j<100;j++);

}
 void t0_second() interrupt 1
{
TH0=0x3c; //恢复定时器0初值
TL0=0xb0;
s++;
if(s==20)
{
s=0;
   t--;
  }


}


void t1(void) interrupt 3 using 1
 {
  TH0=0xff;
TH1=0xff; 
    delay(2);
     if(T1==0)
       {
    PA=0x1B;
        PB=0xff;
        PC=0xff;
    };
while(1)
{  if(P1_6==0)
{
delay(2);
if(P1_6==0);
break;
}
 }
}

//主程序
void main()
{  
COM=0x80;  //8255工作方式选择:PA、PB均输出,工作方式0
PA=0xff;
  TMOD=0x61;
  TH1=0xff;
  TL1=0xff;
  TH0=0x3C;
  TL0=0xB0;
  EA=1;
  ET0=1;
 ET1=1;
  set_t=20;
  t=20;
  green_t=20;
  red_t=20;
  while(1)
  {
   while(P1_0==0)
{    
   if(P1_6==0)
    {
   delay(50);
    if(P1_6==0)
{
 set_flag++;
 if(set_flag==2)
 {
  set_flag=0;
 }
  while(P1_6==0);
}
    }

   if(set_flag==0) 
    {
PA=0x2B;
key_scan();
if(set_t<5)
{
  set_t=20;
}
if(set_t>95)
{
set_t=20;

if(set_t>95)
{
set_t=20;
}
red_t=set_t;
t=red_t;
    PB=DSY_choice[0];
PC=DSY_CODE[set_t/10];
delay(10);
PB=DSY_choice[1];
PC=DSY_CODE[set_t%10];
delay(10);
PB=DSY_choice[2];
PC=DSY_CODE[(set_t-5)/10];
delay(10);
PB=DSY_choice[3];
PC=DSY_CODE[(set_t-5)%10];
delay(10);
     }
    
 if(set_flag==1) 
    {
PA=0x1D;
key_scan();
if(set_t<5)
{
  set_t=20;
}
green_t=set_t;
    PB=DSY_choice[0];
PC=DSY_CODE[set_t/10];
delay(10);
PB=DSY_c

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     186974  2012-01-08 12:35  最牛的交通灯proteus仿真附keil程序\Backup Of traffic.DBK

     文件      29630  2012-01-08 13:56  最牛的交通灯proteus仿真附keil程序\ISIS.dmp

     文件       5231  2012-01-14 09:40  最牛的交通灯proteus仿真附keil程序\keil 程序\main.c

     文件      15951  2012-01-14 09:48  最牛的交通灯proteus仿真附keil程序\keil 程序\main.LST

     文件       6174  2012-01-14 09:48  最牛的交通灯proteus仿真附keil程序\keil 程序\main.OBJ

     文件       6376  2009-05-07 14:37  最牛的交通灯proteus仿真附keil程序\keil 程序\STARTUP.A51

     文件      14062  2012-01-14 09:48  最牛的交通灯proteus仿真附keil程序\keil 程序\STARTUP.LST

     文件        749  2012-01-14 09:48  最牛的交通灯proteus仿真附keil程序\keil 程序\STARTUP.OBJ

     文件       4889  2012-01-14 09:48  最牛的交通灯proteus仿真附keil程序\keil 程序\traffic

     文件       4270  2012-01-14 09:48  最牛的交通灯proteus仿真附keil程序\keil 程序\traffic.hex

     文件         59  2012-01-14 09:48  最牛的交通灯proteus仿真附keil程序\keil 程序\traffic.lnp

     文件      18893  2012-01-14 09:48  最牛的交通灯proteus仿真附keil程序\keil 程序\traffic.M51

     文件        187  2012-02-04 17:42  最牛的交通灯proteus仿真附keil程序\keil 程序\traffic.plg

     文件      56169  2012-02-04 17:42  最牛的交通灯proteus仿真附keil程序\keil 程序\traffic.uvopt

     文件      13399  2012-01-14 11:09  最牛的交通灯proteus仿真附keil程序\keil 程序\traffic.uvproj

     文件      56173  2012-02-04 15:06  最牛的交通灯proteus仿真附keil程序\keil 程序\traffic_uvopt.bak

     文件      13392  2012-01-09 22:08  最牛的交通灯proteus仿真附keil程序\keil 程序\traffic_uvproj.bak

     文件     188988  2012-01-14 01:17  最牛的交通灯proteus仿真附keil程序\Last Loaded traffic.DBK

     文件     189122  2012-02-04 17:42  最牛的交通灯proteus仿真附keil程序\traffic.DSN

     文件       4270  2012-01-14 09:48  最牛的交通灯proteus仿真附keil程序\traffic.hex

     文件        816  2013-06-21 02:22  最牛的交通灯proteus仿真附keil程序\traffic.PWI

     目录          0  2013-06-21 02:22  最牛的交通灯proteus仿真附keil程序\keil 程序

     目录          0  2013-06-21 02:22  最牛的交通灯proteus仿真附keil程序

----------- ---------  ---------- -----  ----

               815774                    23


评论

共有 条评论