《中职基于Proteus仿真的单片机技能应用(双色)proteus项目8教学课件 .ppt》由会员分享,可在线阅读,更多相关《中职基于Proteus仿真的单片机技能应用(双色)proteus项目8教学课件 .ppt(66页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、中职 基于Proteus仿真的单片机技能应用(双色)proteus项目8教学课件 高教版 技能应用一 用ADC0809 设计数字电压表 数字电压表显示直观、测量精度高,是当前电工、电子、仪器仪表和测量领域广泛使用的一种基本测量工具。一、实例分析数字电压表是测量直流模拟电压的测量工具,实际就是将被测模拟电压信号送给单片机,由单片机经过处理后以数字的形式显示出来。由于单片机只能接受数字信号,要想测量模拟电压,则需要先对模拟电压进行模/数转换。因此本实例中的数字电压表的测量过程是将被测模拟电压信号转换成数字信号,输入到单片机,单片机对该数字信号进行处理,换算成对应的模拟电压值,并在数码管上显示。二、
2、仿真电路设计本实例中的数字电压表主要由A/D(模/数)转换电路、单片机最小应用系统和数码管显示电路三部分组成,电路图如图8-1所示。项目八 单片机综合技能应用技能应用一 用ADC0809 设计数字电压表图8-1 数字电压表电路 技能应用一 用ADC0809 设计数字电压表 电路中的ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,选通8路模拟输入信号中的一个进行A/D转换。ADC0809是目前国内应用最广泛的8位通用A/D芯片,但Proteus中的ADC0809没有仿真模型,无法仿真,本实例使用
3、ADC0808代替ADC0809。ADC0808是ADC0809的简化版本,功能基本相同。一般在硬件仿真时采用ADC0808进行A/D转换,实际使用时采用ADC0809进行A/D转换。下面对ADC0809作简单介绍:ADC0809的内部逻辑结构框图如图8-2所示。它由8路模拟开关及地址锁存与译码器,8路A/D转换器和三态输出锁存器三大部分组成。技能应用一 用ADC0809 设计数字电压表图8-2 ADC0809内部结构 技能应用一 用ADC0809 设计数字电压表 8路模拟开关用于锁存8路的输入模拟电压信号,且在地址锁存与译码器作用下切换8路输入信号,选择其中一路与A/D转换器接通。地址锁存与
4、译码器在ALE信号的作用下锁存A、B、C上的3位地址信息,经过译码通知8路模拟开关选择通道。ADC0809通道选择表,如表8-1所示。技能应用一 用ADC0809 设计数字电压表表8-1 ADC0809通道选择表 C B A 选择的通道0 0 0 IN00 0 1 IN10 1 0 IN20 1 1 IN31 0 0 IN41 0 1 IN51 1 0 IN61 1 1 IN7技能应用一 用ADC0809 设计数字电压表 8路A/D转换器用于将输入的模拟量转换为数字量,A/D转换由START信号启动控制,转换结束后控制电路将转换结果送入三态输出锁存器锁存,并产生EOC信号。三态输出锁存器用于锁
5、存A/D转换的数字量结果。在OE低电平时,数据被锁存,输出为高阻态;当OE为高电平时,可以从三态输出锁存器读出转换的数字量。ADC0809芯片采用双列直插式封装,共有28引脚,引脚排列如图8-3所示。各引脚的功能如下:技能应用一 用ADC0809 设计数字电压表IN7IN0:模拟量输入通道。ADC0809对输入模拟量的要求主要有:信号为单极性,电压范围0V5V,如果信号输入过小还必须放大。同时,模拟量输入在A/D转换过程中其值应保持不变,而对变化速度较快的模拟量,在输入前应当外加采样保持电路。D7D0:转换结果输出端。该输出端为三态缓冲输出形式,可以和单片机的数据线直接相连。A、B、C:模拟通
6、道地址线。A为低位,C为高位,用于选择模拟通道。其地址状态与通道相对应的关系如表8-1所示。ALE:地址锁存控制信号。当ALE为高电平时,A、B、C地址状态送入地址锁存器中,选定模拟输入通道。图8-3 ADC0809的引脚图技能应用一 用ADC0809 设计数字电压表START:启动转换信号。在START上跳沿时,所有内部寄存器清零;START下跳沿时,启动A/D转换;在A/D转换期间,START应保持低电平。CLOCK:时钟信号。ADC0809的内部没有时钟电路,所需要的时钟信号由外部提供,通常使用频率为500kHz的时钟信号,最高频率为1280kHz。EOC:A/D转换结束状态信号。EOC
7、=0,表示正在进行转换;EOC=1,表示转换结束。该状态信号既可供查询使用,又可作为中断请求信号使用。OE:输出允许信号。OE=1时,控制三态输出锁存器将转换结果输出到数据总线。VREF(+)、VREF(-):正负基准电压。通常VREF(+)接VCC,VREF(-)接GND。当精度要求较高时需要另接高精度电源。技能应用一 用ADC0809 设计数字电压表三、程序设计ADC0809的工作过程如下:1.首先确定A、B、C三位地址,从而选择模拟信号由哪一路输入;2.ALE端接受正脉冲信号,使该路模拟信号进入转换的输入端;3.START端接受正脉冲信号,START的上升沿将逐次逼近寄存器复 位,下降沿
8、启动A/D转换;4.EOC输出信号变低,表示转换正在进行。5.A/D转换结束,EOC变为高电平,标志A/D转换结束。此时,数据已 保存到8位三态输出锁存器中。CPU可以通过使OE信号为高电平,打开ADC0809三态输出,将转换后的数字量读入到单片机。数字电压表程序流程图如图8-4所示。电压数据处理程序主要完成将A/D转换后的数字信号换算为电压值,换算公式为D255VREF。技能应用一 用ADC0809 设计数字电压表图8-4 数字电压表程序流程图技能应用一 用ADC0809 设计数字电压表数字电压表参考程序如下:#include#define uint unsigned int#define uchar unsigned charsbit st=P10;sbit eoc=P11;sbit oe=P12;unsigned int a;unsigned char code seg=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90;void delay(unsigned int j)while(j-);display()unsigned char i,wk=0 x01;/wk变量作位控,初始选通右边第1位