下面的是小弟手写的DS18b20与ST7flite29 的温度采集程序
请大家参考
有问题的话请大虾指点迷津
#include "ST7FLITE29.h" // ST7FLITE2
void delay(unsigned int n) { for(;n>0;n--) ; }
void reset(void) { PADDR = 0X01; PAOR = 0X00; PADR = 0X01; PADR = 0X00; delay (96);//550 PADDR = 0X00; delay (8) ;//55 PBDR = PADR; delay (36);// } void w_byte(char val) { char i; for(i=8;i>0;i--) { PADDR=0X01;//拉低总线 产生写时隙 PADR =val&0X01; delay(6);// PADR = 0X01; val>>=1; } delay(1);//写间隙大于1 us } r_byte(void) { char i; char value = 0 ; for(i=8;i>0;i--) { value>>=1; PADR =0X01; PADDR = 0X01; PADDR = 0X00; delay(1); if(PADDR) value|=0x80; delay(10); } return(value); }
void main() { char c0=0,c1=0; reset(); w_byte(0xcc); w_byte(0xbe); c1=r_byte(); c0=r_byte(); reset(); w_byte(0xcc); w_byte(0x44); }
|