当前位置:文档之家› 数字电压表设计报告

数字电压表设计报告

数字电压表设计报告
数字电压表设计报告

s

作品名:数字电压表

学院:电气工程学院

专业:

姓名:

学号:

指导老师:

目录

第一章:设计方案 (3)

第二章:硬件电路设计 (4)

2.1主控芯片 (4)

2.2模数转换部分 (4)

2.3显示模块 (6)

第三章:软件设计 (7)

3.1主程序设计 (7)

3.2 A/D转换子模块 (8)

第四章:系统调试 (9)

4.1硬件调试 (9)

4.1.1 硬件故障 (9)

4.1.2硬件调试方法 (9)

4.2软件调试 (9)

4.2.1 软件故障 (9)

4.2.2软件调试方法 (9)

第五章:实验数据处理 (10)

5.1实验数据 (10)

5.2实验数据分析 (10)

第六章:结论 (11)

附录一:作品图 (11)

附录二:程序 (12)

第一章:设计方案

基于51单片机,以ADC0804芯片实现模数转换,由1602液晶屏显示,具有量程变换功能。

第二章:硬件设计

2.1主控芯片

本电压表采用STC89C52为主控芯片,电路如下图所接:

晶振电路和复位电路略去,端口和上面各图的接口是一致的。

2.2模拟转换部分

该电压表采用的ADC0804,此芯片优点是并行输出,速率快,缺点是只有8位,精度不高。下来ADC0804芯片图:

为了方便,将数字地和模拟地都直接接到了一起,DB0~DB7为并行输出口,CS,RD,WR为控制芯片模数转换及读取芯片数据和写数据的引脚,ADC0804可以自己产生时钟,只要在CLKR和CLKIN端接入电阻(10K)和电容(理论为150pf本人接的220pf),可产生脉冲信号。VREF为参考电压端,VIN+和VIN-为电压输入端。当电压加在VIN+和VIN -端时,在DB0~DB7可输出八位到单片机,本处参考电压为5V,则当输入电压U时,输出数据为temp,则U/temp=5/255.在自然状态下,最多也只能测5V电压,为了扩大量程,本人加了衰减网络,见下图:

接到ADC芯片上面的始终是VIN和地之前的电压,为了调精度,在上面加了滑动变阻器。此处R22选用的是470K欧的,首先选的10K,因为内阻过小,导致在5V以下的电压测量不准确,choice和GND两端为外加的电压,这样,有部分电压会在R20或者R21上分压,只在保证在R22两端不超过5V,就可实现多量程电压测量。

2.3显示模块

本处用1602液晶显示,1602优点是价格便宜,可显示基本字符,对于做电压表这样的东西已足够。电路如下:

第三章:软件设计

3.1主程序

主程序包括初始化部分调用A/D转换子程序和调用显示程序,如下图所示:

3.2 A/D转换子模块:

A/D转换子程序用于对ADC0804八路输入模拟电压进行A/D转换,并将转换的数值存入八个相应的存储单元中,如下图:

第四章:系统调试

基于单片机的数字电压表在组装好以后,便可进入系统的在线调试,起主要任务是排除样机硬件故障并完善其硬件结构,试运行所设计的程序,排除程序错误,优化程序结构,使系统达到预期的功能,进而固化软件。

4.1硬件调试

单片机应用系统的硬件和软件调试时交叉进行的,但通常是先排除样机中明显的硬件故障,尤其是电源故障,才能安全和仿真器相连,进行综合调试。

4.1.1 硬件电路故障

(1)错线开路短路;

(2)元器件损坏

(3)电源故障

4.1.2 硬件调试方法

本设计调试中所用的调试方法是静态测试:

在样机加电之前,首先用万用表等工具,根据硬件电器原理图和装配图仔细检查样机线路的正确性,并核对元器件的型号规格和安装是否符合要求。第二步是加电后检查各插件上引脚的点位,仔细测量各电位是否正常。第三步是在不加电的情况下,除单片机以外,插上所有的元器件,最后用仿真适配器将样机的单片机插座盒仿真器的仿真接口相连,为联机调试做准备。

4.2软件调试

4.2.1软件电路故障

(1)当以断点或连续方式运行时,目标系统没有按规定的功能进行操作或什么结果也没有,这是由于程序转移到意外之外或在某处死循环所造成的。

(2)结果不正确

4.2.1软件调试方法

软件调试所使用的方法有:计算程序的调试方法,I/O处理程序的调试法,综合调试法

第五章:实验数据处理

5.1实验数据

0-5V量程为 0-50V量程

次数标准值电压示

满度误

次数标准值

电压示

满度误

1 0.76 0.725 0.70% 1 1.34 1.5 0.52%

2 1.11 1.078 0.64% 2 2.35 2.5 0.30%

3 1.66 1.627 0.66% 3 4.42 4.7 0.56%

4 1.99 1.960 0.60% 4 7.17 7.1 0.14%

5 2.17 2.15

6 0.28% 5 10.6 10.1 1.00%

6 2.46 2.450 0.20% 6 13.0 12.9 0.20%

7 2.70 2.686 0.28% 7 14.6 14.4 0.40%

8 2.85 2.843 0.14% 8 16.7 16.1 1.00%

9 3.03 3.019 0.22% 9 18.2 17.6 1.20%

10 3.15 3.156 -0.12% 10 19.5 18.9 1.20%

11 3.09 3.098 -0.16% 11 21.7 21.2 1.00%

12 3.76 3.764 -0.08% 12 22.9 22.0 1.80%

13 3.79 3.803 -0.26% 13 23.9 23.0 1.80%

14 4.45 4.470 -0.40% 14 25.3 24.5 1.60%

15 4.65 4.686 -0.72% 15 25.8 24.9 1.80%

16 29.5 28.8 1.40%

17 30.4 29.5 1.80%

