版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
关于模拟量输入与输出第一页,共三十七页,编辑于2023年,星期二单片机应用系统中的模拟量输入与输出AD转换1DA转换2直流电机控制3AD转换1第二页,共三十七页,编辑于2023年,星期二
需要把外界连续变化的物理量(如温度、压力、流量、速度),通过传感器变成电信号,再将其变成数字量送入单片机内进行加工处理。也需要将单片机输出的数字量转为连续变化的模拟量,用以控制调节一些执行机构,实现对被控对象的控制。这种将模拟量转换为数字量的过程叫做模拟/数字(A/D)转换,将数字量转换为模拟量的过程叫做数字/模拟(D/A)转换。实现这种转换的器件,叫做模/数(A/D)转换器或数/模(D/A)转换器。图8-1是典型的具有模/数转换器和数/模转换器的单片机应用系统。
概述第三页,共三十七页,编辑于2023年,星期二被测控的对象单片微机应用系统传感器采样保持A/D开关控制部件模拟执行部件D/A非电信号模拟电信号图8-1单片机应用系统第四页,共三十七页,编辑于2023年,星期二一、A/D转换原理与接口1A/D转换器常用芯片简介
A/D转换器是将模拟信号转换为数字信号的器件,种类繁多,性能各异。与单片机的接口形式也不尽相同,但大致分为并行接口和串行接口两种。1)ADC0809
ADC0809具有8路模拟量输入,可在程序控制下对任意通道进行A/D转换,输出8位二进制数字量。与单片机之间是并行通信。其内部逻辑结构和引脚如图8-2所示。第五页,共三十七页,编辑于2023年,星期二
ADC0809的引脚功能⑴IN0~IN7:8路模拟信号输入端。⑵C、B、A:8路模拟信号转换选择端。低8位地址中A0~A2连接。由A0~A2地址000~111选择IN0~IN7八路A/D通道。⑶CLK:外部时钟输入端。时钟频率高,A/D转换速度快。允许范围为10~1280KHz。通常由80C51ALE端直接或分频后与0809CLK端相连接。⑷D0~D7:数字量输出端。⑸OE:A/D转换结果输出允许控制端。OE=1,允许将A/D转换结果从D0~D7端输出。通常由80C51的端与0809片选端(例如P2.0)通过或非门与0809OE端相连接。⑹ALE:地址锁存允许信号输入端。
0809ALE信号有效时将当前转换的通道地址锁存。⑺START:启动A/D转换信号输入端。当START端输入一个正脉冲时,立即启动0809进行A/D转换。START端与ALE端连在一起,由80C51WR与0809片选端(例如P2.0)通过或非门相连。⑻EOC:A/D转换结束信号输出端,高电平有效。⑼UREF(+)、UREF(-):正负基准电压输入端。⑽Vcc:正电源电压(+5V)。GND:接地端。第六页,共三十七页,编辑于2023年,星期二表9-8ADC0809通道地址选择表CBA选通的通道000 IN0001IN1010 IN2011 IN3100 IN4101 IN5110 IN6111 IN7第七页,共三十七页,编辑于2023年,星期二2)ADC0809与单片机的接口
图8-5是ADC0809与80C51单片机的接口连接图。ADC0809的转换时钟由单片机的ALE提供。ADC0809的典型转换频率为640KHz,ALE信号频率与晶振频率有关,如果晶振频率取12MHZ,则ALE的频率为2MHZ,所以ADC0809的时钟端CLK与单片机的ALE端相接时,要考虑分频。8051单片机通过地址线P2.0和读写控制线、来控制模拟输入通道地址锁存、启动和输出允许。图8-5ADC0809与80C51接口模拟输入通道地址的译码输入A、B、C由P0.0~P0.2提供,因ADC0809具有通道地址锁存功能,P0.0~P0.2不需锁存。根据P2.0和P0.0~P0.2的连接方法,8个模拟输入通道IN0~IN7的地址依次为FEF8H~FEFFH。第八页,共三十七页,编辑于2023年,星期二ADC0809A/D转换应用举例
[例1]设图8-5接口电路用于一个8路模拟量输入的巡回检测系统,使用中断方式采样数据,把采样转换所得的数字量按顺序依次存于片内RAM的30H~37H单元中。采样完一遍后停止。其数据采集的初始化程序和中断服务程序如下:第九页,共三十七页,编辑于2023年,星期二C语言参考程序:#include<reg51.h>//包含特殊功能寄存器库#include<absacc.h>//包含定义绝对地址访问库#defineucharunsignedchar//定义uchar为无符号字符数据类型#defineIN0XBYTE[0x0000]//定义IN0为通道0的地址staticuchardatax[8];//定义8个单元的数组,存放结果ucharxdata*ad_adr;//定义指向通道的指针uchari=0;//定义变量i,初值为0voidmain(void)//主函数,完成初始化{IT1=1;//外中断INT1为边沿触发EX1=1;//开INT1中断EA=1;//开CPU中断ad_adr=&IN0;//指针指向通道0*ad_adr=i;//启动通道0转换for(;;){;}//等待中断}第十页,共三十七页,编辑于2023年,星期二voidint_adc(void)interrupt0//中断函数{x[i]=*ad_adr;//接收当前通道转换结果i++;//指向下一个单元ad_adr++;//指向下一个通道if(i<8)//判循环8次否{*ad_adr=i;//8个通道未转换完,启动下一个通道返回}else{EA=0;//8个通道转换完,关中断返回EX0=0;}}第十一页,共三十七页,编辑于2023年,星期二2、ADC0832图8-3ADC0832引脚
ADC0832是一种具有串行接口的8位分辨率、双通道A/D转换芯片。具有体积小、兼容性强、性价比高等优点,应用非常广泛。图8-3ADC0832引脚
ADC0832是8引脚双列直插式双通道A/D转换器。5V电源供电,输入电压在0~5V之间,工作频率为250KHZ,转换时间为32μS,一般功耗仅为15mW。引脚排列如图8-3所示。它能分别对两路模拟信号实现模/数转换,可以在单端输入方式和差分输入方式下工作。第十二页,共三十七页,编辑于2023年,星期二ADC0832引脚功能如下:片选使能,低电平芯片使能。
CH0模拟输入通道0,或作为IN+/-使用。
CH1模拟输入通道1,或作为IN+/-使用。
GND芯片参考0电位(地)。
DI数据信号输入,选择通道控制。
DO数据信号输出,转换数据输出。
CLK芯片时钟输入。
Vcc/REF电源输入及参考电压输入(复用)。正常情况下ADC0832与单片机的接口应有4条线,分别是、CLK、DO、DI。但由于DO端与DI端在通信时并未同时有效,并与单片机的接口是双向的,所以电路设计时可以将DO和DI并联在一根线上使用。当ADC0832不工作时,其输入端应为高电平,此时芯片禁用,CLK和DO/DI的电平可任意。当要进行A/D转换时,须先将置于低电平并且保持低电平直到转换完全结束。
第十三页,共三十七页,编辑于2023年,星期二
此时芯片开始转换工作,同时由单片机向芯片时钟输入端CLK输入时钟脉冲,DO/DI端则使用DI端选择的输入通道。在第1个时钟脉冲的下降沿之前DI端必须是高电平,表示启动信号。在第2、3个脉冲的下降沿之前DI端应输入2位数据用于选择通道功能。当DI依次输入为1、0时,只对CH0进行单通道转换。当DI依次输入为1、1时,只对CH1进行单通道转换。当DI依次输入为0、0时,将CH0作为正输入端IN+,CH1作为负输入端IN-进行输入。当DI依次输入为0、1时,将CH0作为负输入端IN-,CH1作为正输入端IN+进行输入。
作为单通道模拟信号输入时,ADC0832的输入电压Vi的范围是0~5V。当输入电压Vi=0时,转换后的值VAL=0x00;而当Vi=5V时,转换后的值VAL=0Xff,即十进制数的255。所以转换后的输出值(数字量D)为:×V
式中,D为转换后的数字量;V为输入的模拟电压。第十四页,共三十七页,编辑于2023年,星期二2)ADC0832与单片机的接口图8-6是ADC0832与AT89C51单片机的接口连接图。正常情况下ADC0832与单片机的接口应有4条线,分别是、CLK、DO、DI。但由于DO端(数据信号输入,选择通道控制)与DI端(数据信号输出,转换数据输出)在通信时并未同时有效,并与单片机的接口是双向的,所以电路设计时可以将DO和DI并联在一根线上使用。ADC0832有2个模拟输入通道,CH0为模拟输入通道0,CH1为模拟输入通道1,由DI端选择输入通道。当要进行A/D转换时,片选信号必须置为低电平,并且保持低电平直到转换完全结束。同时由单片机向芯片时钟输入端CLK输入时钟脉冲。图8-6ADC0832与单片机接口
第十五页,共三十七页,编辑于2023年,星期二[例2]设图8-6接口电路用于一个模拟量输入的检测系统。Ui为待转换的模拟输入电压,要求对Ui连续采样10次,每次采样值经串行A/D转换电路(ADC0832)转换成数字量,并按顺序依次存于片内RAM的30H~39H单元中。采样完10次后停止。第十六页,共三十七页,编辑于2023年,星期二C语言数据采集串行A/D转换参考程序:#include<reg51.h>//包含单片机特殊功能寄存器的头文件#defineucharunsignedchar//定义uchar为无符号字符数据类型staticuchardatax[10];//定义10个单元的数组,存放结果sbitCS=P3^4;//将CS位定义为P3.4引脚sbitCLK=P1^0;//将CLK位定义为P1.0引脚sbitDIO=P1^1;//将DIO位定义为P1.1引脚unsignedcharA_D()//A_D转换函数。功能:将模拟信号转换成数字信号{unsignedchari,dat;//设i和det为无符号字符变量
CS=1;//一个转换周期开始
CLK=0;//为第一个脉冲作准备
CS=0;//CS置0,片选有效
DIO=1;//DIO置1,规定的起始信号
CLK=1;//第一个脉冲
CLK=0;//第一个脉冲的下降沿,此前DIO必须是高电平
DIO=1;//DIO置1,通道选择信号
第十七页,共三十七页,编辑于2023年,星期二CLK=1;//第二个脉冲,第2、3个脉冲下降之前,DI必须分别输入两位数据用于选择//通道,这里选通道CH0CLK=0;//第二个脉冲下降沿
DIO=0;//DI置0,选择通道0CLK=1;//第三个脉冲
CLK=0;//第三个脉冲下降沿
DIO=1;//第三个脉冲下降沿之后,输入端DIO失去作用,应置1CLK=1;//第四个脉冲
for(i=0;i<8;i++)//高位在前
{CLK=1;//第四个脉冲
CLK=0;//第四个脉冲下降沿
dat<<=1;//将下面储存的低位数据向右移dat|=(unsignedchar)DIO;//将输出数据DIO通过或运算储存在dat最低位
}CS=1;//片选无效
returndat;//将读出的数据返回
}第十八页,共三十七页,编辑于2023年,星期二ADC0832时序图第十九页,共三十七页,编辑于2023年,星期二main(void)//主函数{unsignedcharj,g=0;//设j,g为无符号字符变量,j用于及循环次数,g用于数组。unsignedintAD_val;//储存A/D转换后的值for(j=0,j<10,j++)//
{AD_val=A_D();//
x[g]=AD_val //
g++;}}第二十页,共三十七页,编辑于2023年,星期二8.2D/A转换器接口1、DAC转换芯片介绍
D/A转换器是将数字量转换为对应的模拟量的器件,也有很多种类。以DAC0832为例介绍D/A转换器的结构和使用方法。
DAC0832的引脚及功能
DAC0832是一个8位D/A转换器。单电源供电,从+5V~+15V均可正常工作。基准电压的范围为±10V;电流建立时间为1μs;CMOS工艺,低功耗20mW。DAC0832为20引脚,双列直插式封装,其引脚排列如图8-7所示。第二十一页,共三十七页,编辑于2023年,星期二DI0~DI7:8位数据输入端。ILE:输入数据允许锁存信号,高电平有效。:片选端,低电平有效。:输入寄存器写选通信号,低电平有效。:DAC寄存器写选通信号,低电平有效。:数据传送信号,低电平有效。IOUT1、IOUT2:电流输出端。RFB:反馈电流输入端。UREF:基准电压输入端。Vcc:正电源端;AGND:模拟地;DGND:数字地。图8-7DAC0832引脚第二十二页,共三十七页,编辑于2023年,星期二2、DAC0832工作方式用软件指令控制这5个控制端:ILE、、、、,可实现三种工作方式:直通工作方式:5个控制端均有效,直接D/A转换;单缓冲工作方式:两个输入寄存器中任意一个处于直通方式,另一个工作于受控方式。双缓冲工作方式:两个锁存器都处于受控状态。第二十三页,共三十七页,编辑于2023年,星期二1)DAC0832单缓冲方式
在实际应用中,如果只有一路模拟量输出,或虽有几路模拟量但并不要求同步输出时,可采用单缓冲方式。单缓冲方式的两种连接方法如图8-9和图8-10所示。
第二十四页,共三十七页,编辑于2023年,星期二图8-9DAC0832单缓冲方式图8-10用DAC产生锯齿波第二十五页,共三十七页,编辑于2023年,星期二图8-9中,两级寄存器作一级寄存器使用。图8-10中,=0和=0,因此DAC寄存器处于接通方式。而输入寄存器处于受控锁存方式,接8051的,ILE接高电平,此外还应把接高位地址或译码输出,以便为输入寄存器确定地址。
单缓冲方式应用十分广泛,如需要有一个线性增长的电压来控制移动记录笔或移动电子束等。此时可通过在DAC0832的输出端接运算放大器,由运算放大器产生锯齿波来实现,电路连接如图8-10所示。图中若DAC0832的输出端只接一级反向输入的运算放大器,则输出的锯齿波为负向增长得倒锯齿波,图8-10中接2级运算放大器是为了输出正向的锯齿波。第二十六页,共三十七页,编辑于2023年,星期二
对锯齿波的产生作如下几点说明:程序每循环一次,A加1,因此实际上锯齿波的上升沿是由256个小阶梯构成的,但由于阶梯很小,所以从宏观上看就是线性增长的锯齿波。
可通过循环程序段的机器周期数计算出锯齿波的周期,并可根据需要,通过延时的办法来改变波形周期。当延迟时间较短时,可用NOP指令来实现;当需要延迟的时间较长时,可以使用一个延时子程序。延迟时间不同,波形周期不同,锯齿波的斜率就不同。通过A加1,可得到正向的锯齿波;如要得到负向的锯齿波,改为减1指令即可实现。程序中A的变化范围是0~255,因此得到的锯齿波是满幅度的。如要求得到非满幅度锯齿波,可通过计算求得数字量的初值和终值,然后在程序中通过置初值判终值的办法实现。第二十七页,共三十七页,编辑于2023年,星期二锯齿波C语言参考程序:#include<reg51.h>//包含特殊功能寄存器库#include<absacc.h>//该文件用于定义存储器空间的绝对地址#defineucharunsignedchar//定义uchar为无符号字符数据类型#defineDAC0832XBYTE[0x7FFF]//定义DAC0832表示片外地址0x7FFFvoidmain()//主函数{uchari;//变量i为无符号字符数据类型while(1)//无限循环体{for(i=0;i<0xff;i++)//循环256次{DAC0832=i;}//将每次加1变化后的i值送D/A转换}}第二十八页,共三十七页,编辑于2023年,星期二矩形波C语言参考程序如下:#include<reg51.h>//包含特殊功能寄存器库#include<absacc.h>//该文件用于定义存储器空间的绝对地址#defineucharunsignedchar//定义uchar为无符号字符数据类型#defineDAC0832XBYTE[0x7FFF]//定义DAC0832表示片外地址0x7FFFvoiddelay()//延时函数{uchari;//变量i为无符号字符数据类型for(i=0;i<0xff;i++){;}//循环延时}voidmain()//主函数{uchari;//变量i为无符号字符数据类型while(1)//无限循环体{DAC0832=0;//输出低电平delay();//延时DAC0832=0xff;//输出高电平delay();//延时}}用D/A转换还可以产生多种波形。产生矩形波的汇编语言参考程序如下:第二十九页,共三十七页,编辑于2023年,星期二2.DAC0832双缓冲方式图8-12是一个两路同步输出的D/A转换器的接口电路及逻辑框图。P2.5和P2.6分别选择两路D/A转换器的输入寄存器,控制输入锁存;P2.7连到两路D/A转换器的端控制同步转换输出;端与所有的、端相连,在执行MOVX输出指令时,单片机自动输出控制信号。图8-12DAC0832双缓冲方式如果将DAC0832⑴和⑵的输出端接运放后,分别接图形显示器的X轴和Y轴偏转放大器输入端,实现同步输出,则可更新图形显示器的光点位置,从而实现绘图功能。第三十页,共三十七页,编辑于2023年,星期二同步输出C语言参考程序如下(设X轴信号和Y轴信号已分别存于变量i和j中):#include<reg51.h>//包含特殊功能寄存器库#include<absacc.h>//该文件用于定义存储器空间的绝对地址#defineucharunsignedchar//定义uchar为无符号字符数据类型#defineDAC0832_1XBYTE[0xDFFF]//定义DAC0832_1输入寄存器地址#defineDAC0832_2XBYTE[0xBFFF]//定义DAC0832_2输入寄存器地址#defineDACXBYTE[0x7FFF]//定义0832(1)、(2)DAC寄存器地址voidmain()//主函数{uchari,j;DAC0832_1=i;//X轴信号送0832(1)输入寄存器
DAC0832_2=j;//Y轴信号送0832(2)输入寄存器DAC=j;//同步D/A,输出X、Y轴信号
}第三十一页,共三十七页,编辑于2023年,星期二3、直流电机控制图8-14是一个单片机控制直流电动机的简单接口电路示意图。图中设单片机的P3.2口、P3.7口分别接到电动机控制电路的D端和PWM端,通过单片机控制电动机的正转、反转。P1口输入的是经A/D转换器0809转换的数字量TMP。首先,单片机的PWM端(P3.7)输出转动电平,延时一段时间,延时的常数定为TMP;接着再输出停转电平,延时的常数为255-TMP。这样,就可通过改变模拟输入电压的大小(即转换得到的数字量TMP的大小)来改变单片机PWM输出的占空比,从而达到调节电动机转速的目的。
第三十二页,共三十七页,编辑于2023年,星期二图8-15为直流电动机控制程序流程图。
图8-14单片机控制直流电机接口电路示意图
图8-15直流电动机控制程序流程图
第三十三页,共三十七页,编辑于2023年,星期二直流电动机控制C语言参考程序#include<reg51.h>//包含特殊功能寄存器库#defineucharunsignedchar//定义uchar为无符号字符数据类型sbitPWM=P3^7;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农产品出口纠纷仲裁协议(2024年版)
- 温泉度假酒店市场分析与需求预测
- 家庭套餐服务协议
- 省赛模拟考试(三)
- 2024年拉挤树脂项目建议书
- 智能充电桩资金筹措与融资方案
- 物理沙盒练习题
- 中介招商协议
- 2024年电线电缆安装项目专业承包协议
- 安置房建设项目后期运营管理探讨
- 肺疾病护理的新进展与研究
- 贵州省黔东南州2022-2023学年七年级上学期期末文化水平测试数学试卷(含答案)
- 《农村三资管理管理》课件
- 中国56个民族简介(图片很全)
- 炎症性肠病完
- 幼儿园公开课:小班社会《轻轻跑、慢慢跳》课件
- 绘本《罗伯生气了》
- 网络运营培训资料
- 学习动机与问题解决能力的关系
- 模拟电路与数字电路习题题库期末考试试卷及答案半导体器件习题题库期末考试试卷及答案
- 人教版2023-2024学年五年级数学上册常考易考突围第三单元小数除法·应用提高篇【九大考点】(原卷版)
评论
0/150
提交评论