- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《电子温度计_DS18B20_程序_电路图》.doc
它的功能是:
1.读出当前温度值。
2.可通过按键调整报警温度上下限。按第一个键,进入温度上线调节模式,第二个键温度加,第三个键温度减,再按一下第一个键,进入温度下线调节模式,第二个键温度加,第三个键温度键,再按一下第一个键,正常显示当前温度。
3.当进入报警温度上下限调节时,红灯亮,当显示当前温度是,绿灯亮。
4.当当前温度超过上限温度时,或者低于下限温度时,蜂鸣器报警且黄灯闪烁。
需要说明的是,
一般情况下,DQ引脚应该有一个上拉电阻来拉高电平,但是我通过观察发现,初始状态下,89C52单片机的引脚都为高电平,故我将上拉电阻去除,1820与单片机正常通信,加上上拉电阻,反而不能正常通信。
#include reg52.h
#includeintrins.h
#define uchar unsigned char
#define uint unsigned int
sbit DQ=P3^0;
sbit Speak=P1^7;
sbit Out=P3^2;
sbit Button1=P1^4;
sbit Button2=P1^5;
sbit Button3=P1^6;
sbit Ledblue=P1^0;
sbit Ledred=P1^1;
bit Point;
uint T;
int Up=980,Down=300,Tplace=0;
code uchar Ledcode[]={0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x8f}; /*数码管显示的数字0123456789℃*/
code uchar Ledcode_s[]={0xbf,0x86,0xdb,0xcf, /*带小数点数码管显示0123456789 0xe6,0xed,0xfd,0x87,
0xff,0xef,0x40};
code uchar Ledplace[]={0,0x1e,0x1d,0x1b,0x17,0x0f}; /*数码管的位置1 2 3 4 5 位*/
void Delay_2us(uchar num_us) /*可调度为2us,最大误差为6us,最大延时510us*/
{
while(--num_us)
;
}
void Delay_8us(uint num_us) /*最大误差263us*/
{
while(--num_us);
}
void Delay_ms(uint num_ms) /*延时 毫秒*/
{
uint i;
while(num_ms--)
{
for(i=0;i123;i++)
;
}
}
void Speaker() /*蜂鸣器 响*/
{
uint i=50;
while(--i)
{
Speak=~Speak;
Delay_8us(500);
}
}
void Nospeaker() /*蜂鸣器 不响*/
{
Speak=0;
}
bit Reset() /*复位*/
{
bit flag;
DQ=1;
_nop_();
DQ=0;
Delay_8us(70);
DQ=1;
Delay_2us(20);
flag=DQ;
Delay_2us(70);
DQ=1;
Delay_2us(70);
return flag;
}
void Writedata(uchar dat) /*写数据*/
{
uchar i;
bit flag;
for(i=0;i8;i++)
{
flag=dat0x01;
DQ=1;
_nop_();
DQ=0;
Delay_2us(5);
DQ=flag;
Delay_2us(40);
dat=dat1;
DQ=1;
Delay_2us(2);
}
}
Readdata() / *读数据*/
{
uchar i=0,dat=0;
bit flag=0;
for(i=0;i8;i++)
{
DQ=1;
_nop_();
DQ=0;
Delay_2us(5);
DQ=1;
flag=DQ;
Delay_2us(30);
DQ=1;
Delay_2us(5);
dat=dat1;
if(flag)
{
dat|=0x80;
}
Delay_2
您可能关注的文档
最近下载
- 《七律二首 送瘟神》-中职语文高二同步课件精选(高教版2023·职业模块).pptx VIP
- 高考蓝皮书·物理试题分析2025.docx VIP
- 综合实践活动 开学第一课 2024-2025学年综合实践活动开学第一课课件.pptx VIP
- 高标准农田监理大纲方案投标文件(技术方案).doc
- 小儿过敏性休克抢救流程.pptx VIP
- 液压与气压传动技术完整整套教学课件.pdf VIP
- 技术标投标文件监理大纲.doc VIP
- 2025 年成都市三年级数学秋季开学摸底考 - 冲刺卷及答案(北师大版).docx VIP
- 最新2025年《初中初三开学第一课》全文.pptx VIP
- 姓氏的由来演讲课件(张姓).pptx VIP
文档评论(0)