• 大小: 40KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-07
  • 语言: 其他
  • 标签:

资源简介

该程序是实现了单片机正常的交通灯红绿黄灯亮的时间,闪烁的的功能,另外还添加了,按键操作,改变灯亮的时间

资源截图

代码片段和文件信息

#include
unsigned char dispram[10]={0x3F 0x06 0x5B 0x4F 0x66 0x6D 0x7D 0x07 0x7F 0x6F};
unsigned char cbd;
unsigned time;
bit  a=0;

void delay(int x) //延时子程序//
{
int i;
for(i=0;i}
void main()
{

    EA=1; //开CPU中断//
ET1=1; //开定时中断1//
EX1=1; //开外部中断1//
TMOD=0x10; //定时中断工作模式1//
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
TR1=1; //允许运行定时中断1//
time=60;
b=0;
c=0;
d=60;
while(1)
{
if(b==0) //判断是否点亮红灯//
{
P1=0xf3;
if(time==0) //判断时间是否计到0//
{
time=3;
b=1; //黄灯闪标志//
}
P0=dispram[time/10];
P2=0x00;
P2=0XFF;
P0=0xfb;
P2=0x20;
P2=0xff;
delay(500);
P0=dispram[time%10];
P2=0x00;
P2=0xff;
P0=0xf7;
P2=0x20;
P2=0xff;
delay(500);
}
if(b==1) //判断是否黄灯闪//
{
if(time==3)
{
P1=0xfd;
}
if(time==2)
{
P1=0xff;
}
if(time==1)
{
P1=0xfd;
}
if(time==0) //判断倒计时//
{
time=18;
P1=0xfe;
b=2; //点亮绿灯标志//
}
P0=dispram[time/10];
P2=0x00;
P2=0XFF;
P0=0xfb;
P2=0x20;
P2=0xff;
delay(500);
P0=dispram[time%10];
P2=0x00;
P2=0xff;
P0=0xf7;
P2=0x20;
P2=0xff;
delay(500);
}
if(b==2) //判断是否点亮绿灯//
{ P1=0xfe;
if(time==0) //判断倒计时//
{
time=d;
b=0; //点亮红灯标志//
}
P0=dispram[time/10];
P2=0x00;
P2=0XFF;
P0=0xfb;
P2=0x20;
P2=0xff;
delay(100);
P0=dispram[time%10];
P2=0x00;
P2=0xff;
P0=0xf7;
P2=0x20;
P2=0xff;
delay(100);
}
}
}
void int2(void)interrupt 2 using 3 //外部中断子程序//
{ a=~a; //a取反//
if(a==1) //判断a的值//
{
c=0; //中断次数清零//
b=0; //给模式1标志量赋初值0//
time=30; //给模式2时间赋初值30//
d=30;
}
else
if(a==0)
{
c=0; //中断次数清零//
time=60; //给模式1时间赋初值60//
d=60;
b=0; //给模式1标志量赋初值0//
}
}
void timer0(void)interrupt 3 using 2 //定时中断子程序//
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
c++;
if(c==20) //判断定时中断是否执行了20次//
{ c=0; //给定时中断次数赋初值//
time--; //秒数减1//
}
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2012-02-28 19:16  交通灯完全版(备份)\
     文件        8257  2011-09-03 11:11  交通灯完全版(备份)\1
     文件       21097  2011-09-03 11:11  交通灯完全版(备份)\1.MAP
     文件        3238  2011-09-03 11:11  交通灯完全版(备份)\1.SBR
     文件        1892  2011-09-03 11:11  交通灯完全版(备份)\1.hex
     文件          50  2011-09-03 11:11  交通灯完全版(备份)\1.lnp
     文件           0  2012-02-28 19:15  交通灯完全版(备份)\1.plg
     文件        1393  2011-09-03 11:11  交通灯完全版(备份)\1_Opt.Bak
     文件           0  2011-09-03 11:11  交通灯完全版(备份)\1_Uv2.Bak
     文件        5115  2011-09-03 11:11  交通灯完全版(备份)\STARTUP.A51
     文件       11665  2011-09-03 11:11  交通灯完全版(备份)\STARTUP.LST
     文件         749  2011-09-03 11:11  交通灯完全版(备份)\STARTUP.OBJ
     文件        7955  2011-09-03 11:11  交通灯完全版(备份)\交通灯完全版
     文件       20962  2011-09-03 11:11  交通灯完全版(备份)\交通灯完全版.MAP
     文件        3201  2011-09-03 11:11  交通灯完全版(备份)\交通灯完全版.SBR
     文件        2087  2011-09-03 11:11  交通灯完全版(备份)\交通灯完全版.Uv2.bak
     文件        2302  2011-09-03 11:11  交通灯完全版(备份)\交通灯完全版.c
     文件        1839  2011-09-03 11:11  交通灯完全版(备份)\交通灯完全版.hex
     文件          41  2011-09-03 11:11  交通灯完全版(备份)\交通灯完全版.lnp
     文件        8126  2011-09-03 11:11  交通灯完全版(备份)\交通灯完全版.lst
     文件        8043  2011-09-03 11:11  交通灯完全版(备份)\交通灯完全版.obj
     文件        1350  2011-09-03 11:11  交通灯完全版(备份)\交通灯完全版.opt.bak
     文件        1480  2011-09-03 11:11  交通灯完全版(备份)\交通灯完全版.plg
     文件       56893  2012-02-28 19:16  交通灯完全版(备份)\交通灯完全版.uvopt
     文件       13489  2012-02-28 19:16  交通灯完全版(备份)\交通灯完全版.uvproj
     文件        1313  2011-09-03 11:11  交通灯完全版(备份)\交通灯完全版_Opt.Bak
     文件        2045  2011-09-03 11:11  交通灯完全版(备份)\交通灯完全版_Uv2.Bak

评论

共有 条评论