基于单片机交流电参数测试仪系统设计-毕设课设资料

资料下载地址-1047(百度网盘):点击下载

实现的功能:实时测量交流电的电流和电压值,显示在数码管和虚拟终端上。

#include <reg51.h>
#include <math.h>
#define uchar	unsigned char
#define uint	unsigned int
/******六位七段共阴极数码显示管*******/
uchar code	dispbitcode[] = { 0xdf, 0xef, 0xf7, 0xfb, 0xfd, 0xfe };
uchar code	dispcode[] = { 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x00, 0x76, 0x38 };
uchar		dispbuf[8] = { 0, 0, 0, 0, 0, 0, 0, 0 };
void caiji();


void uart();


uint	temp, temp1, temp2;
float	getdata1, getdata2, max1, max2;
uint	w;       /* 电压值,电流值切换显示所需变量 */
uchar	num	= 0;
sbit	dula	= P2 ^ 0;
sbit	wela	= P2 ^ 1;
sbit	vi	= P2 ^ 2;
sbit	xuan	= P2 ^ 3;
sbit	ST	= P3 ^ 6;
sbit	OE	= P3 ^ 7;
sbit	EOC	= P3 ^ 4;
sbit	clock	= P3 ^ 2;
/******主函数********/
void main()
{
	xuan	= 0;
	max1	= 0;
	max2	= 0;
	w	= 0;
	SCON	= 0x80;                         /* 串行口初始化为方式2 */
	PCON	= 0x00;
	EA	= 1;
	ES	= 1;
	ET0	= 1;
	ET1	= 1;
	TMOD	= 0x11;
	TH0	= (65535 - 10) / 256;           /* adc0809时钟 */
	TL0	= (65535 - 10) % 256;
	TH1	= (65535 - 10000) / 256;        /* 定时中断扫描时间 */
	TL1	= (65535 - 10000) % 256;
	TR0	= 1;
	TR1	= 1;
	while ( 1 )
	{
		caiji();
		uart();
	}
}


/********电压,电流传感器的数据采集*******/
void caiji()
{
	uchar i, j;
	/*电压传感器数据采集*/
	for ( j = 0; j < 10; j++ )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值