第08章模拟量输入与输出要点分析.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
授课教师:左敬龙 单片机应用系统中的模拟量输入与输出 ADC0809的引脚功能 ⑴ IN0~IN7:8路模拟信号输入端。 ⑵ C、B、A:8路模拟信号转换选择端。 低8位地址中A0~A2连接。由A0~A2地址000~111选择IN0~IN7八路A/D通道。 ⑶ CLK:外部时钟输入端。 时钟频率高,A/D转换速度快。允许范围为10~1280KHz 。 通常由80C51 ALE端直接或分频后与0809 CLK端相连接。 ⑷ D0~D7:数字量输出端。 ⑸ OE:A/D转换结果输出允许控制端。 OE=1,允许将A/D转换结果从D0~D7端输出。通常由80C51的端与0809片选端(例如P2.0)通过或非门与0809 OE端相连接。 ⑹ ALE:地址锁存允许信号输入端。 0809 ALE信号有效时将当前转换的通道地址锁存。 ⑺ START:启动A/D转换信号输入端。 当START端输入一个正脉冲时,立即启动0809进行A/D转换。START端与ALE端连在一起,由80C51WR与0809片选端(例如P2.0)通过或非门相连。 ⑻ EOC:A/D转换结束信号输出端,高电平有效。 ⑼ UREF(+)、UREF(-):正负基准电压输入端。 ⑽ Vcc:正电源电压(+5V)。GND:接地端。 ADC0832时序图 1)DAC0832单缓冲方式 在实际应用中,如果只有一路模拟量输出,或虽有几路模拟量但并不要求同步输出时,可采用单缓冲方式。单缓冲方式的两种连接方法如图8-9和图8-10所示。 同步输出C语言参考程序如下(设X轴信号和Y轴信号已分别存于变量i和j中): #include reg51.h //包含特殊功能寄存器库 #include absacc.h //该文件用于定义存储器空间的绝对地址 #define uchar unsigned char //定义uchar为无符号字符数据类型 #define DAC0832_1 XBYTE[0xDFFF] //定义DAC0832_1输入寄存器地址 #define DAC0832_2 XBYTE[0xBFFF] //定义DAC0832_2输入寄存器地址 #define DAC XBYTE[0x7FFF] //定义0832(1)、(2)DAC寄存器地址 void main() //主函数 { uchar i, j ; DAC0832_1=i; // X轴信号送0832(1)输入寄存器 DAC0832_2=j; //Y轴信号送0832(2)输入寄存器 DAC= j; //同步D/A,输出X、Y轴信号 } 3、直流电机控制 图8-14是一个单片机控制直流电动机的简单接口电路示意图。图中设单片机的P3.2口、P3.7口分别接到电动机控制电路的D端和PWM端,通过单片机控制电动机的正转、反转。P1口输入的是经A/D转换器0809转换的数字量TMP。首先,单片机的PWM端(P3.7)输出转动电平,延时一段时间,延时的常数定为TMP;接着再输出停转电平,延时的常数为255-TMP。这样,就可通过改变模拟输入电压的大小(即转换得到的数字量TMP的大小)来改变单片机PWM输出的占空比,从而达到调节电动机转速的目的。 图8-15为直流电动机控制程序流程图。 图8-14 单片机控制直流电机接口电路示意图 图8-15 直流电动机控制程序流程图 直流电动机控制C语言参考程序 #include reg51.h //包含特殊功能寄存器库 #define uchar unsigned char //定义uchar为无符号字符数据类型 sbit PWM=P3^7; //将PWM定义为P3.7引脚 sbit d=P3^2; //将d定义为P3.2引脚,转向选择位 uchar a, tmp; //定义变量a, 和tmp,用于放时间常数 void delay(uchar i) //延时函数 { uchar j,k; //变量i、k为无符号字符数据类型 for(j=i;j0;j--) //循环延时 for(k=125;

文档评论(0)

挺进公司 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档