数字电压表的设计制作课件.ppt

上传人(卖家):三亚风情 文档编号:2506560 上传时间:2022-04-27 格式:PPT 页数:23 大小:2.12MB
下载 相关 举报
数字电压表的设计制作课件.ppt_第1页
第1页 / 共23页
数字电压表的设计制作课件.ppt_第2页
第2页 / 共23页
数字电压表的设计制作课件.ppt_第3页
第3页 / 共23页
数字电压表的设计制作课件.ppt_第4页
第4页 / 共23页
数字电压表的设计制作课件.ppt_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、MSC51系列单片机定时器系列单片机定时器/计数器中断、动态扫描、计数器中断、动态扫描、A/D转换相关转换相关知识等。知识等。ADC0809各管脚功能、各管脚功能、TLC2543各管脚功能各管脚功能C51程序语言中程序语言中for语句、语句、do while语句运行规则,使用方法语句运行规则,使用方法项目所需掌握的理论知识项目所需掌握的理论知识完成项目所锻炼的能力完成项目所锻炼的能力掌握定时器掌握定时器/计数器的定时程序的编写。计数器的定时程序的编写。掌握定时器中断方式的编写掌握定时器中断方式的编写掌握掌握ADC0809以及以及TLC2543数据采集的编程能力。数据采集的编程能力。一 时钟设计

2、学习要求案例引入预备知识讲解电子实物制作与检测参考与消化示例程序并完成项目程序总结与提高 学习指南 二 案例引入 设计数字电压表,设计要求如下:设计数字电压表,设计要求如下:1要求分别采用两种不同模数转换的芯片要求分别采用两种不同模数转换的芯片ADC0809、TLC2543实现设计数实现设计数字电压表。字电压表。2设计的数字电压表可以测量设计的数字电压表可以测量05V范围内的输入电压值,并且通过范围内的输入电压值,并且通过4位位LED数码管显示采集的电压值。数码管显示采集的电压值。实物照片实物照片三 任务二知识讲解 1.ADC0809芯片知识与使用方法芯片知识与使用方法 ADC0809是一种有

3、是一种有8路模拟输入、路模拟输入、8位并行数字输出的逐次逼近式位并行数字输出的逐次逼近式A/D器件。器件。性能性能ADC0809ADC0809主要技术指标和特性主要技术指标和特性(1 1) 分辨率:分辨率:8位;位;(2 2) 转换时间:取决于芯片的时钟频率,转转换时间:取决于芯片的时钟频率,转换换1次所需时间;次所需时间;(3 3) 单一电源:单一电源:+5V;(4 4) 模拟输入电压范围:单级性为模拟输入电压范围:单级性为0+5V。2.引脚介绍引脚介绍8路输入端数据输出端输入选择控制端时钟输入端,决定转换速率,时频率50800kHz启动转换信号转换结束信号输出允许信号地址锁存允许信号注意注

4、意:理解这些管脚的作用对:理解这些管脚的作用对理解程序语句非常有帮助!理解程序语句非常有帮助!3.ADC0809工作过程工作过程START工作分为工作分为4大步大步每步工作内容每步工作内容如图所示如图所示启动信号START(6脚)为转换启动信号。当START为上升沿时,所有内部寄存器清零;下降沿时,开始进行A/D转换START保持低电平EOC当EOC变为高电平时,转换结束OE当OE变为高电平时,输出数据1234上升沿高电平信号高电平信号下降沿在转换期间,START应保持低电平。4.电路连接图电路连接图显示电路单片机单片机P2口的低口的低4位接位接4个个1K电阻,电阻,4个个PNP三极管,作为数

