51单片机设计,哪位大神帮帮忙设计一下,谢谢了!!!

51单片机设计,哪位大神帮帮忙设计一下,谢谢了!!!交通灯控制器设计设计要求利用单片机设计一个十字路口交通灯控制器。用单片机控制LED灯(红、绿、黄灯)模拟指示。模拟东西... 51单片机设计,哪位大神帮帮忙设计一下,谢谢了!!!交通灯控制器设计 设计要求 利用单片机设计一个十字路口交通灯控制器。用单片机控制LED灯(红、绿、黄灯)模拟指示。模拟东西方向的十字路口交通信号控制情况。东西向通行时间为30s,南北向通行时间为20s,缓冲时间为5s。 展开
 我来答
赢皮大8
2016-11-17 · TA获得超过889个赞
知道小有建树答主
回答量:991
采纳率:75%
帮助的人:514万
展开全部
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char

 
#define red (~0x01)
#define yellow (~0x02)
#define green (~0x04)
#define left (~0x08)
#define nbred (~0x10)
#define nbyellow (~0x20)
#define nbgreen (~0x40)
#define nbleft (~0x80)
uint num2;
uchar dx_js,nb_js;
uchar zt;  

uchar code dxcz[]={0,30,5    ,25,5,};
uchar code nbcz[]={0,35,5    ,20,5,};
uchar code tab2[]={0,
0xFF&green&nbred,
0xFF&yellow&nbred,
0xFF&red&nbgreen,
0xFF&red&nbyellow,
};


sbit D0=P2^0;
sbit D1=P2^1;
sbit D2=P2^2;
sbit D3=P2^3;

uchar ds[4];
uchar code tab[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,};


//数码管显示
void smxs(){
static uchar a;
if(a>3)a=0;
P2&=0xf0;
P0=tab[ds[a]];
switch(a){
case 0:D0=1;break;
case 1:D1=1;break;
case 2:D2=1;break;
case 3:D3=1;break;
}
a++;
}

void init() //初始化函数
{   TMOD=0x01;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
EA=1;
    ET0=1;
}
void main()//主函数
{

init();
zt=1;
num2=0;
    dx_js=dxcz[zt];
nb_js=nbcz[zt];
TR0=1;
while(1){
P1=tab2[zt];
ds[0]=dx_js/10;
ds[1]=dx_js%10;
ds[2]=nb_js/10;
ds[3]=nb_js%10;
}
}



void timer0() interrupt 1//定时器,实现倒计时
{    
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
if(++num2==1000){//1s
num2=0;
dx_js--;//倒计时
nb_js--;
if(dx_js==0||nb_js==0){//到0
zt++;//状态加1
if(zt==5){
zt=1;
}
dx_js=dxcz[zt];//重新开始计时
nb_js=nbcz[zt];
}
}
smxs();
}


cjj796
2016-11-17 · TA获得超过8709个赞
知道大有可为答主
回答量:1.3万
采纳率:68%
帮助的人:3465万
展开全部
你好!是用仿真实现吗?程序是c语言写吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式