毕业设计(论文)基于AT89C51单片机的数字电压表的设计_第1页
毕业设计(论文)基于AT89C51单片机的数字电压表的设计_第2页
毕业设计(论文)基于AT89C51单片机的数字电压表的设计_第3页
毕业设计(论文)基于AT89C51单片机的数字电压表的设计_第4页
毕业设计(论文)基于AT89C51单片机的数字电压表的设计_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录摘要2abstract31. 引言41.1 数字电压表简介41.2 单片机简介41.3 数字电压表的应用52. 数字电压表的工作原理及发展趋势52.1 数字电压表的工作原理52.2 数字电压表的发展趋势63. 系统硬件电路的设计73.1 89c51单片机系统和显示电路73.2 a/d转换电路74. 系统程序设计84.1 主程序流程如图84.2 显示控制子程序94.3 键盘处理子程序94.4 八路电压采集子程序94.5 显示数据处理子程序94.6 编写程序105. 实验测试和结果分析145.1 测试仪器145.2 测试结果及分析146. 结语16参考文献17致谢18摘要摘要:在现代检测技术中

2、,常需用高精度数字电压表进行现场检测,将检测到的数据送入微计算机系统,完成计算、存储、控制和显示等功能。本文中数字电压表的控制系统采用at89c51单片机,a/d转换器采用asc0809为主要硬件,实现数字电压表的硬件电路与软件设计。该系统的数字电压表电路简单,所用的元件较少,成本低,调节工作可实现自动化。还可以方便地进行8路a/o转换量的测量,远程测量结果传送等功能。数字电压表可以测量0-5v的8路输入电压值,并在四位数码管上轮流显示或单路选择显示。关键词:单片机;数字电压表;a/d转换;模拟信号abstractin modern measuring technology,it is oft

3、en required to conduct site measuring with a digitalvoltmeter.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 comput

4、er 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 r

5、outes and remote transfer of measuring data.the meter is capable of measuring voltage inputs from 8 routes ranging from 0 to 5 volt,and displaying the measurements in turn or only that from a selected route.keywords: computer-on-a-chip; digital voltmeter; a/d conversion; analogue signal1. 引言1.1 数字电压

6、表简介数字电压表(digital voltmeter)简称dvm,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高,抗干扰能力强,可扩展性强、集成方便,还可与pc进行实时通信。目前,由各种单片a/d转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。于此同时,由dvm扩展而成的各种通用及专用数字仪器,也把电量及非电量测技术提高到崭新水平。1.2 单片机简介计算机已被广泛应用于社会生活的各

7、个领域。在自动控制领域,计算机是监测、控制的核心。生产过程以及大型设备的监测、控制一般使用带标准键盘、显示和外部存储设备的计算机系统,但小型仪器仪表、家用电器等设备的自动控制对体积、价值和功能有所要求,均不可能使用常规的计算机系统,于是出现了单片微型计算机,简称单片机。单片机是一种集成电路芯片,采用超大规模集成电路技术将具有数据处理能力的中央处理器,随机存取存储器、输入/输出电路,可能还包括定时/计数器、串行通信口、显示驱动电路、脉冲调制电路、模数转换器等电路集成到一片芯片上,构成一个既小而又完善的计算机系统。有以上分析可以看出,单片机除了具备微处理器的功能外,还可以单独地完成现代工业控制所要

8、求的智能化控制功能,这也是单片机最大的特点。单片机的一块半导体芯片集成了微型计算机的基本部件,在硬件结构、指令功能方面均有独特之处,主要特点如下:单片机内集成了存储器;单片机存储结构将rom和 ram 严格分工;为了满足工业控制的需要,单片机有很强的位处理功能,在其他逻辑控制功能方面也都优于一般的8位微处理器。8位处理器的引脚功能一般都是固定的。单片机类型多,并且便于扩展功能。单片机把微型计算机的各个部分集成在一块芯片上,大大缩短了系统内信号的传送距离,从而提高了系统的可靠性及运行速度。由于单片机具有体积小、速度快、功耗低、性能可靠、使用方便、价格低廉等特点,因此在工业控制、智能仪器仪表、数据

