电压测量系统_第1页
电压测量系统_第2页
电压测量系统_第3页
电压测量系统_第4页
电压测量系统_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、哈尔滨华德学院课程设计用纸目 录第一章 绪 论12.1 选择题目22.2 设计要求22.3 题目分析及设计步骤22.4涉及的软件工具2第3章 硬件设计33.1 电器原理图33.2 单片机最小系统33.2.1 AT89C51芯片介绍43.2.2 复位电路介绍53.2.3 晶振电路介绍53.3.1 数码管工作原理介绍63.3.2 数码管驱动电路介绍73.4 数字采集电路83.4.1 ADC0808管脚介绍93.4.2ADC0808工作原理介绍103.5 时钟电路103.6 整机12第4章 软件设计134.1 程序流程图134.2 程序代码和代码解析13第5章 电路的调试165.1 电路的检测165

2、.2 电路的调试165.2.1 硬件调试165.2.2 软件调试165.3 电路在调试中遇到的问题16结 论17心得体会18致 谢19参考文献20第一章 绪 论自动化仪表,是由若干自动化元件构成的,具有较完善功能的自动化技术工具。它一般同时具有数种功能,如测量、显示、记录或测量、控制、报警等。自动化仪表本身是一个系统,又是整个自动化系统中的一个子系统。自动化仪表是一种“信息机器”,其主要功能是信息形式的转换,将输入信号转换成输出信号。信号可以按时间域或频率域表达,信号的传输则可调制成连续的模拟量或断续的数字量形式。数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技

