数字电压表的设计(at89c51)

数字电压表的设计(at89c51)

一、开发背景与需求

1 开发背景
模拟电压表精度较高,曾有很广阔的市场,但是在高速发展的当今社会,高速信号处理的需求越来越多,由于模拟电压表的相应速度较慢已经不是英语高速信号领域,取而代之的将是数字电压表
2 开发需求
电子技术的发展,经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。由于数字式仪器具有读数准确方便、精度高、、误差小、灵敏度高和分辨率高、测量速度快的特点备受青睐,数字电压表就是基于这种需求发展起来的一种必不可少的电子测量仪器。

二、技术分析与总体设计

1 技术分析(用到哪些技术)
测量0——255V的电压值
滑动变阻器
2 总体设计(要用仿真图,流程图表示清楚)
在这里插入图片描述

在这里插入图片描述

三、详细设计与代码实现(要求写出功能模块,步骤和主要的代码的实现)

#include<reg51.h>
sbit st=P3^0;
sbit oe=P3^1;
sbit eoc=P3^2;
#define uint unsigned int
#define uchar unsigned char
	uchar adval;
uint a,b,c;
    uchar code s[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void delay(uint xse){
    uint i,j;
    for(i=xse;i>0;i--)
        for(j=110;j>0;j--);
}
void main(){
    
	IT0=1;
	EA=1;
	EX0=1;
	
    while(1){
			st=0;
			delay(1);
			st=1;
			delay(1);
			st=0;
			a=adval/100;
				b=adval/10%10;
				c=adval%10;
				P0=s[a];
				P2=0xfd;
				delay(1);
				P2=0xff;
				P0=s[b];
				P2=0xfb;
				delay(1);
				P2=0xff;
				P0=s[c];
				P2=0xf7;
				delay(1);
				P2=0xff;
			
        
    }
}
void EX0_isr() interrupt 0
{
				oe=1;
				adval=P1;
			
}
	

var foo = 'bar';

四、系统运行和测试(展示运行结果,用图来表示)

在这里插入图片描述
移动滑动变阻器调节电压

在这里插入图片描述


版权声明:本文为weixin_44242212原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。