基于MAX7219的温湿度检测装置及Proteus仿真
2017-11-14魏淑红陈榕福李建波
魏淑红+陈榕福+李建波
摘要:利用数字式温湿度传感器SHT11采集温度和湿度,将采集的温度和湿度利用集成化串行输入/输出共阴极显示驱动器MAX7219显示。MAX7219可以方便连接微处理器与8位数码管,并对数码管动态扫描显示,单片机更新某个数据时不需要改写其他数据。整个装置具备显示亮度可调、占用控制器引线少、简化外围接口电路、方便使用等诸多优点。
关键词:温湿度SHT11;显示驱动;MAX7219;Proteus;数码管
中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2017)29-0275-02
Abstract:The temperature and humidity are collected by the digital temperature and humidity sensor SHT11, and the collected temperature and humidity are displayed by the integrated serial input / output common cathode display driver MAX7219. MAX7219 can connect the microprocessor and the 8 bit digital tube conveniently, and the dynamic scanning of the digital tube shows that when the data is updated by a single chip microcomputer,the other data don't need to be rewritten. The whole device has many advantages, such as adjustable brightness, less controller lead, simplified peripheral interface circuit and convenient use.
Key words: SHT11; MAX7219; Proteus; digital tube
1 概述
温湿度的测量在仓储管理、生产制造、气象观测、科学研究以及日常生活中被广泛应用[1],传统的模拟式温湿度传感器在测量温湿度时需要进行复杂的校准和标定,而且需要设计复杂的信号调理电路和模数转换电路,不便于应用[2]。SHT11是瑞士Sensirion公司采用独特的CMOSens TM技术生产的具有I2C总线接口的单片全校准数字式相对湿度和温度传感器,具有数字式输出、免调试、免标定、免外围电路及全互换的特点,可以方便的应用在各种场合中[3-5]。MAX7219是美国MAXIM公司生产的串行输入/输出共阴极显示驱动器,可直接驱动8位7段数字LED显示器,仅用3个引脚与单片机相应端连接,而且具有数字和模拟亮度控制等特点[6-8]。
利用SHT11采集温度和湿度,将采集的温度和湿度利用MAX7219控制8位数码管进行显示。
2 硬件电路设计
包括温湿度传感器SHT11、驱动MAX7219、数码管显示、单片机最小系统四部分,如图1所示。
2.1 温湿度传感器SHT11
温湿度传感器SHT11,具有数字式输出、免调试、免标定、免外围电路及全互换的特点,在智能家居、科学研究、生产制造、气象观测中被广泛应用,如图2所示。
2.2 显示驱动器MAX7219
MAX7219是一种集成化的串行输入/输出共阴极显示驱动器,它连接CPU与8位数字的7段数码管显示器。MAX7219片内包括一个BCD编码器、多路扫描回路、段字驱动器,而且还有一个8*8的静态RAM用来存储每一个数据。
与控制器CPU连接的引脚:
l 1:DIN 串行数据输入引脚;
l 12:LOAD 数据锁定引脚;
l 13:CLK 时钟引脚;
l 24:DOUT 串行数据输出端口,多个MAX7219扩展时使用。
与数码管连接的引脚:
l 14-17,20-23:数码管段码驱动;
l 2,3,5-8,10,11:数码管位码驱动。
电源、地线:
l 19:V+ 正极电压输入,+5V;
l 4,9:GND 地线(须同时接地);
l 18:SET 电阻连接到VDD设置段电流。
2.3 最小系统、数码管
单片机最小系统包括晶振电路、复位电路、程序存储器选择电路,数码管为8位共阴极数码管。
3 软件编程
3.1 温湿度传感器SHT11
温湿度传感器代码主要包括:
sbit SCK = P2^0; //引脚声明
sbit DATA = P2^1; //引脚声明
char s_write_byte(uchar value);//SHT11寫字节
char s_read_byte(uchar ack); //SHT11读字节
void s_transstart(void) ; //SHT11启动传输
void s_connectionreset(void);//SHT11连接复位
char s_measure(uchar *p_value, uchar *p_checksum, uchar mode); //SHT11温湿度检测
void calc_sth10(float *p_humidity ,float *p_temperature);//SHT11温湿度值标度变换及温度补偿endprint
3.2 显示驱动器MAX7219
主要包括引脚声明、初始化程序、显示程序:
sbit MAX9219_DIN = P2^2;//引脚声明
sbit MAX9219_LOAD = P2^3;//引脚声明
sbit MAX9219_CLK = P2^4;//引脚声明
void init_MAX9219(){ //初始化程序
wite7219(0x0c,0x01);//设置关断模式寄存器
wite7219(0x0f,0x00);//设置测试控制寄存器
wite7219(0x09,0xff);//设置译码控制寄存器
wite7219(0x0b,0x07);//设置扫描界限寄存器
wite7219(0x0a,0x04); }//设置亮度控制寄存器
void dis_MAX9219(){ //显示程序
unsigned char i;
for(i=1;i<=8;i++) { //8位数码管
wite7219(i,HT[i-1]);}}
4 Proteus仿真及测试结果
利用Proteus仿真,节省了开发时间和降低开发费,仿真结果如图4所示,然后下载到单片机,实现温湿度检测的效果。
5 结论
本文利用数字式温湿度传感器SHT11采集温度和湿度,成功采集到温度和湿度,并将采集到的温度和湿度利用共阴极显示驱动器MAX7219显示。整个装置具有显示亮度可调、外围接口电路简便、方便使用等诸多优点,预期会得到更加广泛的应用。
参考文献:
[1] 李锡文,杨明金,杨仁全.现代温室环境智能控制的发展现状及展望[J].农机化研究,2008(4).
[2] 吴玉康,邓世建,袁刚强,等.SHT11数字式温湿度传感器的应用[J].工矿自动化,2010(4).
[3] 王武礼,杨华.基于SHT11的粮仓温湿度测控系统的设计[J].仪表技术与传感器,2010(9).
[4] 冯显英,葛荣雨.基于数字温湿度传感器SHT11的温湿度测控系统[J].自动化仪表,2006(1).
[5] 张艳丽,杨仁弟.数字温湿度传感器SHT11及其应用[J].工矿自动化,2007(6).
[6] 刘汉民.LED显示驱动器MAX7219的单片機接口技术及编程[J].仪表技术与传感器,2002(4).
[7] 于冬梅,张良祖.MAX7219与单片机的两种接口方式及C51编程方法[J].仪器仪表用户,2003(10).
[8] 王喜军,姜军,孙福东,等.显示驱动芯片MAX7219在单片机中的应用[J].自动化技术与应用,2009(10).endprint