智能交通灯————单片机

该程序展示了如何使用单片机控制交通灯。通过配置定时器和UART串口,实现了不同颜色灯的切换,并通过串口发送当前灯状态。交通灯依次显示红色、黄色和绿色,每个颜色的持续时间可以通过变量timer1、timer2和timer3进行调整。
摘要由CSDN通过智能技术生成

#include<reg52.h>
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;
unsigned char code LedChar[] = {
0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,
0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E
};
unsigned char LedBuff[7] = {
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
};
bit flagls = 1;
unsigned char T0RH = 0;
unsigned char T0RL = 0;
void ConfigTimer0(unsigned int ms);
void TrafficLight();
void ConfigUART(unsigned int baud);
unsigned char timer1,timer2,timer3;
unsigned char L;
unsigned char ch1=‘r’,ch2=‘y’,ch3=‘g’;
void main()
{
EA = 1;
ConfigUART(9600);
ENLED = 0;
ADDR3 = 1;
ConfigTimer0(1);
while(1)
{
if(flagls)
{
flagls = 0;
TrafficLight();
if(LedBuff[6]==0xFC) //红
SBUF=ch1;
if(LedBuff[6]==0

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值