9、采集和处理、通信系统、家用电器等领域得到了日益广泛的应用4。1.3 数字电压表的应用数字电压表的发展与应用。电压表指固定安装在电力、电信、电子设备面板上电压。传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,传统的电压表在测量电压时需要手动切换量程,不仅不方便,而且要求不能超过该量程5。目前,由各种单片a/d转换器构成的数字电压表,已被广泛用于电子及电工测量领域,并且由dvm扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。2. 数字电压表的工作原理及发展趋势2.1 数字电压表的工作原理数字电压表是诸多数字化仪表的核心与基础,电压表的数字化是将连续的模拟

10、量如直流电压转换成不连续的离散的数字形式并加以显示,这有别于传统的以指针家刻度盘进行读数的方法,避免了读数的视差和视觉疲劳。目前数字电压表的内部核心部件是a/d转换器,转换器的精度很大程度上影响着数字电压表的准确度,数字式电压表是有高阻抗电压表头与分压电路组成的6。1. 各部分的功能:(1)3位a/d转换器:将输入的模拟信号转换成数字信号。(2)基准电源:提供机密电压,供a/d转化器作参考电压。(3)译码器:将二-十进制(bcd)译码转换器作参考电压。(4) 驱动器:驱动显示器的a、b、c、d、e、f、g七个发光段,驱动发光数码管(led)进行显示。(5)显示器:将译码输出的七段信号进行数字显

11、示,读取a/d转换结果。2. 电路工作过程 数字电压表通过位选信号ds1-ds4进行动态扫描显示,由于mc1433电路的a/d转换结果是采用bcd码多路调制方法输出,只要配上一块译码器,就可以将转换结果以数字方式实现四位的led发光数码管动态扫描显示7。ds1-ds4输出多路调制选通脉冲信号,ds选通脉冲为高电平,则表示对应的数位被选通,此时该位数据在q0-q3端输出。每个ds选通脉冲高电平宽度为18个时钟脉冲周期,两个相邻选通脉冲之间间隔2个时钟脉冲周期。ds和eoc的时序关系是在eoc脉冲结束后,紧接着是ds1输出正脉冲。以下依次为ds1、ds3和ds4.。其中ds1对应最高位(msd),

12、ds4则对应最低位(lsd)。对应的ds1、ds3和ds4选通期间,q0-q3输出bcd全位数据,即以8421码得方式输出对应的数字为0-9。在ds1选通期间,q0q3输出千位的半位数0或1及过量程、欠量程和极性标志信号。2.2 数字电压表的发展趋势传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与pc进行实时通信8。目前,由各种单片a/d转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,表示出强大的生命力。与此同时,由dvm扩展而成的各种通用及专用数字仪器仪

13、表,也把电量及非电量测量技术提高到崭新水平。数字电压表是诸多数字化仪表的核心与基础,电压表的数字化是将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,这有别于传统的以指针加刻度盘进行读数的方法, 避免了读数的视差和视觉疲劳。目前数字电压表的内部核心部件是a/d转换器,转换器的精度很大程度上影响着数字电压表的准确度,本文a/d转换器采用adc0809对输人模拟信号进行转换,控制核心at89c51再对转换的结果进行运算和处理,最后驱动输出装置显示数字电压信号。数字式电压表是由高阻抗电压表头与分压电路组成的。数字式电压表头的等效输入电阻通常在200m欧以上,满量程时所流经的电流通常在1

14、皮安左右。以上述表头制成的数字式电压表,满量程时所流经的电流与量程有关,通常在1皮安至100微安之间。数字电压表(数字面板表)是当前电子、电工、仪器、仪表和测量领域大量使用的一种基本测量工具有关数字电压表的书籍和应用已经非常普及了9。数字电压表的设计和开发,已经有多种类型和款式。传统的数字电压表各有特点,它们适合在现场做手工测量,要完成远程测量并要对测量数据做进一步处理,传统数字电压表是无法完成的。然而基于pc通信的数字电压表,既可以完成测量数据的传递,又可借助pc,做测量数据的处理。所以这种类型的数字电压表无论在功能和实际应用上,都具有传统数字电压表无法比拟的特点,这使得它的开发和应用具有良

