第一范文网 - 专业文章范例文档资料分享平台

?????????????????? - ??????

来源:用户分享 时间:2025/7/24 4:52:05 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

void write(uchar dat); //18b20写时序 unsigned char read(void); //18b20读时序

void readtemperature(void); //18b20读二进制16位温度 void yanshi(unsigned int us);

/****************hs1101调用函数*************************/ void readfrequency(void); bit minrange=0; bit maxrange=0; bit T0Over=0;

unsigned char w,x,y;

/******************主函数******************/ void main() {

// 读频率函数// //温度下限标志位// //湿度上限标志位// //定时器结束标记

init(); while(1) {

readtemperature(); write_com(0x80);

write_shuju(table1[dat[0]]); write_com(0x81);

write_shuju(table1[dat[1]]); write_com(0x82);

write_shuju(table1[dat[2]]);

27

}

}

write_com(0x83);

write_shuju(table1[dat[3]]); write_com(0x84);

write_shuju(table1[dat[4]]); write_com(0x85);

write_shuju(table1[dat[5]]); write_com(0x86);

write_shuju(table1[dat[6]]); write_com(0x87);

write_shuju(table1[dat[7]]); write_com(0x88);

write_shuju(table1[dat[8]]); readfrequency();

/*****************1602延时程序*****************/ void delay(uchar z) {

uint a,b; for(a=0;a

for(b=0;b<110;b++);

28

}

/*******************1602初始化**************/ void init() { }

/***************1602写指令*********************/ void write_com(uchar com) { }

/**************1602写数据**********************/ void write_shuju(uchar shuju) {

29

en=0;

write_com(0x38); write_com(0x0c); write_com(0x01); write_com(0x80);

//设置为8位并行,显示2行,5*7点阵显示 //设置显示开 无光标 光标不闪烁 //清屏指令

rs=0; rw=0; P1=com; delay(5); en=1; en=0;

}

rs=1; rw=0; P1=shuju; delay(5); en=1; en=0;

/*************18b20微秒延时********************/ void yanshi(unsigned int us) { }

/************************18b20初始化********/ unsigned char reset(void) {

int s;

for(s=0;s

unsigned char presence; DQ=0;

yanshi(60); //大概480微秒 DQ=1; yanshi(8); presence=DQ; yanshi(14); return(presence);

30

//延时大概50微妙

}

/*************18b20写时序*************************/ void write(unsigned char dat) { }

/***************18b20读时序*********************/ unsigned char read(void) {

unsigned char i; for(i=8;i>0;i--) { }

DQ=0; DQ=dat&0x01; yanshi(16); DQ=1; dat>>=1;

unsigned char i,dat=0; for(i=8;i>0;i--) {

DQ=0; dat>>=1; DQ=1; if(DQ)

dat|=0x80;

31

搜索更多关于: ?????????????????? - ???? 的文档
?????????????????? - ??????.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4bgb81qrhm86wqv5qtz3_7.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top