直流数字电压表设计

合集下载

基于51单片机的直流数字电压表设计

基于51单片机的直流数字电压表设计

基于51单片机的直流数字电压表设计概述:直流数字电压表是一种用于测量直流电压的仪器,它通过将电压信号转换为数字形式,并显示在数码管上,实现对电压的准确测量。

本文将介绍基于51单片机的直流数字电压表的设计原理和实现方法。

一、设计原理:1.1 电压信号采集:直流数字电压表的第一步是采集待测电压信号。

常用的采集方法是使用一个分压电路将待测电压降低到合适的范围,再通过运算放大器将其放大到合适的电平。

51单片机的模拟输入引脚可以接受0-5V的模拟电压信号,因此可以直接将放大后的信号接入单片机进行采集。

1.2 模数转换:采集到的模拟电压信号需要经过模数转换(A/D转换)才能被单片机读取和处理。

51单片机内部集成了一个10位的A/D转换器,可以将输入的模拟电压转换为相应的数字量。

通过设置不同的参考电压和采样精度,可以实现对不同电压范围的准确测量。

1.3 数码管显示:经过模数转换后,得到的数字量需要通过数码管进行显示。

51单片机的IO口可以通过控制段选和位选的方式,将数字量转换为相应的数码管显示。

可以根据需要选择常用的七段数码管或者液晶显示屏进行显示。

二、设计实现:2.1 硬件设计:硬件设计包括电路原理图设计和PCB布局设计两个部分。

电路原理图设计主要包括电压采集电路、运算放大器、A/D转换器和数码管驱动电路等部分。

PCB布局设计需要考虑信号的走线和电源的分布,以保证电压信号的准确采集和显示。

在设计过程中,需要注意地线和信号线的分离,以减少干扰。

2.2 软件设计:软件设计主要包括单片机的程序编写和调试。

首先需要编写采集模拟电压信号和进行A/D转换的程序,将转换后的数字量存储在单片机的内部存储器中。

然后编写数码管驱动程序,将存储的数字量转换为相应的数码管显示。

最后,通过按键或者旋转编码器等方式,可以实现对量程和精度的选择。

三、设计优化:3.1 精度优化:为了提高直流数字电压表的测量精度,可以采用更高精度的A/D转换器,增加参考电压的精度,或者通过校准电路对测量误差进行校正。

简易数字直流电压表的设计--单片机课程设计

简易数字直流电压表的设计--单片机课程设计

1、前言数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。

传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。

目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。

与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。

本章重点介绍单片A/D 转换器以及由它们构成的基于单片机的数字电压表的工作原理。

2 、系统原理及基本框图如图2.1所示,模拟电压经过档位Array切换到不同的分压电路衰减后,经隔离干扰送到A/D转换器进行A/D转换,然后送到单片机中进行数据处理。

处理后的数据送到LED中显示。

图2.1系统基本方框图3、硬件设计3.1 、电源电路图 3.1 电源电路原理图3.2 、A/D 转换电路A/D 转换器的转换精度对测量电路极其重要,它的参数关系到测量电路性能。

本设计采用A/D 转换器,它的性能比较稳定,转换精度高,具有很高的抗干扰能力,电路结构简单,其缺点是工作速度较低。

在对转换精度要求较高,而对转换速度要求不高的场合如电压测量有广泛的应用。

图3.2.1 A/D 转换器图3.2.2双积A/D 转换器的波形图如图所示:对输入模拟电压和基准电压进行两次积分,先对输入模拟电压进行积分,将其变换成与输入模拟电压成正比的时间间隔 T1,再利用计数器测出此时间间隔,则计数器所计的数字量就正比于输入的模拟电压;接着对基准电压进行同样的处理。

在常用的A/D转换芯片(如ADC -0809、ICL7135、ICL7109 等)中,ICL7135与其余几种有所不同,它是一种四位半的A/D转换器,具有精度高(精度相当于14位二进制数)、价格低廉、抗干扰能力强等优点。

三位半数字直流电压表设计multisim

三位半数字直流电压表设计multisim

三位半数字直流电压表设计multisim
【设计背景及意义】
随着科技的不断发展,数字电压表在各个领域的应用越来越广泛。

三位半数字电压表作为一种常见的测量仪器,具有高精度、高稳定性、易于操作等优点。

本文将介绍如何使用Multisim软件设计一款三位半数字直流电压表,以满足实际应用需求。

【设计原理】
三位半数字直流电压表的设计主要依据以下原理:
1.采用分压式电路实现电压测量;
2.利用模数转换器将模拟信号转换为数字信号;
3.通过数字显示电路将数字信号转换为直观的电压值。

【设计步骤】
1.打开Multisim软件,新建一个项目;
2.添加所需元器件,包括电阻、电容、二极管、晶体管、运算放大器等;
3.连接电路,构建分压式电压测量电路、模数转换电路和数字显示电路;
4.设置元器件参数,如电阻值、电容值等;
5.添加电源和信号源,设置电压值;
6.配置仿真参数,进行仿真实验;
7.分析仿真结果,优化电路设计。

