运用51单片机设计一个交通灯系统,急求!运用定时器,数码管LED和8255A设计一个交通灯控制系统!
1.南北绿灯,东西红灯,20秒2.南北转黄灯,东西红灯,5秒3.南北红灯,东西绿灯,20秒4.南北红灯,东西转黄灯,5秒5.循环步骤1运用如题的器件,急求!!!!...
1.南北绿灯,东西红灯,20秒
2.南北转黄灯,东西红灯,5秒
3.南北红灯,东西绿灯,20秒
4.南北红灯,东西转黄灯,5秒
5.循环步骤1
运用如题的器件,急求 !!!! 展开
2.南北转黄灯,东西红灯,5秒
3.南北红灯,东西绿灯,20秒
4.南北红灯,东西转黄灯,5秒
5.循环步骤1
运用如题的器件,急求 !!!! 展开
1个回答
展开全部
/*************************************
程序名称:红绿灯学习
功能描述:简易十字路口信号控制
作都名称:CYB
创建时间:2009/07/26
*************************************/
#include <reg51.h>
#define FX_Time 4 //放行时间
#define JG_Time 1 //警告时间
unsigned char DispX[4]= {0x9a,0x9c,0xa9,0xc9}; //控制码
void FangXiang (unsigned char *PTR )
void JingGao (unsigned char *PTR )
/****************************************
函数名称:Delay
功能描述:延时
作都名称:CYB
创建时间:2009/07/26
***********************************/
void Delay ( void )
{
unsigned char i,j,k;
for (i=20;i>0;i--)
for (j=20;j>0;j--)
for (k=250;k>0;k--);
}
/******************************************
函数名称:放行
功能描述:东西放行或南北放行
作都名称:CYB
创建时间:2009/07/26
***********************************************/
void FangXing ( unsigned char *PTR )
{
P1 = *PTR;
Delay ( FX_Time )
}
/******************************************
函数名称:警告
功能描述:东西方向或南北方向
作都名称:CYB
创建时间:2009/07/26
***********************************************/
void JingGao (unsigned char *PTR)
{ P1 = *PTR;
Delay( JG_Time );
}
/******************************************
函数名称:主函数
功能描述:控制信号灯正常运行
作都名称:CYB
创建时间:2009/07/26
***********************************************/
void main ( void )
{
unsigned char *PTR = &DispX;//指针PTR指向Dispx的首地址
P1 = 0xff; //开机信号灯全亮,用于检测
Delay ();
while (1) {
FangXing ( PTR );
JingGao (++PTR );
FangXing (++PTR );
JingGao (++PTR );
PTR = &DispX;
}
}
程序名称:红绿灯学习
功能描述:简易十字路口信号控制
作都名称:CYB
创建时间:2009/07/26
*************************************/
#include <reg51.h>
#define FX_Time 4 //放行时间
#define JG_Time 1 //警告时间
unsigned char DispX[4]= {0x9a,0x9c,0xa9,0xc9}; //控制码
void FangXiang (unsigned char *PTR )
void JingGao (unsigned char *PTR )
/****************************************
函数名称:Delay
功能描述:延时
作都名称:CYB
创建时间:2009/07/26
***********************************/
void Delay ( void )
{
unsigned char i,j,k;
for (i=20;i>0;i--)
for (j=20;j>0;j--)
for (k=250;k>0;k--);
}
/******************************************
函数名称:放行
功能描述:东西放行或南北放行
作都名称:CYB
创建时间:2009/07/26
***********************************************/
void FangXing ( unsigned char *PTR )
{
P1 = *PTR;
Delay ( FX_Time )
}
/******************************************
函数名称:警告
功能描述:东西方向或南北方向
作都名称:CYB
创建时间:2009/07/26
***********************************************/
void JingGao (unsigned char *PTR)
{ P1 = *PTR;
Delay( JG_Time );
}
/******************************************
函数名称:主函数
功能描述:控制信号灯正常运行
作都名称:CYB
创建时间:2009/07/26
***********************************************/
void main ( void )
{
unsigned char *PTR = &DispX;//指针PTR指向Dispx的首地址
P1 = 0xff; //开机信号灯全亮,用于检测
Delay ();
while (1) {
FangXing ( PTR );
JingGao (++PTR );
FangXing (++PTR );
JingGao (++PTR );
PTR = &DispX;
}
}
追问
要用单片机的汇编语言,不是C语言
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询