51单片机自学--交通红绿灯模拟

51单片机自学--交通红绿灯模拟(黄灯闪烁与不闪两种模式)

ABC东西红黄绿DEF南北红黄绿S时间K选择模式

或许看这文章的是初学者,有些话还是要说的,就是要使用本代码,需要把对应的端口进行更改为你连接的IO端口,就能直接使用本代码运行,看到运行效果了。

如:我这里定义自己板上接LED的端口

sbit DongXi_Hong = P2^2;//东西向红灯 
sbit DongXi_Huan = P2^3;//东西向黄灯  
sbit DongXi_Lv   = P2^4;//东西向绿灯
sbit NanBei_Hong = P2^5;//南北向红灯
sbit NanBei_Huan = P2^6;//南北向黄灯 
sbit NanBei_Lv   = P2^7;//南北向绿灯

初学者一时不熟悉改如何使用本代码,这是只要把你的LED灯接在哪个IO口就改为哪个端口即可,假如说你的LED接在P0口,那么,改为如下即可:

sbit DongXi_Hong = P0^2;//东西向红灯 
sbit DongXi_Huan = P0^3;//东西向黄灯  
sbit DongXi_Lv   = P0^4;//东西向绿灯
sbit NanBei_Hong = P0^5;//南北向红灯
sbit NanBei_Huan = P0^6;//南北向黄灯 
sbit NanBei_Lv   = P0^7;//南北向绿灯

其它的代码不用改就可以了。

示例视频链接:https://pan.baidu.com/s/1B2H5imR9lJVAZ1dG-NpBlg 密码:qrim

 

非常灵活任意编排出各种状态,很好用简单的代码。

#include"ShuJu_LeiXin.H" /*头文件,数据类型定义*/
sbit DongXi_Hong = P2^2;//东西向红灯 
sbit DongXi_Huan = P2^3;//东西向黄灯  
sbit DongXi_Lv   = P2^4;//东西向绿灯
sbit NanBei_Hong = P2^5;//南北向红灯
sbit NanBei_Huan = P2^6;//南北向黄灯 
sbit NanBei_Lv   = P2^7;//南北向绿灯
bit KB=1, KE=1;
void HongLvDen(U8 A, U8 B, U8 C, U8 D, U8 E, U8 F, U8 S, U8 KB, U8 KE)
{ 
U8 ShiJian=S*4;
 do
 {  
DongXi_Hong = A;  
DongXi_Huan = KB?~DongXi_Huan:B;  
DongXi_Lv = C;
NanBei_Hong = D;  
NanBei_Huan = KE?~NanBei_Huan:E;  
NanBei_Lv = F;  
YanShiMs(250); 
}
while(ShiJian--); 
}
void main(){ 
while(1) 
{  
HongLvDen(0, 1, 1, 1, 1, 0, 2, 0, 0);  
HongLvDen(0, 0, 1, 1, 1, 0, 2, KB, 0);   
HongLvDen(1, 1, 0, 0, 1, 1, 2, 0, 0);  
HongLvDen(1, 1, 0, 0, 0, 1, 2, 0, KE);  
KB=~KB; 
KE=~KE;
}
}

 


 

 

 

 

  



  


 

 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值