15、好的前景。3. 系统硬件电路的设计硬件电路设计主要包括:at89c51单片机系统,a/d转换电路,显示电路。测量最大电压为5v,显示最大值为5.00v10。图3-l是数字电压表硬件电路原理图。图3.1 数字电压表硬件电路原理图3.1 89c51单片机系统和显示电路由于单片机体积小、重量轻、价格便宜,所以本系统采用ay89c51单片机,其原理图如图3.1所示。at89c51内部有4kb的eeprom,128字节的ram,所以一般都要根据系统所需存储容量的大小来扩展rom和ram。本电路a接高电平,没有扩展片外rom和ram。at89c51的pl、p3.o一p3.3端口作为四位led数码管显示控制

16、。p3.5端口用作单路显示/循环显示转换按钮,p3.6端口用作单路显示时选择通道11。p0端口作0809的a/d转换数据读入用,p2端口用作0809的a/d转换控制。3.2 a/d转换电路a/d转换由集成电路0809完成。0809具有8路模拟信号输人端口,地址线(23-25脚)可决定对哪一路模拟信号进行a/d转换。22脚为地址锁存控制,当输入为高电平时,对地址信号进行锁存。6脚为测试控制,当输人一个2个宽高电平脉冲时,就开始a/d转换。7脚为a/d转换结束标志,当a/d转换结束时,7脚输出高电平。9脚为a/d转换数据输出允许控制,当oe脚为高电平时,a/d转换数据从该端口输出。10 脚为080

17、9的时钟输人端,利用单片机30引脚的六分频晶振频率再通过14024二分频得到1mhz时钟。4. 系统程序设计本系统软件由显示控制子程序、显示数据处理子程序、8路电压采集子程序、键盘处理子程序等组成,采用汇编语言编程12。4.1 主程序流程如图 主程序流程图如4.1所示。 启动结束条件?选通校准1初始化选通通道2选通通道1选通校准2选通校准3否是采样子程序显示结束图4.1 主程序流程图4.2 显示控制子程序测量的 a/d 转换数据放在 ram70h77h中,测量数据转换成的bcd码放在 7ah7dh 中。20h为显示方式标志位,21h存放通道标志数。r4用作8路循环控制,r0用作显示通道原始数据

18、地址指针,r1为处理后的四位显示数据地址指针。程序通过测试 20h.0来确定采用8路循环显示还是单通道显示。循环显示时每通道显示约2s。数字电压值是通过查表方式采用动态扫描法实现的。4.3 键盘处理子程序本设计采用2个功能键和1个硬复位键。2个功能键接在 p0.0 与 p0.1 口上。对功能键的处理采用测试端口并设置标志的方法,使用了延时去抖处理。键盘按下时,还可以显示通道号码,松开后才显示测量电压值13。循环显示时,通道号显示为“0”;单通道显示号码为 08。4.4 八路电压采集子程序单片机为 adc0809 14提供所需的控制时序,采集到的八路电压数据分别存放在单片机 ram 70h77h

19、 中。程序流程如图 4.2所示。主程序1秒子程序调用adc0832转换程序1 秒到了44.2 程序流程图4.5 显示数据处理子程序放在 at89c51 70h77h 中的对应电压值数据必须转换成相应的 bcd 码后才能送数码管显示15。由于本系统中 adc0809 的参考电压 vref=vcc,所以最大测量电压 5v 所对应的二进制数就是 ffh,而每伏电压对应的二进制数为 33h。其处理方法是,用转换后的数据除以 33h,得到的商即为电压值的个位数。余数5 后再除以 33h 得到的商2 即为电压值的十分位数。所余之数2后再进行一次533h 得到的商2 即为电压值的百分位数。同理可得到千分位数

20、。最后进行四舍五入处理,若千分位处理后的余数大于 19h 即千分位加 1。四舍五入处理后需要对各位进行进位调整。调整后的个位、十分位、百分位、千分位分别存入 7ah7dh 中。4.6 编写程序 选通道0 badcl=1; badcl=0;/ 3 down badda=1; badcl=1; badcl=0;/ 4 down 数码管显示程序/数字电压表#include#define uchar unsigned char#define uint unsigned int#include code uchar tab=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,

