Chinaunix首页 | 论坛 | 博客
  • 博客访问: 166265
  • 博文数量: 207
  • 博客积分: 10280
  • 博客等级: 上将
  • 技术积分: 2600
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-11 11:01
文章分类

全部博文(207)

文章存档

2011年(1)

2008年(206)

我的朋友
最近访客

分类:

2008-10-24 08:32:05

基于数字温度传感器的单片机温度测控系统设计

Assemble Language Program Design of Temperature Sampling for AD7416
Abstract:   This essay mainly discusses the system of temperature measure and control based on digital thermometer. When applying the method used to realize subtraction in microcomputer to MCU assemble language program design for digital thermometer AD7416. The paper gives simplified hardware of the temperature –measure-and-control system, and temperature sampling subprogram and its flow chart in keeping with the characteristics of MCS-51 assemble language.
Key words:   Digital temperature sensor;AD7416;MCU
摘要: 论述了基于数字温度传感器的单片机温度测控系统。把PC机中实现减法运算的方法运用到MCU的汇编语言程序设计中,从而完成了AD7416的温度采样汇编语言程序设计。文章给出了温度测控系统简化电原理图以及符合MCS—51汇编语言特点的温度采样子程序及其流程框图。
关键词: 数字温度传感器;AD7416;单片机
1 程序设计思想
在应用数字温度传感器的单片机(简称MCU)温度测控系统中,数字温度传感器把被测温度转换为带符号位的二进制数据,MCU从传感器读入这些表示温度高低的二进制数据时,必须先经过数字滤波消除干扰的影响,而读入这些二进制数据后一般要按照预定的算法完成一些运算,最后得到控制信号从MCU的I/O囗输出。常用的半导体数字温度传感器有AD7416、等,它们能把温度(-55℃~+125℃)转换为补码形式的二进制数。如图1所示,这是一个温度测控系统的部分电路原理图,图中AD7416是美国AD公司生产的半导体数字温度传感器,它具有I2C串行总线接囗。按照系统设计要求,MCU需要通过AD7416采样温度256次,每一次温度采样后求温度值的累加和,16bit的累加和存放在MCU的内存单元27H、28H中,当温度采样到256次时,求温度的算术平均值并将其转换为BCD码保存到MCU的内存单元4CH、4DH中。

从计算机原理可知,引入补码后,在PC机中减法是通过加法来实现的。可以证明y-x=y+[-x]补 ,在完成等式右边的加法运算时应舍弃可能产生的进位。根据这个道理,本系统温度采样后得到的8bit温度值(补码形式,已存放在累加器A中)累加到27H、28H单元的方法应该是:
⑴  若A为正数,则完成下列运算
[(27H)(28H)]+A→[(27H)(28H)]
⑵  若A为负数(已用补码表示),则应把8bit的负数转换为16bit的补码,然后将16bit的补码累加到27H、28H单元中。将8bit的负数转换为16bit的补码方法是,在8bit的负数前面添加0FFH作为高8位从而扩展成为16bit的补码。
2 温度采样子程序流程框图
温度采样子程序流程框图如图2所示,该子程序流程框图是结合MCS—51汇编语言的特点而绘制出来的,根据该流程框图,不难写出相应的MCS—51汇编语言温度采样子程序。

入囗参数:无
出囗参数:27H、28H是温度值累加和;4BH单元存放温度平均值的“+、-”符号的ASCII码;4CH、4DH单元存放温度平均值的十位、个位(BCD码)。
占用资源:累加器A;寄存器B;MCU的内存单元25H、26H、27H、28H、4CH、4DH。
3 温度采样子程序清单
:  PUSH B
   PUSH PSW
        LCALL BY
      MOV 25H,#0
  JNB ACC.7,LOOP1
      DEC 25H
LOOP1:  ADD A,28H
      MOV 28H,A
      MOV A,27H
      ADDC A,25H
      MOV 27H,A
      DJNZ 26H,LOOP5
      MOV 26H,#8
LOOP2:  MOV A,27H
      RRC A
      MOV 27H,A
      MOV A,28H
      RRC A
      MOV 28H,A
      DJNZ 26H,LOOP2
      MOV 26H,#0
      MOV A,28H
      MOV 27H,#0
      MOV 28H,#0
      MOV B,#0AH
      JB ACC.7,LOOP3
      MOV 4BH,#02BH
      SJMP LOOP4
LOOP3:   CPL A
      INC A
      MOV 4BH,#02DH
LOOP4:   DIV AB
      MOV 4CH,A
      MOV 4DH,B
LOOP5:  POP PSW
   POP B
        RET 
 
参 考 文 献
[1] 何立民.单片机高级教程.北京:北京航空航天大学出版社,2000.
[2] 何立民.单片机接口技术.北京:北京航空航天大学出版社,1992.  
         
作者简介:欧伟明(1963~),男,株洲工学院电气工程系副教授  主要研究方向:检测技术,信号处理,EDA技术
通信地址:株洲工学院电气工程系 邮政编码:412008
Email:ouweimin28@sina.com  


    本文可能所用到的IC型号:    
阅读(447) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~