文件名称:温度传感器18b20的驱动程序
文件大小:40KB
文件格式:ZIP
更新时间:2013-08-31 09:01:13
18b20 驱动程序
自己亲手调试过 /**************************************************************************** 函数功能:DS18B20初始化子程序 入口参数: 出口参数: ****************************************************************************/ void Init_DS18B20(void) { unsigned char x=0; DDRA|=BIT(2);//设置为输出 DQoff; //发送复位脉冲 delay_nus(550); //延时(>480ms) DQon; //拉高数据线 delay_nus(40); //等待(15~60ms) DDRA&=~BIT(2);//设置为输入 x=PINA&0X04; //取出PA2口的电平 delay_nus(100); DQon;//再次将数据线拉高 } /**************************************************************************** 函数功能:向DS18B20读一字节数据 入口参数: 出口参数:dat ****************************************************************************/ uint ReadOneChar(void) { unsigned char i=0; unsigned char dat=0; unsigned x=0; for (i=8;i>0;i--) { dat>>=1; DDRA|=BIT(2);//PA2口设置为输出 DQon;//拉高 delay_nus(2); //延时两微妙 DQoff; //将数据线拉低 delay_nus(6); DQon;//拉高 delay_nus(3); DDRA&=~BIT(2);//PA2口设置为输入 x=PINA&BIT(2); //取出PA2口的电平 if(x==0) { dat&=~0x80; } else dat|=0x80; delay_nus(31); } return(dat); }
【文件预览】:
18b20传感器程序成功
----18b20ch.lk(18B)
----12864.s(9KB)
----12864.o(5KB)
----12864.c(3KB)
----18b20._c(4KB)
----18B20.s(11KB)
----18b20ch.dbg(5KB)
----12864.lis(22KB)
----12864._h(240B)
----18b20ch.lst(28KB)
----18B20.dp2(234B)
----18b20.o(7KB)
----18b20.c(4KB)
----18b20.h(809B)
----18B20CH.SRC(69B)
----18b20ch.mp(3KB)
----18B20.lis(25KB)
----18b20ch.hex(3KB)
----18b20ch.prj(840B)
----12864.dp2(122B)
----18b20ch.mak(1KB)
----18b20._h(809B)
----12864.h(262B)
----18b20ch.cof(7KB)