一款基于 MSP430F6638 的時(shí)鐘及溫度檢測(cè)數(shù)據(jù)顯示電路
掃描二維碼
隨時(shí)隨地手機(jī)看文章
0 引 言
工業(yè)的快速發(fā)展帶來(lái)了經(jīng)濟(jì)的高速增長(zhǎng),與此同時(shí),環(huán)境問(wèn)題日益突出。如今,許多工業(yè)生產(chǎn)現(xiàn)場(chǎng)需要空氣質(zhì)量的實(shí)時(shí)檢測(cè),這些檢測(cè)通常使用各類(lèi)傳感器完成,譬如溫度傳感器、濕度傳感器、有害氣體檢測(cè)傳感器等。由傳感器輸出結(jié)果,而結(jié)果的顯示是此類(lèi)檢測(cè)中必須考慮的一個(gè)重要技術(shù)問(wèn)題。本文利用微控制器設(shè)計(jì)了一款時(shí)鐘及溫度檢測(cè)數(shù)據(jù)的實(shí)時(shí)顯示電路,該電路的設(shè)計(jì)基于 TI 公司設(shè)計(jì)生產(chǎn)的MSP430 系列芯片 [1-3],實(shí)現(xiàn)可靠的結(jié)果顯示,并保證數(shù)據(jù)的高速處理和電路的低功耗。
1 MSP430微控制器時(shí)鐘及溫度檢測(cè)數(shù)據(jù)顯示電路
1.1 溫度檢測(cè)電路
通過(guò) TMP421 遠(yuǎn)程溫度傳感器實(shí)現(xiàn)溫度信息的采集,采集的信息與微控制器通過(guò) I2C 總線進(jìn)行數(shù)據(jù)交換。TMP421 是 TI 公司設(shè)計(jì)的一款內(nèi)置本地溫度傳感器的遠(yuǎn)程控制器芯片,與 I2C 總線模式兼容。
實(shí)際使用中,該芯片的 DXP,DXN與一個(gè)二極管或者與連接成二極管形式的三極管及兩個(gè)電阻和一個(gè)電容組成遠(yuǎn)程溫度傳感單元,二極管連接形式的三極管可以選用 NPN 管或 PNP管,它們往往集成在微控制器中。TMP421誤差為 ±1℃,本地溫度傳感器誤差為 ±1.5℃。本文通過(guò) I2C 總線采集 TMP421的溫度,將采集到的數(shù)據(jù)經(jīng)相應(yīng)軟件編程處理后通過(guò)微控制器加載到 LCD段式液晶上進(jìn)行顯示。溫度采集電路如圖 1所示。TMP421與 Q1管和 R1,R2及 C1組成遠(yuǎn)程溫度傳感器,采集結(jié)果轉(zhuǎn)換為串行數(shù)據(jù)從 SDA 端口輸出,SCL 為微控制器提供時(shí)鐘信號(hào)端口,兩者分別與MSP430F6638 的 P2.1 與 P2.2 相連 [4-6]。
1.2 液晶顯示電路
段式液晶 LCD[7-8] 在僅需顯示數(shù)字的場(chǎng)合被廣泛應(yīng)用, 驅(qū)動(dòng)簡(jiǎn)單,是一種低功耗和廉價(jià)的顯示方式。MSP430F6638 芯片有 2 組專(zhuān)用的段式液晶接口,能夠方便地通過(guò)內(nèi)部集成的控制器對(duì)段式液晶進(jìn)行控制, 其內(nèi)部含有 LCD_B 與LCD_C 控制器。段式液晶模塊顯示原理如圖 2 所示。
本文使用 LCD_B 控制器實(shí)現(xiàn)對(duì)段式液晶的控制,這是具有 20 個(gè)八位段碼寄存器(其地址從 0x91 到 0xA4),能夠進(jìn)行 160 段對(duì)比度控制的驅(qū)動(dòng)器,可將需要顯示的段碼整理后存放到對(duì)應(yīng)的地址中,再將其值送入 LCDMEM[x] 數(shù)組即可顯示相應(yīng)的數(shù)碼。x 表示要顯示的位,本文設(shè)計(jì)采用 6 位段式液晶,所以 x 的范圍為 0 ~ 5。
段式液晶的驅(qū)動(dòng)信號(hào)由兩部分組成,即公共端偏壓信號(hào)和驅(qū)動(dòng)信號(hào)。公共端偏壓信號(hào)可以采用 1/2 偏壓或者 1/3 偏壓方式,當(dāng)采用 1/3 偏壓時(shí),電壓偏置為 VCC,1/3 VCC, 2/3 VCC,GND。MSP430F6638 通過(guò) LCD_B 控制器輸出公共端偏壓信號(hào)(COM0/COM1/ COM2/COM3)和驅(qū)動(dòng)信號(hào)(S0 ~S11),而且 LCD_B控制器支持靜態(tài),2-MUX,3-MUX和 4-MUX四種模式,這些模式的區(qū)別在于公共端偏壓信號(hào)的個(gè)數(shù)不同。當(dāng)四個(gè)公共端偏壓信號(hào)都用于驅(qū)動(dòng) LCD段式液晶時(shí),為 4-MUX模式,即 4 個(gè)公共端及 12 個(gè)驅(qū)動(dòng)端,這種驅(qū)動(dòng)方式最高可同時(shí)驅(qū)動(dòng) 15 位段式液晶。
1.3 主程序設(shè)計(jì)流程
操作段式液晶的流程如下 :
(1)調(diào)用一些與本文設(shè)計(jì)相關(guān)的頭文件,進(jìn)行宏定義,關(guān)閉看門(mén)狗,配置系統(tǒng)時(shí)鐘,初始化液晶與 I2C 總線 ;
(2)配置好與段式液晶和 I2C 總線連接的 I/O 口 ;
(3)進(jìn)行中斷函數(shù)和主程序的編寫(xiě) [9-10]。
程序設(shè)計(jì)流程如圖 3 所示。
圖 3 程序設(shè)計(jì)流程圖
程序設(shè)計(jì)流程 :
(1)初始化時(shí)鐘
時(shí)鐘的初始化包括啟動(dòng) XT1,XT2,DCO,時(shí)鐘源的選擇,設(shè)定幾個(gè)時(shí)鐘的頻率和預(yù)置數(shù)等。
(2)初始化 I2C 總線
MSP430F6638 提供了通用串行通信接口(USCI),包括 UART 模式、SPI 模式、I2C 模式。選擇 I2C 總線作為溫度采集單元與微控制器的接口。
(3)初始化液晶
選擇 COM0,P5.3,P5.4,P5.5作為 LCD的公共端驅(qū)動(dòng)端口,S0~S11所在端口作為 LCD的段選,涉及的寄存器主要包括 LCDBPCTL0,LCDBMEMCTL,LCDBCTL0, 其中 LCDBPCTL0 為使能寄存器,主要用來(lái)配置 LCD 的時(shí)鐘、分頻數(shù)和工作模式。
2 仿真及測(cè)試
主程序編寫(xiě)后,可以進(jìn)行仿真與測(cè)試。本文設(shè)計(jì)的重點(diǎn)是實(shí)時(shí)顯示溫度數(shù)據(jù)和時(shí)鐘,在仿真中,可以任意設(shè)定時(shí)鐘的值,然后溫度檢測(cè)單元通過(guò) I2C 總線將檢測(cè)到的數(shù)據(jù)適時(shí)反饋給微控制器,控制器在設(shè)定的時(shí)刻會(huì)在段式液晶上顯示檢測(cè)到的溫度值。環(huán)境溫度與時(shí)鐘的顯示值如圖 4 所示。
圖 4 環(huán)境溫度與時(shí)鐘的顯示值
3 結(jié) 語(yǔ)
本文介紹的顯示電路通過(guò)軟硬件結(jié)合的方式實(shí)現(xiàn)了檢測(cè)溫度和時(shí)鐘的實(shí)時(shí)顯示,設(shè)計(jì)中充分利用了 MSP430F6638 微控制器的低功耗、高精度及擴(kuò)展性強(qiáng)等優(yōu)點(diǎn), 結(jié)合TMP421 遠(yuǎn)程溫度傳感器與一些外圍電阻、電容等元器件, 將采集到的溫度數(shù)據(jù)顯示到段式 LCD 液晶上,并輔助顯示時(shí)間。
經(jīng)測(cè)試,時(shí)鐘精度較高,溫度顯示符合預(yù)定的要求,其中時(shí)鐘顯示部分使用了該微控制器的定時(shí)器中斷,通過(guò)中斷函數(shù),高精度時(shí)鐘的顯示得以保證,而且為了保證系統(tǒng)電源的可靠性,系統(tǒng)采用多種不同的供電方式。仿真與測(cè)試結(jié)果表明,該顯示電路達(dá)到了設(shè)計(jì)要求。