18 34.1 33.3 1.60%

19 36.5 35.6 1.80%

20 38.2 37.4 1.60% 5.2实验数据分析

0-5V量程精度为0.001V, 满度误差均<1.00%,为一级电压表

0-50V量程精度为0.1V,满度误差均<2.50%,为2.5级电压表

第六章:结论

1.输入电压易发生干扰不稳定,且驱动能力可能存在不足,需在被测信号的输入端加上一部分驱动电路,比如将量程转换电路改成放大能力的自动量程转换电路,将幅值较小的信号经适当放大后再测量,可显著提高精度;

2.输出量可用平均值算法来改善,使测量准确度更高;

3.若能将测量的电压值实时保存,使用时将更方便;

附录一:作品图

附录二:程序

主程序:

#include //头文件#include //头文件#include

#include

#include

#include<1602.h>

#include

#include

#include

void main()

{

while(1)

{

write_com(0x01);

lcd_init();

display_voltage();

}

}

1、宏定义和定义变量:

#define uchar unsigned char //宏定义

#define uint unsigned int

uchar table[]=" measurement: ";

uchar range5[]="RANGE0~20V: ";

uchar range50[]="RANGE0~2A: ";

uchar range500[]="RANGE0~100K:";

uchar warning[]="Please Choice! ";

/*uchar error[]="error!"; */

uint measure[10];

sbit key3=P2^7;

sbit key0=P2^2;

sbit key1=P2^1;

sbit key2=P2^0;

sbit lcd_rs=P2^3; // 定义液晶的rs端口sbit lcd_rw=P2^4; // 定义液晶的rw端口sbit lcd_en=P2^5;

sbit back=P2^6;

sbit spk=P2^7; // 定义液晶的en端口sbit cs=P3^2; // 定义AD的cs端口sbit rd=P3^1; //定义AD的rd端口sbit wr=P3^0;

//sbit dula=P3^7;

sbit INTR=P3^7; //定义AD的wr端口

uint temp,i,A1,A2,A3,A4; //定义变量uint date;

2、延时部分:

void delay(uint z)

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

void delay_lcd()//1602指令之间延时

{

uint x=5;

while(x--);

}

3、AD转换和数据传送:

void AD_init() //初始化ADC0804

{

cs=0;

wr=1;

_nop_();

wr=0;

_nop_();

wr=1;

}

uint AD_switch() //AD转换部分

{

uint temp;

P1=0xff;

rd=1;

_nop_();

rd=0;

_nop_();

temp=P1;//将转后的原始值返给单片机P1口return temp;

}

uint AD_smooth()//软件滤波

{

uint xx,i,temp;

AD_init();

for(i=0;i<20;i++)

{

measure[i]=AD_switch();

delay(10); //每隔10us ADC转换并采集一次数据,将得

} //到的数据放到数组中,采集十个数据

for(xx=0;xx<20;xx++) //将十个数据冒泡法排序

for(i=xx;i<20;i++)

{

if(measure[xx]>measure[i])

{

temp=measure[i];

measure[i]=measure[xx];

measure[xx]=temp;

}

}

for(i=6;i<16;i++)//去掉了三个最小值和两个最大值,

{ //取中间五个数的平均值

xx+=measure[i];

}

xx=xx/10;

return xx; //将滤过波后的值存入单片机

}

4、1602子程序:

void write_com(uchar com)//写指令{

delay(5);

lcd_en=0;

lcd_rs=0;

lcd_rw=0;

_nop_();

lcd_en=1;

P0=com;

lcd_en=0;

lcd_rs=0;

}

void write_date(uchar date)//写数据{

delay(5);

lcd_en=0;

lcd_rs=1;

lcd_rw=0;

_nop_();

lcd_en=1;

P0=date;

lcd_en=0;

lcd_rs=0;

}

void lcd_init()//初始化

{

back=0;

delay(15);

lcd_en=0;

write_com(0x38);

write_com(0x38);

write_com(0x38);

write_com(0x06);

write_com(0x0c);

write_com(0x01);

}

5、键盘扫描:

uint keyscan()

{

if(key0==0&&key1==1&&key2==1&&key3==1)

return 1;

else if(key0==1&&key1==0&&key2==1&&key3==1)

return (2);

else if(key0==1&&key1==1&&key2==0&&key3==1)

return (3);

else if(key0==1&&key1==1&&key2==1&&key3==0)

return (4);

else if(key0==1&&key1==1&&key2==1&&key3==1)

return(5);

else return (6);

}

6、数据整理及显示:

void display5V(uint temp)//量程为5V时的显示状态

{

uint num0,num1,num2,num3;

if(temp<7) temp=0;

else temp=temp-7;

num0=temp/51;

num1=temp%51*10/51;

num2=temp%51*10%51*10/51;

num3=temp%51*10%51*10%51*10/51;

write_com(0x80+0x40+11);

write_date(num0+0x30);

delay_lcd();

write_com(0x80+0x40+12);

write_date('.');

delay_lcd();

write_com(0x80+0x40+13);

write_date(num1+0x30);

delay_lcd();

write_com(0x80+0x40+14);

write_date(num2+0x30);

delay_lcd();

write_com(0x80+0x40+15);

write_date(num3+0x30);

delay_lcd();

}

void display50V(uint temp)//量程为50V的显示状态{

数字电压表设计

电子线路硬件课程设计总结报告 课题:数字电压表设计 班级: 作者: 学号: 指导老师:

