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

51单片机自学--交通红绿灯模拟(黄灯闪烁与不闪两种模式)
ABC东西红黄绿DEF南北红黄绿S时间K选择模式

示例视频链接: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;
  


 };
}



猜你喜欢

转载自blog.csdn.net/xianfajushi/article/details/80553964