单片机交通灯程序设计c语言程序文件,求用C语言编写的交通灯程序,C51单片机控制,无左转右转...

满意答案

dcebd7a0de6265b6ccae5ead692f1eab.png

半個靈魂.留

2014.09.07

dcebd7a0de6265b6ccae5ead692f1eab.png

采纳率:49%    等级:9

已帮助:513人

//代码经Keil 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);

PortNB_Yellow = OFF;PortNB_Red = ON ;PortNB_Green = OFF;//南北红灯亮28秒

PortDX_Yellow = OFF;PortDX_Red = OFF;PortDX_Green = ON ;//东西绿灯亮28秒

delay(28000);

PortNB_Yellow = OFF;PortNB_Red = ON ;PortNB_Green = OFF;//南北红灯亮2秒

PortDX_Yellow = ON ;PortDX_Red = OFF;PortDX_Green = OFF;//东西黄灯亮2秒

delay(2000);

PortNB_Yellow = ON ;PortNB_Red = OFF;PortNB_Green = OFF;//南北黄灯亮1秒

PortDX_Yellow = ON ;PortDX_Red = OFF;PortDX_Green = OFF;//东西黄灯亮1秒

delay(1000);

PortNB_Yellow = ON ;PortNB_Red = OFF;PortNB_Green = OFF;//南北黄灯亮2秒

PortDX_Yellow = OFF;PortDX_Red = ON ;PortDX_Green = OFF;//东西红灯亮2秒

delay(2000);

PortNB_Yellow = OFF;PortNB_Red = OFF;PortNB_Green = ON ;//南北绿灯亮38秒

PortDX_Yellow = OFF;PortDX_Red = ON ;PortDX_Green = OFF;//东西红灯亮38秒

delay(3800);

}

}

1.黄灯南北、东西两道同黄灯;提示行或车辆灯色即间 3秒

2.南北红灯南北道车辆禁止通行间30秒;南北道绿灯南北道车辆通间38秒

3.东西道绿灯东西道车辆通行间28秒;东西道红灯东西道车辆禁止通间40秒

4.表间红、绿、黄现顺序依现行车辆能安全畅通通行

00分享举报

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值