摘要 一个测试结果稳定、准确的数字电压表,既能减少了使用者的工作量,又提高了测量的精准度,而且人为误差被大大减小,方便与电路打交道的人快速有效的完成自己的工作。 本项目设计并实现了一个能够对0-200V范围的直流电压进行测量的数字电压表,测量分为4挡:200mV、2V、20V和200V,手动控制档位选择,显示部分小数点自动实现切换。项目基于AT89C51单片机,拓展AD转换、显示部分。不同档位的待测电压通过不同档位的衰减电路后变为0-200mV,再通过一个OPA336一致放大到0-2V送入AD的输入端,然后通过芯片AT89C51内的程序控制AD转换并输出。不同档位的电压信号又不同的程序控制输出到数码管显示。 整个电路连线简单易于实现,而且成本很低,测出的电压精度也足够满足需求。 关键字:数字电压表; AT89C51单片机;易于实现

Abstract A digital voltmeter which is stable and accurate can not only reduce the work of the user, but also free off the error produced by using wrong. It is convenient to people who work with the circuit. This voltmeter is designed to measure a voltage between 0 to 200. It’s divided into four gears as 200 millivolt, 2 volt, 20volt, and 200volt. Gears changing is worked by hang. The project is base on the chip AT89C51 of one-chip computer. An analog to digital converter, a display section, and a voltage attenuation are attached to the chip and they make up the design. The voltage of different gears are changed into 0-200 millivolt. Then they are sent to an OPA336, and it’s output is 0-2 volt. The output is sent to the analog to digital converter.Then the chip control the analog to digital converter’s output to the displaying section. The whole circuit is easy. And although it’s cost is very low, the accuracy of the outcome is fine. key words: digital voltmeter, one-chip computer, AT89C51

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

引言 数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便。目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。本论文重点介绍单片A/D 转换器以及由它们构成的基于单片机的数字电压表的工作原理。

1 实训要求 (1)基本要求: ①实现8路直流电压检测 ②测量电压范围0-5V ③显示指定电压通道和电压值 ④用按键切换显示通道 (2)发挥要求 ①测量电压范围为0-25V ②循环显示8路电压 2 实训目的 (1)进一步熟悉和掌握单片机的结构和工作原理; (2)掌握单片机的借口技术及,ADC0809芯片的特性,控制方法; (3)通过这次实训设计,掌握以单片机为核心的电路设计的基本方法和技术;(4)通过实际程序设计和调试,逐步掌握模块化程序设计的方法和调试技术。 3 实训意义 通过完成一个包括电路设计和程序开发的完整过程,使自身了解开发单片机应用系统的全过程,强化巩固所学知识,为以后的学习和工作打下基础。 4 总体实训方案 测量一个0——5V的直流电压,通过输入电路把信号送给AD0809,转换为数字信号再送至89s52单片机,通过其P1口经数码管显示出测量值。 4.1 结构框图 如图1—1所示 图1—1

单片机课程设计报告——数字电压表[1]剖析

数字电压表 单片机课程设计报告 班级: 姓名: 学号: 指导教师: 2011 年3 月29 日

数字电压表电路设计报告 一、题目及设计要求 采用51系列单片机和ADC设计一个数字电压表,输入为0~5V线性模拟信号,输出通过LED显示,要求显示两位小数。 二、主要技术指标 1、数字芯片A/D转换技术 2、单片机控制的数码管显示技术 3、单片机的数据处理技术 三、方案论证及选择 主要设计方框图如下: 1、主控芯片 方案1:选用专用转化芯片INC7107实现电压的测量和实现,用四位数码管显示出最后的转换电压结果。缺点是京都比较低,内部电压转换和控制部分不可控制。优点是价格低廉。 方案2:选用单片机AT89C51和A/D转换芯片ADC0809实现电压的转换和控制,用四位数码管显示出最后的转换电压结果。缺点是价格稍贵;优点是转换京都高,且转换的过程和控制、显示部分可以控制。 基于课程设计的要求和实验室能提供的芯片,我选用了:方案2。 2、显示部分 方案1:选用4个单体的共阴极数码管。优点是价格比较便宜;缺点是焊接时比较麻烦,容易出错。 方案2:选用一个四联的共阴极数码管,外加四个三极管驱动。这个电路几乎没有缺点;优点是便于控制,价格低廉,焊接简单。 基于课程设计的要求和实验室所能提供的仪器,我选用了:方案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 口P1.0、P1.1、P1.2、P1.3产生位选信号,控制数码管的亮灭。另外,AT89C51还控制着ADC0808的工作。其ALE 管脚为ADC0808提供了1MHz 工作的时钟脉冲;P2.4控制ADC0808的地址锁存端 (ALE);P2.1控制ADC0808的启动端(START);P2.3控制ADC0808的输出允许端(OE);P2.0控制ADC0808的转换结束信号(EOC)。 电路原理图如下所示,三个地址位ADDA,ADDB,ADDC 均接高电平+5V 电压,因而所需测量的外部电压可由ADC0808的IN7端口输入。由于ADC0808

数字电压表的设计实验报告

课程设计 ——基于51数字电压表设计 物理与电子信息学院 电子信息工程 1、课程设计要求 使用单片机AT89C52和ADC0832设计一个数字电压表,能够测量0-5V之间的直流电压值,两位数码显示。在单片机的作用下,能监测两路的输入电压值,用8位串行A/D转换器,8位分辨率,逐次逼近型,基准电压为 5V;能用两位LED进行轮流显示或单路选择显示,显示精度0.1伏。 2、硬件单元电路设计 AT89S52单片机简介 AT89S52是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存

储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS -51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。 AT89S52具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级,2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。 ADC0832模数转换器简介 ADC0832 是美国国家半导体公司生产的一种8 位分辨率、双通道A/D转换芯片。由于它体积小,兼容性强,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。学习并使用ADC0832 可是使我们了解A/D转换器的原理,有助于我们单片机技术水平的提高。 图1 芯片接口说明: 〃 CS_ 片选使能,低电平芯片使能。 〃 CH0 模拟输入通道0,或作为IN+/-使用。

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

