文档库 最新最全的文档下载
当前位置:文档库 › 数字电压表仿真图及程序

数字电压表仿真图及程序

数字电压表仿真图及程序
数字电压表仿真图及程序

#include

#define uchar unsigned char

#define uint unsigned int

#define key_state0 0 //键盘扫描的各个状态

#define key_state1 1

#define key_state2 2

#define key_state3 3

sbit lcdrs=P1^2;//1602液晶写命令/数据标志,0时写命令sbit lcdw=P1^1;//1602液晶写入/读出标志,0时写入数据sbit lcde=P1^0;

sbit input=P1^4;

sbit output=P1^3;

sbit cs=P1^5;

sbit clk=P1^6;

sbit key=P2^0;

sbit flag_1=P2^1;//定义电压表档位相关标志

sbit flag_2=P2^2;

sbit flag_3=P2^3;

sbit flag_4=P2^4;

uchar code tab0[]="V "; //显示的单位及有关的字符uchar code tab1[]="MV";

uchar code tab2[]="Power:";

uchar code tab3[]="Aver_V:";//平均电压值标志符

uchar t;

void delay(int z)//延时函数

{

int x,y;

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

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

}

void init_timer0()//定时计数器0初值化函数,

{

TMOD=0x01;//方式一

TH0=(65536-50000)/256;//每50ms中断一次

TL0=(65536-50000)%256;

IE=0x82;//打开中断

TR0=0;//定时器首先不可工作

}

void write_com(uchar x)

{ P0=x;

lcdrs=0;

lcdw=0;

lcde=1;

delay(2);

lcde=0;

lcdw=0;

}

void write_dat(uchar x)

{

lcdrs=1;

lcdw=0;

P0=x;

lcde=1;

delay(2);

lcde=0;

}

void init_1602()

{

write_com(0x38);

write_com(0x0c);

write_com(0x06);

}

void display(uchar x,uchar y,unsigned long dat)//显示电压值的函数,x行y列开始显示

{

uint add;

uchar i,a[5];

switch(x)

{

case 0:add=0x80;break;

case 1:add=0x80+0x40;break;

}

add=add+y;

write_com(add);

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

{

a[i]=dat%10;

dat=dat/10;

}

write_dat(a[4]+0x30);

write_dat(a[3]+0x30);

write_dat(a[2]+0x30);

write_dat('.');

write_dat(a[1]+0x30);

write_dat(a[0]+0x30);

}

void display_zifu(uchar x,uchar y,uchar *str)//显示字符函数,x行y列开始显示{

uint add;

switch(x)

{

case 0:add=0x80;break;

case 1:add=0x80+0x40;break;

}

add=add+y;

write_com(add);

while(*str!='\0')

{

write_dat(*str);

str++;

}

}

uint read_AD(uchar con_way)//读取AD转换值操作函数

{

uint dat=0;

uchar i;

cs=0;

clk=0;

// con_way<<=4;

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

{

con_way<<=1;/*选择0通道,在输入该控制数据的同时输出前一次AD转结果*/

input=CY;

dat<<=1;

if(output)/*输出AD转换结果*/

dat=dat|0x01;

delay(2);

clk=1;

delay(5);

clk=0;

}

cs=1;

return dat;

}

uint read_value()

{

long float dq;

long float dat_v;

dq=read_AD(0);//把读取得的AD转换值给变量dq

if(!flag_3)

dat_v=(200*dq)/4096*100*2.2988;//三档,量程为200V else if(!flag_2)

dat_v=(20*dq)/4096*100*2.50272;//二档,量程为20V else if(!flag_1)

dat_v=(2*dq)/4096*100*2.5;//一档,量程2V

return dat_v;

}

void read_key()//键盘扫描函数

{

static uchar key_state=0;

switch(key_state)

{

case key_state0:

if(key==0)

key_state=key_state1;

break;

case key_state1:

if(key==0)

{

TR0=1;

display_zifu(1,0,tab3);

key_state=key_state2;

}

else

key_state=key_state0;

break;

case key_state2:

if(key)

key_state=key_state0;

break;

}

}

void main()

