CT107D原理图、CT107D说明书、省赛时用到的驱动
单片机源程序如下:
- /*
- 程序说明: 单总线驱动程序
- 软件环境: Keil uVision 4.10
- 硬件环境: CT107单片机综合实训平台
- 日 期: 2011-8-9
- */
- #include "onewire.h"
- //单总线延时函数
- void Delay_OneWire(unsigned int t)
- {
- while(t--);
- }
- //DS18B20芯片初始化
- bit Init_DS18B20(void)
- {
- bit initflag = 0;
- DQ = 1;
- Delay_OneWire(12);
- DQ = 0;
- Delay_OneWire(80);
- DQ = 1;
- Delay_OneWire(10);
- initflag = DQ;
- Delay_OneWire(5);
-
- return initflag;
- }
- //通过单总线向DS18B20写一个字节
- void Write_DS18B20(unsigned char dat)
- {
- unsigned char i;
- for(i=0;i<8;i++)
- {
- DQ = 0;
- DQ = dat&0x01;
- Delay_OneWire(5);
- DQ = 1;
- dat >>= 1;
- }
- Delay_OneWire(5);
- }
- //从DS18B20读取一个字节
- unsigned char Read_DS18B20(void)
- {
- unsigned char i;
- unsigned char dat;
-
- for(i=0;i<8;i++)
- {
- DQ = 0;
- dat >>= 1;
- DQ = 1;
- if(DQ)
- {
- dat |= 0x80;
- }
- Delay_OneWire(5);
- }
- return dat;
- }
复制代码
所有资料51hei提供下载:
竞赛给出的驱动以及CT107D说明书.zip
(277.21 KB, 下载次数: 36)
|