目录 摘要........................................................................ I 1 绪论. (1) 1.1数字电压表介绍 (1) 1.2仿真软件介绍 (1) 1.3 本次设计要求 (2) 2 单片机和AD相关知识 (3) 2.1 51单片机相关知识 (3) 2.2 AD转换器相关知识 (4) 3 数字电压表系统设计 (5) 3.1系统设计框图 (5) 3.2 单片机电路 (5) 3.3 ADC采样电路 (6) 3.4显示电路 (6) 3.5供电电路和参考电压 (7) 3.6 数字电压表系统电路原理图 (7) 4 软件设计 (8) 4.1 系统总流程图 (8) 4.2 程序代码 (8) 5 数字电压表电路仿真 (15) 5.1 仿真总图 (15) 5.2 仿真结果显示 (15) 6 系统优缺点分析 (16) 7 心得体会 (17) 参考文献 (18)

1 绪论 1.1数字电压表介绍 数字电压表简称DVM,数字电压表基本原理是将输入的模拟电压信号转化为数字信号,再进行输出显示。而A/D转换器的作用是将连续变化的模拟信号量转化为离散的数字信号,器基本结构是由采样保持,量化,编码等几部分组成。因此AD转换是此次设计的核心元件。输入的模拟量经过AD转换器转换,再由驱动器驱动显示器输出,便得到测量的数字电压。 本次自己的设计作品从各个角度分析了AD转换器组成的数字电压表的设计过程及各部分电路的组成及原理,并且分析了数模转换进而使系统运行起来的原理及方法。通过自己的实践提高了动手能力,也只有亲历亲为才能收获掌握到液晶学过的知识。其实也为建立节约成本的意识有些帮助。本次设计同时也牵涉到了几个问题:精度、位数、速度、还有功耗等不足之处,这些都是要慎重考虑的,这些也是在本次设计中的收获。 1.2仿真软件介绍 Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows 操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是: (1)现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。 (2)支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、 A VR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。 (3)提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。 (4)具有强大的原理图绘制功能。 可以仿真51系列、A VR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的

数字电压表设计课程设计

东北石油大学课程设计 2

东北石油大学课程设计任务书 课程硬件课程设计 题目数字电压表设计 专业 主要内容、基本要求等 一、主要内容: 利用EL教学实验箱、微机和QuartusⅡ软件系统,使用VHDL语言输入方法设计数字钟。可以利用层次设计方法和VHDL语言,完成硬件设计设计和仿真。最后在EL教学实验箱中实现。 二、基本要求: 1、A/D转换接口电路的设计,负责对ADC0809的控制。 2、编码转换电路设计,负责把从ADC0809数据总线中读出的电压转换成BCD码。 3、输出七段显示电路的设计,负责将BCD码用7段显示器显示出来。 三、参考文献 [1] 潘松.EDA技术实用教程[M].北京:科学出版社, 2003.11-13. [2] 包明.《EDA技术与数字系统设计》.北京航天航空大学出版社. 2002. [3] EDA先锋工作室.Altera FPGA/CPLD设计[M].北京:人民邮电出版社 2005.32-33. [4] 潘松.SOPC技术实用教程[M] .清华大学出版社.2005.1-15. 完成期限第18-19周 指导教师 专业负责人

摘要 本文介绍了基于EDA技术的8位数字电压表。系统采用CPLD为控制核心,采用VHDL语言实现,论述了基于VHDL语言和CPLD芯片的数字系统设计思想和实现过程。在硬件电子电路设计领域中,电子设计自动化(EDA)工具已成为主要的设计手段,而VHDL语言则是EDA的关键技术之一,。VHDL的英文全名是 Very-High-Speed Integrated Circuit HardwareDescription Language,它采用自顶向下的设计方法,即从系统总体要求出发,自上至下地将设计任务分解为不同的功能模块,最后将各功能模块连接形成顶层模块,完成系统硬件的整体设计。 电子设计自动化技术EDA的发展给电子系统的设计带来了革命性的变化,EDA软件设计工具,硬件描述语言,可编程逻辑器件(PLD)使得EDA技术的应用走向普及。CPLD是新型的可编程逻辑器件,采用CPLD进行产品开发可以灵活地进行模块配置,大大缩短了产品开发周期,也有利于产品向小型化,集成化的方向发展。而 VHDL语言是EDA的关键技术之一,它采用自顶向下的设计方法,完成系统的整体设计。 本文用CPLD芯片和VHDL语言设计了一个八位的数字电压表。它的计时周期为24小时,显示满刻度为23时59分59秒,另外还具有校时功能和闹钟功能。总的程序由几个各具不同功能的单元模块程序拼接而成,其中包括分频程序模块、时分秒计数和设置程序模块、比较器程序模块、三输入数据选择器程序模块、译码显示程序模块和拼接程序模块。 关键词:数字电压表;QuartusⅡ软件;EDA(电子设计自动化)

简易数字电压表的设计

一、简易数字电压表的设计 l.功能要求 简易数字电压表可以测量0~5V的8路输入电压值,并在四位LED数码管上轮流显示或单路选择显示。测量最小分辨率为0.019 V,测量误差约为土0.02V。 2.方案论证 按系统功能实现要求,决定控制系统采用A T89C52单片机,A/D转换采用ADC0809。系统除能确保实现要求的功能外,还可以方便地进行8路其它A/D转换量的测量、远程测量结果传送等扩展功能。数字电压表系统设计方案框图如图1-1。 图1-1 数字电压表系统设计方案 3.系统硬件电路的设计 简易数字电压测量电路由A/D转换、数据处理及显示控制等组成,电路原理图如图1-2所示。A/D转换由集成电路0809完成。0809具有8路模拟输人端口,地址线(23~25脚)可决定对哪一路模拟输入作A/D转换,22脚为地址锁存控制,当输入为高电平时,对地址信号进行锁存,6脚为测试控制,当输入一个2us宽高电平脉冲时,就开始A/D 转换,7脚为A/D转换结束标志,当A/D转换结束时,7脚输出高电平,9脚为A/D 转换数据输出允许控制,当OE脚为高电平时,A/D转换数据从该端口输出,10脚为0809的时钟输入端,利用单片机30脚的六分频晶振频率再通过14024二分频得到1 MHz 时钟。单片机的P1、P3.0~P3.3端口作为四位LED数码管显示控制。P3.5端口用作单路显示/循环显示转换按钮,P3.6端口用作单路显示时选择通道。P0端口作A/D转换数据读入用,P2端口用作0809的A/D转换控制。 4.系统程序的设计 (1)初始化程序 系统上电时,初始化程序将70H~77H内存单元清0,P2口置0。 (2)主程序 在刚上电时,系统默认为循环显示8个通道的电压值状态。当进行一次测量后,将

