大家帮忙编个单片机程序

来源:百度知道 编辑:UC知道 时间:2024/05/31 03:11:39
模拟单向交通灯程序,当人行道没有按钮请求时,主干道绿灯亮,当人行道有按钮请求时,主干道黄灯亮,亮5秒后,主干道红灯亮,人行道绿灯亮10秒后主干道绿灯亮,人行道绿灯灭。按钮按下后20秒内按钮无效。
谢谢

我用的是AT89S52 你改一下头文件
#include <regx52.h>
#define uchar unsigned char
#define uint unsigned int
sbit ar=P1^0;
sbit ay=P1^1;
sbit ag=P1^2;
sbit br=P1^3;
sbit by=P1^4;
sbit bg=P1^5;
uchar shu[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};
uchar wei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
uchar dispwei[8]={0,0,10,10,10,10,0,0};
uchar left,weici,dispweici;
uint ci;
uint i=1;
void main(void)
{TMOD=0x02;
TH0=0x06;
TL0=0x06;
TR0=1;
IP=0x05;
IE=0x87;
left=31;
ar=0;ag=1;ay=1;
bg=0;br=1;by=1;
while(1);}
void t0(void) interrupt 1
{
weici++;
if(weici==8)
{
weici=0;
P0=shu[dispwei[dispweici]];
P2=wei[dispweici];
dispweici++;
if(dispweici==8)
{
dispweici=0;
}
}