基于51单片机的电机控制加转速WiFi上报proteus仿真原理图PCB

功能介绍:
0.本系统采用STC89C52作为单片机
1.LCD1602液晶实时显示温度,PWM档位值和当前转速,WIFI定时上报检测到的数据
2.可通过按键控制电机启动,停止加速,减速
3.温度超过50℃蜂鸣器报警,且电机停止转动,需要手动关闭报警后才可再次启动
4.采用DC002作为电源接口可直接输入5V给整个系统供电

原理图:
基于51单片机的电机控制加转速WiFi上报proteus仿真原理图PCB_第1张图片

PCB :
基于51单片机的电机控制加转速WiFi上报proteus仿真原理图PCB_第2张图片

主程序:

#include  //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
#include 
#include "18b20.h"
#include "lcd1602.h"
#include "delay.h"
#include "key.h"

/************************* 宏定义 *************************/
#define ON 0
#define OFF 1

/************************* 引脚定义 *************************/
sbit L9110_INA   = P1^1;
sbit L9110_INB   = P1^0;
sbit BUZZER      = P2^2;

bit ReadTempFlag; //定义读时间标志

int temp;             //温度读取
float temperature;    //实际温度
xdata char dis0[36]; //定义显示区域临时存储数组
char dis1[8]; //定义显示区域临时存储数组
unsigned long time_20ms = 0;

unsigned char pwmValue = 5; //占空比调整
unsigned char pwmDisp;      // pwm显示值
bit readRateFlag = 0;       //读取速度标志
bit alarmFlag = 0;          //报警标志
bit startFlag = 0;
unsigned int rate;          //速度值
unsigned long pulseNum;     //脉冲计数
unsigned char sendIndex = 0;

void Timer0_Init(void); //函数声明
void UART_Init(void); //串口初始化
void UART_SendByte(unsigned char dat); //串口发送单字节数据
void UART_SendStr(unsigned char *s, unsigned char length); //发送定长度字符串
void SendData(void);

/************************* 主函数 *************************/
void main(void)
{
   
    L9110_INA = 1;
    L9110_INB = 1

你可能感兴趣的:(单片机,51单片机,proteus)