基于LABVIEW的数字电压表的设计

学号 XX 虚拟仪器 学生姓名XX 专业班级XX

基于LABVIEW的数字电压表的设计 一、设计目的 1.掌握数字电压表的基本原理和方法。 2.基于LabView设计数字电压表并实现。 二、设计原理 电压是电路中常用的电信号,通过电压测量,利用基本公式可以导出其他的参数。因此,电压测量是其他许多电参数和非电参数量的基础。测量电压相当普及的一种测量仪表就是电压表,但常用的是模拟电压表。模拟电压表根据检波方式的不同。分为峰值电压表、均值电压表和平均值电压表,它们都各自做成独立的仪表。这样,使用模拟电压表进行交流电压测量时,必须根据测量要求选择仪表。另外,多数电压表的表头是按正弦交流有效值刻度的,而测量非正弦波时,必须经过换算才能得到正确的测量结果,从而给实际工作带来不便。 采用虚拟电压表,可将表征交流电压特征的峰值、平均值和有效值集中显示在一块面板上,测量时可根据波形在面板上选择仪表,用户仅通过面板指示值就能对测量结果进行分析比较,大大简化了测量步骤。 三、设计思路 LabVIEw 8.5版本的工程技术比以往任何一个版本都丰富.它采用了英文界面,各个控件的功能一目了然。利用它全新的用户界面对象和功能,能开发出专业化、可完全自定义的前面板。LabVIEW 8.2对数学、信号处理和分析也进行了重大的补充和完善,信号处理分析和数学具有更为全面和强大的库,其中包括500多个函数。所以在LabVIEW 8.5版本下能够更方便地实现虚拟电压表的设计。 该电压表主要用于电路分析和模拟电子技术等实验课的教学和测量仪器,能够让使用者了解和掌握电压的测量和电压表对各种波形的不同响应。因此,虚拟电压表应具备电源开关控制、波形选择,以及显示峰值、有效值和平均值三种结果,且输入信号的大小可调节等功能。所以,用软件虚拟了一个信号发生器。该信号发生器可产生正弦波、方波和三角波,还可以输入公式,产生任意波形。根据需要,可调节面板上的控件来改变信号的频率和幅度等可调参数,然后检测电压表的运行情况。因此,在LabVIEW图形语言环境下设计的虚拟电压表主要分为

#简易数字电压表的设计

一、简易数字电压表的设计 l .功能要求 简易数字电压表可以测量0~5V 的8路输入电压值,并在四位LED 数码管上轮流显示或单路选择显示。测量最小分辨率为0.019 V ,测量误差约为土0.02V 。 2.方案论证 按系统功能实现要求,决定控制系统采用A T89C52单片机,A /D 转换采用ADC0809。系统除能确保实现要求的功能外,还可以方便地进行8路其它A /D 转换量的测量、远程测量结果传送等扩展功能。数字电压表系统设计方案框图如图1-1。 3.系统硬件电路的设 计 简易数字电压测量电 路由A /D 转换、数据处 理及显示控制等组成,电 路原理图如图1-2所示。A /D 转换由集成电路0809完 成。0809具有8路模拟输人 端口,地址线(23~25脚)可决定对哪一路模拟输入作A /D 转换,22脚为地址锁存控制,当输入为高电平时,对地址信号进行锁存,6脚为测试控制,当输入一个2us 宽高电平脉冲时,就开始A /D 转换,7脚为A /D 转换结束标志,当A /D 转换结束时,7脚输出高电平,9脚为A /D 转换数据输出允许控制,当OE 脚为高电平时,A /D 转换数据从该端口输出,10脚为0809的时钟输入端,利用单片机30脚的六分频晶振频率再通过14024二分频得到1 MHz 时钟。单片机的P1、P3.0~P3.3端口作为四位LED 数码管显示控制。P3.5端口用作单路显示/循环显示转换按钮,P3.6端口用作单路显示时选择通道。P0端口作A /D 转换数据读入用,P2端口用作0809的A /D 转换控制。 4.系统程序的设计 (1)初始化程序 系统上电时,初始化程序将70H ~77H 内存单元清0,P2口置0。 (2)主程序 在刚上电时,系统默认为循环显示8个通道的电压值状态。当进行一次测量后,将 图1-1 数字电压表系统设计方案

双通道数字电压表课程设计

