- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
DS18B20温度传感器C程序
unsignedcharLedBuff[12]={
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};
inttemp=1;
unsignedcharflg;
unsignedcharT0RH,T0RL;
voidConfigTimer0(unsignedintms) //开内部定时器延时,到时间后触发中断。
{
unsignedlongtmp;
tmp=/12;
tmp=(tmp*ms)/1000;
tmp=65536-tmp;
tmp=tmp+18;
T0RH=(unsignedchar)(tmp8);
T0RL=(unsignedchar)tmp;
TMOD=0xF0;
TMOD|=0x01;
TH0=T0RH;
TL0=T0RL;
ET0=1;
TR0=1;
}
voidLedScan() //数码管扫描程序。
{
staticunsignedchari=0,a=0xF8;
P1=0xFF;//P1是数码管数据引脚,注意跟据实际情况修改
P0=(P0a)|a; //P0是138译码器数据输入引脚,注意跟据实际情况修改
我这里12个数码管,2个138译码器,所以最大扫描到0x04.
P1=LedBuff[i];
if(isizeof(LedBuff)-1)
i++;
else
i=0;
if(a==0x04)a=0xF8,P0=0xF8; //12个数码管,范围从0xF8到0x04,不用纠结这个,跟电路有关系,12个数码管得用2个138译码器。
a++;
}
voidmain()
{
unsignedchars=0;
P0=0xF8;
Start18B20(); //启动检测18B20器件,如有此器件,写入命令。
ConfigTimer0(2); //启动内部定时器延时。
while(1)
{
if(flg==1)//每中断200次这里flg值1,采集18B20的时间不要太快,建议大约延时1秒一次。
{ Start18B20();
s=Get18B20Temp(temp); //给18B20一个存放数据的变量。
flg=0;
if(s)
{
LedBuff[6]=LedChar[(temp4)/10];//取数据高位
LedBuff[5]=LedChar[(temp4)%10]0x7F;//取数据低位
LedBuff[4]=LedChar[(temp0xF)*625/1000];//取小数1位。
}
else
{
;//没有检测到器件时错误处理。
}
}
}
}
voidInterruptTimer0()interrupt1
{
static unsignedcharn=0;
TH0=T0RH;
TL0=T0RL;
LedScan();
n++;
if(n==200)n=0,flg=1;
}
18B20.c
#includereg52.h
#includeintrins.h
sbitIO_18B20=P3^2;
externinttemp;
voidDelayX10us(unsignedchart)
{
do{
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
}while(--t);
}
bitGet18B20Ack()
{
bitack;
EA
您可能关注的文档
- Docker文件系统的分层与隔离.docx
- DOI标识认识、利用.docx
- DOP增塑剂的生产工艺过程.doc
- DORP-OTHERS-青部-福星幼儿园-米奇班教师个人总结-教师总结.doc
- DOS常用命令(同名1562).doc
- DOS环境下硬盘分区图解.doc
- DOS命令详细解说.doc
- DOS下操作数据库基本语法(简明扼要).doc
- dota2国服的安装和无激活码使用电脑AI.docx
- DOTA补刀技巧总结合集.docx
- 2024年中国钽材市场调查研究报告.docx
- 2024年中国不锈钢清洗车市场调查研究报告.docx
- 2024年中国分类垃圾箱市场调查研究报告.docx
- 2024年中国水气电磁阀市场调查研究报告.docx
- 2024年中国绿藻片市场调查研究报告.docx
- 2010-2023历年初中毕业升学考试(青海西宁卷)数学(带解析).docx
- 2010-2023历年福建厦门高一下学期质量检测地理卷.docx
- 2010-2023历年初中数学单元提优测试卷公式法(带解析).docx
- 2010-2023历年初中毕业升学考试(山东德州卷)化学(带解析).docx
- 2010-2023历年初中毕业升学考试(四川省泸州卷)化学(带解析).docx
文档评论(0)