您的位置 首页 解答

用C言语编写的交通灯程序

用四盏双色灯模拟,P1口控制;南北红灯亮30秒,同时东西绿灯亮25秒,绿灯闪烁3次(间隔为1秒),然后黄灯亮2秒;然后东西与南北互换一下;

用四盏双色灯模仿,P1口操控;南北红灯亮30秒,一起东西绿灯亮25秒,绿灯闪耀3次(距离为1秒),然后黄灯亮2秒;然后东西与南北交换一下;重复;

#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); //开机延时400mswhile(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.这样如上表的时刻和红、绿、黄呈现的次序顺次呈现这样行人和车辆就能安全疏通的通行。 

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/jieda/255369.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部