【仿真结果及分析】
经过多次仿真实验,得到以下结果:
1.电压测量范围:0~100V;
2.电压测量精度:0.5%;
3.数字显示:三位半液晶显示屏;
4.响应速度:≤1秒。

通过分析仿真结果,可以看出设计的三位半数字直流电压表具备较高的精度和响应速度,能够满足大部分实际应用场景的需求。

【总结与展望】
本文通过Multisim软件设计了一款三位半数字直流电压表,详细介绍了设计原理、步骤及仿真结果。

在今后的工作中,可以进一步优化电路设计,提高电压表的性能,如降低功耗、扩大测量范围等。

直流数字电压表设计

直流数字电压表设计

直流数字电压表设计许昌学院软件职业技术学院《电子测量技术技术》《电子测量技术》直流数字电压表设计院系软件职业技术学院专业应用技术2班学生姓名郭妍学号 5103130016直流数字电压表设计郭妍2目录一、题目及设计要求……………………………………………………………………3页二、主要技术……………………………………………………………………………3页三、方案选择…………………………………………………………………………… 3页四、电路设计原理……………………………………………………………………… 3页4.1 模数转换………………………………………………………………………… 4页4.2 数字处理及控制……………………………………………………………………5页五、电路图分介绍……………………………………………………………………… 5页5.1 AT89C51介绍………………………………………………………………………6页 5.2排阻介绍……………………………………………………………………………7页 5.3 晶振电路……………………………………………………………………………7页 5.4 复位电路……………………………………………………………………………8页 5.5 ADC0808介绍………………………………………………………………………8页 5.6共阴极数码管………………………………………………………………………9页 5.7模拟输入电路………………………………………………………………………9页5.8总设计图……………………………………………………………………………10页5.9仿真图………………………………………………………………………………10页六、设计程序……………………………………………………………………………11页七、心得体会……………………………………………………………………………14 页直流数字电压表电路设计报告一、题目及设计要求利用单片机AT89C51与ADC0808设计一个数字电压表,能够测量0~5V 的直流电压值,精度越高越好。

直流数字电压表的课程设计

直流数字电压表的课程设计

3 元器件的介绍· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 5
3.1 课程设计器材和供参考选择的元器件· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1 3.2 3 A/D 转换器 MC14433· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·5 2 3.3 MC14433 引脚功能说明· 8 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 3.4 七段锁存—译码—驱动器 MC4511· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 10 3.5 七路达林顿驱动器阵列 MC1413· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 12 3.6 高精度低漂移能隙基准电源 MC1403· 12 · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
5 课程设计报告结论· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·13

实验7.直流数字电压表设计

