第6次《单片机原理和应用》-AD输入.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6次《单片机原理和应用》-AD输入

单片机原理与应用 实验 ;A/D转换器接口及应用;一、转换原理:;1、双积分型A/D转换器工作原理:;双积分ADC电路原理图;MC14433与80C51直接连接的接口;ICL7109与80C51的接口电路图;2、逐次逼近A/D转换原理:;1、结构: 一个8位逐次逼近式A/D转换器、8路模拟转换开关、3-8地址锁存译码器和三态输出数据锁存器.;图 ADC0809时序图 ;3、ADC 0809与单片机连接:;A/D转换程序:(延时等待方法);查询方式  ; 下面的程序是采用查询方法, 分别对 8 路模拟信号轮流采样一次, 并依次把结果转存到数据存储区的采样转换程序。 ;NOP NOP DJNZ R6, DALY MOVX A, @DPTR ; 读取转换结果 MOV @R1, A ; 存储数据 INC DPTR ; 指向下一个通道 INC R1 ; 修改数据区指针 DJNZ R7, LP1 ; 8 个通道全采样完了吗? ;例:;中断服务程序: MOVX A,@DPTR ;读数 MOVX @R0,A ;存数 INC DPTR ;指向下一模拟通道 INC R0 ;指向数据存储区下一单元 RETI;C51程序:;图 ADC0809 中断方式硬件接口 ; 这里将ADC0809 作为一个外部扩展的并行I/O口, 直接由8031的P2.0和WR脉冲进行启动。因而其端口地址为 0FEFFH。用中断方式读取转换结果的数字量, 模拟量输入通道选择端ADD A、ADD B、ADD C分别与8031的P0.0、 P0.1、P0.2 直接相连, CLK由 8031 的ALE提供。其读取通道 0 转换后的数字量程序段如下: ;ORG 0013H AJMP PINT1  PINT1: … MOV DPTR, #0FEFFH MOVX A, @DPTR MOV 50H, A MOV A, #00H MOVX @DPTR, A RETI ; 返回 ; 空调制冷控制系统案例中,根据环境温度控制压缩机工作 , 将空气热量带走,环境温度下降,使环境温度保持在人们设定的温度上(调温范围为10℃~30℃). 在空调制冷系统中, 利用温度传感器将空气温度转化为电信号,但温度传感器输出的是模拟信号,必须经模数转换器转换为数字信号,才能将温度量值送入单片机系统中,实施控制。所以利用ADC0809转换芯片将温度信号转换为电信号,转换结果送入累加器A,然后和原设定温度进行比较,控制压缩机动作与否。;; 在上图中,由热敏电阻RT和电阻R组成了热敏电阻式温度传感器。热敏电阻R的电阻值随环境温度的升高而下降,由T点输出的电压VT也随之下降。VT与环境温度T的关系如下图所示。 当温度在蹭某一范围时,温度传感器特性表示为线性关系,可以用以下公式表示: T=T0-KVT ;设采用的热敏电阻式温度传感器在5℃~100℃内,温度与电压表现为良好的线性关系,表达式为: T=210-2×VT 上图中ADC0809的基准电压为5V,所以P0口数据值对应的电压值为: VT=P0/256 ×5V 对应环境温度值为: T=210-2×P0/256 ×5V=210-(10 ×P0)/256 计算时,取其整数部分: T=210-[(10 ×P0)/256] ; ORG 0100H TIME: SETB P3.1 ;输入数据 SETB P3.0 ;启动下一次模/数转换 MOV P0,#0FFH ; (P0口各位先写“1”,才能读数据,因P0口为准双向口) MOV A,P0 MOV B,#10H ;转换为温度值,忽略小数部分 MUL AB ;(B)=[(10*P0)/256] MOV A,#210 CLR C SUBB A,B MOV B,#10 ;转换为BCD压缩码

文档评论(0)

htfyzc + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档