当前位置:首页 > 医疗电子 > 医疗监控系统
[导读]   1 引言   自动调温光疗系统是一种医用理疗仪器,其原理是采用单片机对可控硅的控制来控制高压下的激光输出器进行理疗,在激光输出器工作的同时对其进行实时温度检测,利用检测到的温度状况决

  1 引言

  自动调温光疗系统是一种医用理疗仪器,其原理是采用单片机对可控硅的控制来控制高压下的激光输出器进行理疗,在激光输出器工作的同时对其进行实时温度检测,利用检测到的温度状况决定可控硅的导通状态,达到改变激光输出器输出功率的目的,得到最佳的疗效。

  根据上述特点,本文选择了单总线数字温度传感器DS18B20进行温度采集,介绍了使用DS18B20的程序代码。为了使可控硅的输出功率连续均匀变化,本文设计了一种利用外部中断和定时器中断实现可控硅移相触发的编程方法,满足治疗光的强度均匀灵敏变化的需要。

  2 调温光疗系统介绍

  2.1系统结构介绍

  本系统由5部分组成:CUP处理单元,键盘输入单元,LCD显示单元,测量温度单元,可控硅控制激光器输出单元。

  CUP处理单元运行系统程序调度所有任务,键盘用于输入系统设定参数及控制状态模式选择,LCD为系统提供了良好的操作界面,测量温度单元负责对激光输出器的温度进行实时检测,可控硅控制输出单元针对设定参数及检测到的温度来控制激光输出器的输出。本文将详细介绍测量温度单元和可控硅控制单元的软硬件设计。

  2.2 系统程序流程介绍

  本医疗系统的程序流程为:系统首先数据进行初始化,这里的初始化主要包括定时器和外部中断的设置,初始化完成后开外部中断,然后系统进行温度采集,根据采集的温度及系统的设置参数来决定定时器定时参数,该定时参数直接决定移相触发可控硅时导通角的大小。接着系统再进行温度采集,选择定时器定时时间参数,依次循环下去。

  在系统循环工作过程中,人工可以通过按键改变系统的各种工作参数,工作参数直接影响控制可控硅导通角的定时器参数的选择。系统的主流程框图如图1(a)所示意。当系统循环执行时,外部过零脉冲信号会使系统进入外部中断服务程序,进而控制可控硅的的导通。

  

  图1:系统程序流程图

  3 测量温度单元介绍

  热电偶或铂电阻,需放大电路和A/D转换实现温度信号采集。为简化系统硬件设计,选用了DALLAS公司生产的单总线数字温度传感器DS18B20。

  DS18B20提供的“一线”总线接口只需一个端口进行通讯;测温范围为-55~+125℃,在-10~+85℃的范围内,精度为±0.5℃;温度以9~12位数字量读出,分辨率为0.0625℃,该精度满足本医用光疗系统的要求;同时DS18B20采用超小型的μSOP封装,体积很小,可以直接敷贴在激光器的前端。由于DS18B20提供的“一线”总线接口只需一个端口与CPU通讯,因此在硬件上,利用单片机AT89C52的一个端口P2.0与DS18B20的DQ引脚相连。

  3.1 DS18B20工作原理及程序

  在对DS18B20进行读写操作之前,CPU首先发出一个复位脉冲,最小脉冲宽度为480μs的低电平信号;然后CPU释放单总线,使之处于接收状态。单总线经过上拉电阻被拉至高电平。当DS18B20检测测到I/0端的上升沿时,就等待15—60μs,再向主CPU发出应答脉冲(60一240μs的低电平信号)。初始化子程序为:

  bit init_18b20(void);

  { bit presence; //用于保存DS18b20对CPU的应答信号

  DQ = 0; //复位脉冲低电平

  delay_20us(25); // 延时500us

  DQ = 1; //复位脉冲高电平

  delay_20us(4); //延时80us

  presence = DQ; //保存DQ的状态

  delay_20us(20); //延时400us

  return(presence);//返回DQ的状态 }

  当主CPU将I/O线从高电平拉至低电平时,且保持时间大于1μs,就作为一个读周期的开始。DS18B20的输出数据在读时序下降沿过后的15μs内有效,在此期间,主CPU应释放I/O线,使之处于读入状态以便读取DS18B20的输出数据。15μs后读时序结束,I/O线经上拉电阻变为高电平。通常读取一位数据至少要60μs,并且在两位数据之间至少要有1μs的恢复期。读温度字节的子程序为:

  byte read_byte(void)

  {byte i; //变量用于循环自加

  byte value = 0;//用于移位操作的临时变量

  for (i=8;i》0;i--)

  {value》》=1;

  DQ = 0;

  NOP_1uS; //延时1us的空操作宏的空操作宏

  DQ = 1;

  NOP_1uS; NOP_1uS; NOP_1uS;

  if(DQ)value|=0x80;

  delay_20us(3); // 延时60us

  }return(value);//返回对到的字节 }

  CPU把I/O线从高电平拉至低电平时,作为—个写周期的开始。写时序包括两种类型:写1时序和写0时序,写1或写0必须保持至少60μs,在两个写周期之间至少有1μs的恢复期。DS18B20在I/O线变低电平后的15—6Oμs的时间内进行采样。

  若I/O线为高电平,即认为写入了一位1;反之,则认为写入了一位0。主CPU在开始写1周期时,必须将I/O线拉至低电平,然后释放,15μs内将I/O线拉至高电平。主CPU在开始写0时,也将I/O拉至低电平,并保持60us的时间。写字节的子程序为:

  void write_byte(char val)//“val”用语传递需要写的字节

  {unsigned char i;// 变量用于循环自加

  for (i=8; i》0; i--)

  {DQ = 0; NOP_1uS; NOP_1uS;

  DQ = val&0x01;

  delay_20us(5); //延时间100us

  DQ = 1;val=val/2; //右移一位

  }delay_20us(5); //延时间100us }

  每次访问DS18B20的操作都是以初始化器件开始,然后发出ROM命令和功能命令。初始化器件会使主机接到应答信号,ROM 命令与各个从机设备的惟一64位ROM 代码相关,允许主机在1一Wire总线上连接多个从机设备时,指定操作某个从机设备。这些命令还允许主机能够检测到总线上有多少个从机设备以及其设备类型,或者有没有设备处于报警状态。

  本系统是只有一个温度传感器的单点系统,利用跳过ROM(SKIP ROM)命令,主机不必发送64 b序列号,从而节约了大量时间。ROM命令后,主机就可以发出指定功能命令(温度转换、读暂存器等)来完成操作。本系统中读取温度的程序为:

  unsigned int Read_Temperature(void)

  { unsigned char a,b;// 用于存储温度数据的变量

  if(init_18b20()==0)

  {write_byte(0xCC); //发送Skip ROM指令

  write_byte(0x44); // 发送温度转换指令

  delay_20us(1);

  if(init_18b20()==0)

  {write_byte(0xCC); //发送Skip ROM指令

  write_byte(0xBE); //发送读取暂存寄存器指令

  a=read_byte(); //读出低八位温度数据

  b=read_byte(); //读出高八位温度数据

  temperature=((b*256+a)/16);//计算出10进制温度值

  }}return(temperature);}

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

DS18B20是常用的数字温度传感器,其输出的是数字信号,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。

关键字: ds18b20 温度传感器 数字信号

#51单片机#DS18B20硬件原理以及通信的工作时序

关键字: ds18b20 通信

DS18B20型智能温度传感器的工作原理

关键字: ds18b20 原理

DS18B20是一款常用的高精度的单总线数字温度测量芯片。具有体积小,硬件开销低,抗干扰能力强,精度高的特点。

关键字: ds18b20 手册

DS18B20是一款常用的高精度的单总线数字温度测量芯片。具有体积小,硬件开销低,抗干扰能力强,精度高的特点。

关键字: ds18b20 引脚图

温度是表征环境的一个重要的参数。在工程领域,尤其像工程热力学等,温度检测非常普遍,对温度精确测量以便实时控制也显得尤为重要。

关键字: ds18b20 传感器 数据采集 matlab编程

单片机除了可以测量电信号外,还可以用与温度、湿度等非电信号的测量,能独立工作的单片机温度检测、温度控制系统已经广泛的应用于很多领域。单片机的接口信号是数字信号,要想用单片机作区温度这类非电信号,就要使用温度传感器将温度信...

关键字: ds18b20 数字温度计

DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。

关键字: ds18b20 数字温度计

温度的测量和控制在激光器、光纤光栅的使用及其他的工农业生产和科学研究中应用广泛。温度检测的传统方法是使用诸如热电偶、热电阻、半导体PN结之类的模拟温度传感器。信号经取样、放大后通过模数转换,再交自单片机处理。被测温度信号...

关键字: at89c51 ds18b20 温度测量

DALLAS公司单线数字温度传感器DS18B20是一种新的“一线器件”,它具有体积小、适用电压宽等特点。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20支持“一线总线...

关键字: ds18b20 多点测温系统
关闭
关闭