5、码管的位码输出,三极管,作为数码管的位码输出,P0口口与与74LS245的的A1A8相连,相连,B1B8串个串个300欧姆的电阻,作为数码管段码输出。欧姆的电阻,作为数码管段码输出。ADC0809的的D0D7与与P3口相接,采集的数据通过口相接,采集的数据通过P3口传送给单片机。口传送给单片机。P1.4P1.7作为作为ADC0809的控制信号端,控制的控制信号端,控制ADC0809的采集工作。的采集工作。5.程序分析程序分析在程序设计时,由于ADC0809在进行A/D转换时需要有CLK信号,而此时的ADC0809的CLK是接在单片机的P1.4端口上,也就是要求从P1.4端口能够输出CLK信号供

6、ADC0809使用。1采用T0定时器中断方式产生ADC0809所需要的CLK信号,CLK为时钟输入信号线,它的取值范围为10KHz1280KHz,我们这里取值50KHz。根据定时器的计算公式可得TH0=TL0=0XF6。主程序流程图揭示程序工作过程2项目源程序:项目源程序:#include#include#define uint unsigned int#define uint unsigned int#define uchar unsigned char#define uchar unsigned charuchar code uchar code led10=0 x3f,0 x06,0 x

7、5b,0 x4f,led10=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;/0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;/数码数码管显示管显示0-90-9uint volt; /uint volt; /电压值测定值电压值测定值sbit LW1=P23;sbit LW1=P23;sbit LW2=P22;sbit LW2=P22;sbit LW3=P21;sbit LW3=P21;sbit LW4=P20;/sbit LW4=P20;/定义数码管位选脚定义数码管位选脚sbit CLK=P14;

