标题: led模拟交通灯 [打印本页]

作者: vktpas    时间: 2018-1-15 14:06
标题: led模拟交通灯
led模拟交通灯    新手福利c语言程序代码

#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int  
sbit RED_A=P1^0;   //东西向灯
sbit YELLOW_A=P1^1;
sbit GREEN_A=P1^2;
sbit RED_B=P1^3;    //南北向灯
sbit YELLOW_B=P1^4;
sbit GREEN_B=P1^5;
uchar Flash_Count=0,Operation_Type=1;//闪烁次数,操作类型变量
//延时
void DelayMS(uint x)
{
uchar i;while(x--)
for(i=0;i<120;i++);
}
//交通灯切换
void Traffic_Light()
{
switch(Operation_Type)
{
case 1://东西向绿灯与南北向红灯亮
RED_A=1;YELLOW_A=0;GREEN_A=0;
RED_B=0;YELLOW_B=0;GREEN_B=1;
DelayMS(2000);
Operation_Type=2;
break;
case 2://东西向黄灯闪烁,绿灯关闭
DelayMS(300);
YELLOW_A=~YELLOW_A;
YELLOW_B=~YELLOW_B;
GREEN_A=0;
if(++Flash_Count!=10) return;//闪烁5次
Flash_Count=0;
Operation_Type=3;break;
case 3://东西向红灯,南北向绿灯亮
RED_A=0;YELLOW_A=0;GREEN_A=1;
RED_B=1;YELLOW_B=0;GREEN_B=0;
DelayMS(2000);
Operation_Type=4;break;
case 4://南北向黄灯闪烁5次
DelayMS(300);
YELLOW_B=~YELLOW_B;
YELLOW_A=~YELLOW_A;
GREEN_B=0;
if(++Flash_Count!=10)
return;
Flash_Count=0;
Operation_Type=1;
}
}
//主程序
void main()
{
while(1)Traffic_Light();
}



1.png (37.27 KB, 下载次数: 152)

电路图

电路图

led交通灯keil.rar

17.2 KB, 下载次数: 14, 下载积分: 黑币 -5

软件部分

led交通灯仿真.rar

32.04 KB, 下载次数: 10, 下载积分: 黑币 -5

仿真部分


作者: vktpas    时间: 2018-1-15 20:40
这里下载 led模拟交通灯 http://www.51hei.com/bbs/dpj-105169-1.html (出处: 单片机论坛)
作者: LRNPAOE    时间: 2018-1-17 16:12
为什么两个压缩文件不合并在一起?
作者: vktpas    时间: 2018-1-17 22:31
LRNPAOE 发表于 2018-1-17 16:12
为什么两个压缩文件不合并在一起?

在这里呢,这个贴没顶上去。
单片机模拟交通灯C语言
http://www.51hei.com/bbs/dpj-105221-1.html
(出处: 单片机论坛)
作者: 经纬度    时间: 2018-1-24 15:19
好程序




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1