基于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);
posted @ 2020-12-08 08:40  roadroad  阅读(1575)  评论(0编辑  收藏  举报
电设屋
上千套电子毕设课设方案