直流数字电压表0_5V(4位显示)
- 格式:doc
- 大小:95.50 KB
- 文档页数:5
《单片机原理与接口技术》课程设计报告设计题目:简易数字电压表设计专业班级:电信1202 学号:2012001452学生姓名:庞宏平同组人:万培石一雄指导教师:武娟萍太原理工大学课程设计任务书注:课程设计完成后,学生提交的归档文件应按,封面—任务书—说明书—图纸的顺指导教师签名:日期:2015.6简易数字电压表设计目录1.引言 (4)1.1设计任务 (4)1.2 设计要求 (5)2.硬件电路设计 (5)2.1 系统的硬件构成及功能 (5)2.2 AT89S51单片机及其引脚说明 (6)2.3 ADC0808引脚及功能说明 (7)2.4 ADC0808的外部引脚特征 (8)2.5 ADC0808的内部结构及工作流程 (9)3.LCD显示系统以及74LS373 (10)3.1 LCD显示系统设计 (10)3.2 74LS373引脚图及功能 (11)3.3 总体电路设计 (13)4.程序设计 (14)4.1 程序设计总方案 (14)4.2 系统子程序设计 (15)5 .软件测试及仿真 (16)5.1 软件调试 (16)5.2 显示结果及误差分析 (17)5.3 附加功能 (18)结论 (19)附录程序代码 (20)第1章引言本次课程设计利用单片机技术来实现一台简易数字电压表,具有性能可靠、电路简单、成本低等特点。
1.1数字电压表概述电压表应用十分广泛,但大部分是模拟电压表,而由于其特性,反应速度慢,读数麻烦并且误差较大,所以为适应不断快速的高速信号领域,已经广泛使用数字电压表。
本实验设计是基于51单片机开发平台实现的一种数字电压表系统。
该设计采用AT89S51单片机为核心,以ADC0809为模数转换数据采样,实现被测电压的采样。
1.2此次设计任务1.2.1设计任务设计制作一个简易数字电压表,该直流电压表能测直流电压目标:基于MCS—51单片机,对设计硬件电路和软件程序应用的设计,使用发光二极管来显示所要测试模拟电压的数字电压值。
四路数字电压表设计摘要随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器/计数电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。
数字电压表就是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。
本课程设计是基于单片机的数字电压表的设计,该设计主要由三个模块组成:A/D转换模块,数据处理模块及显示模块。
A/D转换主要由芯片ADC0808来完成,它负责把采集到的模拟量转换为相应的数字量再传送到数据处理模块。
数据处理模块则由芯片AT89C51来完成,其负责把ADC0808传送来的数字量经过一定的数据处理,产生相应的显示码送到显示模块进行显示。
此数字电压表电路相对简单,所用的元件较少,成本低,且测量精度和可靠性较高。
关键词:A/D转换器, AT89C51 , ADC0808目录1 绪论 (1)1.1课题描述 (1)1.2基本工作原理及框图 (1)2 相关芯片及硬件电路设计 (2)2.1AT89C51芯片 (2)2.2ADC0808芯片 (2)2.2.1ADC0808芯片介绍 (2)2.2.2ADC0808转换原理 (3)2.3时钟电路 (4)2.4复位电路 (4)2.5A/D转换电路 (5)2.6数码显示电路 (6)2.7总电路 (7)3 软件设计 (7)3.1程序设计总方案 (7)3.2系统子程序设计 (8)3.2.1初始化程序 (8)3.2.2A/D转换子程序 (8)3.2.3显示子程序 (9)3.3程序设计 (9)4调试仿真 (11)总结 (13)致 (14)参考文献 (15)1 绪论1.1 课题描述数字电压表的诞生打破了传统电子测量仪器的模式和格局。
它显示清晰直观、读数准确,采用了先进的数显技术,大减少了因人为因素所造成的测量误差事件。
数字电压表是把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式,并加以显示的仪表。
接口技术学生姓名:学号:学院:专业: 电子科学与技术题目: 数字电压表设计指导教师:数字电压表设计摘要:本课题实验主要采用AT89S51芯片和ADC0809芯片来完成一个简易的数字电压表,能够对输入的0~5 V的模拟直流电压进行测量,并通过一个4位一体的7段LED数码管进行显示,测量误差约为0.02 V。
该电压表的测量电路主要由三个模块组成:A/D转换模块、数据处理模块及显示控制模块。
A/D转换主要由芯片ADC0809来完成,它负责把采集到的模拟量转换为相应的数字量再传送到数据处理模块。
数据处理则由芯片AT89S51来完成,其负责把ADC0809传送来的数字量经一定的数据处理,产生相应的显示码送到显示模块进行显示;另外它还控制着ADC0809芯片的工作。
显示模块主要由7段数码管及相应的驱动芯片(74HC245)组成,显示测量到的电压值。
实现方案:本实验采用AT89S51单片机芯片配合ADC0809模/数转换芯片构成一个简易的数字电压表,原理电路如图1-1所示。
系统框图如图1-2所示。
图1-1 电路原理图图1-2 系统框图硬件选择方案:一.实验所需元器件:1. AT89S51芯片 1块2. ADC0809芯片 1块3. 74HC245芯片 2块4. 4位一体数码 1个5. 6MHz晶振1个6. 33pF电容2个7. 0.1uF滤波电容2个8. 10uF电解电容 1个9. 按键开关 1个10.发光二极管 1个11.4.7KΩ精密电位器1个12.510Ω电阻 12个13.8.2KΩ电阻1个14.10KΩ电阻1个15.导线若干二.主要元器件的介绍1.模数转换芯片ADC0809:ADC0809是典型的8位8通道逐次逼近式A/D转换器,其实物如图1-3所示。
它可以和微型计算机直接接口。
ADC0809转换器的系列芯片是ADC0808,可以相互替换。
1) ADC0809内部逻辑结构图1-4 ADC0809的内部逻辑结构及引脚图ADC0809的内部逻辑结构如图1-4所示。
摘要本文介绍了用ADC0832集成电压转换芯片和ATC89C52单片机设计制作的数字直流电压表。
在测量仪器中,电压表是必须的,而且电压表的好坏直接影响到测量精度。
具有一个精度高、转换速度快、性能稳定的电压表才能符合测量的要求。
为此,我们设计了数字电压表,该系统有三个部分:数据采集,数据处理和显示,终端接收,主要由ADC0832转换器和单片机ATC89C52构成,A/D转换器在单片机的控制下完成对模拟信号的采集和转换功能,最后由译码器74LS164和LED数码显示器构成的显示部分来显示采集的电压值。
此设计通过调试完全满足设计的指标要求。
电路设计简单,设计制作方便有较强的实用性。
关键词:模数转换器ADC0832;单片机ATC89C52;数字电压表; 译码器74LS164;LED数码显示器摘要 (1)第一章电压表概述 (4)第二章总体方案设计 (6)2.1信号采集分析 (6)2.1.1信号采集 (6)2.1.2 A/D转换器的选取 (8)2.2控制与显示方法分析 (8)2.2.1单片机系统分析 (9)2.2.2显示分析 (10)2.3传输方式分析 (11)第三章系统硬件设计 (12)3.1单片机及外围电路的设计 (12)3.1.1 单片机的选择 (12)3.1.2复位和振荡电路的设计 (13)3.2数据采集电路 (14)3.2.1 A/D转换的一般步骤 (14)3.2.2 ADC0832内部功能与引脚介绍 (14)3.2.3 AT89C52单片机 (16)3.2.3 ADC0832与ATC89C52单片机的接口方法 (17)3.3 LED显示电路和译码器74LS164 (18)3.3.1 LED显示电路 (18)3.3.2 译码器74LS164 (18)3.3.3 LED与74LS164的接口方法 (19)3.4通信电路 (20)第四章系统软件设计 (22)4.1 数字电压表系统软件设计方案确定 (22)4.2数字电压表应用程序设计 (24)4.3 LED显示程序 (24)第五章总结 (26)参考文献 (27)附录A:硬件原理图 (28)附录B:源程序......................................... 错误!未定义书签。
简易数字万用表设计辽宁工业大学单片机原理及接口技术课程设计(论文)题目:简易数字万用表院(系):电气工程学院专业班级:测控技术与仪器学号: 090301020学生姓名:王英会指导教师:起止时间:2012。
6。
18-2012。
6.29课程设计(论文)任务及评语院(系):电气工程学院教研室: 测控技术与仪器注:成绩:平时20%论文质量60% 答辩20%以百分制计算摘要本课题介绍了一种基于单片机的简易数字电压表的设计.该设计主要由三个模块组成:A/D转换模块,数据处理模块及显示模块.A/D转换主要由芯片ADC0804来完成,它负责把采集到的模拟量转换为相应的数字量在传送到数据处理模块。
数据处理则由芯片89S52来完成,其负责把ADC0804传送来的数字量经过一定的数据处理,产生相应的显示码送到显示模块进行显示;此外,它还控制着ADC0804芯片工作.该系统的数字电压表电路简单,所用的元件较少,成本低,且测量精度和可靠性较高。
此数字电压表可以测量0—5V的1路模拟直流输入电压值,并通过一个四位一体的7段数码管显示出来。
关键字:单片机;数字电压表;A/D转换; 80S52;ADC0804目录第1章绪论.................................... 错误!未定义书签。
第2章课程设计的方案. (1)2。
1概述 .................................... 错误!未定义书签。
2.2总体方案比较 ............................. 错误!未定义书签。
第3章硬件设计. (11)3.1电压采集 (4)3.2电流采集 (5)3.2电阻采集 (6)第4章软件设计 (7)4。
1程序设计总方案 (7)4。
2系统子程序设计 (8)第5章误差分析 (9)第6章课程设计总结 (10)参考文献 (11)第1章绪论社会的发展、科技的进步,离不开电子产业的推动。
1 前言 (1)2 总体方案设计 (2)2.1 方案论证 (2)2.2 方案比较及选择 (3)3 硬件电路设计 (4)3.1 AD转换电路 (4)3.2 复位电路 (4)3.3 时钟电路 (5)3.4 显示电路 (6)3.5 特殊器件介绍 (6)3.5.1 主控芯片AT89S51 (6)3.5.2 ADC0808 (7)3.5.3 LED (9)4 软件部分设计 (11)4.1 A/D转换子程序 (11)4.2 显示子程序 (12)5 电路仿真 (13)5.1 软件调试 (13)5.2 显示结果及误差分析 (13)6 系统功能 (17)小结 (18)参考文献 (19)附录1 基于单片机的数字电压表原理图 (20)附录2 基于单片机的数字电压表程序清单 (21)1 前言在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。
而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。
数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。
由于数字式仪器具有读数准确方便、精度高、误差小、测量速度快等特而得到广泛应用。
传统的指针式刻度电压表功能单一,进度低,容易引起视差和视觉疲劳,因而不能满足数字化时代的需要。
采用单片机的数字电压表,将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC实时通信。
数字电压表是诸多数字化仪表的核心与基础。
以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。
目前,由各种单片机和A/D转换器构成的数字电压表作全面深入的了解是很有必要的。
最近的几十年来,随着半导体技术、集成电路(IC)和微处理器技术的发展,数字电路和数字化测量技术也有了巨大的进步,从而促使了数字电压表的快速发展,并不断出现新的类型。
基于单片机的电压采集摘要: (2)关键词: (2)引言 (3)一、电路设计方案及原理说明 (4)1.1 ADC0809模数转换芯片 (5)1.2 AT89C51单片机 (9)1.3 4个共阳7段数码管显示器 (10)1.4 系统整体工作原理 (11)二、软件设计 (12)三、设计框图 (17)3.1硬件总体框图 (17)3.2主程序流程图 (18)3.3待测信号源单元电路 (19)3.4 AT89C51单片机(如下图所示) (20)3.5单片机控制单元 (20)3.5.1外部时钟电路 (20)3.5.2复位电路 (20)3.5.3数码管显示模块 (21)四、实验仿真 (21)摘要:本设计待测的输入电压为8路,电压范围为0~5V,使用目前广泛使用的AT89C51来做控制系统,用ADC0809来进行模拟电压的采集及模数转换,实现采集8路数据,并将结果在四位一体数码管上进行显示。
该系统主要包括几大模块:数据采集模块、A/D转换模块、控制模块、显示模块。
显示部分由LED数码显示器构成。
该数字电压表具有电路简单,成本低等优点,可以方便地进8路A/D转换量的测量。
关键词:电压采集、ADC0809、A/D转换、单片机89C51、数码管显示引言随着计算机技术的飞速发展和普及,数据采集系统在多个领域有着广泛的应用。
数据采集是工、农业控制系统中至关重要的一环,在医药、化工、食品、等领域的生产过程中,往往需要随时检测各生产环节的温度、湿度、流量及电压等参数。
同时,还要对某一检测点任意参数能够进行随机查寻,将其在某一时间段内检测得到的数据经过转换提取出来,以便进行比较,做出决策,调整控制方案,提高产品的合格率,产生良好的经济效益。
随着工、农业的发展,多路数据采集势必将得到越来越多的应用,为适应这一趋势,作这方面的研究就显得十分重要。
在科学研究中,运用数据采集系统可获得大量的动态信息,也是获取科学数据和生成知识的重要手段之一。
第一部分项目名称、内容与要求项目名称:数字电压表设计1.1 设计内容利用FPGA与模数转换器ADC0809设计一个数字电压表,能够测量0~5V之间的直流电压,用四个数码管显示被测电压,要求精确到小数点后三位数字。
了解数字电压表的工作原理,掌握可编程逻辑器件与模数转换器之间的接口电路设计及调试方法。
下载并测试电路功能,分析芯片资源的占用情况。
1.2 具体要求1)、能正确测量0-5∨模拟电压,误差<1%,数字电压值分别由四个数码管显示。
(2)、FPGA芯片产生ADC0809控制信号和七段显示器断码和位码等。
(3)、ADC0809芯片实现8位模数转换,输入0-5∨,输出00H-FFH。
(4)、ADC0809输出00H-FFH送FPGA芯片处理为十进制数百十个等位,并产生动态显示位码和断码。
(5)、FPGA芯片产生ADC0809芯片需要写、读和片选信号等,注意时序。
(6)、了解掌握A/D(模数)转换器芯片ADC0809的转换原理、管脚定义以及实际用法。
第二部分:系统整体架构(Architecture Description)2.1 设计思路数字电压表(Digital V oltmeter)简称DVM,是一种用数字显示的电压测量仪表。
由于数字电压表具有读数准确方便、精度高、误差小、灵明度高和分辨率高、测量速度快等特点而备受青睐。
其基本理是采用数字化测量技术,对直流电压进行模数转换,转换成不连续、离散的数字形式并加以显示。
由此可知数字电压表的设计应包括三个主要部分:作为电压采样端口的模数转换单元、数据处理单元及电压值显示单元。
设计要求利用ADC0809模数转换器,FPGA 作为数据处理的核心器件,用LED和数码管进行电压值的显示。
系统结构框图如下图所示。
2.2 系统原理(包含:框图等阐述)与设计说明等内容1、模数转换器工作原理A/D转换器芯片ADC0809简介8路模拟信号的分时采集,片内有8路模拟选通开关,以及相应的通道抵制锁存用译码电路,其转换时间为100μs左右。
直流电流表、直流电压表、标准信号表用户手册一、产品简介MNF系列数显直流电流表、直流电压表、标准信号表,是一种具有可编程测量、显示、报警、数字通讯和模拟量变送输出等功能的智能仪表,广泛应用于配电自动化、智能建筑、自动化生产线、测试台等。
真有效值测量,精度高,稳定性好。
标准信号输入时,对应的量程下限,上限可根据需要自由设定。
4位高亮度红色LED显示;可选一路或二路继电器报警输出,实现上下限报警功能;可选RS-485数字接口通讯,采用国际标准MODBUS-RTU通讯协议,可与各种PLC、HMI、组态软件实现组网;可选模拟量(DC0~20mA、DC4~20mA、DC0~5V、DC1~5V、DC0~10V等)变送输出,输入信号与模拟量输出信号隔离,成线性关系。
二、技术参数说明:模拟量输出与RS485通讯两选一,两种功能不能同时选择。
三、用户选型3.13.2命名方式MNF①-②K1-③④①、输入信号类型:电压输入为U,电流输入为I。
②、外型代号:所选仪表尺寸的外形代号,具体见3.1外形代号列表。
③、模拟量变送输出代号为D,RS485数字接口代号为R,无输出为空。
④、继电器报警输出:一路继电器输出代号为A,二路继电器输出代号为A2,无继电器输出为空。
举例:96×48外型仪表,信号输入为DC0~5A,带RS485接口,型号为:195I-5K1-R。
四、面板说明①、测量值显示。
②、测量值的单位,电流表为A、电压表为V,压力表为MPa,转速表为RPM,或用户指定显示的单位。
③、操作按键。
④、Lo下限报警指示,Lo上的指示灯亮,表示超过下限。
⑤、Ho上限报警指示,Ho上的指示灯亮,表示超过上限。
五、面板按键操作5.1 按键定义功能键SET:用于进入菜单项,确认设置值。
位选键◄:循环选定要设置的数码管,选定的数码管呈闪烁状态。
增加键▲:改变闪烁位数码管的数值(数码管数值从0到9循环)。
5.2 操作方法按住SET键不放,大约1秒钟进入参数设置菜单,▲键进入菜单项的设置值,用◄键、▲键调整要设置的值,按SET键确认设置值,并进入下一设置项,如果没有下一设置项则退出到测量状态。
单片机仿真实验
——直流数字电压表设计
调节电位器RV1可使其输出电压在0-5V之间变化。
经AD转换后,数码管以十进制形式动态显示电位器的调节电压。
元件清单
元件类别电路符号元件名称Microprocessor ICS U1 80C51
Data Converter U3 ADC0808
Miscellaneous X1 CRYSTAL
Capacitors C1-C2 CAP
Capacitors C3 CAP-ELEC
Resistors RP1 RESPACK_8
Resistors R9/10K RES
Resistors RV1/4.7K POT-HG Qpto electronics LED 7SEG-MPX4-CC-RED 结果:
程序代码:
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
sbit CLK=P2^4;
sbit ST =P2^5;
sbit EOC=P2^6;
sbit OE=P2^7;
sbit P20=P2^0;
sbit P21=P2^1;
sbit P22=P2^2;
sbit P23=P2^3;
uchar code mod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uint result=0;
void delay(uint time);
void display();
Time1()interrupt 1
{
CLK=!CLK;
}
void main()
{
TMOD=0x02;
EA=1;
ET0=1;
TR0=1;
TH0=0x00;
TL0=0x00;
while(1)
{
ST=0;
ST=1;
ST=0;
while(EOC==0);
OE=1;
result=P1;
OE=0;
display();
}
}
void display()
{
uint gw,sf,bf,qf;
gw=result/51;
sf=(result*10/51)%10;
bf=(result*100/51)%10;
qf=(((result*100)%51)*10)/51;
P20=0;
P0=mod[gw]|0x80;
delay(10);
P20=1;
P21=0;
P0=mod[sf];
delay(10);
P21=1;
P22=0;
P0=mod[bf];
delay(10);
P22=1;
P23=0;
P0=mod[qf];
delay(10);
P23=1;
}
void delay(uint time) {
uint j=0;
for(;time>0;time--)
for(;j<125;j++); }。