图4.1 24C02的存储温度
4.2.2 DS18B20的调试
由于DS12B20与单片机采用单线串行数据传送,因此,对DS18B20进行读写编程时必须严格地保证读写时序,否则将无法读取测量结果。
DS18B20调试的时候主要采集2个温度,一个地面一个地下。由于没有硬件调试,温度用仿真采用自己调节的方法,手动调节想要的温度来进行保存。检测到设定采集温度时间时,本文来自辣*文#论~文%网,毕业论文 www.751com.cn 加7位QQ324~9114找原文采集的数据是否正确,并同时记录采集的时间,一起显示出来。图4.2,图4.3为模拟温度变化仿真。上下箭头可控制温度变化。
图4.2 地面温度采集仿真 图4.3 地下温度采集仿真
4.2.3 DS1302的调试
// 数据类型定义
typedef unsigned char uint8;
typedef unsigned int uint16;
typedef unsigned long uint32;
typedef char int8;
typedef int int16;
sbit SCK = P2^2; //时钟
sbit SDA = P2^1; //数据
sbit RST = P2^0; //DS1302复位(片选)
#define DS1302_W_ADDR 0xBE
#define DS1302_R_ADDR 0xBF
// 时间:秒分时日月周年
typedef struct time
{
int8 sec;
int8 min;
int8 hour;
int8 day;
int8 mon;
int8 week;
int8 year;
}TIME;
// 闹钟:分时
typedef struct alarm
{
int8 min;
int8 hour;
}ALARM;
void set_time(uint8 *timedata);
void read_time(uint8 *timedata);
#endif
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页