{

long float dat;

long float dat_aver,dat1[5];//定义5个随机电压值变量

uchar flag;//后五秒取随机电压的标志

init_timer0();

init_1602();

delay(10);

while(1)

{

dat=read_value();

if(dat>=100)//当电压值大于1V时,用V显示,否则用mV显示{

display_zifu(0,1,tab2);

display(0,7,dat);

display_zifu(0,13,tab0);

}

else

{

display_zifu(0,1,tab2);

display(0,7,dat*1000);

display_zifu(0,13,tab1);

}

//read_key(); //当键盘按下时,计算后五秒的平均电压值

if(key==0)

{

TR0=1;

display_zifu(1,0,tab3);

}

if(t==20)

{

t=0;

dat1[flag]=dat;

flag++;

}

if(flag==5)

{

dat_aver=(dat1[0]+dat1[1]+dat1[2]+dat1[3]+dat1[4])/5;

if(dat_aver>=100)//当电压值大于1V时,用V显示,否则用mV显示

{

//display_zifu(0,1,tab2);

display(1,7,dat_aver);

display_zifu(1,13,tab0);

}

else

{

//display_zifu(0,1,tab2);

display(1,7,dat_aver*1000);

display_zifu(1,13,tab1);

}

}

if(flag==8)

{

flag=0;

write_com(0x01);

TR0=0;

}

}

}

void timer0() interrupt 1//定时器中断函数

{

TH0=(65536-50000)/256;//重新放入初始值

TL0=(65536-50000)%256;

t++;

}

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

单片机课程设计 ——电压表的设计 学院:信息工程学院 专业:电子信息科学与技术 班级:2011150 学号:201115002 姓名:王冬冬 同组同学:凡俊兴 201115001

目录 1 引言 (1) 2设计原理及要求 (2) 2.1数字电压表的实现原理 (2) 2.2数字电压表的设计要求 (2) 3软件仿真电路设计 (2) 3.1设计思路 (2) 3.2仿真电路图 (3) 3.3设计过程 (3) 3.4 AT89C51的功能介绍 (4) 3.4.1简单概述 (4) 3.4.2主要功能特性 (5) 3.4.3 AT89C51的引脚介绍 (5) 3.5 ADC0809的引脚及功能介绍 (7) 3.5.1芯片概述 (7) 3.5.2 引脚简介 (8) 3.5.3 ADC0809的转换原理 (8) 3.6 74LS373芯片的引脚及功能 (8) 3.6.1芯片概述 (8) 3.6.2引脚介绍 (9) 3.7 LED数码管的控制显示 (9) 3.7.1 LED数码管的模型 (9)

LED数码管模型如图3-6所示。 (9) 3.7.2 LED数码管的接口简介 (9) 4系统软件程序的设计 (9) 4.1 主程序 (10) 4.2 A/D转换子程序 (11) 4.3 中断显示程序 (12) 5使用说明与调试结果 (13) 6总结 (13) 参考文献 (14) 附录1 源程序 (15) 附录2原理电路 (19)

1 引言 在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。由于数字式仪器具有读数准确方便、精度高、误差小、测量速度快等特而得到广泛应用[1]。 传统的指针式刻度电压表功能单一,进度低,容易引起视差和视觉疲劳,因而不能满足数字化时代的需要。采用单片机的数字电压表,将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC实时通信。数字电压表是诸多数字化仪表的核心与基础[2]。以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。目前,由各种单片机和A/D转换器构成的数字电压表作全面深入的了解是很有必要的。 最近的几十年来,随着半导体技术、集成电路(IC)和微处理器技术的发展,数字电路和数字化测量技术也有了巨大的进步,从而促使了数字电压表的快速发展,并不断出现新的类型[4]。数字电压表从1952年问世以来,经历了不断改进的过程,从最早采用继电器、电子管和形式发展到了现在的全固态化、集成化(IC 化),另一方面,精度也从0.01%-0.005%。 目前,数字电压表的内部核心部件是A/D转换器,转换的精度很大程度上影响着数字电压表的准确度,因而,以后数字电压表的发展就着眼在高精度和低成本这两个方面[3]。 本文是以简易数字直流电压表的设计为研究内容,本系统主要包括三大模块:转换模块、数据处理模块及显示模块。其中,A/D转换采用ADC0808对输入的模拟信号进行转换,控制核心AT89C51再对转换的结果进行运算处理,最后驱动输出装置LED显示数字电压信号

基于Proteus的数字电压表设计与仿真

