片机应用技术(c语言版)王静霞主编ch

上传人:san****019 文档编号:70786556 上传时间:2019-01-18 格式:PPT 页数:24 大小:479.51KB
返回 下载 相关 举报
片机应用技术(c语言版)王静霞主编ch_第1页
第1页 / 共24页
片机应用技术(c语言版)王静霞主编ch_第2页
第2页 / 共24页
片机应用技术(c语言版)王静霞主编ch_第3页
第3页 / 共24页
片机应用技术(c语言版)王静霞主编ch_第4页
第4页 / 共24页
片机应用技术(c语言版)王静霞主编ch_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《片机应用技术(c语言版)王静霞主编ch》由会员分享,可在线阅读,更多相关《片机应用技术(c语言版)王静霞主编ch(24页珍藏版)》请在金锄头文库上搜索。

1、本章内容 A/D转换器接口 D/A 转换器接口,第6章 A/D与D/A转换接口,A/D 转换器接口,A/D转换器是实现模拟量向数字量转换的器件,按转换原理可分为四种:计数式A/D转换器、双积分式A/D转换器、逐次逼近式A/D转换器和并行式A/D转换器。 目前最常用的A/D转换器是双积分式A/D转换器和逐次逼近式A/D转换器。前者的主要优点是转换精度高,抗干扰性能好,价格便宜,但转换速度较慢,一般用于速度要求不高的场合。后者是一种速度较快、精度较高的转换器,其转换时间大约在几微秒到几百微秒之间。,A/D 转换器接口,ADC0809是一个8位8通道的逐次逼近式AD转换器。,A/D 转换器接口,通道

2、选择表,A/D 转换器接口,CLK:时钟信号,可由单片机ALE信号分频得到。,转换步骤,ALE信号上升沿有效,锁存地址并选中相应通道。 ST信号有效,开始转换。A/D转换期间ST为低电平。 EOC信号输出高电平,表示转换结束。 OE信号有效,允许输出转换结果。,A/D 转换器接口,ADC0809 引脚图,A/D 转换器接口,ADC0809 引脚图,(1)IN7IN0:8个模拟量输入通道。 (2)ADDA、ADDB、ADDC:地址线。 (3)ALE:地址锁存允许信号。对应ALE上升沿,ADDA、ADDB和ADDC地址状态送入地址锁存器中,经译码后输出选择模拟信号输入通道。 (4)START:转换

3、启动信号。对应START上跳沿时,所有内部寄存器清0;对应START下跳沿,开始进行A/D转换;在A/D转换期间,START应保持低电平。 (5)D7D0:数据输出线,为三态缓冲输出形式,可以和单片机的数据线直接相连。,A/D 转换器接口,ADC0809 引脚图,(6)OE:输出允许信号,用于控制三态输出锁存器向单片机输出转换得到的数据。当OE=0时,输出数据线呈高电阻;当OE=1时,输出转换得到的数据。 (7)CLK:时钟信号。ADC0809的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟信号引脚。通常使用频率为500kHz的时钟信号(8)EOC转换结束状态信号。启动转换后,系统自动设

4、置EOC=0,转换完成后,EOC=1。该状态信号既可作为查询的状态标志,又可以作为中断请求信号使用。 (9)Vref:参考电源。参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准,其典型值为+5V(Vref (+) =+5V,Vref(-) =0V)。,A/D 转换器接口,单片机系统扩展三总线,A/D 转换器接口,单片机系统扩展三总线 地址锁存器74LS373是带三态缓冲输出的8D锁存器。由于单片机的数据线与地址线的低8位共用P0口,因此必须用地址锁存器将地址信号和数据信号区分开。74LS373的锁存控制端G直接与单片机的锁存控制信号ALE相连,在ALE的下降沿锁存低8位地址。高8位地址

5、由P2口直接提供。 系统扩展中常用的控制线有以下三条: :控制程序存储器的读操作,在执行指令的取指阶段和从程序存储器中取数据时有效。 :控制数据存储器的读操作,从外部数据存储器或I/O端口中读取数据时有效。 :控制数据存储器的写操作,向外部数据存储器或I/O端口中写数据时有效。,A/D 转换器接口,ADC0809与8031单片机的连接,A/D 转换器接口,ADC0809的通道地址表,A/D 转换器接口,单片机与A/D转换器接口程序设计,主要有以下四个步骤: 启动A/D转换,START引脚得到下降沿。 查询EOC引脚状态,EOC引脚由0变1,表示A/D转换过程结束。 允许读数,将OE引脚设置为1

6、状态。 读取A/D转换结果。,D/A 转换器接口,#include /该头文件中定义XBYTE关键字 #include #define uchar unsigned char #define IN0 XBYTE0xfef8 /设置AD0809的通道0地址 sbit ad_busy=P33; /定义EOC状态 void ad0809(uchar idata *x) uchar i; uchar xdata *ad_adr; /定义指向外部RAM的指针 ad_adr= /采样AD0809通道的值 ,指针,指针变量的定义 数据类型 *指针变量名; 例如: int i,j,k,*i_ptr; /定义整

7、型变量i,j,k和整型指针变量i_ptr,为变量i赋值的方法有以下两种: 直接方式: i=10; /将整数10送入地址为2000和2001的单元内(整型数据占两个存储单元2000和2001) 间接方式: i_ptr= /将整数10送入i_ptr指向的存储单元中,即2000单元,指针,指针运算符 (1)取地址运算符 取地址运算符 /将i_ptr所指的单元2000的内容10赋给变量j,则j=10,指针,指针变量的赋值运算 把一个变量的地址赋予指向相同数据类型的指针变量 int i,*i_ptr; i_ptr= 这里应该说明的是,并不是把整个字符串装入指针变量,而是把存放该字符串的字符数组的首地址装

8、入指针变量。,D/A 转换器接口,D/A转换器输入的是数字量,经转换后输出的是模拟量。DAC0832是一个8位D/A转换器。单电源供电,从+5V+15V范围均可正常工作。基准电压的范围为10V;电流建立时间为1s;CMOS工艺,低功耗(仅为20mW)。,D/A 转换器接口,DAC0832 内部结构框图,D/A 转换器接口,DAC0832 内部结构框图 DAC0832由输入寄存器和DAC寄存器构成两级数据输入锁存。使用时数据输入可以采用两级锁存(双锁存)形式、或单级锁存(一级锁存,另一级直通)形式,或直接输入(两级直通)形式。 此外,由三个与门电路可组成寄存器输出控制逻辑电路,该逻辑电路的功能是

9、进行数据锁存控制。当=0时,输入数据被锁存;当=1时,锁存器的输出跟随输入的数据。,D/A 转换器接口,DAC0832各引脚信号说明,D/A 转换器接口,单片机与DAC0832单缓冲连接方式,D/A 转换器接口,单片机与DAC0832单缓冲连接方式产生三角波程序 #include /绝对地址访问头文件 #include #define uchar unsigned char #define uint unsigned int #define DA0832 XBYTE0x7fff void delay_1ms(); /延时1ms程序 void main(void) uchar i; TMOD=0x10; /置定时器1为方式1 while(1) for(i=0;i=0;i-) /形成三角波输出值,最大255 DA0832=i; /D/A转换输出 delay_1ms(); ,D/A 转换器接口,DAC 0832 的双缓冲方式连接,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号