8、sbit CLK=P14;sbit START=P15;sbit START=P15;sbit EOC=P16;sbit EOC=P16;sbit OE=P17;/sbit OE=P17;/定义定义ADC0809ADC0809各脚各脚红色语句是依据电路连接红色语句是依据电路连接定义的,定义这些语句是便于定义的,定义这些语句是便于程序书写。程序书写。/函数名:函数名:ADC()ADC()/功能:数模转换程序功能:数模转换程序/调用函数:调用函数:/输入参数:输入参数:/输出参数:输出参数:/说明:将转换好的测定值保存在变量说明:将转换好的测定值保存在变量voltvolt中中/ /* * * *

9、* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /void ADC()void ADC() START=0;START=0;START=1;START=1;START=0;/adSTART=0;/ad开始转换开始转换while(EOC=0); /while(EOC=0); /等待转换结束等待转换结束OE=1;OE=1;volt=P3;/volt=P3;/取走转换值取走转换值OE=0;/OE=0;/输出转换结束输出转换结束volt=voltvolt=volt* *196;/196;/转换

10、值处理转换值处理 3红色语句严格依据芯片工红色语句严格依据芯片工作过程书写。作过程书写。将将P3口得到的口得到的A/D转换值通过计算公式转换为正确的电压值,这是因为项目的满量转换值通过计算公式转换为正确的电压值,这是因为项目的满量程为程为5V,转换分辩率为,转换分辩率为8位即最大值是位即最大值是255,5/255=196mV,即即1代表代表196mV。4/ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /函数名:函数名:timer() interrupt 1timer() interrupt 1/

11、功能:定时中断功能:定时中断0 0响应程序响应程序/说明:为说明:为ADCADC提供时钟信号提供时钟信号/ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /void timer() interrupt 1void timer() interrupt 1 CLK=CLK;/CLK=CLK;/取反取反 产生时钟信号产生时钟信号 /主程序主程序void main()void main() EA=1;/EA=1;/开总中断开总中断 TMOD=0 x02;/ TMOD=0 x02;/设定定时计数工作方式设定

12、定时计数工作方式 TH0=0XF6; TH0=0XF6; TL0=0XF6;/ TL0=0XF6;/为定时器初赋值为定时器初赋值 ET0=1;/ ET0=1;/开定时器开定时器0 0中断中断 TR0=1; TR0=1; while(1) while(1) ADC();/ ADC();/调用模数转换程序调用模数转换程序 display();/ display();/调用显示程序调用显示程序 采用采用T0定时器中断方式产生定时器中断方式产生ADC0809所需要的所需要的CLK信号,信号,CLK为时钟输入信号线,为时钟输入信号线,我们这里取值我们这里取值50KHz。根据定时器的计算公式可得。根据定时

13、器的计算公式可得TH0=TL0=0XF6。 使用并行ADC会限制系统I/O口的功能扩展,采用串行ADC比较适合那些低速采样而控制管脚又比较多的系统。 TLC2543是TI公司的12位串行模数转换器,由于是串行输入结构,能够节省51系列单片机I/O资源;且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用。 1.TLC2543芯片知识与使用方法芯片知识与使用方法 TLC2543是12位串行A/D转换器,使用开关电容逐次逼近技术完成A/D转换过程。四 任务三知识讲解 AIN0AIN10为模拟输入通道DATA INPUT为串行数据输入端,DATA OUT为A/D转换结果的三态串行输出端EOC为转

14、换结束端,I/O CLK为I/O时钟端,REF+为正基准电压端,REF-为负基准电压端,VCC为电源端,GND为地。为片选端D7D6D5D4D3D2D1D0TLC2543控制字 控制字为从DATA INPUT端串行输入端8位数据,规定了TLC2543要转换的模拟量通道、转换后的输出数据长度以及输出数据端格式。高高4位(位(D7D4)决定通道号,对于模拟输入通道)决定通道号,对于模拟输入通道0至模拟输入通道至模拟输入通道10低低4 4位(位(D3D0D3D0)决定输出数据长度及格式)决定输出数据长度及格式其值为其值为00001010,对应通道为,对应通道为通道通道0通道通道10其中其中D3D3、

15、D2D2决定输出数据长度,决定输出数据长度,0101表示输出数据长度为表示输出数据长度为8 8位位,1111表示输出数据表示输出数据长度为长度为1616位位,其他为,其他为1212位位. .D1D1决定输出数据是高位先送出,还是低位先送出,为决定输出数据是高位先送出,还是低位先送出,为0 0表示表示高位先送出高位先送出D0D0决定输出数据是决定输出数据是纯正数纯正数还是还是有负数有负数,若为,若为纯正数纯正数,该位为,该位为0 0,否则为,否则为1 1。TLC2543工作过程工作过程工作开始,片选端工作开始,片选端CSCS必须先高到低必须先高到低当片选当片选端端CSCS变变低时低时1212个时

16、钟信号从个时钟信号从 CLOCK CLOCK端依次加入端依次加入,控制字从,控制字从DATA INPUTDATA INPUT一位一位在时钟的上升沿被送入一位一位在时钟的上升沿被送入TLC2543TLC2543(高位先送入)(高位先送入),同时上一周期转换的结果数据从同时上一周期转换的结果数据从DATA OUTDATA OUT一位一位地移出。一位一位地移出。TLC2543TLC2543收到第收到第4 4个时钟信号后,通道号已收到,此时个时钟信号后,通道号已收到,此时TLC2543TLC2543开始对选定通道开始对选定通道的模拟量进行采样,并保持到第的模拟量进行采样,并保持到第1212个时钟的下降

17、沿。个时钟的下降沿。在第在第1212个时钟下降沿,个时钟下降沿,EOCEOC变低,进行变低,进行A/DA/D转换,约需转换,约需10us10us,转换完成后,转换完成后EOCEOC变变高,转换的数据在输出数据寄存器中,待下一个工作周期输出。高,转换的数据在输出数据寄存器中,待下一个工作周期输出。2.电路连接图电路连接图TLC2543连接电路 单片机的单片机的P1.0、P1.3、P1.4作为作为TLC2543的控制信号端,起到控制的控制信号端,起到控制TLC2543的的采集电压工作,单片机的采集电压工作,单片机的P1.1、P1.2分别接分别接TLC2543的的DATA OUT和和DATA INP

18、UT,作为作为TLC2543串行数据线。串行数据线。显示电路与前边一样!3.程序分析程序分析 AT89C51单片机通过编程产生串行时钟,并按时序发送与接收数据位,完成通道方式/通道数据的写入和转换结果的读出。其中模数转换程序是重点。#include#include#define uint unsigned int#define uint unsigned int#define uchar unsigned char#define uchar unsigned char#define ulong unsigned long#define ulong unsigned longulong volt

19、;/ulong volt;/测量的电压值测量的电压值uchar code led10=0 x3f,0 x06,0 x5b,0 x4f,uchar code led10=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;/0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;/数码管显示数码管显示0-90-9sbit LW1=P23;sbit LW1=P23;sbit LW2=P22;sbit LW2=P22;sbit LW3=P21;sbit LW3=P21;sbit LW4=P20;/sbit LW4=P

20、20;/定义数码管位选脚定义数码管位选脚sbit CLK=P13;/sbit CLK=P13;/定义时钟信号口定义时钟信号口sbit DIN=P12;/sbit DIN=P12;/定义定义25432543数据写入口数据写入口sbit DOUT=P11;/sbit DOUT=P11;/定义定义25432543数据读取口数据读取口sbit CS=P10;/sbit CS=P10;/定义定义25432543片选信号口片选信号口红色语句是依据电路连红色语句是依据电路连接定义的,定义这些语句接定义的,定义这些语句是便于程序书写。是便于程序书写。12/函数名:函数名:read2543(uchar addr

21、)read2543(uchar addr)/说明:进行说明:进行adad转换将结果存于转换将结果存于voltvolt变量中变量中 addr addr为测量位为测量位地址地址void read2543(uchar addr)void read2543(uchar addr) uint ad=0; uint ad=0; uchar i; uchar i; CLK=0; CLK=0; CS=0;/ CS=0;/启动启动25432543 addr=4;/ addr=4;/对地址位预处理对地址位预处理 for(i=0;i12;i+)for(i=0;i12;i+) if(DOUT=1)if(DOUT=1)

22、ad=ad|0 x01;/ad=ad|0 x01;/单片机读取单片机读取adad数据数据DIN=addr&0 x80;/2543DIN=addr&0 x80;/2543读取测量地址位读取测量地址位CLK=1;CLK=1;/;/很短的延时很短的延时CLK=0;/CLK=0;/产生时钟信号产生时钟信号;addr=1;addr=1;ad=1;/ad=1;ad=1;volt=ad;/volt=ad;/取走转换结果(是上一个时钟的结果)取走转换结果(是上一个时钟的结果)volt=voltvolt=volt* *1221;/1221;/对测量值进行处理以符合实际对测量值进行处理以符合实际 此段程序按TLC

23、2543时序图写,是程序的重点,也是难点,要重点理解。因为项目的满量程为因为项目的满量程为5V,转换分辩率为,转换分辩率为12位位为什么要乘以1221?重点理解3/主程序主程序/ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /void main()void main() while(1)while(1) read2543(0);/read2543(0);/调用调用25432543驱动程序测量地址为驱动程序测量地址为0 0display();/display();/调用显示程序调用显示程序 这里为什么是0 呢?要重点理解。这是要传送的就是这是要传送的就是TLC2543控制字,结合控制字每控制字,结合控制字每1位所代表的意思及电路图的理解。位所代表的意思及电路图的理解。二进制00000000,每位的意思?好好理解吧!人有了知识,就会具备各种分析能力,明辨是非的能力。所以我们要勤恳读书,广泛阅读,古人说“书中自有黄金屋。”通过阅读科技书籍,我们能丰富知识,培养逻辑思维能力;通过阅读文学作品,我们能提高文学鉴赏水平,培养文学情趣;通过阅读报刊,我们能增长见识,扩大自己的知识面。有许多书籍还能培养我们的道德情操,给我们巨大的精神力量,鼓舞我们前进。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(数字电压表的设计制作课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|