火灾自动报警系统设计20140430(8)

2019-01-12 13:55

火灾自动报警系统设计

}

}

if(Temp==2) {

switch(j) {

case 1:shiwei--;if(shiwei<0)shiwei=9;break; case 2:gewei--;if(gewei<0)gewei=9;break;

case 3:xiaoshu--;if(xiaoshu<0)xiaoshu=9;break; } }

toplimit=shiwei*100+gewei*10+xiaoshu; // display_num(toplimit);

Disp1Char(12,1,shiwei+'0'); Disp1Char(13,1,gewei+'0'); Disp1Char(14,1,'.');

Disp1Char(15,1,xiaoshu+'0'); }

/****************************************************************** ** 文件名: ds18b20.c

** Copyright 成都理工大学工程技术学院电计系 ** 创建人: 石坚 ** 日 期: 2012.2.1 ** 修改人: Mr.zhang

** 日 期: 2013.10.13

** 描 述: DS18B20相关底层驱动函数 **

** 全局变量:待显示十进制数组

******************************************************************/ #include \#include \#include %uchar Disp_Dec[8]; int compare;

code uchar DitTab[16]={0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,

0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09}; //温度的

31

火灾自动报警系统设计

小数数组

uchar TempData[2]={0x00,0x00}; sbit DQ=P0^0;

/********************************************************** 函数名称: Delay11us 功 能: 11us延时函数 参 数: 无参数 返回值 : 无

***********************************************************/ void Delay11us(uint t) {

for(;t>0;t--);}

/********************************************************** 函数名称: Ds18b20_Rst

功 能: DS18B20复位函数 参 数: 无参数 返回值 : 无

***********************************************************/ void Ds18b20_Rst(void) {

uchar presence=1; //定义存在脉冲 EA=0;

while(presence) {

while(presence) {

DQ=1;_nop_();_nop_(); _nop_();_nop_(); DQ=0;

Delay11us(255); //延时550us DQ=1;

Delay11us(50); presence=DQ; }

Delay11us(205); //延时500us presence=~DQ; }

DQ=1; EA=1;

32

火灾自动报警系统设计

}

/********************************************************** 函数名称: Read_byte

功 能: DS18B20读一个字节的函数 参 数: 无参数

返回值 : 返回读取的字节value

***********************************************************/ uchar Read_byte(void) {

uchar i;

uchar value=0;

for(i=8;i>0;i--) {

EA=0;

DQ=1;_nop_();_nop_(); value>>=1; DQ=0;

_nop_();_nop_();_nop_();_nop_(); //4us _nop_(); DQ=1;

_nop_();_nop_();_nop_();_nop_(); //4us

// _nop_();_nop_();_nop_();_nop_(); //4us if(DQ) value|=0x80; Delay11us(55); EA=1; }

DQ=1;

return(value); }

/********************************************************** 函数名称: Write_byte

功 能: DS18B20写一个字节的函数 参 数: 8位命令val 返回值 : 返回读取的字节

***********************************************************/ void Write_byte(uchar val) { unsigned char i;

33

火灾自动报警系统设计

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

{

EA=0;

DQ=1;_nop_();_nop_(); _nop_();_nop_();

DQ=0;_nop_();_nop_();_nop_();_nop_();_nop_(); //5us DQ=val&0x01; Delay11us(55); val=val/2; EA=1; }

DQ=1;

Delay11us(15); }

/********************************************************** 函数名称: ReadTemp

功 能: 读取温度函数函数 参 数: 无 返回值 : 无

***********************************************************/

void ReadTemp(void) {

Ds18b20_Rst(); //总线复位

Write_byte(0xcc); //发skim Rom命令 Write_byte(0xbe); //发读命令

TempData[0]=Read_byte(); //存放温度低8位 TempData[1]=Read_byte(); //存放温度高8位 Ds18b20_Rst();

Write_byte(0xcc); //发skim Rom命令,启用存储器操作命令前跳过64位Rom编码命令

Write_byte(0x44); //启动一次温度转换 }

/********************************************************** 函数名称: TempProc

功 能: 处理温度数据的函数 参 数: 无 返回值 : 无

34

火灾自动报警系统设计

***********************************************************/

void TempProc(void) {

uchar n=0; //负温度数据标志 uchar TemTemp; if(TempData[1]>127) {

TempData[1]=(255-TempData[1]); //高位字节直接取反

TempData[0]=(256-TempData[0]);n=1; //低位字节取反加1,并标志负温度数据

} TemTemp=TempData[0]&0x0f; Disp_Dec[6]='C'; Disp_Dec[5]='o';

Disp_Dec[4]=DitTab[TemTemp]+'0'; //取低位字节的小数位,并通过查表转换为十进制数

Disp_Dec[3]='.';

TemTemp=((TempData[0]&0xf0)>>4)|((TempData[1]&0x0f)<<4); Disp_Dec[2]=(TemTemp0)+'0'; Disp_Dec[1]=(TemTemp0)/10+'0'; Disp_Dec[0]=TemTemp/100+'0';

Disp_Dec[7]='\\0';

if(!(TemTemp/100)) //如果最高位为0 {

Disp_Dec[0]='+'; if(!Disp_Dec[1]) {Disp_Dec[1]=' ';} }

if(n){Disp_Dec[0]='-';} //如果为负温度 compare=TemTemp*10+DitTab[TempData[0]&0x0f];

}

#include \bit TempTimems=0;

/********************************************************** 函数名称:Timer0

功 能: 定时器T0中断服务程序,为LED、数码管提供时间基数 参 数: 无参数 返回值 : 无

35


火灾自动报警系统设计20140430(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:毕业论文(自闭症儿童情感交流障碍的相关研究综述)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: