首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
ADSll10自校准模数转换器在称重中的应用
来源:本站整理  作者:佚名  2010-04-08 19:22:03



3 软件设计
    按照硬件电路,采用汇编语言编程,在KeilA51 V8.50环境下调试通过,并成功应用在单片机称重系统中。软件按功能模块,主要由LCD显示控制、ADslllO模数转化、超负荷报警检测、采集数据处理、键盘中断等子程序构成。此处侧重介绍ADSlll0模数转换程序。程序代码如下:
;定义P3.O脚为时钟SCI,P3.1脚为数据SDA
SDA BIT P3.1 ;定义数据
SCL BIT P3.O ;定义时钟
;配置寄存器子程序
SEND:ACALL START;主机发送开始条件
  MOV A,#10010000B ;发送ADSlll0地址(末位为O表示写)
  ACALL S_BIT
  ACALL G_ASK
  JC STOP1 ;如果应答失败,结束通信
  MOV A,#l0011100B;工作在单周期模式
  ACALL S_BIT
  ACALL G_ASK
STOP1: ACALL STOP
  RET
;接收一次转换值(3字节)子程序
READ:ACALL START;主机发送开始条件
  MOV A,#10010001B;发送ADSlllO地址(末位为1表示读)
  ACALL S_BIT
  ACALL G_ASK
  JC STOP2 ;如果应答失败,结束通信
  ACALL READBYTE
  MOV R7,A ;高字节存在R7中
  CLR SDA ;发送应答脉冲
  NOP
  NOP
  SETB SCL
  NOP
  NOP
  CLR SCL
  ACALL READBYTE
  MOV R6,A ;低字节存在R6中
  CLR SDA ;发送应答脉冲
  NOP
  NOP
  SETB SCL
  NOP
  NOP
  CLR SCL
  ACALL READBYTE
  MOV R5,A ;配置寄存器数据存在R5中
  CLR SDA ;发送应答脉冲
  NOP
  NOP
  SETB SCL
  NOP
  NOP
  CLR SCL
STOP2: ACALL STOP
  RET
;I2C开始子程序
START:SETB SDA
  SETB SCL
  NOP
  NOP
  CLR SDA
  NOP
  NOP
  CLR SCL
  NOP
  NOP
  RET
;I2C停止子程序
STOP:CLR SDA
  SETB SCL
  NOP
  NOP
  SETB SDA
  NOP
  NOP
  CLR SCL
  NOP
  NOP
  RET
;I2C检测应答子程序

上一页  [1] [2] [3] [4]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:95,562.50000 毫秒