目录 1 引言.......................................................... - 2 - 2设计原理及要求................................................ - 2 - 2.1数字电压表的实现原理..................................... - 2 - 2.2数字电压表的设计要求..................................... - 2 - 3软件仿真电路设计................................. 错误!未定义书签。 3.1设计思路.................................... 错误!未定义书签。 3.3设计过程.................................... 错误!未定义书签。 3.4 AT89C51的功能介绍....................................... - 3 - 3.4.1简单概述........................................... - 3 - 3.4.2主要功能特性....................................... - 3 - 3.4.3 AT89C51的引脚介绍................................. - 3 - 3.5 ADC0808的引脚及功能介绍................................. - 5 - 3.5.1芯片概述........................................... - 5 - 3.5.2 引脚简介........................................... - 5 - 3.5.3 ADC0808的转换原理................................. - 6 - 3.6 74LS373芯片的引脚及功能................................. - 6 - 3.6.1芯片概述........................................... - 6 - 3.6.2引脚介绍........................................... - 6 - 3.7 LED数码管的控制显示..................................... - 7 - 3.7.1 LED数码管的模型................................... - 7 - 3.7.2 LED数码管的接口简介............................... - 7 - 4系统软件程序的设计............................... 错误!未定义书签。 4.1 主程序................................................. - 15 - 4.2 A/D转换子程序.......................................... - 16 - 4.3 中断显示程序............................... 错误!未定义书签。5电压表的调试及性能分析........................... 错误!未定义书签。 5.1 调试与测试................................. 错误!未定义书签。 5.2 性能分析............................................... - 17 - 6电路仿真图....................................... 错误!未定义书签。7总结......................................................... - 14 - 参考文献........................................... 错误!未定义书签。

虚拟数字电压表的设计

摘要 LabVIEw 8.5版本的工程技术比以往任何一个版本都丰富.它采用了中文界面,各个控件的功能一目了然。利用它全新的用户界面对象和功能,能开发出专业化、可完全自定义的前面板。LabVIEw 8.5对数学、信号处理和分析也进行了重大的补充和完善,信号处理分析和数学具有更为全面和强大的库,其中包括500多个函数。所以在LabVIEw 8.5版本下能够更方便地实现虚拟电压表的设计。 虚拟电压表是基于计算机和标准总线技术的模块化系统,通常它由控制模块、仪器模块和软件组成,由软件编程来实现仪器的功能。在虚拟仪器中,计算机显示器是惟一的交互界面,物理的开关、按键、旋钮以及数码管等显示器件均由与实物外观相似的图形控件来代替,操作人员只要通过鼠标或键盘操作虚拟仪器面板上的旋钮、开关、按键等设置各种参数,就能根据自己的需要定义仪器的功能。在虚拟电压表的设计中,考虑到仪器主要用于教学和实验,使用对象是学生,因此将引言中提到的三种检波方式的仪器合为一体,既简化了面板操作,又便于直接对比。 该电压表主要用于电路分析和模拟电子技术等实验课的教学和测量仪器,能够使学习者了解和掌握电压的测量和电压表对各种波形的不同响应。因此,虚拟电压表应具备电源开关控制、波形选择,以及显示峰值、有效值和平均值三种结果,且输入信号的大小可调节等功能。虚拟电压表由硬件设备与接口、设备驱动软件和虚拟仪器面板组成。其中,硬件设备与接口包括仪器接口设备和计算机,设备驱动软件是直接控制各种硬件接口的驱动程序,虚拟仪器通过底层设备驱动软件与真实的仪器系统进行通信,并以虚拟仪器面板的形式在计算机屏幕上显示与真实仪器面板操作相对应的各种控件。在此,用软件虚拟了一个信号发生器。该信号发生器可产生正弦波、方波和三角波,还可以输入公式,产生任意波形。根据需要,可调节面板上的控件来改变信号的频率和幅度等可调参数,然后检测电压表的运行情况。因此,在LabVIEW图形语言环境下设计的虚拟电压表主要分为两个部分:第一部分是虚拟电压表前面板的设计;第二部分是虚拟电压表流程图的设汁。

单片机课程设计 数字电压表设计

《单片机原理及应用》课程设计报告书 课题名称数字电压表设计 名姓 学号 专业

指导教师 机电与控制工程学院月年日 1 任务书 电压表是测量仪器中不可缺少的设备,目前广泛应用的是采用专用集成电路实现的数字电压表。本系统以8051单片机为核心,以逐次逼近式A/D转换器ADC0809、LED显示器为主体,设计了一款简易的数字电压表,能够测量0~5V的直流电压,最小分辨率为0.02V。 该设计大体分为以下几个部分,同时,各部分选择使用的主要元器件确定如下: 1、单片机部分。使用常见的8051单片机,同时根据需要设计单片机电路。 2、测量部分。该部分是实验的重点,要求将外部采集的模拟信号转换成数字信号,通过单片机的处理显示在显示器上,该部分决定了数字电压表的精度等主要技术指标。根据需要本设计采用逐次逼近型A∕D转换器ADC0809进行模数转换。 3、键盘显示部分。利用4×6矩阵键盘的一个按键控制量程的转换,3或4位LED显示。其中一位为整数部分,其余位小数部分。 关键词:8051 模数转换LED显示矩阵键盘 2 目录

1 绪论 (1) 2 方案设计与论证 (2) 3 单元电路设计与参数计算 (3) 4 总原理图及参考程序 (8) 5 结论 (14) 6 心得体会 (15) 参考文献16 (7) 3 1.绪论 数字电压表的基本工作原理是利用A/D转换电路将待测的模拟信号转换成数字信号,通过相应换算后将测试结果以数字形式显示出来的一种电压表。较之于一般的模拟电压表,数字电压表具有精度高、测量准确、读数直观、使用方便等优

点。 电压表的数字化测量,关键在于如何把随时连续变化的模拟量转化成数字量,完成这种转换的电路叫模数转换器(A/D)。数字电压表的核心部件就是A/D转换器,由于各种不同的A/D转换原理构成了各种不同类型的DVM。一般说来,A/D 转换的方式可分为两类:积分式和逐次逼近式。 积分式A/D转换器是先用积分器将输入的模拟电压转换成时间或频率,再将其数字化。根据转化的中间量不同,它又分为U-T(电压-时间)式和U-F(电压-频率)式两种。 逐次逼近式A/D转换器分为比较式和斜坡电压式,根据不同的工作原理,比较式又分为逐次比较式及零平衡式等。斜坡电压式又分为线性斜坡式和阶梯斜坡式两种。 在高精度数字电压表中,常采用由积分式和比较式相结合起来的复合式A/D转换器。本设计以8051单片机为核心,以逐次比较型A/D转换器ADC0809、LED 显示器为主体,构造了一款简易的数字电压表,能够测量1路0~5V直流电压,最小分辨率0.02V。 4 2.方案设计与论证 基于单片机的多路数字电压表电路的基本组成如图3.1所示。

