DS18B20 完整的c51程序有吗 包括正个测试运行过程

来源:百度知道 编辑:UC知道 时间:2024/05/06 20:49:27
对于延时请说明晶振的频率 以及如何在程序中避免死循环

/*DS18b20温度传感器

p3.4作为数据传输口
p1.0~3控制显示led的位选 共阳极 经过PNP后 低电平有效
p0口是led的字形码
晶振:11.0592M
设计者:陈仲库
设计日期:2006年3月29日
*/
#include<reg51.H>
//#include<math.h>
//#include<stdio.h>
//#include <ctype.h>

sbit DQ= P3^4;
sbit p13= P1^3;
sbit p12= P1^2;
sbit p11= P1^1;
sbit p10= P1^0;
int flag;
unsigned char disp1, disp2,disp3,disp0;
unsigned char code ch[]={0xc0,0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82,0xf8,0x80,0x90}; /*0~9*/

void delay(int us) { int s; for ( s=0; s<us; s++);}

void disp()
{
P0 = 0xff;
P0 = disp3;
p13=0;
delay(150);
p13=1;

P0 = 0xff;
P0= disp2;
p12=0;
delay(150);
p12=1;

P0 = 0xff;
P0 = disp1;
p11=0;
delay(150);
p11=1;