• 大小: 213KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-28
  • 语言: 其他
  • 标签: 51  交通灯  

资源简介

基于51单片机的智能交通灯控制,其中包含程序代码,仿真图,设计报告

资源截图

代码片段和文件信息

//***************简易智能交通灯设计**************//
//***********************************************//

#include
#define uchar unsigned char
#define uint  unsigned int

//***********************************************//
uchar code tab[]={     0x3F/*0*/
        0x06/*1*/
        0x5B/*2*/
        0x4F/*3*/
        0x66/*4*/
        0x6D/*5*/
        0x7D/*6*/
        0x07/*7*/
        0x7F/*8*/
        0x6F/*9*/
} ;
//*******************共阴码**********************//
sbit wela=P3^0; //段选
sbit dula=P3^1; //位选

sbit K1=P3^6; //停止
sbit K2=P3^7; //清零
sbit K3=P3^5;

sbit D1=P1^0;
sbit D2=P1^1;
sbit D3=P1^2;

uchar aashigeflagtt;
uint  num=30;
//*******************延时函数*******************//
void delay(uint z)
{
uint xy;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
//********初始化主函数T0定时器******************//
void init()
{
TMOD=0x01; //设置定时器0工作在方式一(16位工作方式)
TH0=(65536-50000)/256;
TH1=(65536-50000)%256;
EA=1; //开总中断
ET0=1; //开定时器0中断
TR0=1; //开定时器
D2=0;
D1=0;
}

//*************数码显示子程序*******************//
void Display(uchar shiuchar ge) //显示十位和个位
{
dula=1; //开段选
P2=tab[shi]; //把十位给
dula=0; //关段选
wela=1; //开位选
P0=0xfe; //打开第一个数码管 1111 1110 - 0111 1111 
wela=0; //关位选
P2=0x00; //关闭数码管
delay(10);
dula=1;
P2=tab[ge];
dula=0;
wela=1;
P0=0xfd;
wela=0;
P2=0x00;
delay(10);


//************键盘扫描程序**********************//
void keyscan()
{
uchar aa;
if(K1==0)
{
aa++;
switch(aa)
{
case 1:TR0=0; //停止
break;
case 2:TR0=1; //启动
}
if(aa==2)
{
aa=0;
init();
}
}
if(K2==0)
{
delay(80);
if(K2==0)
{
delay(80);
num++;
}
while(!K2);
}

if(K3==0)
{
delay(80);
if(K3==0)
{
delay(80);
num--;
}
while(!K3);
}

}
void main()
{
init();
while(1)
{

shi=num/10;
ge =num%10;
Display(shige);
    keyscan();
}
}

//*************定时器控制**********************//
void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TH1=(65536-50000)%256;
aa++;

if(aa==20)
{
aa=0;
num--;
if(num<=10)
{

D3=1;              //红灯亮
D2=0;
if(num<=5)
{
D1=1;       //黄灯开始闪烁
delay(80);
D1=0;
}
if(num==0)
{
D2=1;
D3=0;
}
}
if(num==-1)
{
num=30;
}
}
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件      159609  2013-06-24 19:58  智能交通灯.DSN
     文件      290304  2013-06-24 22:06  智能交通灯设计1.doc
     文件        2779  2013-06-24 16:11  jiaotongdeng.c

评论

共有 条评论