欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

【毕设课设】基于51单片机智能电表插座交流电压流检测阈值报警

程序员文章站 2022-06-17 18:41:56
【资源下载】下载地址如下:https://docs.qq.com/doc/DTlRSd01BZXNpRUxl51单片机智能电表插座交流电压流检测阈值报警86本系统由STC89C52单片机、交流电压互感器TV1005M、交流电流互感器TA1005M、继电器、AD转换PCF8591、LCD1602液晶显示、蜂鸣器及电源组成。1、220V市电经过互感器后产生微弱交流电,经过整流滤波后变为直流,然后通过PCF8591进行AD转换传送给单片机,单片机换算实际值。2、将交流电压、交流电流、和功率值实时显...

【资源下载】下载地址如下:
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl

51单片机智能电表插座交流电压流检测阈值报警86
本系统由STC89C52单片机、交流电压互感器TV1005M、交流电流
互感器TA1005M、继电器、AD转换PCF8591、LCD1602液晶显示、
蜂鸣器及电源组成。
1、220V市电经过互感器后产生微弱交流电,经过整流滤波后变为直流,
然后通过PCF8591进行AD转换传送给单片机,单片机换算实际值。
2、将交流电压、交流电流、和功率值实时显示在lcd1602上。
3、如果交流功率超过200W,则继电器断开(继电器默认闭合),
同时,蜂鸣器鸣叫报警。除非复位回复,因为这时候功率过大会
造成电器使用的危险。【毕设课设】基于51单片机智能电表插座交流电压流检测阈值报警

#include <reg52.h> 
#include <intrins.h>
#include <stdio.h>
#include "i2c.h"
#include "1602.h"
#include "delay.h"

sbit relay =P1^0;
sbit buzzer =P1^3;

unsigned char disFlag ;		//更新显示标志
unsigned int times = 0;		//时间计数

unsigned long time_20ms=0; 	//	系统定时计数
float volt,current,power;	 //电压 电流 功率变量

unsigned char count =0;//采集计数
xdata float sumVolt,midV; //用于滤波 中间变量
xdata float sumAcur,midA;		//用于滤波 中间变量

unsigned char dis0[16];		 //液晶显示第一行
unsigned char dis1[16];		 //液晶显示第二行

void Init_Timer0(void);//函数声明
void UART_Init(void);
void uartSendByte(unsigned char dat);
void uartSendStr(unsigned char *s,unsigned char length);

void main (void)
{
	Init_Timer0();        //定时器0初始化
	
	UART_Init();	   //串口初始化
	relay = 0;buzzer = 0	;	//上电蜂鸣器响一声
	DelayMs(120);

	LCD_Init();           //初始化液晶
	DelayMs(20);          //延时有助于稳定
	LCD_Clear();          //清屏

	uartSendStr("ready ok!",9);
	buzzer = 1; //关闭蜂鸣器

【毕设课设】基于51单片机智能电表插座交流电压流检测阈值报警

本文地址:https://blog.csdn.net/weixin_51254112/article/details/109564329