课程设计 单片机做数字温度计

来源:百度知道 编辑:UC知道 时间:2024/05/28 18:27:54
使用bs18b20
温度超过上下限报警
汇编代码+电路图
谢谢!
电子邮箱:zhoubo61@126.com
我们学的是汇编语言,c不大会!麻烦电路图给下,没有就不懂编哪个管脚了

给你个C51编写的DS18B20程序,自己去看,很简单的,上下限报警,就加个判断就OK了,还是自己去做一部分,如果有人全帮你做了,他就没安好心,恰恰是在害你,害中国的青年!
代码如下:
/*DS18B20数字温度传感器*/
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
extern void _nop_(void);
#define nop1 _nop_()
#define nop nop1;nop1;
sbit DQ=P3^2;
uchar code table[]={
0x09,0x7d,0x07,0x15,0x71,
0x91,0x81,0x3d,0x01,0x11,
0x21,0xc1,0x8b,0x45,0x83,0xa3,0xff};
uchar dis[]={0,0,0,0};

void delay(uchar z)
{
uchar x,y,j;
for(x=0;x<z;x++)
{for(y=200;y>0;y--)
{for(j=0;j<10;j++);
}
}

}

void delay_us(del)
{
while(del>0)
{ del--;
}
}

void init_DS18B20()
{
DQ = 1; //DQ复位
delay_us(3); //稍做延时
DQ=0; //复位脉冲
delay_us(40); //延时约480us
DQ=1;
//延时约25us
while(DQ); //检测存在脉冲
delay_us(13);
}

vo