项目9 数字式电压表的设计.ppt

项目9 数字式电压表的设计.ppt

ID:52652498

大小:683.00 KB

页数:25页

时间:2020-04-12

项目9  数字式电压表的设计.ppt_第1页
项目9  数字式电压表的设计.ppt_第2页
项目9  数字式电压表的设计.ppt_第3页
项目9  数字式电压表的设计.ppt_第4页
项目9  数字式电压表的设计.ppt_第5页
项目9  数字式电压表的设计.ppt_第6页
项目9  数字式电压表的设计.ppt_第7页
项目9  数字式电压表的设计.ppt_第8页
项目9  数字式电压表的设计.ppt_第9页
项目9  数字式电压表的设计.ppt_第10页
资源描述:

《项目9 数字式电压表的设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库

1、项目9数字式电压表的设计★知识目标:1.A/D转换器相关的基本知识;2.A/D转换器与单片机的接口技术。★能力目标:1.能够正确使用A/D转换器;2.能够设计单片机与A/D转换器的接口并编程控制A/D转换器;3.会用KeilC51软件对源程序进行编译调试及与Protues软件联调,实现电路仿真。项目9数字式电压表的设计1.提出任务利用单片机和A/D转换器设计一个测量系统,可以实现0-5V的模拟电压,并在数码管上显示出来。电压表应用非常广泛,在电力工业生产中经常要用电压表来检测电网电压,在仪器、仪表及家用电器的维修中经常要用电压表来检测电压。以下介绍用AT89S51单片机

2、设计实现这一功能的方法。项目9数字式电压表的设计(1)硬件电路设计系统要求的是实现模拟电压的测量,并实现数字显示,由于单片机输入量和输出量信号都是数字量,因此需要一种特殊的电路,将模拟量转换为单片机能够识别的数字量。A/D转换器就是用来实现这一过程的电路。根据数字式电压表的实现功能,硬件电路的设计与器件选择,也可从如下4个方面考虑:A/D转换电路、单片机控制器电路、LED显示电路等。这里选择具有内部程序存储器的AT89S51单片机作为控制电路,加上典型的8位并得传输的A/D转换芯片ADC0809作为模/数转换器,硬件电路原理图如图9.1所示。由于ADC0809的时钟最大

3、是1280kHz,而在系统中使用的是12MHz,超出了ADC0809的极限。在程序设计中为了简化电路,使用定时器来完成ADC0809的时钟输入。电路中使用P2.7作为脉冲输入端。项目9数字式电压表的设计ADC0809芯片的EOC与单片机P2.0连接,START和ALE与单片机P2.6连接,OE与单片机P2.5连接,单片机P0定义为数据读入端口,ADC0809芯片的ADDA、ADDB和ADDC接地。显示使用的是LED数码管,采用动态显示的方式实现电压的显示。P1.0至P1.4接是数码管的位选,P3接的是数码管的段码。基准电电压接的是正电源+5V,RV2分压输出作为输入的测

4、试电压,接入ADC0809芯片的INO通道。仿真试验时可采用A/D转换集成电路ADC0808芯片来进行仿真分析。有些Proteus仿真软件未带A/D转换集成电路ADC0809芯片。项目9数字式电压表的设计图9.1数字电压表电路图项目9数字式电压表的设计(2)软件设计思路对于显示采用动态显示。为了使人能够更好地观看显示结果,显示数据的频率不能过快,程序中设定间隔为1S电压转换一次。对于ADC0809数据的是如何读取的呢?主要有以下几个步骤:(1)初始化时使START和OE信号全为低电平(2)将要转换的通道地址送A、B、C端口上,在ALE上加锁存脉冲(3)在START端给出

5、一个至少有100ns宽的正脉冲信号(4)是否转换完毕根据EOC信号来判断。如果EOC为低电平,表示在转换过程中;如果EOC变为高电平,表示转换完毕。(5)使OE为高电平,转换数据就输出给单片机。当数据传送完毕后,将OE置为低电平,使ADC0809输出为高阻状态,让出数据线。项目9数字式电压表的设计根据程序流程图编写的源程序如下://文件名dy9-1.c#include#defineucharunsignedchar#includecodeucharTAB[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,

6、0xf8,0x80,0x90};//定义数码管显示数值ucharstr_TME[4]={0,0,0,0,};//定义数码管显示初始值voiddelay(ucharms)//定义延迟程序{uchari;while(ms--)for(i=0;i<125;i++);}uchartmel=0;ucharad_dat;bitsim=1;3.源程序编写项目9数字式电压表的设计/***********************计数器中断函数,用于控制电压转****************************************时间间隔,此程序设定间隔为1S电压转换一次*****

7、**********/voidtme_tr0(void)interrupt1{TL0=0xb0;TH0=0x3c;if(++tmel==20){tmel=0;sim=1;}}/*****************定义数码管显示***************************/sbitk1=P1^0;sbitk2=P1^1;sbitk3=P1^2;sbitk4=P1^3;voidVAL_xs(){P3=(TAB[str_TME[0]])&0x7f;//显示小数点k1=1;delay(5);3.源程序编写项目9数字式电压表的设计k1=0;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。