21、0x80,0x90; /定义数码管显示数值uchar str_tme4=0,0,0,0,; /定义数码管显示初始值unsigned char data1; /data1用来存放转换以后的数据 void delay(uchar ms) /定义ms延迟程序uchar j;while(ms-)for(j=0;j0;i-) data1=1; /从第7位开始,要左移data1=data11 badcl=0;badcl=1;if(badda=1) data1|=0x01; /如果输出1,data1最后一位补1 badcs=1;/转换完后cs置1 void changs() /转换程序 double sum

22、; uchar val_integer; /定义整数变量 unsigned int val_decimal; /定义小数变量 sum=data1*0.0196078 ; val_integer=(uchar)sum; val_decimal=(unsigned int)(sum-val_integer)*1000); str_tme3=val_decimal%10; str_tme2=val_decimal/10%10; str_tme1=val_decimal/100; str_tme0=val_integer; /*定义数码管显示(共阳数码管)*/sbit g1=p10; /第一位sbit

23、 g2=p11; /第二位sbit g3=p12; /第三位sbit g4=p13; /第四位void val_xs() p3=(tabstr_tme0)&0x7f; /显示小数点 g1=0; /第一位显示 delay(4); g1=1; p3=tabstr_tme1; g2=0; /第二位显示 delay(4); g2=1; p3=tabstr_tme2; g3=0; /第三位显示 delay(4); g3=1; p3=tabstr_tme3; g4=0; /第四位显示 delay(4); g4=1; 主程序 /* 主程序*/main() p1=0xc0; ie=0x82; /中断请求 tm

24、od=0x01; ip=0x01; tl0=0x58; th0=0x9e; tr0=1; /运行控制位 while(1) val_xs(); if(sim=1) ad(); /电压转换 changs(); /数据转换 sim=0; 5. 实验测试和结果分析5.1 测试仪器测试所用的仪器主要有直流稳压电源1台、数字万用表1个和计算机1台等。5.2 测试结果及分析在仿真实验结果正确的情况下,完成了硬件电路的制作硬件电路测试结果见表5.1。 表5.1 电路测试结果序号待测电压(伏)实测值(伏)10.000.0020.200.2130.400.4040.600.5850.800.8061.000.98

25、72.002.0086.005.9598.008.08109.909.841112.0011.951214.0014.061316.0016.161418.0017.921520.0020.031622.0022.141724.0023.901826.0026.01从上表中,我们将实际测得的电压与待测电压相对比,可以发现实验过程中存在着误差,约为4.83%,基本可以忽略。6.结语通过这次对简易数字电压表的设计,让我了解了设计电路的程序,也让我了解了关于电压表的原理与设计理念,。通过这次学习,让我对各种电路都有了大概的了解,所以说,坐而言不如立而行,对于这些电路还是应该自己动手实际操作才会有深刻

26、理解。除了学会了许多专业知识外,在遇到困难时,积极地去请教我的指导老师,我通过看现有的教材、去图书馆查阅资料、去网上搜索相关信息这些方式,不仅完成了我的毕业论文,而且大大增强了我的自学能力和独立能力。更重要的是,我拓展了思路,开阔了视野,活跃了思想。这次毕业设计不仅使我对相关专业知识有了更深的理解,而且还让我认识到了理论知识对工作实践的重大意义,学会理论联系实际。毕业设计要求我们完全依靠自己的能力去学习和设计,而不是像以往课程那样一切由教材和老师安排。因此,它给了我更大的发挥空间。让我发挥主观能动性独立的查阅资料、寻找数据、设计实验方案,并将理论知识应用到实践中去。同时,让我懂得红外线在生活中的广泛应用。通过这次设计提高了我认识问题、分析问题、解决问题的能力。总之,这次设计既是对我课程知识的考核,又是对我思考问题、解决问题能力的考核,更是对我人格品德的考验,设计让我受益匪浅。参考文献1 童诗白主编.模拟电

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论