C语言编写的交通灯程序

来源:百度知道 编辑:UC知道 时间:2024/07/05 08:12:59
能用韦福软件运行 而且基于8255芯片的交通灯C语言程序 要求不限
韦福软件没有库函数 所以要想能运行程序 必须将库函数写到程序里。哪位大哥大姐要是会的话帮我一下。运用的是C51单片机

#include "reg51.h" //头文件包含

//宏定义
#define uint unsigned int
#define uchar unsigned char

#define ON 0 //0的时候灯亮
#define OFF 1 //1的时候灯亮

//管脚定义
//南北道 黄灯亮3秒 红灯亮 30秒 黄灯3秒 绿灯38秒
//东西道 黄灯亮3秒 绿灯亮 28秒 黄灯3秒 红灯40秒
sbit PortDX_Yellow = P1^0; //东西方向黄灯
sbit PortDX_Red = P1^1; //东西方向红灯
sbit PortDX_Green = P1^2; //东西方向绿灯
sbit PortNB_Yellow = P1^3; //南北方向黄灯
sbit PortNB_Red = P1^4; //南北方向红灯
sbit PortNB_Green = P1^5; //南北方向绿灯

void delay(uint ms) // 毫秒级延时(AT89C52 @ 11.0592MHz)
{
uint ti;
while(ms--)
{
for(ti=0;ti<112;ti++){}//112
}
}

/*==================== 主函数 ====================*/
void main(void)
{
delay(400); //开机延时400ms
while(1)
{
PortNB_Yellow = ON ;PortNB_Red = OFF;PortNB_Green = OFF;//南北黄灯亮3秒
PortDX_Yellow = ON ;PortDX_Red = OFF;PortDX_Green = OFF;//东西黄灯亮3秒
delay(3000);