简易数字直流电压表的设计

电子制作课程考核报告 课程名称简易数字直流电压表的设计 学生姓名贾晋学号1313014041 所在院(系)物理与电信工程 专业班级电子信息工程1302 指导教师秦伟 完成地点 PC PROTEUS 2015年 6 月 13 日

简易数字直流电压表的设计 简易数字直流电压表的设计 摘要本文介绍一种基于AT89C51单片机的简易数字电压表的设计。该设计主要由三个模块组成:A/D转换模块,数据处理模块及显示模块。A/D转换芯片为ADC0808,它主要负责把采集到的模拟量转换为数字量再传送到数据处理模块。数据处理则是由芯片AT89C51来完成,主要负责把ADC0808传送来的数字量经过一定的数据处理,产生相应的显示码送到显示模块进行显示;并且,它还控制着ADC0808芯片工作。 该系统的数字电压表电路简单,所用的元件较少,成本低,且测量精度和可靠性较高。此数字电压表可以测量0-200V的模拟直流输入电压值,并通过数码管显示。 关键词单片机;数字电压表;AT89C51;ADC0808

目录 1 引言............................................................................................... 2 总体设计方案............................................................................... 2.1设计要求 ............................................................................... 2.2 设计思路 .............................................................................. 2.3 设计方案 .............................................................................. 3 详细设计....................................................................................... 3.1 A/D转换模块 .................................................................... 3.2 单片机系统 ........................................................................ 3.3 时钟电路 ............................................................................ 3.4 LED显示系统设计 ........................................................... 3.5 总体电路设计 .................................................................... 4 程序设计....................................................................................... 4.1 程序设计总方案 ................................................................ 4.2 系统子程序设计 ................................................................ 5 仿真............................................................................................. 5.1 软件调试 (11) 5.2 显示结果及误差分析 ........................................................ 结论................................................................................................. 参考文献........................................................................................... 附录...................................................................................................

数字电压表课程设计实验报告

自动化与电气工程学院 电子技术课程设计报告 题目数字电压表的制作 专业 班级 学号 学生姓名 指导教师 二○一三年七月

一、课程设计的目的与意义 1.课程设计的主要目的,是通过电子技术综合设计,熟悉一般电子电路综合设计过程、设计要求、完成的工作内容和具体的设计方法。 2.同时了解双积分式A/D转换器ICL7107的性能及其引脚功能,熟悉集成电路ICL7107构成直流数字电压表的使用方法,并掌握其在电路中的工作原理。 3.通过设计也有助于复习和巩固以往的模电、数电内容,达到灵活应用的目的。在完成设计后还要将设计的电路进行安、调试以加强学生的动手能力。在此过过程中培养从事设计工作的整体观念。 4.利用双积分式A/D转换器ICL7107设计一数字电压表,量程为-1.99—+1.99,通过七段数码管显示。 二、电路原理图 数字电压表原理图

三、课程设计的元器件 1.课程设计所使用的元器件清单: 2.主要元器件介绍 (1)芯片ICL7107: ICL7107的工作原理 双积分型A/D转换器ICL7107是一种间接A/D转换器。它通过对输入模拟电压和参考电压分别进行两次积分,将输入电压平均值变换成与之成正比的时间间隔,然后利用脉冲时间间隔,进而得出相应的数字性输出。 它的原理性框图如图所示,它包括积分器、比较器、计数器,控制逻辑和时钟信号源。积分器是A/D转换器的心脏,在一个测量周期内,积分器先后对输入信号电压和基

准电压进行两次积分。比较器将积分器的输出信号与零电平进行比较,比较的结果作为数字电路的控制信一号。时钟信号源的标准周期Tc 作为测量时间间隔的标准时间。它是由内部的两个反向器以及外部的RC组成的。其振荡周期Tc=2RCIn1.5=2.2RC 。 ICL7106A/D转换器原理图 计数器对反向积分过程的时钟脉冲进行计数。控制逻辑包括分频器、译码器、相位驱动器、控制器和锁存器。 分频器用来对时钟脉冲逐渐分频,得到所需的计数脉冲fc和共阳极LED数码管公共电极所需的方波信号fc。 译码器为BCD-7段译码器,将计数器的BCD码译成LED数码管七段笔画组成数字的相应编码。 驱动器是将译码器输出对应于共阳极数码管七段笔画的逻辑电平变成驱动相应笔画的方波。 控制器的作用有三个:第一,识别积分器的工作状态,适时发出控制信号,使各模拟开关接通或断开,A/D转换器能循环进行。第二,识别输入电压极性,控制LED 数码管的负号显示。第二,当输入电压超量限时发出溢出信号,使千位显示“1" ,其余码全部熄灭。 钓锁存器用来存放A/D转换的结果,锁存器的输出经译码器后驱动LED 。它的每个测量周期自动调零(AZ)、信号积分(INT)和反向积分(DE)三个阶段。

数字电压表电路图

数字电压表电路图 2008年01月11日 23:38 本站原创作者:本站用户评论(0) 关键字: 数字电压表电路图 ICL7107 安装电压表头时的一些要点:按照测量=±199.9mV 来说明。 1.辨认引脚:芯片的第一脚,是正放芯片,面对型号字符,然后,在芯片的左下方为第一脚。 也可以把芯片的缺口朝左放置,左下角也就是第一脚了。 许多厂家会在第一脚旁边打上一个小圆点作为标记。

