DS18B20与单片机采用单总线连接方式,比赛中使用到的文件为提供的“onewire.c”
编程步骤:
(1)初始化
(2)发送ROM操作命令,包括:Read ROM(读ROM) [33H]、Match ROM(匹配ROM) [55H]、Skip ROM(跳过ROM] [CCH]、Search ROM(搜索ROM) [F0H]、Alarm search(告警搜索) [ECH]
(3)发送储存器操作命令,包括:Write Scratchpad(写暂存存储器) [4EH]、Read Scratchpad(读暂存存储器) [BEH]、Copy Scratchpad(复制暂存存储器) [48H]、Convert Temperature(温度变换) [44H]、Recall EPROM(重新调出) [B8H]、Read Power supply(读电源) [B4H]
(4)存储器或适当延时
P.S:使用IAP15时应对onewire.c中的void Delay_OneWire(unsigned int t)做一下改变:
//单总线延时函数
void Delay_OneWire(unsigned int t)
{
unsigned char i;
while(t--){
for(i=0;i<12;i++);
}
}