搜档网
当前位置:搜档网 › 8路电压数字表C源程序

8路电压数字表C源程序

8路电压数字表C源程序
8路电压数字表C源程序

8路数字电压表测量由A/D转换、数据处理及显示控制等组成,测量0~5V范围内的8路输入电压值,由4位共阳LED数码管轮流显示,最大分辨率0.01V,误差±0.02V。使用AT89C52单片机,ADC0809A/D转换集成蕊片,单片机P1口、P3.0~P3.3口作4位LED数码显示控制。P3.5端口按钮作单路/循环显示转换,P3.6为单路显示时作通道选择。ADC0809具有8路模拟信号输入端口,地址线23~25脚为模拟信号输入选择端口,22脚为地址锁存控制,当输入高电平时对地址信号进行锁存,6脚为开始A/D模数转换,7脚为A/D转换结束标志,结束时输出高电平,A/D转换后的数据由9脚输出到单片机P2.5脚。

C源程序:

/***********************************************************************************/

// 8路电压表C源程序

// Keil c51 v7.08

/***********************************************************************************/

/*使用AT89C52单片机,11.0592MHz晶振,P0口读入A/D值,P2口作A/D控制,用共阳LED数码管,P1口输出段码,P3口扫描,最高位指示通道(0~7)*/

#include //51系列单片机定义文件

#include //调_nop_(),延时函数用

#define ad_con P2 //A/D控制口

#define addata P0 //A/D数据计入读入口

#define Disdata P1 //显示数据段码输出口

#define uchar unsigned char //无符号字符(8位)

#define uint unsigned int //无符号整数(16位)

sbit ALE=P2^3; //锁存地址控制位

sbit STARA=P2^4; //启动一次转换位

sbit OE=P2^5; //0890输出数据控制位

sbit EOC=P3^7; //转换结束标志位

sbit DISX=Disdata^7; //LED 小数点位

//

//

unsigned char code dis_7[11]={0xc0,0xf9,0xa4,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};

/*共阳7段LED段码表"0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "不亮"*/

unsigned char code scan_con[4]={0xfe,0xfd,0xfb,0xf7};//4位列扫控制字

unsigned char data ad_data[8]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};//定义8个数据内存单元unsigned int data dis[5]={0x00,0x00,0x00,0x00,0x00};//定义4个显示数据单元和一个数据存储单元

//

//

/********1ms延时子函数*********/

delay1ms(unsigned int t)

{

uint i,j;

for(i=0;i

for(j=0,j<120,j++);

}

//

//

/**********显示扫描子函数**********/

scan()

{

unsigned char k,n;

int h;

dis[3]=0x00; //通道初值为0

for(n=0;n<8;n++);//每次显示8个数据(就是此处出错){

dis[2]=ad_data[n]/51; //测得值转换为3个BCD码,最大值为5.00V dis[4]=ad_data[n]%51; //余数暂存

dis[4]=dis[4]*10; //计算小数第一位

dis[1]=dis[4]/51;

dis[4]=dis[4]%51;

dis[4]=dis[4]*10; //计算小数第二位

dis[0]=dis[4]/51;

for(h=0;h<500;h++) //每个通道值显示控制时间(约1S)

{

for(k=0;k<4;k++) //4位LED扫描控制

{

Disdata=dis_7[dis[k]];

if(k==2){DISX=0;}

P3=scan_con[k];delay1ms(1);P3=0xff;

}

}

dis[3]++; //通道值加1

}

}

//

//

/**********0809AD转换子函数**********/

test()

