单片机C语言-第7章-并行扩展的C51编程3课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《单片机C语言-第7章-并行扩展的C51编程3课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 语言 并行 扩展 C51 编程 课件
- 资源描述:
-
1、D/A转换器转换器(Digital to Analog Converter)能把数字量转换为模拟量的电子器件(简称为DAC)。A/D转换器转换器(Analog to Digital Converter)能把模拟量转换成相应数字量(简称为ADC)。单片机测控系统中的ADC和DAC 7.3 A/D与与D/A的的C51编程编程7.3.1 D/A转换器基础转换器基础 电流输出型电流输出型D/A转换原理RVIREF总电流分支电流2iniIIRBRRVVDDDDVIIREFREFREFnininiiniiniiiDDID256256)2222(001166771010100122转换电流DAC0832外接
2、放大器反馈电阻转换电压25625601VBVBRIVREFREFfboRR转换电压与VREF和B成正比(与R无关),转换电压转换电压Vo与与VREF和和(D0D7)成正比。成正比。DAC的性能指标:1、分辨率分辨率通常将DAC能够转换的二进制的位数能够转换的二进制的位数n称为分辨率称为分辨率;一般n=8位、10位、12位、16位等;有时也将最小输出电压叫做分辨率分辨率 n 一定时,最小输出电压Vmin与VREF成正比;例如 n=8时,若VREF=10V,则Vmin=10V/25639.1mV;若VREF为5V,则Vmin19.5.1mV2、转换时间转换时间将一个数字量转换为稳定模拟信号所需的时
3、间称为转换时间;一般DAC的转换时间在几十纳秒(ns)几微秒(s)。DA转换芯片:DAC083220只引脚主要特性参数主要特性参数8位DA转换器分辨率 19.5mV(VREF=5V)转换时间 1s电流输出型数字量并行输入方式参考电压 -10V10V工作电压 5V15V功耗 20m VREF8GND3VCC20CS1WR12DI34DI25DI16DI07RFB9GND10IOUT111IOUT212DI713DI614DI515DI416XFER17WR218ILE(BY1/BY2)19DAC0832DAC0832的结构内部组成:1个8位输入锁存器1个8位DAC寄存器1个8位D/A转换器5个控
4、制端(2级控制)工作过程工作过程:8位并行数据到达输入锁存器输入锁存器输入端;1级控制允许后,数据到达DAC寄存器寄存器输入端;2级控制允许后,数据达到D/A转换器;转换器;s后,转换电流由Iout1引脚输出。第1级第2级【例【例7-4】DAC0832单缓冲方式举例。单缓冲方式举例。通过电压表测量通过电压表测量DAC0832转换转换输出的电压值。输出的电压值。#include#include#define uchar unsigned char#define DAC0832 XBYTE0 x7fff /DAC032的端口地址为7FFFHvoid main()P1=0 xff;/P1口为输入口w
5、hile(1)DAC0832=P1;/P1口的内容作为D/A转换器的输入【例【例7-5】双缓冲器工作方式示例双缓冲器工作方式示例。两路模拟量同步输出电路原理图#include#define INPUTR1 XBYTE0 xdfff#define INPUTR2 XBYTE0 xbfff#define DACR XBYTE0 x7fff#define uchar unsigned charvoid delay()unsigned int i;for(i=0;i2500;i+);void main()while(1)INPUTR1=0 x80;/第一个值送入1#DAC0832 INPUTR2=0
6、xff;/第二个值送入2#DAC0832 DACR=0;/两值同时输出 delay();INPUTR1=0 x00;INPUTR2=0 x00;DACR=0;delay();【例例7-6】生成阶梯波。生成阶梯波。#include#include#define uchar unsigned char#define DAC0832 XBYTE0 x7fffvoid main()uchar i=0;while(1)for(i=0;i256;i+)DAC0832=i;/从0开始到0FFH 【例例7-7】产生三角波。产生三角波。#include#include#define uchar unsigned
7、 char#define DAC0832 XBYTE0 x7fff /DAC0832端口地址7FFFHvoid main()uchar i=0;while(1)for(i=0;i0;i-)DAC0832=i;/下降阶段 【例例7-8】生成矩形波。生成矩形波。#include#include#define uchar unsigned char#define DAC0832 XBYTE0 x7fffvoid delay1()uchar j;for(j=0;j250;j+);void delay2()uchar j;for(j=0;j250;j+);void main()uchar i=0;whi
8、le(1)DAC0832=0 xff;delay1();DAC0832=0;delay2();【例例7-9】生成正弦波。生成正弦波。#include#include#define uchar unsigned char#define DAC0832 XBYTE0 x7fffcode uchar sintab=0 x7f,0 x89,0 x94,0 x9f,0 xaa,0 xb4,0 xbe,0 xc8,0 xd1,0 xd9,0 xe0,0 xe7,0 xed,0 xf2,0 xf7,0 xfa,0 xfc,0 xfe,0 xff;void delay()uchar j;for(j=0;j25
展开阅读全文