[Descarga de recursos] La dirección de descarga es la siguiente:
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl
51 Diseño de sistema de semáforo inteligente-LED-Infrarrojos para evitar obstáculos-Voz-LCD1602
Este diseño está compuesto por un circuito de un solo chip STC89C52 + circuito de lámpara LED + circuito de sensor de evitación de obstáculos infrarrojos + circuito de pantalla de cristal líquido LCD1602 + circuito de módulo de voz + circuito de fuente de alimentación.
1. Cuando el sensor infrarrojo para evitar obstáculos detecta un obstáculo, después de 15 segundos, el LED1 rojo se encenderá y el LED1 verde no se encenderá. El LED2 rojo está apagado y el LED2 verde está encendido Al mismo tiempo, la voz solo se transmite: preste atención a la seguridad cuando los peatones crucen la calle. Después de 15 segundos, el LED1 rojo está apagado y el LED1 verde está encendido. El LED2 rojo está encendido, el LED2 verde está apagado y la voz solo se transmite: espere pacientemente. Y ciclo a su vez.
2. La pantalla LCD muestra el tiempo de cuenta atrás en tiempo real.
3. Cuando el sensor infrarrojo para evitar obstáculos no detecta un obstáculo, el LED1 rojo está apagado y el LED1 verde está encendido. El LED2 rojo está encendido y el LED2 verde está apagado.
4. De forma predeterminada, el LED1 rojo está apagado y el LED1 verde está encendido. El LED2 rojo está encendido y el LED2 verde está apagado.
#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
#include<stdio.h>
#include "delay.h"
#include "1602.h"
sbit led_red1 =P1^0; //引脚定义
sbit led_gre1 =P1^1;
sbit led_red2 =P1^3;
sbit led_gre2 =P1^2;
sbit yy1 =P1^4;
sbit yy2 =P1^5;
sbit hotm = P3^2;
char dis0[16]; //打印数组初始化
char dis1[16]; //打印数组初始化
unsigned long time_20ms=0; //定时器计数
unsigned int yunTime = 0; //运行时间
unsigned char runStep = 1; //运行步骤
bit disFlag = 0; //定时更新显示
void Init_Timer0(void);
void uartSendStr(unsigned char *s,unsigned char length);
void UART_Init(void);
void uartSendByte(unsigned char dat);
void main (void)