知道了第一脚之后,按照反时针方向去走,依次是第 2 至第 40 引脚。(1 脚与 40 脚遥遥相对)。 2.牢记关键点的电压:芯片第一脚是供电,正确电压是 DC5V 。第 36 脚是基准电压,正确数值是 100mV,第 26 引脚是负电源引脚,正确电压数值是负的,在-3V 至-5V 都认为正常,但是不能是正电压,也不能是零电压。芯片第 31 引脚是信号输入引脚,可以输入±199.9mV 的电压。在一开始,可以把它接地,造成“0”信号输入,以方便测试。 3.注意芯片 27,28,29 引脚的元件数值,它们是 0.22uF,47K,0.47uF 阻容网络,这三个元件属于芯片工作的积分网络,不能使用磁片电容。芯片的 33 和 34 脚接的 104 电容也不能使用磁片电容。 4.注意接地引脚:芯片的电源地是 21 脚,模拟地是 32 脚,信号地是 30 脚,基准地是 35 脚,通常使用情况下,这 4 个引脚都接地,在一些有特殊要求的应用中(例如测量电阻或者比例测量),30 脚或 35 脚就可能不接地而是按照需要接到其他电压上。--本文不讨论特殊要求应用。 5.负电压产生电路:负电压电源可以从电路外部直接使用 7905 等芯片来提供,但是这要求供电需要正负电源,通常采用简单方法,利用一个 +5V 供电就可以解决问题。比较常用的方法是利用 ICL7660 或者 NE555 等电路来得到,这样需要增加硬件成本。我们常用一只 NPN 三极管,两只电阻,一个电感来进行信号放大,把芯片 38 脚的振荡信号串接一个 20K -56K 的电阻连接到三极管“B”极,在三极管“C”极串接一个电阻(为了保护)和一个电感(提高交流放大倍数),在正常工作时,三极管的“C”极电压为 2.4V - 2.8V 为最好。这样,在三极管的“C”极有放大的交流信号,把这个信号通过 2 只 4u7 电容和 2 支 1N4148 二极管,构成倍压整流电路,可以得到负电压供给 ICL7107 的 26 脚使用。这个电压,最好是在-3.2V 到-4.2V 之间。 6.如果上面的所有连接和电压数值都是正常的,也没有“短路”或者“开路”故障,那么,电路就应该可以正常工作了。利用一个电位器和指针万用表的电阻 X1 档,我们可以分别调整出50mV,100mV,190 mV 三种电压来,把它们依次输入到 ICL7107 的第 31 脚,数码管应该对应分别显示 50.0,100.0,190.0 的数值,允许有 2 -3 个字的误差。如果差别太大,可以微调一下 36 脚的电压。 7.比例读数:把 31 脚与 36 脚短路,就是把基准电压作为信号输入到芯片的信号端,这时候,数码管显示的数值最好是 100.0 ,通常在 99.7 - 100.3 之间,越接近 100.0 越好。这个测试是看看芯片的比例读数转换情况,与基准电压具体是多少 mV 无关,也无法在外部进行调整这个读数。如果差的太多,就需要更换芯片了。

ADC0832的数字电压表设计说明

目录 1.引言 (1) 2.方案设计 (1) 2.1设计要求 (1) 2.2设计方案 (1) 3.硬件设计 (2) 3.1单片机最小系统 (2) 3.2显示驱动部分 (2) 3.3转换电路 (3) 3.4单片机驱动部分 (3) 4.软件设计 (4) 4.1软件流程 (4) 4.2子程序模板 (5) 5实验结果与讨论 (5) 5.1实验仿真 (5) 5.2结果讨论 (5) 6心得体会 (6) 7参考文献 (13) 8附录 8.1程序 (7) 8.2 原理图 (7)

1.引言 随着片机技术的飞速发展,,现代的电子产品几乎渗透到了社会的各个领域,有力地推动了社会生产力的发肢和社会信息化程度的提商,人们为了寻求最好的科技,为了方便人类在使用科技产品的快速性,准确性。例如数字电压表能够准确的,快速的量出电压。 利用ADC0832和AT89C52的结合再通过LCD来显示出来。 ADC0832是一个8位D/A转换器。单电源供电,从+5V~+15V均可正常工作。基准电压的围为±10V;电流建立时间为1μS;CMOS工艺,低功耗20mW。ADC0832转换器芯片为20引脚,双列直插式封装。该转换器由输入寄存器和DAC寄存器构成两级数据输入锁存。使用时数据输入可以采用两级锁存(双锁存)形式,或单级锁存(一级锁存,一级直通)形式,或直接输入(两级直通)形式。 2.方案设计 2.1设计要求 按系统要实现功能,设计必须达到以下的几个步骤的要求 (1)主电路系统是由ADC0832,单片机AT89C52和LCD显示屏组成。 (2)ADC0832是模拟数字转换芯片,是将外侧电压信号转换成数字信号 再通过AT89C52处理,再通过LCD显示出来 (3)能测量0-5V的数字电压 (4)测量误差不大于0.1V 2.2设计方案 2.1.1单片机的选择 本设计选用单片机AT89C52它是一种带8K字节闪烁可编程可擦除只读存储器的低电压,足够本设计之用,高性能CMOS8位微处理器该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令系统及8052产品引脚兼容,功能强大、使用方便的AT80C52单片机适用于许多较为复杂的应用场合。 2.1.2总体设计及系统原理 数字电压表的整体设计比较简单,包括单片机,ADC0832的芯片和LCD的显示电路组成。先通过ADC0832芯片将外侧电压信号转换成数字信号,再通过由AT89C52组成的电路处理转换成相应的实际电压,再通过LCD显示电路显示出来。

相关主题
文本预览
相关文档 最新文档