完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
#include
#include #define uint unsigned int #define uchar unsigned char ***it dula=P2^6; ***it wela=P2^7; ***it DQ=P3^4; uint temp; uchar code table[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; void delay(uint x) { uchar i; while(x--); for(i=0;i<120;i++); } void delay1(uint a) { while(--a); } void disp(uchar num)//显示函数 { uchar shi,ge; shi=num/10; ge=num%10; dula=1; P0=table[shi]; dula=0; P0=xff; wela=1; P0=0xfe; wela=0; delay(5); dula=1; P0=table[ge]; dula=0; P0=0xff; wela=1; P0=0xfd; wela=0; delay(5); } uchar init_18b20() { uchar a; DQ=1; //高电平 的延时 delay1(8); //拉低总线 DQ=0; //480-960us; delay1(90); DQ=1;//释放总线 _nop_(); _nop_(); a=DQ;//检测总线 delay1(100); DQ=1;//拉高总线 return(a); } void write(uchar dat) { uchar i; for(i=0;i<8;i++) { DQ=0; DQ=dat&0x01;//0000 0001 delay1(5); DQ=1; dat>>=1 } } uchar read() { uchar i;dat=0; DQ=1; _nop_(); for(i=0;i<8;i++) { DQ=0; _nop_(); _nop_(); dat>>=1; DQ=1; _nop_(); _nop_(); if(DQ) dat|=0x80; delay1(30); DQ=1; } return(dat) } void read_tu() { uchar a,b; init_18b20(); write(0xcc); write(0x44); init_18b20(); write(0xcc); write(0xbe); a=read(); b=read() b<<=4; b+=(a&0xf0)>>4; return b; } void main() { delay(30); while(1); { temp=read_tu(); disp(temp); } } 这是温度报警器的程序,设置了高于70度低于-20度 报警,我想把数值改下,要怎么改啊
|
|
相关推荐
3个回答
|
|
你确定你那个程序有报警的功能?
|
|
|
|
|
|
自己解决啊,多调试啊,这样才能学到东西啊!
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-使用AHT20进行环境监测之AHT20传感器介绍
203 浏览 0 评论
761 浏览 0 评论
806 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
743 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
1195 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11811 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-28 03:44 , Processed in 0.685676 second(s), Total 77, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号