实验7.直流数字电压表设计
TH0=0x9c;//T0装入初值
TL0=0x9c;
ET0=1;//打开T0中断
TR0=1;//启动定时器0
EA=1;//打开全局中断
while(1)
{
ST=0;//发出启动脉冲信号
delay(10);
=1;
delay(10);
ST=0;
while(EOC==1);//查询结束状态
delay(100);
uchar code duanma[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0-9数码管段码
sbit p2_3=P2^3;//定义数码管四个位选位
sbit p2_2=P2^2;
sbit p2_1=P2^1;
sbit p2_0=P2^0;
OE=1;//OE置1信号
i=P1;//将A/D结果赋值给i
display();//输出A/D结果
delay(10);
OE=0;//OE置0信号
}
}
/*T0中断函数*/
time()interrupt 1
{
ET0=0;//关闭定时器0中断
TR0=0;//关闭定时器0
TH0=0x9c;//T0装入初值
TL0=0x9c;
(2)A/D转换查询法编程;
(3)考察延时量对动态显示效果的影响。
【实验步骤】
(1)提前阅读与实验7相关的阅读材料;
(2)参考图A.72~A.74;和表A.7,在ISIS中完成原理图的绘制;
(3)采用μVision3进行C51动态显示和A/D转换编程及调试。
【实验要求】
提交实验报告并包括如下内容:电路原理图、A/D转换原理分析、C51源程序(含注释语句)、仿真运行截图及实验小结。

实验七 直流数字电压表设计ex7

实验七  直流数字电压表设计ex7

实验七直流数字电压表设计一、实验目的:掌握LED动态显示和A/D 转换接口设计方法。

二、实验原理:实验电路原理图如图A..94所示。

图中显示器采用4位共阴极数码管,并按动态显示方式接线。

A/D转换结束标志采用查询法检查,启动信号由软件模拟产生,时钟信号由Proteus的DClock信号发生器产生,频率为5kHz。

电位器的输出电压送到A/D转换器中转换,转换结果以十进制形式显示在数码管上。

调节电位器可使数码管的显示值发生相应变化。

图A.94 实验7的电路原理图三、实验内容:(1)、学习使用Proteus软件,掌握原理图绘图方法;(2)、学习使用Keil C软件,掌握C51程序编写与调试方法;(3)、理解动态显示与A/D转换工作原理,完成单片机电压采集与显示程序的编写与调试。

四、实验步骤:(1)、在Proteus中绘制电路原理图,按照表A.9将元件添加到编辑环境中;(2)、在Keil中编写C51程序,并使之编译通过;(3)、在Proteus中加载程序,观察仿真结果。

五、实验要求:提交的实验报告中应包括电路原理图、含注释内容的源程序及实验结果分析。

表A.9 实验7的元器件清单(2)、仿真结果:图1图2图3实验结果分析:本实验是使用A/D转换器将模拟信号(电位器输出电压)转换为数字信号,A/D转换器与80C51接在一起,转换结果通过80C51以十进制形式动态显示在四个共阴极数码管上,通过改变模拟信号大小可以显示0~255之间任意数据。

其中A/D转换器启动信号由软件模拟产生,时钟信号由Proteus的DClock信号发生器产生。

如图1,显示器显示“102”,当按RW1的右键时,显示器显示“99”;当按RW1的左键时,显示器显示“105”。

六、实验小结:通过这次实验了解了A/D转换器的工作原理和工作过程,掌握了数码管动态显示程序的编写,更加熟练了Proteus软件的使用和程序的编写。

直流数字电压表设计方案及原理

直流数字电压表设计方案及原理

直流数字电压表设计方案及原理直流数字电压表是一种用于测量直流电压的电子设备。

其设计方案及原理如下:设计方案:1. 选择合适的电压测量范围:根据实际需求选取合适的电压测量范围,可以是几个固定的范围或可调节的范围。

2. 选择适当的电压分压电阻:为了避免将高电压直接施加在测量电路上,通常会使用电压分压电阻将输入电压降低到安全范围内。

3. 选择合适的运算放大器:运算放大器用于放大电压信号,并将其转换为数字信号。

选择合适的运算放大器可以保证测量的准确性和稳定性。

4. 添加A/D转换器:A/D转换器将模拟电压信号转换为数字信号,以便于微处理器或显示器进行处理和显示。

5. 添加微处理器或显示器:微处理器可以对转换后的数字信号进行处理、计算和显示。

显示器可以直接显示测量结果。

原理:1. 电压分压:通过选择合适的电阻进行电压分压,将输入电压降低到运算放大器可接受的范围内。

2. 运算放大器放大:运算放大器将输入电压放大到合适的范围内,通常使用差分放大器进行放大,并通过负反馈控制放大倍数。

3. A/D转换:通过A/D转换器将模拟电压信号转换为数字信号。

A/D转换器将连续的模拟信号离散化为一系列数字值,通常使用逐次逼近型或积分型A/D转换器。

4. 数字处理和显示:微处理器对转换后的数字信号进行处理和计算,可以进行单位转换、数据平滑等操作,并将结果显示在显示器上。

总结:直流数字电压表通过电压分压、运算放大、A/D转换和数字处理等步骤,将输入的直流电压转换为数字信号,并通过显示器显示测量结果。

设计方案需要选择合适的电压测量范围、电压分压电阻、运算放大器、A/D转换器和显示器,以保证测量的准确性和稳定性。

数字直流电压表的设计(附程序及电路图)

数字直流电压表的设计(附程序及电路图)

数字直流电压表的设计实验报告要求:设计一个能测量直流电压并显示的数字电压表。

直流电压输入范围:0V~5V,最小分辨率0.5V,准确率>80%,偏差<30%。

数码显示至少3位。

对于ad采样我们采取的是PCF8591,PCF8591是一个单片集成、单独供电、低功耗、8-bit CMOS数据获取器件。

PCF8591具有4个模拟输入、1个模拟输出和1个串行I2C总线接口。

PCF8591的3个地址引脚A0, A1和A2可用于硬件地址编程,允许在同个I2C总线上接入8个PCF8591器件,而无需额外的硬件。

在PCF8591器件上输入输出的地址、控制和数据信号都是通过双线双向I2C总线以串行的方式进行传输。

PCF8591的功能包括多路模拟输入、内置跟踪保持、8-bit模数转换和8-bit数模转换。

PCF8591的最大转化速率由I2C总线的最大速率决定。

具有以下特性:【1】单独供电【2】PCF8591的操作电压范围2.5V-6V【3】低待机电流【4】通过I2C总线串行输入/输出【5】PCF8591通过3个硬件地址引脚寻址【6】PCF8591的采样率由I2C总线速率决定【7】4个模拟输入可编程为单端型或差分输入【8】自动增量频道选择【9】PCF8591的模拟电压范围从VSS到VDD【10】PCF8591内置跟踪保持电路【11】8-bit逐次逼近A/D转换器【12】通过1路模拟输出实现DAC增益该电路的电路图如下图所示,由于proteus比较理想,单片机最小系统没有画出,实际中缺少,单片机是不能运行的。

PCF8591是八位的ad采样,最小分辨率可以达到0.02V。

配套实验程序:Ad_da.c/*-----------------------------------------------名称:IIC协议PCF8591ADDA转换内容:此程序通过IIC协议对DAAD芯片操作,读取电位器的电压通过液晶显示,并输出模拟量,用LED 亮度渐变指示------------------------------------------------*/#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义#include <intrins.h> //包含NOP空指令函数_nop_();#include<LCD1602.h>#define AddWr 0x90 //写数据地址#define AddRd 0x91 //读数据地址sbit Sda=P1^2; //定义总线连接端口sbit Scl=P1^1;bit ADFlag; //定义AD采样标志位//unsigned char code Datatab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//7段数共阴码管段码表//data unsigned char Display[8];//定义临时存放数码管数值/*------------------------------------------------延时程序------------------------------------------------*/void mDelay(unsigned char j){unsigned int i;for(;j>0;j--){for(i=0;i<125;i++){;}}}/*------------------------------------------------初始化定时器1------------------------------------------------*/void Init_Timer1(void){TMOD |= 0x10;TH1=0xff;/* Init value */TL1=0x00;//PT1=1; /* 优先级*/EA=1; /* interupt enable */ET1=1; /* enable timer1 interrupt */TR1=1;}/*------------------------------------------------启动IIC总线------------------------------------------------*/void Start(void){Sda=1;_nop_();Scl=1;_nop_();_nop_();Scl=0;}/*------------------------------------------------停止IIC总线------------------------------------------------*/ void Stop(void){Sda=0;_nop_();Scl=1;_nop_();Sda=1;_nop_();Scl=0;}/*------------------------------------------------应答IIC总线------------------------------------------------*/ void Ack(void){Sda=0;_nop_();Scl=1;_nop_();Scl=0;_nop_();}/*------------------------------------------------非应答IIC总线------------------------------------------------*/ void NoAck(void){Sda=1;_nop_();Scl=1;_nop_();_nop_();}/*------------------------------------------------发送一个字节------------------------------------------------*/ void Send(unsigned char Data){unsigned char BitCounter=8;unsigned char temp;do{temp=Data;Scl=0;_nop_();if((temp&0x80)==0x80)Sda=1;elseSda=0;Scl=1;temp=Data<<1;Data=temp;BitCounter--;}while(BitCounter);Scl=0;}/*------------------------------------------------读入一个字节并返回------------------------------------------------*/unsigned char Read(void){unsigned char temp=0;unsigned char temp1=0;unsigned char BitCounter=8;Sda=1;doScl=0;_nop_();Scl=1;_nop_();if(Sda)temp=temp|0x01;elsetemp=temp&0xfe;if(BitCounter-1){temp1=temp<<1;temp=temp1;}BitCounter--;}while(BitCounter);return(temp);}/*------------------------------------------------写入DA数模转换值------------------------------------------------*/void DAC(unsigned char Data){Start();Send(AddWr); //写入芯片地址Ack();Send(0x40); //写入控制位,使能DAC输出Ack();Send(Data); //写数据Ack();Stop();}/*------------------------------------------------读取AD模数转换的值,有返回值------------------------------------------------*/unsigned int ReadADC(unsigned char Chl){unsigned int Data;Start(); //写入芯片地址Send(AddWr);Ack();Send(0x40|Chl);//写入选择的通道,本程序只用单端输入,差分部分需要自行添加//Chl的值分别为0、1、2、3,分别代表1-4通道Ack();Start();Send(AddRd); //读入地址Ack();Data=Read(); //读数据Data=Data*196;//还原电压值近似Data=Data/100;Scl=0;NoAck();Stop();return Data; //返回值}/*------------------------------------------------主程序------------------------------------------------*/void main(){unsigned char num; //DA数模输出变量unsigned char ADtemp; //定义中间变量InitLcd();mDelay(20);Init_Timer1();while(1){DAC(num); //DA输出,可以用LED模拟电压变化num++; //累加,到256后溢出变为0,往复循环。

直流数字电压表设计

直流数字电压表设计

2007年G题积分型直流数字电压表设计本设计为16位高分辨率的三斜积分式直流数字电压表, A/D转换器部分采用普通元器件构成模拟部分,利用MEGA8单片机借助软件实现数字计数显示功能,同时采用MEGA8单片机编程实现直流电压表量程积分型直流数字电压表的设计济南铁道职业技术学院丁华、张亮、胡刚正目录摘要 (1)第一部分:系统方案 (1)第二部分:理论分析与计算 (2)第三部分:电路与程序设计 (4)第四部分:测试方案与测试结果 (6)总结 (6)参考文献 (6)附录一主程序流程图 (7)附录二元器件清单 (8)附录三部分源程序 (9)摘要:本设计为16位高分辨率的三斜积分式直流数字电压表, A/D转换器部分采用普通元器件构成模拟部分,利用MEGA8单片机借助软件实现数字计数显示功能,同时采用MEGA8单片机编程实现直流电压表量程的自动转换、自动校零、和液晶显示等功能。

关键词:三斜积分,A/D转换,电压测量第一部分系统方案一、总体电路构成本系统由输入放大与量程转换电路、三斜积分A/D转换电路、单片机计数控制电路、LCD数字显示器构成。

总体结构框图如图1所示。

图1 总体电路框图二、各单元电路设计1.输入放大与量程自动转换电路的设计输入放大与量程自动转换电路的主要作用是提高输入阻抗和完成量程转换,本设计采用OP07集成运算放大器构成同相比例放大电路,以提高电路的输入阻抗,以达到题目要求,模拟开关CD4066在单片机的控制下形成不同的通断组合,实现量程的自动转换和自动校零功能。

2.积分式A/D转换器的设计虽然双积分式A/D转换器具有抗干扰能力强的特点,在采用零点校准的前提下,其转换精度也可以做得很高,但显著的不足是转换速度较慢,并且分辨率越高,其转换速度也就越慢。

因此本设计采用了分立元件构成的三斜积分式A/D转换器,可以较好的改善转换速度慢的缺点,它的转换速率分辨率的乘积比传统的双积分式A/D转换器提高至少两个数量级。

直流数字电压表的设计

直流数字电压表的设计

直流数字电压表的设计姓名:班级:电子 082学号:2008131009指导教师:2010年6月22日目录摘要 (3)引言 (4)第一章作品设计要求与方案选择 (5)§1.1设计目的 (5)§1.2作品要求 (5)§1.3各模块方案选择与论证 (5)第二章数字电压表原理 (7)第三章系统硬件电路设计与实现 (8)§3.1电源部分 (8)§3.2A/D转换电路 (8)§3.3接口电路的设计 (12)§3.3.1时钟电路 (12)§3.3.2复位电路部分 (13)§3.4显示电路的设计 (13)第四章系统软件设计 (15)第五章调试 (16)§5.1系统软硬件调试 (16)§5.2测试数据 (17)第六章总结┄┄┄┄┄┄┄┄┄┄┄┄┄┈┈15致谢 ................... 错误!未定义书签。

参考文献 (19)附录 ................... 错误!未定义书签。

摘要本电路主要采用AT89S51芯片和ADC0809芯片来完成一个简易的数字电压表,能够对输入的0~5 V的模拟直流电压进行测量,并通过一个4位一体的7段LED数码管进行显示。

该电压表的测量电路主要由三个模块组成:A/D转换模块、数据处理模块及显示控制模块。

A/D转换主要由芯片ADC0809来完成,它负责把采集到的模拟量转换为相应的数字量再传送到数据处理模块。

数据处理则由芯片AT89S51来完成,其负责把A DC0809传送来的数字量经一定的数据处理,产生相应的显示码送到显示模块进行显示;另外它还控制着ADC0809芯片的工作。

关键词:数字电压表AT89S51 ADC0809The ci rcuit is m ai nl y t o m ake a sim pl e di gi t al volt age met er wi th t he adoption of AT89S51 and ADC0809 chips whi ch can m easure the i nput analog DC volt age of 0~5 V . It shows the volt age t hrough an i nt egral di gi t al code tube of 7 pi eces of LED. The ci rcuit of t he Volt age m et er i s m ai nl y consis t ed of three m ould pi eces:A/D converti ng m oul d pi ece, dat a processing m oul d pi ece and m ani fes t at ion cont rolli ng moul d pi ece. A/D conver t i ng is m ainl y com pl et ed b y t he ADC0809, it convert s the col l ected analog dat a i nt o the di gi t al dat a and transmi ts t he out come t o t he m ani fest at ion cont roll ing m ould pi ece. Dat a processi ng i s m ai nl y com pl et ed b y t he AT89S51chi p, it processes the dat a produ ced b y t he ADC0809 chi p and generat es t he ri ght m anifest ati on codes, al s o transmi ts the codes t o t he m ani fes t ation cont roll ing m ould pi ece. Als o, the AT89S51 chi p cont rols t he ADC0809 chip t o work.KE YWORDS:Di git al volt age m et er , ADC0809 ,AT89S51.引言数字电压表简称DV M,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。

单片机课程设计(直流数字电压表)

单片机课程设计(直流数字电压表)

课程设计总结与展 望
课程设计目标:掌握单片机基础知识,学会设计直流数字电压表 课程设计内容:包括硬件设计、软件设计、调试和测试等 课程设计成果:成功设计并制作出直流数字电压表 课程设计收获:提高了单片机应用能力,增强了团队合作和沟通能力
课程设计展望:未来将继续深入学习单片机技术,提高实践能力,为未来就业做好准备
实际应用:可用于测量直流电压,广泛应用于电子、电力等领域 市场前景:随着电子技术的发展,市场需求不断增长 技术更新:需要不断更新技术,提高测量精度和稳定性 市场竞争:面临国内外竞争对手的压力,需要提高产品质量和降低成本
智能化:单片机技术在智能设备中的应用越来越广泛,未来发展方向将更加智能化。
物联网:单片机技术在物联网中的应用越来越广泛,未来发展方向将更加注重物联网技术的应用。
单片机课程设计(直 流数字电压表)
汇报人:
目录
添加目录标题
单片机课程设计概 述
硬件电路设计
软件程序设计
系统调试与测试
课程设计总结与展 望
添加章节标题
单片机课程设计概 述
掌握单片机的基本原理和编程方法 提高动手实践能力和创新能力 培养团队合作精神和解决问题的能力 为未来的学习和工作打下坚实的基础
电源测试:检查电源电压是 否稳定,是否符合要求
信号测试:检查信号输入、 输出是否正常,是否符合要 求
功能测试:检查系统功能是 否正常,是否符合设计要求
性能测试:检查系统性能是 否满足设计要求,如响应时 间、精度等
稳定性测试:检查系统在 长时间运行下的稳定性, 如温度、湿度等环境因素 对系统的影响
软件调试:通过运行程序,发现并修复程序中的错误 软件测试:通过测试程序,验证程序的功能和性能是否符合预期 测试方法:包括单元测试、集成测试、系统测试等 测试工具:可以使用自动化测试工具,如JUnit、Selenium等

中衡直流数字电压表【设计明细】

中衡直流数字电压表【设计明细】

《电子测量技术》直流数字电压表设计院系软件职业技术学院专业应用技术2班学生姓名郭妍学号 5103130016目录一、题目及设计要求……………………………………………………………………3页二、主要技术……………………………………………………………………………3页三、方案选择…………………………………………………………………………… 3页四、电路设计原理……………………………………………………………………… 3页4.1 模数转换………………………………………………………………………… 4页4.2 数字处理及控制……………………………………………………………………5页五、电路图分介绍……………………………………………………………………… 5页5.1 AT89C51介绍………………………………………………………………………6页 5.2排阻介绍……………………………………………………………………………7页 5.3 晶振电路……………………………………………………………………………7页 5.4 复位电路……………………………………………………………………………8页 5.5 ADC0808介绍………………………………………………………………………8页 5.6共阴极数码管………………………………………………………………………9页 5.7模拟输入电路………………………………………………………………………9页5.8总设计图……………………………………………………………………………10页5.9仿真图………………………………………………………………………………10页六、设计程序……………………………………………………………………………11页七、心得体会……………………………………………………………………………14 页直流数字电压表电路设计报告一、题目及设计要求利用单片机AT89C51与ADC0808设计一个数字电压表,能够测量0~5V的直流电压值,精度越高越好。

直流数字电压表的设计开题报告

直流数字电压表的设计开题报告

直流数字电压表的设计开题报告直流数字电压表的设计开题报告一、开题报告背景和意义智能仪器是仪器仪表的一种,近年来计算机技术及微电子器件在工程技术中应用十分广泛,在此基础上发展起来的智能仪表无论是在测量的准确性、灵敏度、可靠性、自动化程度、运用功能方面还是在解决测量技术与控制技术问题的深度及广度方面都有了很大的发展,以一种崭新的面貌展示在人们的面前。

数字电压表是在此基础上发展起来,并被广泛的应用。

数字电压表(Digital Voltmeter)简称DVM,它是智能仪器中最常见的,是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。

目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等领域,显示出强大的生命力。

与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平数字电压表的特点:显示清晰直观,读数准确;传统的模拟式仪表必须借助于指针和刻度盘进行读数,在读数过程中不可避免地会引入人为的测量误差(例如视差),并且容易造成视觉疲劳。

数字电压表则采用先进的数显技术,使测量结果一目了然,只要仪表不发生跳数现象,测量结果就是惟一的,不仅保证读数的客观性与准确性,还符合人们的读数习惯,能缩短读数和记录的时间。

通过这个设计制作我对数模转换、单片机、信号放大、整形、电路显示等方面知识得到了提升。

通过实践让我的动手能力得到了很大的提高;激发了我的创新能力。

还有在书写毕业论文报告时我的撰写能力也随之提高。

二、开题报告任务的主要内容及存在问题本设计是基于89C51单片机的4位半直流数字电压表设计的设计思路及实现方法。

在设计中,将充分利用89C51单片机内部的高速计数器和以分立元件组成的A/D转换器的优良特性,使整个设计达到了比较满意的效果。

硬件设计由电源电路、信号采集电路、单片机系统、显示电路等组成。

~V数字式直流电压表设计实验报告

~V数字式直流电压表设计实验报告
uchar const ACT[4]={0xfe,0xfd,0xfb,0xf7};//选通数码管
uint adc_val,dis_val;
uchar i,cnt;
/************************************************/
void port_init(void)
return(temp2);
}
/**************************/
uint conv(uint i)
{
long x;
uint y;
x=(5000*(long)i)/1023;
y=(uint)x;
return y;
}
void delay(uint k)
{
uint i,j;
for(i=0;i<k;i++)
Delay_nms(5);
LcdWriteCommand(0x0c);//开显示,不显示光标
Delay_nms(5);
}
//************写命令到LCM子函数************
void LcdWriteCommand(uchar CMD)
{
LCM_RS_0;LCM_RW_0;
DataPort=CMD;
2. 掌握数据采集与显示的应用;
3.掌握数据处理的方法;
二、实验内容
1. 编一程序,实现0~5V 数字式直流电压表功能,用电位器RV1 作模拟量的输入,右边4
位数码管显示输入电压值,使用 PA7 进行模拟量输入。其仿真电路见下图5-1所示。
图5-10~5V 数字式直流电压表仿真电路图
2.实现输入信号的幅值为 0~10V,重新设计实现电路和算法程序,电路图如5-2所示。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

~《电子测量技术》直流数字电压表设计;院系软件职业技术学院专业应用技术2班【学生姓名郭妍学号 16目录一、题目及设计要求……………………………………………………………………3页二、主要技术……………………………………………………………………………3页三、方案选择…………………………………………………………………………… 3页四、电路设计原理……………………………………………………………………… 3页@模数转换………………………………………………………………………… 4页数字处理及控制……………………………………………………………………5页五、电路图分介绍……………………………………………………………………… 5页AT89C51介绍………………………………………………………………………6页排阻介绍……………………………………………………………………………7页晶振电路……………………………………………………………………………7页复位电路……………………………………………………………………………8页ADC0808介绍………………………………………………………………………8页)共阴极数码管………………………………………………………………………9页模拟输入电路………………………………………………………………………9页总设计图……………………………………………………………………………10页仿真图………………………………………………………………………………10页六、设计程序……………………………………………………………………………11页七、心得体会……………………………………………………………………………14 页)!直流数字电压表电路设计报告一、题目及设计要求利用单片机AT89C51与ADC0808设计一个数字电压表,能够测量0~5V的直流电压值,精度越高越好。