3、术,把连续的模拟量(直流或交流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。由于数字式仪器具有读数准确方便、精度高、误差小、灵敏度高和分辨率高、测量速度快等特点。第2章 设计题目及题目分析2.1 选择题目利用单片机AT89C51与ADC0808设计一个数字电压表,将模拟信号05 V之间的电压值转换成数字量信号,以两位数码管显示,并通过虚拟电压表观察ADC0808模拟量输入信号的电压值,LED数码管实时显示相应的数值量。2.2 设计要求(1)电压测量范围0-5V;(2)能用数码管显示电压值;(3)测量精度达0.1V;(4)要求系统具备复位功能;(5)系统具备自检功能。2.3 题目分析及

4、设计步骤本设计选择AT89C51单片机作为核心器件。A/D转换采用ADC0808实现。电压显示采用4位一体的LED数码管。LED数码管的段码输入由并行端口产生;位码输入由并行端口P3高四位产生。硬件电路设计由7个部分组成;主控模板AT89C51单片机系统,A/D转换电路,LED显驱动电路,复位电路,晶振电路以及测量电压输入电路。2.4涉及的软件工具仿真软件Proteus,编程软件keil3,文字编辑软件office word。第3章 硬件设计3.1 电器原理图数字电压表电路设计框图如图3-1所示:主控模版AT89C51晶振电路复位电路驱动电路LED显示模块电压信号ADC0809图3-1 数字电

5、压表电路设计框图3.2 单片机最小系统图3-2 数字电压表的Proteus软件仿真电路设计图待测电压输入信号在ADC0808芯片承受的最大工作电压范围内,经过模/数转换电路实现A/D转换,通过单片机控制电路进行程序数据处理,然后通过八段译码/驱动显示电路实现数码管显示输入电压。3.2.1 AT89C51芯片介绍AT89C52是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,内含bytes的课反复撰写的Flash制度程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATNEL公司的高密度,非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内

6、普通用8位中央处理器CPU和FLASH存储单元,功能强大AT89C52单片机适合于许多较为复杂控制应用场合。AT89C52提供以下标准功能:8k字节Flash闪速存储器,256字节内部RAM,32GE I/O口线,3个16位定时器/计数器,一个6向量两级中断结构,一个双工串行通讯口,片内振荡器及时钟电路。AT89系列单片机对于一般用户来说,有下列明显的优点:内部含有Flash存储器,在系统开发过程中很容易修改程序,可以大大缩短了系统的开发时间。与MCS-51系列单片机引脚兼容,可以直接进行代换。AT89系列并不对80C31的简单继承,功能进一步增强。在我国这种单片机受到广泛青睐,很多以前使用8

7、0C51、80C52的用户都转而使用AT89系列。对于有丰富编程经验的用户而言,不需要仿真器,可以直接将程序烧入芯片,放在目标板上加电直接运行,观察运行结果,出现问题时再进行修改,然后重新烧写程序,再进行试验,直至成功。数字电压表的控制模块采用AT89C51单片机是DIPloma-40集成电路芯片,该芯片有4个八位并行的双向I/O口,分别为P0、P1、P2、P3、口。20引脚为接地端;40引脚为电源端;31引脚需要接高电位使单片机选用内部程序存储器;18、19脚接上一个12MHZ的晶振为单片机提供时钟信号,第9脚为复位引脚,单片机只有满足这些条件才能正常工作。利用单片机AT89C51与ADC0

8、808设计一个数字电压表,将模拟信号05 V之间的直流电压值转换成数字量信号0FF,以两位数码管显示。Proteus软件启动仿真,当前输入电压为25 V,转换成数字值为7FH,用鼠标指针调节电位器RV1,可改变输入模/数转换器ADC0808的电压,并通过虚拟电压表观察ADC0808模拟量输入信号的电压值,LED数码管实时显示相应的数值量。在Proteus软件中设置AT89C51单片机的晶振频率为12 MHz。本电路EA接高电平,没有扩展片外ROM。3.2.2 复位电路介绍单片机的复位是靠外部电路实现的。单片机工作后,只要在它的RST引线上加载10ms以上的高电平,单片机就能够有效地复位。复位电

9、路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。图3-3 protues仿真复位电路图3.2.3 晶振电路介绍因为单片机执行程序有自己的机器周期,这个周期就是根据晶振来的,要是没晶振就乱套了,时序是很重要的。51的最简模式就是晶振加上电源。可见晶振是和电源一样的基本东西了。显示没有晶振,就没有时钟周期,没有时钟周期,就无法执行程序代码,单片机就无法工作。 单片机工作时,是一条一条地从RoM中取指令,然后一步一步地执行。单片机访问一次存储器的时间,称之

10、为一个机器周期,这是一个时间基准。个机器周期包括12个时钟周期。我们选择晶振为12MHZ,它的一个机器周期是12×(1/12)us,也就是1us。图3-4 protues仿真晶振电路图3.3.1 数码管工作原理介绍LED数码管(LED Segment Displays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。LED数码管常用段数一般为7段有的另加一个小数点, LED数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。

11、图3-5是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。颜色有红,绿,蓝,黄等几种。图3-5 数码管显示原理图3.3.2 数码管驱动电路介绍数码管动态显示介面是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp "的同名端连在一起,另外为每个数码管的公共极COM增加位元选通控制电路,位元选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位元选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控

12、制打开,该位元就显示出字形,没有选通的数码管就不会亮。3.4 数字采集电路开始A/D转换开始工作使能芯片EOC=1EOC=0产生时钟信号输入通道控制字读取2字节数据字节数据校验将值送入规定寄存器结束图3-6 数据采集流程图图3-7 protues仿真数据采集电路图3.4.1 ADC0808管脚介绍ADC0809芯片为DIP-28,其主要信号引脚的功能说明如下:(1) IN7IN0模拟量输入通道。 (2) A、B、C地址线。通道端口选择线,A为低地址,C为高地址,引脚图中ADDC、ADDB和 ADDC。ALE地址锁存允许信号。对应ALE上跳沿,A、B、C地址状态送入地址锁存器中。 (3) STA

13、RT转换启动信号。START上升沿时,复位ADC0809;START下降沿时启动芯片,开始进行A/D转换;在A/D转换期间,START应保持低电平。写为ST。D4D0数据输出线。为三态缓冲输出形式。可以和单片机的数据线直接相连。D0为最低位,D7为最高。OE输出允许信号。用于控制三态门输出锁存器向单片机输出转换得到的数据。OE=0,输出数据线呈高阻;OE=1,输出转换所得到的数据。CLK时钟信号。ADC0809的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟 信号引脚。通常使用频率为500KHZ的时钟信号。 EOC转换结束信号。EOC=0,正在进行转换;EOC=1,转换结束。使用中该状态

14、信号即可作为查询的状态标志,又可以作为中断请求信号使用。(5) VCC+5V电源。Vref参考电源参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。起典型值为+5VVref(+)=5V,Vref(-)=-5V。3.4.2ADC0808工作原理介绍A/D转换器用于实现模拟量向数字量的转换,由于模数转换电路的种类很多,选择/D的转换器件主要从速度、精度和价格方面考虑。目前最常用的是双积分式和逐次逼近式/D转换器。双积分式/D转化器的优点是转换精度高,抗干扰性能好,价格便宜;但转换速度较慢。因此这种转换器主要用于速度要求不高的场合。逐次逼近式/D转换器是一种速度较快、精度较高的转换器,其转换

15、时间大约在几微秒到几十微秒之间。该系统采用的模数转换器芯片为adc809,该芯片为8路模拟信号的分时采集,片内有8路模拟选通开关,以及相应的通道抵制锁存用译码电路,其转换时间为100S左右。3.5 时钟电路几乎所有的数字系统在处理信号都是按节拍一步一步地进行的,系统各部分也是按节拍做的,要使电路的各部分统一节拍就需要一个 “时钟信号”,产生这个时钟信号的电路就是时钟电路。时钟电路的核心是个比较稳定的振荡器(一般都用晶体振荡器),振荡器产生的是正弦波,频率不一定是电路工作的时钟频率,所以要把这正弦波进行分频,处理,形成时钟脉冲,然后分配到需要的地方。让系统里各部分工作时使用时钟周期就是时钟振荡周

16、期=1/12M=0.083us机器周期=12*时钟周期=12/12M=1us数字电路里的一切运算都是按时钟频率来工作的,如果没有时钟就像我们的这个世界没有时间一样,一切都会变成静止,不会有任何动作的!所以数字电路必须有时钟。图3-8 protues仿真时钟电路图整机电路参见附录一。第4章 软件设计4.1 程序流程图开始初始化调用显示程序A/D转换结束YN图4-1 程序流程图4.2 程序代码和代码解析#include<reg51.h>#define uchar unsigned char#define uint unsigned intuchar code table1=0xc0,0

17、xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;uchar code table2=0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x10,0x20;void delay(uint z)uint i,j;for(i=z;i>0;i-)for(j=110;j>0;j-); void main()uchar a,b;a = P0;if (232<=a&&a<=255) a=a+0;else if(181<=a&&a<=229) a=a+1;else if (

18、130<=a&&a<=178) a=a+2;else if (74<=a&&a<=127) a=a+3;else if (26<=a&&a<=71) a=a+4;else a=a+5; b = a/5-1;P2=0x01;P1=table10;delay(10);P1=0XFF; P2=0x02;P1=table2b/10;delay(10);P1=0XFF;P2=0x04;P1=table1b%10;delay(10);P1=0xff;if(a%5=0)P2=0x08;P1=table10;delay(10)

19、;P1=0xff;elseP2=0x08;P1=table15;delay(10);P1=0xff;第5章 电路的调试5.1 电路的检测 我们在电路实现基本功能的时候,进行了更加细致的调试,发现电压表并不是那么的理想,在05之间总有跳变,导致数据不准确。5.2 电路的调试经过分布调试我们发现使我们程序算法不是很准确,八位管脚范围是0255而我们只用到了250个数,最后我们将程序完善,经过调试电压表能够准确显示数据。5.2.1 硬件调试电路方面的调试我们最大的问题是送数据,不知道怎么将A/D转换的数据送给51单片机在将数据送给显示,由于前面课程中学习过数码管送显示的培训所以这一步问题不大,那么关

20、键问题就是怎么将数据送给51单片机。一连经过好几天的思考最总发现的数据的规律性,并对数据进行了处理,将转换过的数送给了51单片机,结果又发现连线的方式有问题,经过查找了解到ADC0808和AT89C51的端口数据显示高低位的接口端是不一样的。5.2.2 软件调试程序的调试和硬件调试是分不开的,前面的硬件问题,导致了后面软件程序的修改,我们将数据经过51单片机的数据调用程序对数据进行计算并送给数码管显示,最终实现了电压数码显示功能。5.3 电路在调试中遇到的问题遇到的最大的问题就是算法问题,经过深思熟虑一步一步调试最终发现问题之所在,那就是送显示的过程对数据用程序进行处理,最终我们处理成功显示完好收获颇多。结 论由于使用的是高效单片机作为核心的测量系统,以及灵敏度和精度较高的A/D转换器,使本直流电压表具有精度高、灵敏度强、性能可靠、电路简单、成本低的特点,加上经过优化的程序,使其有很高的智能化水平。本系统以AT89C51单片机为核心部件,结合模数电路的设计原理,利用电阻分压的原理选择测试点电压的技术,并配合一套独特的程序完成了题目所有的功能。在设计发挥软件灵活方便的特点,来满足系统的设计要求。心得体会经过两周的努力和合作我们小组终于如期完成了积分式数字直流电压表作品设计与制作,在刚开始设计时觉得在设计方案和编程

温馨提示

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

评论

0/150

提交评论