您当前的位置:五五电子网电子知识元器件介绍元器件特点及应用DS18820在ME300B单片机开发系统的应用 正文
DS18820在ME300B单片机开发系统的应用

DS18820在ME300B单片机开发系统的应用

点击数:7949 次   录入时间:03-04 11:54:41   整理:http://www.55dianzi.com   元器件特点及应用

  用数码管显示信息时,要将JP2的②、③端短接。用四位数码管显示温度值,第五位数码管以闪动方式显示状态符号“H”、  “L”和“O”。  “H”表示实际温度大于报警温度TH,超温;“L”表示实际温度小于报警温度TL,欠温;“O”表示实际温度小于TH大于TL,加热。

  2.采用液晶显示  ME300B使用16x2点阵字符型液晶时要将JP2的④、②端短接。TS1620-1主要引脚的功能:

   (1)RS寄存器选择控制线RS=O写入指令寄存器;RS=1写人数据寄存器。 
    (2)R/W读写控制线  R/W=0,LCD执行写人的动作;R/W=l,LCD执行读取的动作。 
    (3)EN启用控制线EN=1,LCD启用有效。(4)DO—D7双向数据总线  采用8位数据读写方式,用AT89S51的P0口传送。

  液晶的第一行显示DSl8820的在线状态“DSl8820 OK”或“DSl8820ERROR'‘。第二行显示温度值和闪动显示状态符号”>H“、  ”<L“和”!!,’。

  “>H”表示超温;  “<L”,表示欠温;“!!”表示加热。使用按键Kl~K4来设定温度报警值和查看相关信息。用蜂鸣器做声音提示,继电器做输出控制。

  3.蜂鸣器、继电器控制电路ME300B使用交流蜂鸣器,采用脉冲方式触发,在使用前要将JP4的P13短接。

  二、DSl8820的控制命令
    1.SKIP ROM【OCCH】  允许总线控制器不提供64位ROM编码就可使用存储器操作命令。

  2.CONVERT TEMP[44H]  启动一次温度变换。

  3.WRITE SCRATCHPAD[4EH]

  向DSl8820的暂存器TH和TL写数据。

  4.READ SCRATCHPAD [0BEH]

  读取DSl8820的暂存器的内容。

  5.  COPY SCRATCHPAD[48H]

  把DSl8820暂存器的内容拷贝到DSl8820的EEPROM存储器里,即把温度报警触发字节存入非易失性存储器。

  6.RECALL EEPROM [OB8H]  把DSl8820的EEPROM存储器里温度报警值拷贝回DSl8820的暂存器,该操作在上电时自动执行。

  三、软件设计控制程序包括主程序、DSl8820复位与检测子程序、读温度子程序、温度数据处理子程序、温度显示子程序、扫描键子程序、报警值设定子程序、温度比较子程序、中断服务程序等。

  1.主程序  主程序检测DSl8820是否存在、然后发出温度转换命令和读温度命令,再调用相应的子程序。

  2。DSl8820复位与检测子程序上电后,检测有无DSl8820。若有DSl8820,将标志位FLAGl置“1”,数码管显示实时温度值。若无,则将FLAGl置“O”,关数码管,蜂鸣器响。

  3.读温度子程序  程序只读出DSl8820高速缓存RAM前4个字节:

  温度LSB、温度MSB、温度报警值TH和11L,并将它们存人26H~29H单元。

  4.温度数据处理子程序  首先判断MSB的符号位,当符号位S=0时表示温度值为正,可以直接将二进制输换为十进制;当符号位S=I时,表示温度值为负,要先将补码变成原码,再计算十进制值。

  5.温度显示子程序  从DSl8820读出的温度值,经过数据处理后,送温度显示子程序显示实时温度。

  6.扫描键子程序  K1为查看温度报警值。K3为设定温度报警值。设定完毕,将温度报警值存入DSl8820的EEPROM中。每次开机自动从DSl8820的EEPROM读出温度报警值。

  7.温度比较子程序  当实时温度大于TH时,继电器断开,停止加热;当实时温度小于TH大于TL时,继电器吸合,开始加热;当实时温度小于TL时,表示加热部分出现故障。

  8.中断服务子程序每间隔200ms对闪动标记FLAG2取反一次。

  FLAG2=1时,给相应的数码管送熄灭符;当FLAG2=0时,给相应的数码管送实时值,形成闪动效果。

  编程的具体细节请参阅ME300B光盘中的温度控制演示程序。




本文关键字:单片机  开发  元器件特点及应用元器件介绍 - 元器件特点及应用