二、主要技术用ADC0808集成电压转换芯片和AT89C51单片机设计制作的数字直流电压表。

在测量仪器中,电压表是必须的,而且电压表的好坏直接影响到测量精度。

具有一个精度高、转换速度快、性能稳定的电压表才能符合测量的要求。

为此,我们设计了数字电压表,此作品主要由A/D0808转换器和单片机AT89C51构成,A/D转换器在单片机的控制下完成对模拟信号的采集和转换功能,最后由数码管显示采集的电压值。

此设计通过调试完全满足设计的指标要求。

电路设计简单,设计制作方便有较强的实用性。

三、方案选择主要设计方框图如下:@(1、主控芯片选用单片机AT89C51和A/D转换芯片ADC0809实现电压的转换和控制,用四位数码管显示出最后的转换电压结果。

缺点是价格稍贵;优点是转换京都高,且转换的过程和控制、显示部分可以控制。

2、显示部分选用一个四联的共阴极数码管,外加四个三极管驱动。

这个电路几乎没有缺点;优点是便于控制,价格低廉,焊接简单。

四、电路设计原理模拟电压经过档位切换到不同的分压电路筛减后,经隔离干扰送到A/D转换器进行A/D转换。

然后送到单片机中进行数据处理。

处理后的数据送到LED中显示。

同时通过串行通讯与上位通信。

硬件电路及软件程序。

而硬件电路又大体可分为A/D转换电路、LED 显示电路,各部分电路的设计及原理将会在硬件电路设计部分详细介绍;程序的设计使用汇编语言编程,利用Keil和PROTEUS 软件对其编译和仿真。

一般I/O接口芯片的驱动能力是很有限的,在LED显示器接口电路中,输出口所能提供的驱动电流一般是不够的尤其是设计中需要用到多位LED,此时就需要增加LED驱动电路。

驱动电路有多种,常用的是TTL或MOS集成电路驱动器,在本设计中采用了74LS244驱动电路。

本实验采用AT89C51单片机芯片配合ADC0808模/数转换芯片构成一个简易的数字电压表,原理电路如图1所示。

该电路通过ADC0808芯片采样输入口IN0输入的0~5 V的模拟量电压,经过模/数转换后,产生相应的数字量经过其输出通道D0~D7传送给AT89C51芯片的P0口。

AT89C51负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码,并通过其P1口传送给数码管。

同时它还通过其三位I/O口、、、产生位选信号,控制数码管的亮灭。

另外,AT89C51还控制着ADC0808的工作。

其ALE管脚为ADC0808提供了1MHz工作的时钟脉冲;控制ADC0808的地址锁存端(ALE);控制ADC0808的启动端(START);控制ADC0808的输出允许端(OE);控制ADC0808的转换结束信号(EOC)。

…、模数转换电路原理图如下所示,三个地址位ADDA,ADDB,ADDC 均接高电平+5V 电压,因而所需测量的外部电压可由ADC0808的IN7端口输入。

由于ADC0808{在进行A/D 转换时需要有CLK 信,本设计中利用AT89C51的定时中断产生一个100KHZ 的脉冲,由口送给ADC0808的时钟端,通过软件给其输入一个正脉冲,可立即启动A/D 转换。

在软件设计中,由于我们对单片机知识还没能很熟练的掌握,用中断方式较复杂,且这个程序CPU 工作量不大,查询方式对速度不会产生影响,所以我们采用查询方式,确保仿真的进度和准确度。

·系统原理图数据处理及控制模块 AT89C51P 0 P 2显示模块4位一体LED 数码管<数据采 集模块 ADC0808控制 信号输出显示Analog;LED 位控制信号P 2P3在A/D 转换开始之前,逐次逼近寄存器的SAR 的内容为0,在A/D 转换过程中,SAR存放“试探”数字量,在转换完毕后,它的内容即为与定时电路在START 正脉冲启动后工作,没来一个CLK 脉冲,该电路就可能告知向SAR 中传送一次试探值,对应输出U0与U1比较,确定一次逼近值,经过8次逼近,即可获得最后转换的结果数字量。

此处,EOC ADC0808的状态,开始A/D 转换时,EOC 为低电平,转换结束后,输出高电平。

、 数据处理及控制A/D 转换完毕后,单片机的口接收到一高电平,立马通过P2将OE 置1,ADC0808的三态输出锁存器被打开,转换完的数字信号经过与D0~D7相连的P0口进入AT89C51。

AT89C51根据公式1-1将数字信号转换为模拟量,然后利用程序获取模拟量的每一位,分别通过P2口输出到LED 上。

与此同时,AT89C51会通过~口选择用哪一段LED 显示所传出的数据。

例如,当~=1110,则LED 接收到的数据会在第四段LED 上显示。

五、电路图的介绍、AT89C51介绍、51系列 单片机数据显示A/D 电压放大 `电压输入AT89C51是51系列单片机的一个型号,它是ATMEL公司生产的。

AT89C51是一个低电压、高性能CMOS 8为单片机。

将通用的微处理器和Flash存储器结合在一起,可反复擦写的Flash存储器可有效地降低开发成本。

AT89C51有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。

主要功能特性:1、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能。

2、兼容MCS51指令系统,8K可反复擦写(>1000次)Flash ROM。

3、3个16位可编程定时/计数器中断,时钟频率0-24MHz。

4、32个双向I/O口,256B内部RAM。

5、¥6、2个串行中断,可编程UART串行通道。

7、2个外部中断源,共6个中断源。

7、2个读写中断口线,3级加密位。

、排阻介绍排阻一般应用在数字电路上,比如:作为某个并行口的上拉或者下拉电阻用。

使用排阻比用若干只固定电阻更方便.排阻的特点:排阻具有方向性,与色环电阻相比具有整齐、少占空间的优点。

(、晶振电路接12MHz晶振,根据芯片手册,适合并联30pf微调电容,从而构成并联谐振,帮助和稳定输出波形。

;、复位电路AT89C51单片机要求至少两个高电平,以便单片机做好准备工作。

当上电时,由于电容的电压不能突变,会输出高电平,当电容充电到一定程度,就会输出低电平,单片机利用输出高电平的这段时间复位。

电阻和电容的值选择要合适。

在这要求R1<<R2,所以选取R1=1kΩ,R2=10kΩ。

、ADC0808模数转换芯片简介ADC0808是采样分辨率为8位的、以逐次逼近原理进行模/数转换的器件。

其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。

ADC0808是ADC0809的简化版本,功能基本相同。

一般在硬件仿真时采用ADC0808进行A/D转换,实际使用时采用ADC0809进行A/D转换。

`引脚功能(外部特性)ADC0808芯片有28条引脚,采用双列直插式封装,如右图所示。

各引脚功能如下:1~5和26~28(IN0~IN7):8路模拟量输入端。

8、14、15和17~21:8位数字量输出端。

22(ALE):地址锁存允许信号,输入,高电平有效。

6(START): A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。

7(EOC): A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。

9(OE):数据输出允许信号,输入,高电平有效。

当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。

;10(CLK):时钟脉冲输入端。

要求时钟频率不高于640KHZ。

12(VREF(+))和16(VREF(-)):参考电压输入端11(Vcc):主电源输入端。

13(GND):地。

23~25(ADDA、ADDB、ADDC):3位地址输入线,用于选通8路模拟输入中的一路。

、四位共阴极数码管简介数码管是一种半导体发光器件,其基本单元是发光二极管v数码管是一种半导体发光器件,其基本单元是发光二极管数码管是一种半导体发光器件,其基本单元是发光二极管.,、模拟输入电路通过可变电阻一端接电源+5v,一端接地GND,通过改变电阻的阻值,从而改变所测电压值,实现电压的模拟信号输入。

总设计图:设计原理:将模拟量通过IN0输入,经过ADC0808芯片转换,得到数字量输出到单片机P0口,经过单片机处理后,送到四位共阴极数码管上显示。

仿真图:`六、设计程序:#include<>#include<>#define uchar unsigned char\#define uchar unsigned char#define uint unsigned intsbit START=P3^0;sbit OE=P3^1;sbit EOC=P3^2;sbit P07=P0^7;sbit CLK=P3^4;uchar data led[4];)uint data tvdata;uchar code tv[]={0xfe,0xfd,0xfb,0xf7};uchar code a[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; void delay(void) //延时程序{uint i;for(i=0;i<10;i++);(}void ledxianshi(void) //显示模块{uchar k,i;if(tvdata>5000)tvdata=5000;led[0]=tvdata%10;led[1]=tvdata/10%10;{led[2]=tvdata/100%10;led[3]=tvdata/1000;for(k=0;k<4;k++){P2=tv[k];i=led[k];·P0=a[i];if(k==3){P07 =1;}delay();}}:void main(void){ET0=1;EA=1;TMOD=0x02;TH0=216;TL0=216;TR0=1;while(1){START=1;START=0; //启动转换while(EOC==0);OE=1;tvdata=P1;tvdata*=;OE=0;ledxianshi();delay();}}void t0(void) interrupt 1 using 0{CLK=~CLK;}七、心得体会本次课程设计让我温习了单片机的基本原理、功能以及构造,以及ADC0808/ADC0809的基本工作原理,学会了使用KeilCx51和Protuse这两个软件的基本使用方法,利用C 语言在KeilCx51下进行编程实现所需要的功能,同时在Protuse软件上画电路图并进行仿真,通过硬件的制作提高了动手能力和分析问题的能力。

相关文档
最新文档