基于51单片机的电压电流检测报警设计(毕业设计资料)
157【毕设课设】基于51单片机的电压电流检测报警设计
【资源下载】下载地址如下:
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl
本设计采用STC89C52单片机+A/D芯片PCF8591采样电路+电流芯片ACS712-5A电流检测电路+分压电路+大功率电阻做假负载电路+LCD1602液晶显示电路+按键电路+蜂鸣器报警+LED指示灯电路+电源电路设计而成。
1、通过51单片机检测电压(10V内)和直流电流(5A内),并在1602液晶上显示。
2、电压和电流的精度,0.1V,0.1A。
3、通过大功率电阻作为假负载产生电流以备检测。
4、通过按键可以设置电流和电压的阈值,如果所检测的电压超过了设置的阈值,则蜂鸣器报警,同时绿灯亮。如果所检测的电流超过了设置的阈值,则蜂鸣器报警,同时黄灯亮。
#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
#include<stdio.h>
#include "1602.h"
#include "delay.h"
#include "i2c.h"
sbit buzzer = P1^0;//蜂鸣器引脚定义
sbit led_gre = P1^1; //led灯引脚定义
sbit led_yel = P1^2;
sbit key1 = P1^3; //按键引脚定义
sbit key2 = P1^4;
sbit key3 = P1^5;
char dis0[16]; //打印数组初始化
char dis1[16];
unsigned long time_20ms=0; //定时器计数
unsigned char disFlag =0;//定时更新显示
unsigned char setFlag =0;
float Volt=0.0; //检测电压
float Acurrent=0.0; //检测电流
unsigned char setV=5;
float setA = 0.8;
void Init_Timer0(void); //函数声明
void uartSendStr(unsigned char *s,unsigned char length);
void UART_Init(void);
void uartSendByte(unsigned char dat);