- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
浅析ds18b20和hd7279的at89c51单片机程序设计
/* #################################################################################################
###################### ######################
###################### 程序名称:基于 DS18B20 的温度传感器程序设计 ######################
###################### 单位名称:东北林业大学信息学院3+1实验室 ######################
###################### 程序作者:lbl ######################
###################### ######################
###################### ※ 所有延时都针对于振荡频率是 11.0592 MHz 的晶振 ######################
###################### ######################
#################################################################################################
*/
#include reg51.h
#include math.h
// ******* HD7279 指令 *******
#define CMD_RESET 0xA4 // 复位
#define CMD_ACTCTL 0x98 // 消隐
//#define CMD_TEST 0xBF // 测试
//#define CMD_LEFT 0xA1 // 左移
//#define CMD_RIGHT 0xA0 // 右移
//#define CMD_CIRCLE_LEFT 0xA3 // 循环左移
//#define CMD_CIRCLE_RIGHT 0xA2 // 循环右移
//#define CMD_SEG_OPEN 0xE0 // 段点亮
//#define CMD_SEG_CLOSE 0xC0 // 段关闭
//#define CMD_READ_KEYBOARD 0x15 // 读键盘数据
#define CMD_MODE0 0x80 // 0x80 | a2 a1 a0 下载数据且按方式0译码 0--9 _ H E L P 空格
#define CMD_MODE1 0xC8 // 0xC8 | a2 a1 a0 下载数据且按方式1译码 0--F
#define CMD_MODE2 0x90 // 0x90 | a2 a1 a0 下载数据但不译码 A--G、DP八段
void delay1ms(unsigned char); // 延时N个1Ms
void delay10ms(unsigned char); // 延时N个10Ms
void Display(void); // 把 DS18B20 的温度值写到 HD7279 中
// ******* 开始 HD7279 函数声明 *******
void long_delay(void); // 长延时
void short_delay(void); // 短延时
void write_7279(unsigned char, unsigned char); // 写数据到HD7279
void Init_7279(void); // HD7279初始化
void send_byte(unsigned char); // 发送一个字节
// ******* 结束 HD7279 函数声明 ******
// ******* 开始 DS18B20 函数声明 *******
void Init_DS18B20(void); // DS18B20 初始化
void Wait_DS18B20(void); // 等待 DS18B20 应答
b
文档评论(0)