基于Proteus的数字电压表设计与仿真 专业:0811电子信息工程学号: 08128041 姓名:唐浩 摘要:在现代检测技术中,常用高精度数字电压表进行检测,将检测到的数据送入微型计算机系统,完成计算、存储、控制等功能。本文中数字电压表的控制系统采用AT89C51单片机,A/D转换器采用ADC0809为主要硬件,实现数字电压表的硬件电路与软件设计。该系统的数字电压表电路简单,所用的元件较少,成本低,调节工作可实现自动化,还可以方便地进行8路A/D转换的测量,远程测量结果传送等功能。数字电压表可以测量0~5V的电压值,并在四位LED数码管上轮流显示,并且应用Proteus的ISIS软件进行单片机系统设计与仿真.关键词:单片机;数字电压表;A/D转换ADC0809;Proteus Design and Simulation of digital Voltmeter Based on Proteus Abstract:In modern measuring technology, it is often required to conduct site measuring with a digital voltmeter. The data measured will then be input into the micro-computer system to execute such functions like calculating, storing, controlling, and displaying. The digital voltmeter control system described in this paper makes use of AT89C51 SC computer and ADC0809 A/D converter to fulfill the designing of the software as well as the electrical circuit. The voltmeter features in simple electrical circuit, lower use of elements, low cost and automatic regulation, while it can also easily carry out the duties of measuring A/D converted values from 8 routes and remote transfer of measuring data. The meter is capable of measuring voltage from 0 to 5 volt, and displaying the measurements in turn or only that from a selected route,and use software ISIS of Proteus to realize the circuit design and simulation.。 Keywords:Single chip microcomputer;digital V oltmeter;A/D switch ADC0809;Proteus 1 绪论 随着电子科学技术的发展,电子测量成为广大电子工作者必须掌握的手段,对测量的精度和功能的要求也越来越高,而电压的测量甚为突出,因为电压的测量最为普遍。同时随着微电子技术的迅速发展和超大规模集成电路的出现,特别是单片机的出现,正在引起测量控制仪表领域的新的技术革命[1]。 由于使用的是高效单片机作为核心的测量系统,以及灵敏度和精度较高的A/D转换器,使本直流电压表具有精度高、灵敏度强、性能可靠、电路简单、成本低的特点,加上经过优化的程序,使其有很高的智能化水平[2]。

简易数字电压表

单片机课程设计报告 简易数字电压表 一、设计任务与要求 1.电压表的测量范围为0-5V; 2.测量精度约为20mV。 二、方案设计与论证 方案一: 选择MC14433A/D转换器、CD4511等元器件设计电路: 方案二: 用单片机设计电路:

设计采用STC89C52单片机、A/D转换器ADC0809和共阴数码管为主要硬件,分析了数字电压表Proteus软件仿真电路设计及编程方法。将单片机应用于测量技术中,采用ADC0809将模拟信号转化为数字信号,用STC89C52实现数据的处理。通过数码管以扫描的方式完成显示。 方案比较: 方案1:3为半双积分式A/D转换器MC14433转换精度为读数的±0.05%±1字,并能很方便地判断出是否超欠量程,以便于量程的自动切换功能的实现,其中集成了双积分式A/D转换器所有的CMOS模拟电路和数字电路。具有输入阻抗高,功耗低,电源电压范围宽,精度高等特点,并且具有自动校零和自动极性转换功能。缺点是工作速度低,且外围电路需配基准电源,短译码驱动器和位驱动器,电路较复杂。 方案2:设计电路简单。易于控制,且性能稳定;单调试过程需要一定的编程基础,可利用Proteus软件仿真电路设计和调试。Proteus软件是一种电路分析和实物模拟仿真软件。它运行于Windows操作系统上,可以进行仿真、分析(SPICE)各种模拟器件和集成电路,是集单片机和SPICE分析于一身的仿真软件,功能强大,具有系统资源丰富、硬件投入少、形象直观等优点,因此可用此软件方便调试电路。 经过以上两种方案的特点比较,方案二中的电路设计采用比较常见的元器件,对这种方案有一定的专业基础,故采用第二种方案。 三、单元电路设计与参数计算 1 A/D转换模块

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

