一款基于 MSP430F6638 的时钟及温度检测数据显示电路
扫描二维码
随时随地手机看文章
0 引 言
工业的快速发展带来了经济的高速增长,与此同时,环境问题日益突出。如今,许多工业生产现场需要空气质量的实时检测,这些检测通常使用各类传感器完成,譬如温度传感器、湿度传感器、有害气体检测传感器等。由传感器输出结果,而结果的显示是此类检测中必须考虑的一个重要技术问题。本文利用微控制器设计了一款时钟及温度检测数据的实时显示电路,该电路的设计基于 TI 公司设计生产的MSP430 系列芯片 [1-3],实现可靠的结果显示,并保证数据的高速处理和电路的低功耗。
1 MSP430微控制器时钟及温度检测数据显示电路
1.1 温度检测电路
通过 TMP421 远程温度传感器实现温度信息的采集,采集的信息与微控制器通过 I2C 总线进行数据交换。TMP421 是 TI 公司设计的一款内置本地温度传感器的远程控制器芯片,与 I2C 总线模式兼容。
实际使用中,该芯片的 DXP,DXN与一个二极管或者与连接成二极管形式的三极管及两个电阻和一个电容组成远程温度传感单元,二极管连接形式的三极管可以选用 NPN 管或 PNP管,它们往往集成在微控制器中。TMP421误差为 ±1℃,本地温度传感器误差为 ±1.5℃。本文通过 I2C 总线采集 TMP421的温度,将采集到的数据经相应软件编程处理后通过微控制器加载到 LCD段式液晶上进行显示。温度采集电路如图 1所示。TMP421与 Q1管和 R1,R2及 C1组成远程温度传感器,采集结果转换为串行数据从 SDA 端口输出,SCL 为微控制器提供时钟信号端口,两者分别与MSP430F6638 的 P2.1 与 P2.2 相连 [4-6]。
1.2 液晶显示电路
段式液晶 LCD[7-8] 在仅需显示数字的场合被广泛应用, 驱动简单,是一种低功耗和廉价的显示方式。MSP430F6638 芯片有 2 组专用的段式液晶接口,能够方便地通过内部集成的控制器对段式液晶进行控制, 其内部含有 LCD_B 与LCD_C 控制器。段式液晶模块显示原理如图 2 所示。
本文使用 LCD_B 控制器实现对段式液晶的控制,这是具有 20 个八位段码寄存器(其地址从 0x91 到 0xA4),能够进行 160 段对比度控制的驱动器,可将需要显示的段码整理后存放到对应的地址中,再将其值送入 LCDMEM[x] 数组即可显示相应的数码。x 表示要显示的位,本文设计采用 6 位段式液晶,所以 x 的范围为 0 ~ 5。
段式液晶的驱动信号由两部分组成,即公共端偏压信号和驱动信号。公共端偏压信号可以采用 1/2 偏压或者 1/3 偏压方式,当采用 1/3 偏压时,电压偏置为 VCC,1/3 VCC, 2/3 VCC,GND。MSP430F6638 通过 LCD_B 控制器输出公共端偏压信号(COM0/COM1/ COM2/COM3)和驱动信号(S0 ~S11),而且 LCD_B控制器支持静态,2-MUX,3-MUX和 4-MUX四种模式,这些模式的区别在于公共端偏压信号的个数不同。当四个公共端偏压信号都用于驱动 LCD段式液晶时,为 4-MUX模式,即 4 个公共端及 12 个驱动端,这种驱动方式最高可同时驱动 15 位段式液晶。
1.3 主程序设计流程
操作段式液晶的流程如下 :
(1)调用一些与本文设计相关的头文件,进行宏定义,关闭看门狗,配置系统时钟,初始化液晶与 I2C 总线 ;
(2)配置好与段式液晶和 I2C 总线连接的 I/O 口 ;
(3)进行中断函数和主程序的编写 [9-10]。
程序设计流程如图 3 所示。
图 3 程序设计流程图
程序设计流程 :
(1)初始化时钟
时钟的初始化包括启动 XT1,XT2,DCO,时钟源的选择,设定几个时钟的频率和预置数等。
(2)初始化 I2C 总线
MSP430F6638 提供了通用串行通信接口(USCI),包括 UART 模式、SPI 模式、I2C 模式。选择 I2C 总线作为温度采集单元与微控制器的接口。
(3)初始化液晶
选择 COM0,P5.3,P5.4,P5.5作为 LCD的公共端驱动端口,S0~S11所在端口作为 LCD的段选,涉及的寄存器主要包括 LCDBPCTL0,LCDBMEMCTL,LCDBCTL0, 其中 LCDBPCTL0 为使能寄存器,主要用来配置 LCD 的时钟、分频数和工作模式。
2 仿真及测试
主程序编写后,可以进行仿真与测试。本文设计的重点是实时显示温度数据和时钟,在仿真中,可以任意设定时钟的值,然后温度检测单元通过 I2C 总线将检测到的数据适时反馈给微控制器,控制器在设定的时刻会在段式液晶上显示检测到的温度值。环境温度与时钟的显示值如图 4 所示。
图 4 环境温度与时钟的显示值
3 结 语
本文介绍的显示电路通过软硬件结合的方式实现了检测温度和时钟的实时显示,设计中充分利用了 MSP430F6638 微控制器的低功耗、高精度及扩展性强等优点, 结合TMP421 远程温度传感器与一些外围电阻、电容等元器件, 将采集到的温度数据显示到段式 LCD 液晶上,并辅助显示时间。
经测试,时钟精度较高,温度显示符合预定的要求,其中时钟显示部分使用了该微控制器的定时器中断,通过中断函数,高精度时钟的显示得以保证,而且为了保证系统电源的可靠性,系统采用多种不同的供电方式。仿真与测试结果表明,该显示电路达到了设计要求。