{

unsigned char m;

unsigned char s=0x00;

ad_con=s;

for(m=0,m<8;m++);

{

ALE=1;_nop_();_nop_();ALE=0; //转换通道地址锁存

START=1;_nop_();_nop_();START=0; //开始转换命令

_nop_();_nop_();_nop_();_nop_(); //延时4us

while(ECO==0); //等待转换结束

OE=1;ad_data[m]=addata;OE=0;s++;ad_con=s;//取A/D值,地址加1 }

ad_con=0x00; //控制复位

}

//

//

/**********主函数**********/

main()

{

P0=0xff; //初始端口

P2=0x00;

P1=0xff;

P3=0xff;

while(1)

{

scan(); //依次显示8个通道1次

test(); //测量转换一次

}

}

//

//

/**********结束**********//

液晶屏显示数字电压表

1 引言 数字电压表的基本工作原理是利用A/D转换电路将待测的模拟信号转换成数字信号,通过相应换算后将测试结果以数字形式显示出来的一种电压表。较之于一般的模拟电压表,数字电压表具有精度高、测量准确、读数直观、使用方便等优点。 电压表的数字化测量,关键在于如何把随时连续变化的模拟量转化成数字量,完成这种转换的电路叫模数转换器]1[(A/D)。数字电压表的核心部件就是A/D转换器,由于各种不同的A/D转换原理构成了各种不同类型的DVM。一般说来,A/D 转换的方式可分为两类:积分式和逐次逼近式。 积分式A/D转换器是先用积分器将输入的模拟电压转换成时间或频率,再将其数字化。根据转化的中间量不同,它又分为U-T(电压-时间)式和U-F(电压-频率)式两种。 逐次逼近式A/D转换器分为比较式和斜坡电压式,根据不同的工作原理,比较式又分为逐次比较式及零平衡式等。斜坡电压式又分为线性斜坡式和阶梯斜坡式两种。 在高精度数字电压表中,常采用由积分式和比较式相结合起来的复合式A/D转换器。本设计以AT89C51单片机为核心,以逐次比较型A/D转换器ADC0808、液晶显示器LCD1602为主体,构造了一款简易的数字电压表,能够测量1路0~5V 直流电压,最小分辨率0.02V。

2 仿真软件介绍 2.1 仿真软件简介 2.1.1 Proteus 6 Professional ISIS 6 Professiona软件是它不仅具有其它EDA工具软件的仿真]2[功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。它从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、A VR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。 ISIS 6 Professiona软件具有的功能:原理布图;PCB自动或人工布线;SPICE 电路仿真。 2.1.2 Keil uVision2 Keil提供了包括C编译器、宏汇编]3[、连接器、库管理和一个功能强大仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。 Keil C51集成开发环境主要由菜单栏、工具栏、源文件编辑窗口、工程窗口和输出窗口五部分组成。工具栏为一组快捷工具图标,主要包括基本文件工具栏、建造工具栏和调试工具栏,基本文件工具栏包括新建、打开、拷贝、粘贴等基本操作。建造工具栏主要包括文件编译、目标文件编译连接、所有目标文件编译连接、目标选项和一个目标选择窗口。调试工具栏位于最后,主要包括一些仿真调试源程序的基本操作,如单步、复位、全速运行等。在工具栏下面,默认有三个窗口。左边的工程窗口包含一个工程的目标(target)、组(group)和项目文件。右边为源文件编辑窗口,编辑窗口实质上就是一个文件编辑器,我们可以在这里对源文件进行编辑、修改、粘贴等。下边的为输出窗口,源文件编译之后的结果显示在输出窗口中,会出现通过或错误(包括错误类型及行号)的提示。

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

课题交流毫伏表设计 系别 专业 年级 姓名 学号 指导教师

目录 第一章引言 (2) 1.1摘要 (2) 1.2 设计目的 (2) 1.3设计任务及要求 (2) 1.4 课程设计过程 (2) 第二章系统方案选择和论证 (3) 2.1基本方案论证 (3) 2.2输出部分中各模块的方案选择 (3) 2.3总体方案设计 (4) 第三章AT89C51的结构 (5) 3.1AT89C51的概述 (5) 3.2 AT89C51部结构 (5) 3.3存储器和特殊功能寄存器的介绍 (5) 3.4时钟电路和复位电路 (7) 第4章元器件的选择 (7) 4..1显示 (7) 4.2 模数(A/D)芯片 (11) 4.3 数模AC/DC736芯片 (13) 4.4 OP07 (13) 第五章电路的设计 (14) 5.1时钟电路 (15) 5.2A/D转换程序 (17) 第6章系统的调试 (18) 6.1 硬件的调试 (18) 6.2软件调试 (19) 参考文献 (20) 附录 (20) 程序清单 (20) 元件清单 (25)

容摘要 本次设计主要解决AC/DC转换、A/D转换、数据处理及显示控制等几个模块。控制系统采用AT89C51单片机,A/D转换采用ADC0809。要求交流毫伏表检测信号的电压围:1mv—2v ,输入信号的频率围:10Hz-2000KHz,并在LCD1602液晶上显示测量电压信号。 关键词AT89C51单片机;电压测量;A/D转换;LCD1602液晶显示;AC/DC 转换;放大;衰减。 1.2 设计目的 本课程的任务是通过“交流毫伏表的设计”的设计过程,综合所学课程,掌握目前自动化仪表的一般设计要求,工程设计方法,开发及设计工具的使用方法,通过这一设计实践过程,锻炼学生的动手能力和分析,解决问题的能力;积累经验,培养按部就班,一丝不苟的工作个对所学知识的综合应用能力。 1.3设计任务及要求 1、设计一个交流毫伏表,检测信号的电压围:1mv—2v。 2、输入信号的频率围:10Hz-2000KHz 3、查阅相关资料,了解交流毫伏表的各种现实发法极其特点,并着重掌 握交流毫伏表的设计及显示等。 4、熟悉并掌握个芯片的功能极其管脚分。 5、检测设计电路中所需要的各种电子元器件。 6、对设计的交流毫伏表进行装接与调试,要时设计的电路达标。 7、完成设计交实物图极其设计报告。 1.4课程设计过程 1、各组组成员讨论并进行软硬件系统设计,经指导老师同意进行具体方 案实施。 2、将可行方案硬件电路焊接在万能板上,并检查。 3、软硬件仿真。

基于8255的LCD显示简易电压表设计

2013/2014学年第一学期 课程设计II实验报告 模块名称关于51单片机设计(proteus)专业通信工程 学生班级 学生学号 学生姓名 指导教师

报告内容 第一部分实验目的和要求 本课程设计是在理论课程的基础上,重点培养学生的动手能力,通过理论计算、实际编程、调试、测试、分析查找故障,解决在实际设计中的问题,使设计好的电路能正常工作,为下一部结合实际的硬件系统设计准备条件。 实验要求: 数字电压表(AC/DC)设计 基本要求: 了解电压表的工作原理。 设计一个直流电压测量器,测量范围0.01V-3V, 用LED数码管/LCD屏显示测量值,显示精度0.001 用键盘选择测量范围(分档) 发挥部分: 交流电压测量,被测频率1KHz-10KHz (0.1-3V) 考虑交流测量的附加电路。 显示格式: LED数码管/LCD屏显示参数 基于8255口是指显示和键盘都由8255的IO口控制 根据提供的参考工程,在proteus平台自己重新画出实验所需要的电气原理图,并在此基础上编写相对应的程序,实现其功能,学习proteus软件的使用,其中包括原理图器件的选取、原理图的电气连接、程序的编写编译以及运行,并能查出其错误等。

第二部分实验工具及实验器件 1.Proteus软件 Proteus是英国Labcenter公司开发的电路及单片机系统设计与仿真软件。Proteus可以实现数字电路、模拟电路及微控制器系统与外设的混合电路系统的电路仿真、软件仿真、系统协同仿真和PCB设计等功能。Proteus是目前唯一能对各种处理器进行实时仿真、调试与测试的EDA工具,真正实现了在没有目标原型时就可对系统进行调试、测试和验证。Proteus软件大大提高了企业的产品开发效率,降低了开发风险。由于Proteus软件逼真、真实的协同仿真功能,它也特别适合于作为配合单片机课堂教学和实验的学习工具。 Proteus软件提供了30多个元器件库、7000余种元器件。元器件涉及电阻、电容、二极管、三极管、变压器、继电器、各种放大器、各种激励器、各种微控制器、各种门电路和各种终端等。Proteus软件还提供有交直流电压表、逻辑分析仪、示波器、定时/计数器和信号发生器等测试信号工具用于电路测试。 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。 应用Keil进行软件仿真开发的主要步骤为:编写源程序并保存—建立工程并添加源文件—设置工程—编译/汇编、连接,产生目标文件—程序调试。Keil 使用“工程”(Project)的概念,对工程(而不能对单一的源程序)进行编译/汇编、连接等操作。工程的建立、设置、编译/汇编及连接产生目标文件的方法非常易于掌握。首先选择菜单File-New…,在源程序编辑器中输入汇编语言或C 语言源程序(或选择File-Open…,直接打开已用其它编辑器编辑好的源程序文档)并保存,注意保存时必须在文件名后加上扩展名.asm(.a51)或.c;然后选

交流数字电压表的设计

电气测量技术 课程设计 题目:交流电压表设计 学院:电气信息工程学院 专业班级:电气工程及其自动化1623 姓名:黄铭(201650712326) 完成时间:2017年5月26

目录 引言 (2) 1 测量原理及系统结构 (2) 2 硬件电路设计 (3) 2.1 A/D转换模块 (3) 2.2 单片机系统 (4) 2.2.1 AT89C51性能和功能 (4) 2.3 复位电路和时钟电路 (5) 2.3.1 复位电路设计 (5) 2.3.2 时钟电路设计 (5) 2.4 LED显示系统设计 (6) 2.4.1 LED显示器的选择 (6) 2.4.2 LED显示器与单片机接口设计 (7) 2.5 总体电路设计 (7) 3 软件设计 (9) 3.1 程序设计总方案 (9) 3.2 系统子程序设计 (9) 3.2.1 初始化程序 (9) 3.2.2 A/D转换子程序 (9) 3.2.3 显示子程序 (10) 4 仿真调试及测试结果 (11) 4.1 软件调试 (11)

4.2 显示结果及误差分析 (11) 4.2.1 显示结果 (11) 4.2.2 误差分析 (13) 结论 (14) 参考文献 (15) 引言 在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。由于数字式仪器具有读数准确方便、精度高、误差小、测量速度快等特而得到广泛应用。 传统的指针式刻度电压表功能单一,进度低,容易引起视差和视觉疲劳,因而不能满足数字化时代的需要。采用单片机的数字电压表,将连续的模拟量如直流电压转换成不连续的

#简易数字电压表的设计

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

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

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

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

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

引言 数字电压表(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

简易数字电压表(单片机课程设计)

课程设计说明书 简易数字电压表的设计 院(系) 专业机械电子工程 班级二班 学生姓名 指导老师 2015 年 3月 13 日 课程设计任务书 兹发给机械电子工程(2)班学生课程设计任务书,内容如下:

1.设计题目:简易数字电压表的设计 2.应完成的项目: (1)可测0~5V的8路电压输入值; (2)在LED数码管上轮流显示; (3)单路选择显示; (4)利用功能键可以实现滚动显示,显示启动/停止等; 3.参考资料以及说明: [1]刘瑞新.单片机原理及应用教程[M].北京:机械工业出版社, 2003.7 [2]张俊,钟知原,王日根.简易数字电压表的设计[J].科协论坛:下半月,2012(8)34-35 [3]赵静,刘少聪,丁浩.王莉莎.基于单片机的数字电压表的设计[J].数字技术与应用,2011(6):121-125 [4]魏立峰.单片机原理及应用技术[M].北京大学出版社,2005年 [5]谭浩强.C语言程序设计(第二版)[M].北京:清华大学出版社,2005.12 4.本设计任务书于2015年3月2日发出,应于2015年3月13日前完成,然后进行答辩。 专业教研室、研究所负责人审核年月日 指导教师签发年月日 课程设计评语:

课程设计总评成绩: 课程设计答辩负责人签字: 年月日

摘要 在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。 数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。 本实验设计主要讲述了数字电压表的设计过程,主要包括硬件设计和程序设计,硬件主要包括以STC89C51单片机为主要控制电路、数据采样电路、显示电路等,是基于51单片机开发平台实现的一种数字电压表系统。该设计采用STC89C51单片机作为控制核心,驱动控制四块数码管显示被测电压,以ADC0809为模数转换数据采样,实现被测电压的数据采样,使得该数字电压表能够测量0-5V之间的直流电压值。 关键词:STC89C51、ADC0809、显示电路、数据采样

简易数字电压表的设计

一、设计题目:简易数字电压表的设计 二、设计目的 自动化专业的专业实践课程。本课程的任务是使学生通过“简易数字电压表的设计”的设计过程,综合所学课程,掌握目前自动化仪表的一般设计要求,工程设计方法,开发及设计工具的使用方法,通过这一设计实践过程,锻炼学生的动手能力和分析,解决问题的能力;积累经验,培养按部就班,一丝不苟的工作个对所学知识的综合应用能力。 三、设计任务及要求 设计电压表并实现简单测量。具有以下基本功能: ⑴可以测量0~5V的8路输入电压值; ⑵可在四位LED数码管上轮流显示或单路选择显示; ⑶测量最小分辨率为0.019V; ⑷.测量误差约为±0.02V; ⑸带有一定的扩展功能; 目录 第一章摘要 (4) 第二章智能仪表目前的发展状况 (4) 第三章设计目的 (6) 第四章设计要求 (6) 第五章设计方案与比较论证 (6) 5.1 单片机电路设计 (6) 5.2 电源方案 (8) 5.3 显示方案 (9) 5.4 A/D采样方案 (10) 5.5串口通讯方案 (12) 5.7 高压,短路报警 (14) 5.8 键盘 (14) 第六章方案设计 (15) 6.1 硬件设计 (15)

6.2 软件设计 (16) 第七章性能测试 (18) 电压测试 (18) 第八章结果分析 (19) 第九章设计体会 (19) 参考文献 (20) 附录 (20) 元器件清单 (20) 程序清单 (20) 第一章摘要 本报告介绍了基于AT89S52单片机为核心的、以AD0809数模转换芯片采样、以1602液晶屏显示的具有电压测量功能的具有一定精度的数字电压表。在实现基础功能要求之上扩展了串口通讯、时钟功能、高压报警、短路测试、电阻测量、交流电压峰峰值和周期测试等功能,使系统达到了良好的设计效果和要求。 关键词:AT89S52单片机模数转换液晶显示扩展功能 ABSTRACT:The report describes the AT89S52 based on the microcontroller as the core, AD0809 digital-to-analog converter chip sampling, to 1602 LCD display with voltage measurement function with a certain precision of digital voltage meter. In achieving functional requirements based upon the expansion of serial communications, high-pressure alarm, short circuit, electrical resistivity measurement, AC voltage and the peak of cycle testing and other functions, allowing the system to achieve good results and the design requirements. Keywords : AT89S52 SCM analog-to-digital conversion functions LCD expansion 第二章智能仪表目前发展状况 在自动化控制系统中,仪器仪表作为其构成元素,它的技术进展是跟随控制系统技术的发展的。常规的自动化仪器仪表适应常规控制系统的要求,它们以经典控制理论和现代控制理论为基础,以控制对象的数学模型为依据。当今,控制理论已发展到智能控制的新阶段,自动化仪器仪表的智能化就成为必然和必须。本文将就自动化仪器仪表的智能化的状况与进展,以及当今对智能仪器仪表研究、开发热点做概要的分析与表述。作者建议人们关注自动化仪器仪表智能化技术的进展,关注仪器仪表装置

交流数字电压表的设计

目录 摘要 (1) Abstract: (1) 1 引言 (2) 2 设计总体方案 (2) 2.1设计要求 (2) 2.2 设计方案 (2) 3 硬件电路设计 (3) 3.1 A/D转换模块 (3) 3.2 单片机系统 (4) 3.2.1 AT89C51性能和功能 (4) 3.3 复位电路和时钟电路 (5) 3.3.1 复位电路设计 (5) 3.3.2 时钟电路设计 (6) 3.4 LED显示系统设计 (6) 3.4.1 LED显示器的选择 (6) 3.4.2 LED显示器与单片机接口设计 (7) 3.5 总体电路设计 (7) 4 程序设计 (9) 4.1 程序设计总方案 (9) 4.2 系统子程序设计 (9) 4.2.1 初始化程序 (9) 4.2.2 A/D转换子程序 (9) 4.2.3 显示子程序 (10) 5 仿真 (10) 5.1 软件调试 (10) 5.2 显示结果及误差分析 (11) 5.2.1 显示结果 (11) 5.2.2 误差分析 (13) 结论 (14) 参考文献 (14)

附录一程序代码 (16) 附录二仪器设备清单 (18) 致谢...................................................................................................................... 错误!未定义书签。

基于单片机的简易数字电压表的设计 摘要:本文介绍了一种基于单片机的简易数字电压表的设计。该设计主要由三个模块组成:A/D转换模块,数据处理模块及显示模块。A/D转换主要由芯片ADC0808来完成,它负责把采集到的模拟量转换为相应的数字量在传送到数据处理模块。数据处理则由芯片AT89C51来完成,其负责把ADC0808传送来的数字量经过一定的数据处理,产生相应的显示码送到显示模块进行显示;此外,它还控制着ADC0808芯片工作。 该系统的数字电压表电路简单,所用的元件较少,成本低,且测量精度和可靠性较高。此数字电压表可以测量0-5V的1路模拟直流输入电压值,并通过一个四位一体的7段数码管显示出来。 关键词:单片机;数字电压表;A/D转换;AT89C51;ADC0808 Design of Simple Digital Voltmeter Based on Single-chip Microcontroller Abstract:This paper which introduces a kind of simple digital voltmeter is based on single-chip microcontroller design. The circuit of the voltage meter is mainly consisted of three mould pieces: A/D converting mould piece, A/D converting is mainly completed by the ADC0808, it converts the collected analog data into the digital data and transmits the outcome to the manifestation controlling mould piece. Data processing is mainly completed by the AT89C51 chip, it processes the data produced by the ADC0808 chip and generates the right manifestation codes, also transmits the codes to the manifestation controlling mould piece. Also, the AT89C51 chip controls the ADC0808 chip to work. The voltmeter features in simple electrical circuit, lower use of elements, low cost, moreover, its measuring precision and reliability. The voltmeter is capable of measuring voltage inputs from 1 route ranging from 0 to 5 volt, and displaying the measurements though a digital code tube of 7 pieces of LED. Keywords:Single-chip microcontroller; Digital voltmeter; A/D converter; AT89C51; ADC0808

TLC1549数字电压表程序数字电压表1602液晶显示

南京工程学院 通信工程学院 课程设计说明书(论文) 题目数字电压表设计 课程名称单片机原理及应用A 专业电子信息工程 班级 学生姓名 学号 设计地点 指导教师

一、课程设计目的 在学习《单片机原理及应用A》课程的基础上,进一步深入理解MCS-51单片机的结构、工作原理和应用技术,提高单片机控制系统设计、研发的能力;按照教学计划的要求,利用一周时间,综合应用所学知识,设计具有一定功能的小型单片机控制系统,培养学生一定的自学能力和独立分析问题、解决问题的能力,要求学生能通过独立思考、查阅工具书、参考文献,提出自己的设计方案,找出设计中遇到问题的解决途径。 二、设计任务和要求 1、题目:数字电压表设计 (1).整个课程设计的各个环节都要自己动手。 (2).通过TLC1549串行A/D转换芯片完成数字电压表设计,通过LED/LCD 显示测量值; (3).采用C语言编程实现; (4).其他要求参见“nKDE-51单片机实验教学系统实验指导书”; (5).基本任务为必做项目,附加任务为选做项目; (6).对课程设计进行总结,撰写课程设计说明书 2、设计任务: (1).基本任务:利用nKDE-51单片机实验教学系统上的硬件资源,实现数字电 压表的测量与显示功能。 (2).附加任务:通过键盘控制测量操作的启停。 在LCD上显示测量结果。 三、系统总体设计方案 3.1数字电压表系统设计框图 本次数字电压表系统设计框图如下图1所示:

数字电压表主要由模/数转换电路、单片机控制电路、显示电路等三部分组成。其中TLC1549等器件组成的转换电路,将输入的模拟量信号进行取样、转换、然后将转换的数字信号送进单片机。单片机控制电路主要实现对数据进行程序处理;显示电路主要用于将单片机的信号数据转换后显示测量结果。 本实验系统中模拟量的输入有两种方法,一种方法是通过J1输入外部的模拟量,此时需要把跳线JP1的1、2短接;另外一种方法是通过滑动变阻器调节输入电压,此时需要将跳线JP1 的2、3短接。由于TLC1549的输入参考电压为+5V,因此两种输入方法中,输入信号的电平幅度都必须限制在0~5V之间。 3.2 A/D采样部分 3.2.1 TLC1549简介 TLC1549系列是美国德州仪器公司生产的具有串行控制、连续逐次逼近型的模数转换器,它采用两个差分基准电压高阻输入和一个三态输出构成三线接口,其中三态输出分别为片选(CS)、输入/输出时钟(CLK)和数据输出(DO)。 TLC1549作为AD数据采样器件, 它是串行接口方式的A/D转换器,仅有8个引脚,外围接线很少。体积小、速度快、精度高。适用于仪器仪表、传感器、工程检测等方面。 TLC1549采用CMOS工艺,内部具有自动采样保持、可按比例量程校准转换范围、抗噪声干扰功能,开关电容设计使在满刻度时总误差最大仅为±1 LSB (4.8 mV),因此可广泛应用于模拟量和数字量的转换电路。 3.2.2 TLC1549工作原理:TLC1549内部结构框图如图2所示。

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 -

数字表显示电压电流表电路

数字电压表电路ICL7107 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 无关,也无法在外部进行调整这个读数。如果差的太多,就需要更换芯片了。 8.ICL7107 也经常使用在 ±1.999V 量程,这时候,芯片 27,28,29 引脚的元件数值,更换为 0.22uF,470K,0.047uF 阻容网络,并且把 36 脚基准调整到 1.000V 就可以使用在±1.999V 量程了。 9.这种数字电压表头,被广泛应用在许多测量场合,它是进行模拟-数字转换的最基本,最简单而又最低价位的一个方法,是作为数字化测量的一种最基本的技能。 ..... ICL7107是一块应用非常广泛的集成电路。它包含3 1/2位数字A/D转换器,可直接驱动LED数码管,内部设有参考电压、独立模拟开关、逻辑控制、显示驱动、自动调零功能等。这里我们介绍一种她的典型应用电路--数字电压表的制作。其电路如附图。 制作时,数字显示用的数码管为共阳型,2K可调电阻最好选用多圈电阻,分压电阻选用误差较小的金属膜电阻,其它器件选用正品即可。该电路稍加改造,还可演变出很多电路,如数显电流表、数显温度计等.

虚拟数字电压表的设计

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

基于AT89C51和ADC0809简易数字电压表的设计

基于AT89S51的简易数字电压表的设计 摘要: 本课题是利用单片机设计一个数字电压表,能够测量0-5V之间的直流电压值,四位数码管显示,使用的元器件数目较少。外界电压模拟量输入到A/D转换部分的输入端,通过ADC0809转换变为数字信号,输送给单片机。然后由单片机给数码管数字信号,控制其发光,从而显示数字。此外,本文还讨论了设计过程中的所用的软件硬件环境,调试所出现的问题等。关键词:单片机; AT89S51;数字电压表; ADC0809,四位数码管 任务书 1.设计题目 基于AT89S51的简易数字电压表的设计。 2.设计内容与要求 用AT89S51单片机和ADC0809组成一个数字电压表,要求能够测量0~5V的直流电压值,并用四位数码管显示,并要求所用元器件最少。 3,。设计目的意义 (1).通过亲身的设计应用电路,将所用的理论知识应用到实践中,增强实践动手能力,进而促进理论知识的强化。 (2).通过数字电压表的设计系统掌握51单片机的应用。掌握A/D转换的原理及软件编程及硬件设计的方法,掌握根据课题的要求,提出选择设计方案,查找所需元器,设计并搭建硬件电路,编程写入EPROM并进行调试等。 目录 一、系统原理框图 二、AT89S51的结构 三、器件的比较与选择 四、系统硬件及仿真图

五、相关软件简介 六、程序流程图与源程序 七、数字电压表发展及未来 八、设计体会 九、参考文献 基于AT89S51的简易数字电压表的设计

第一章系统原理框图 选择AT89S51作为单片机芯片,选用四位8段共阴极LED数码管实现电压显示,利用ADC0809作为数模转换芯片。将数据采集接口电路输入电压传入ADC0809数模转换元件,经转换后通过D0至D7与单片机P0口连接,把转换完的模拟信号以数字信号的信号的形式传给单片机,信号经过单片机处理从LED数码显示管显示。P2口接数码管位选,P1接数码管,实现数据的动态显示,如图4.1所示。 图4.1 系统原理框图 第二章: AT89S51的结构 在本次课题设计中我们选择了AT89S51芯片。AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash 只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51

相关主题