资源简介
该程序是实现了单片机正常的交通灯红绿黄灯亮的时间,闪烁的的功能,另外还添加了,按键操作,改变灯亮的时间
代码片段和文件信息
#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
- 上一篇:react.js完整项目
- 下一篇:计算机病毒.ppt
评论
共有 条评论