引言 数字电压表(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 任务书 电压表是测量仪器中不可缺少的设备,目前广泛应用的是采用专用集成电路实现的数字电压表。本系统以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所示。

ICL7106数字电压表电路及组装要点

ICL7106数字电压表电路及组装要点 数字电压表是当前电子、电工、仪器、仪表和测量领域大量使用的一种基本测量工具。有关数字电压表的书籍和应用已经非常普及了。这里展示的一份由 ICL7106 A/D 转换电路组成的数字电压表电路,就是一款最通用和最基本的电路。 ICL7106是美国Intersil公司专为数字仪表生产的数字仪,满幅输入电压一般取200mV 或2V。该芯片集成度高,转换精度高,抗干扰能力强,输出可直接驱动LCD液晶数码管,只需要很少的外部元件,就可以构成数字仪表模块。 一、ICL7106简介 1. ICL7106的性能特点 (1)+7V~+15V单电源供电,可选9V叠层电池,有助于实现仪表的小型化。低功耗(约16mW),一节9V叠层电池能连续工作200小时或间断使用半年左右。 (2)输入阻抗高(1010Ω)。内设时钟电路、+2.8V基准电压源、异或门输出电路,能直接驱动3?位LCD显示器。 (3)属于双积分式A/D转换器,A/D转换准确度达±0.05%,转换速率通常选2次/秒~5次/秒。具有自动调零、自动判定极性等功能。通过对芯片的功能检查,可迅速判定其质量好坏。 (4)外围电路简单,仅需配5只电阻、5只电容和LCD显示器,即可构成一块DVM。其抗干扰能力强,可靠性高。 2. ICL7106的工作原理 ICL7106内部包括模拟电路和数字电路两大部分,二者是互相联系的。一方面由控制逻辑产生控制信号,按规定时序将多路模拟开关接通或断开,保证A/D 转换正常进行;另一方面模拟电路中的比较器输出信号又控制着数字电路的工作状态和显示结果。下面介绍各部分的工作原理。 (1)模拟电路 模拟电路由双积分式A/D转换器构成,其电路如图1所示。

#简易数字电压表的设计

一、简易数字电压表的设计 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 数字电压表系统设计方案

简易数字电压表 程序

/*简易数字电压表制作(C语言版)*/ /*目标器件:AT89S52 */ /*晶振:12.000MHZ */ /*编译环境:Keil */ /***********************************************************************************/ /*********************************包含头文件********************************/ #include #include /*********************************端口定义**********************************/ sbit CS = P3^4; sbit Clk = P1^0; sbit DA TI = P1^1; sbit DA TO = P1^1; /*******************************定义全局变量********************************/ unsigned char dat = 0x00; //AD值 unsigned char count = 0x00; //定时器计数 unsigned char CH; //通道变量 unsigned char dis[] = {0x00, 0x00, 0x00}; //显示数值 /*******************************共阳LED段码表*******************************/ unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; /**************************************************************************** 函数功能:AD转换子程序 入口参数:CH 出口参数:dat ****************************************************************************/ unsigned char adc0832(unsigned char CH) { unsigned char i, test, adval; adval = 0x00; test = 0x00; Clk = 0; //初始化 DA TI = 1; _nop_( ); CS = 0; _nop_(); Clk = 1; _nop_(); if ( CH == 0x00 ) //通道选择 { Clk = 0; DA TI = 1; //通道0的第一位 _nop_(); Clk = 1;

51单片机数字电压表设计

基于51单片机的数字电压表设计 二级学院铜陵学院 专业自动化 班级 组号 组员 指导教师

简易的数字电压表的设计 目录 一课程设计任务书·····························································································································错误!未定义书签。 1.1 设计题目、目的····················································································································错误!未定义书签。 1.2 题目的基本要求和拓展功能··························································································错误!未定义书签。 1.3 设计时间及进度安排··········································································································错误!未定义书签。 二设计内容············································································································································错误!未定义书签。 2.1 元器件选型······························································································································错误!未定义书签。 2.2 系统方案确定·························································································································错误!未定义书签。 2.3 51单片机相关知识··············································································································错误!未定义书签。 2.4 AD转换器相关知识··············································································································错误!未定义书签。 三数字电压表系统设计 (7) 3.1系统设计框图 (8) 3.2 单片机电路 (9) 3.3 ADC采样电路 (10) 3.4显示电路 (11) 3.5供电电路和参考电压·························································································································································· 3.6 数字电压表系统电路原理图·········································································································································四软件部分 4.1 主程序 4.2 显示子程序 五数字电压表电路仿真 5.1 仿真总图 5.2 仿真结果显示 六系统性能分析 七心得体会 - 2 -

基于STCC的数字电压表

基于S T C C的数字电压 表 文档编制序号:[KK8UY-LL9IO69-TTO6M3-MTOL89-FTT688]

1引言在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。本文设计了一种基于单片机的简易数字电压表。该设计主要由三个模块组成:A/D转换模块,数据处理模块及显示模块。A/D转换主要由芯片ADC0804来完成,它负责把采集到的模拟量转换为相应的数字量在传送到数据处理模块。数据处理则由芯片STC89C52来完成,其负责把ADC0804传送来的数字量经过一定的数据处理,产生相应的显示码送到显示模块进行显示;此外,它还控制着ADC0804芯片工作。该系统的数字电压表电路简单,所用的元件较少,成本低,且测量精度和可靠性较高。此数字电压表可以测量0-5V的1路模拟直流输入电压值,并通过7段数码管显示出来。 2 设计总体方案 设计要求 ⑴以MCS-51系列单片机为核心器件,组成一个简单的直流数字电压表。 ⑵采用1路模拟量输入,能够测量0-5V之间的直流电压值。 ⑶电压显示用LED数码管显示,至少能够显示两位小数。 ⑷尽量使用较少的元器件。 设计思路 ⑴根据设计要求,选择STC89C52单片机为核心控制器件。 ⑵A/D转换采用ADC0804实现,与单片机的P1口相连接。 ⑶电压显示采用三个7段LED数码管显示,另外三位数码管显示A/D转换的数 字量的值。

⑷LED数码的段选码和位选码均由单片机P0口经过两片74HC573锁存器输入。 设计方案 硬件电路设计由6个部分组成; A/D转换电路,STC89C52单片机系统,LED显示系统、时钟电路、复位电路以及测量电压输入电路。硬件电路设计框图如图1所示。 图2-1 数字电压表系统硬件设计框图 3 硬件电路设计 单片机系统 本次课设选择的单片机是STC89C52,之所以选择这块芯片,是因为该芯片的各项功能均符合本次课设的指标要求,并且该芯片有很多成熟的资料供我们学习,使用用起来很方便,也有专门的下载程序平台,方便现场调试。 复位电路和时钟电路 单片机在启动运行时都需要复位,使CPU和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作。MCS-51单片机有一个复位引脚RST,采用施密特触发输入。当震荡器起振后,只要该引脚上出现2个机器周期以上的高电平即可确保时器件复位。复位完成后,如果RST端继续保持高电平,MCS-51就

基于51单片机的ADC0832数字电压表(仿真+程序)

仿真图: #in elude #in elude vintrin s.h> sbit CS = P3A 5; sbit Clk =卩3人3; sbit DATI = P3A4; sbit DATO = P3A4; sbit P20=P2A0 ; un sig ned char dat = 0x00; un sig ned char count = 0x00; /** ***************************** ^定义全局变^量 ****************************** /** 斗 XT C £J_1 XTW2 R^T Pd KI W KUW? PQ pa.&^oo KMW POTror ip? rw P2/W PG£H 芒酒r P2.4m; fcA. 旳腳威 *2 ma 5 P3.IM 沁 Pi 1 pg.vwt F3.Z/IOO Fts PH M.:州和 P2-4TD P1 6 P16 ?"■S.aUtfk P3 & ■ 14 ■和 PV1 ******************************* 包含头文^件 ****************************** /** ******************************* ^端■口定^义 ******************************** //AD 值 //定时器计数 U2 xinjjbn ■TBMK ■ & EK ■曲 ■詡 'RP1 ■ 12 4 '

unsigned char CH; // 通道变量 unsigned char dis[] = {0x00, 0x00, 0x00}; // 显示数值 /*************************共阳 LED 段码表unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; char code tablewe[]={ 0xfd,0xfb,0xf7,0xef,0xdf,0xfe }; /*************************************************************************** * 函数功能 :AD 转换子程序 入口参数 :CH 出口参数 :dat ************************************************************************** unsigned char adc0832(unsigned char CH) { unsigned char i,test,adval; adval = 0x00; test = 0x00; Clk = 0; // 初始化 DATI = 1; _nop_(); CS = 0; _nop_(); Clk = 1; _nop_();

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

摘要 本文介绍的是数字电压表的发展背景和利用单片机,A/D 转换芯片结合的方法设计一个直流数字电压表。它的具体功能是:最高量程为 200V,分三个档位量程,即2V,20V,200V,可以通过调档开关来实现各个档位,当测得电压的数值小于1V时,系统会自动的将电压数值转换为以mV为电压单位的电压值,并且通过按键的方法能够测得后五秒的平均电压值。 单片机是一种集成电路芯片,采用超大规模技术把具有数据处理能力(如算术运算,逻辑运算,数据传送,中断处理)的微处理器(CPU)。随着单片机技术的飞速发展,各种单片机蜂拥而至,单片机技术已成为一个国家现代化科技水平的重要标志。 单片机可单独地完成现代工业控制所要求的智能化控制功能,这是单片机最大的特征。单片机控制系统能够取代以前利用复杂电子线路或数字电路构成的控制系统,可以软件控制来实现,并能够实现智能化,现在单片机控制范畴无所不在,例如通信产品,家用电器,智能仪器仪表,过程控制和专用控制装置等等,单片机的应用领域越来越广泛。 本毕业设计的课题是"简易数字电压表的设计"。主要考核我们对单片机技术,编程能力等方面的情况。观察独立分析,设计单片机的能力,以及实际编程技能。 本课题主要解决A/D转换,数据处理及显示控制等三个模块。控制系统采用AT89C51单片机,A/D转换采用TLC2543。 关键字介绍:单片机,AT89C51,A/D 转换,TLC2543,数据处理

Abstract This paper is the background of the development of digital voltmeter and using single chip computer, A/D conversion chip design method of the combination of the party A dc digital voltmeter. It is the specific function of: supreme range for 200 V, divide a gear range, namely 2 V, 20 V, 200 V, can switch to achieve each by shifting gear gear, when the voltage of the numerical less than 1 V, the system will automatically will convert to mV voltage values for the voltage is the voltage unit, and through the key method can measure five seconds after the average voltage. MCU is a kind of integrated circuit chip, using the technology with large scale data processing ability (such as the art operations, logic operations, data transfer, interrupt handling) of the microprocessor (CPU). With the rapid development of the single chip microcomputer, all kinds of single chip in great Numbers, microcontroller technology has become a national modernization level of science and technology. SCM can complete modern industrial control alone for the intelligent control function, it is the greatest feature of single chip microcomputer. Single-chip microcomputer control system can be replaced by complex electronic circuit or before digital circuit consists of the control system system, can control software to achieve, and to realize intelligent, now single-chip microcomputer control category is everywhere, such as communication products, household appliances, intelligent instruments, process control and special control device and so on, the application field of single chip microcomputer more and more widely. This graduate design topic is "simple digital voltmeter design". We mainly examine of single-chip processor technology technique, the programming ability, etc. Observe independent analysis, design of the single chip microcomputer ability, and the actual programming skills. This subject mainly to solve A/D conversion, data processing and display control and so on three modules. The control system adopts AT89C51 single chip microcomputer, A/D conversion using ADC0809. Keywords: A single-chip microcomputer, AT89C51, A/D conversion, ADC0809, data processing

基于单片机的数字电压表

基于单片机的数字电压表 摘要:本文介绍一种基于89S52单片机的一种电压测量电路,该电路采用ICL7135高精度、双积分A/D转换电路,测量范围直流0-±2000伏,使用LCD液晶模块显示,可以与PC机进行串行通信。正文着重给出了软硬件系统的各部分电路,介绍了双积分电路的原理,89S52的特点,ICL7135的功能和应用,LCD1601的功能和应用。该电路设计新颖、功能强大、可扩展性强。 关键词:电压测量,ICL7135,双积分A/D转换器,1601液晶模块 Abstract: The introduction of a cost-based 89S52 MCU a voltage measurement circuits, the circuits used ICL7135 high-precision, dual-scoring A/D conversion circuits, measuring scope DC 0-2000 volts, the use of LCD that can be carried out with a PC serial communications. The paper focuses on providing a software and hardware system components circuit, introduced double integral circuit theory, 89S52 features ICL7135 functions and applications, LCD1601 functions and applications. the circuit design innovative, powerful, can be expansionary strong. Key Words: Digital Voltmeter ICL7135 LCD1601 89S52 1前言 数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。本章重点介绍单片A/D 转换器以及由它们构成的基于单片机的数字电压表的工作原理。

简易数字电压表设计内容

简易数字电压表设计 一、设计要求 1、利用ADC0809设计一简易数字电压表,要求可以测量0—5V之间8路输入电压值、电压值由四位LED数码管显示,并在数码管上轮流显示或单路选择显示; 2、测量最小分辨率为0.019V,测量误差为±0.02V。 二、设计作用与目的 利用AT89S51与ADC0809设计制作一个数字表,能够测量直流电压值。 三、所用设备及软件 单片机AT89S51、ADC0809芯片、PC设计台 四、系统设计方案 本设计采用AT89S51单片机芯片配合ADC0809模/数转换芯片构成一个简易的数字电压表,原理框图如图1所示。该电路通过ADC0809芯片采样输入口IN0输入的0~5 V的模拟量电压,经过模/数转换后,产生相应的数字量经过其输出通道D0~D7传送给AT89S51芯片的P0口。AT89S51负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码,并通过其P1口经三极管驱动,再传送给数码管。同时它还通过其三位I/O口P3.0、P3.1、P3.2产生位选信号,控制数码管的亮灭。另外,AT89S51还控制着ADC0809的工作。其ALE管脚为ADC0809提供了1MHz工作的时钟脉冲;P2.3控制ADC0809的地址锁存端(ALE);P2.4控制ADC0809的启动端(START);P2.5控制ADC0809的输出允许端(OE);P3.7控制ADC0809的转换结束信号(EOC)。

图1 系统原理框图 本设计与其它方法实现主要区别在于元器件上例如:AT89C51与AT89C51、AT89S51在AT89C51的基础上,又增加了许多功能,性能有了较大提升。 1.ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。是一个强大易用的功能。 2.工作频率为33MHz,大家都知道89C51的极限工作频率只有24M,就是说S51具有更高工作频率,从而具有了更快的计算速度。 3.具有双工UART串行通道。 4.内部集成看门狗计时器,不再需要像89C51那样外接看门狗计时器单元电路。 5.双数据指示器。 6.电源关闭标识。 7.全新的加密算法,这使得对于89S51的解密变为不可能,程序的保密性大大加强,这样就可以有效的保护知识产权不被侵犯。 8.兼容性方面:向下完全兼容51全部字系列产品。比如8051、89C51等等早期MCS-51兼容产品。在89C51上一样可以照常运行,这就是所谓的向下兼容。 五、系统硬件设计 5.1 模数转换芯片ADC0809 ADC0809是典型的8位8通道逐次逼近式A/D转换器。它可以和微型计算机直接接口。ADC0809转换器的系列芯片是ADC0808,可以相互替换。

基于Proteus的数字电压表设计与仿真(1)

课程设计报告 题目:数字电压表设计与仿真 学生姓名:吴鹏 学生学号: 1114010250 系别:电气院 专业:自动化 届别: 2011 指导教师:张水锋 电气信息工程学院 2013年

摘要:在现代检测技术中,常用高精度数字电压表进行检测,将检测到的数据送入微型计算机系统,完成计算、存储、控制等功能。本文中数字电压表的控制系统采用AT89C51单片机,A/D转换器采用ADC0809为主要硬件,实现数字电压表的硬件电路与软件设计。该系统的数字电压表电路简单,所用的元件较少,成本低,调节工作可实现自动化,还可以方便地进行8路A/D转换的测量,远程测量结果传送等功能。数字电压表可以测量0~5V的电压值,并在四位LED数码管上轮流显示,并且应用Proteus的ISIS软件进行单片机系统设计与仿真.关键词:单片机;数字电压表;A/D转换ADC0809;Proteus 1 绪论 随着电子科学技术的发展,电子测量成为广大电子工作者必须掌握的手段,对测量的精度和功能的要求也越来越高,而电压的测量甚为突出,因为电压的测量最为普遍。同时随着微电子技术的迅速发展和超大规模集成电路的出现,特别是单片机的出现,正在引起测量控制仪表领域的新的技术革命[1]。 由于使用的是高效单片机作为核心的测量系统,以及灵敏度和精度较高的A/D转换器,使本直流电压表具有精度高、灵敏度强、性能可靠、电路简单、成本低的特点,加上经过优化的程序,使其有很高的智能化水平[2]。 数字电压表相对于指针表而言读数直观准确,电压表的数字化是将连续的模拟量转换成不连续的离散的数字形式并加以显示。这有别于传统的以指针与刻度盘进行读数的方法,避免了读数的视差和视觉疲劳[3]。 2 系统方案设计 利用MCS-51系列单片机设计简易数字电压表测量0~5v的8路输入电压值,并在四位LED 数码管上轮流显示或单路选择显示。测量误差约为±0.02V。系统设计方框图如图1所示。

相关文档
相关文档 最新文档