激光治療儀中的觸摸屏接口設(shè)計
關(guān)鍵詞:觸摸屏 ADS7846同微控制器PIC16F876
引言
隨著社會自動化程度的提高,人機(jī)交互能力急需大的轉(zhuǎn)變,向著更方便使用、更直觀的方向發(fā)展。激光治療機(jī)主要應(yīng)用激光的物理特性作用于人體,產(chǎn)生機(jī)體化學(xué)反應(yīng)從而達(dá)到治療疾病的目的。激光治療機(jī)作為一種精密儀器需要精確的控制及防塵、防靜電、防潮等方面的嚴(yán)格要求。激光治療機(jī)輸入設(shè)備采用觸摸屏控制,既是基于以上要求也是從方便使用者操作和界面直觀的角度考慮的。觸摸屏的應(yīng)用使得數(shù)據(jù)的顯示和數(shù)據(jù)的輸入結(jié)合為一體,簡化了整個設(shè)備。
1 觸摸屏原理
觸摸屏附著在顯示器的表面,與顯示器配合使用。通過觸摸產(chǎn)生模擬電信號,經(jīng)過轉(zhuǎn)換為數(shù)字信號由微處理器計算得出觸摸點(diǎn)的坐標(biāo),從而得到操作者的意圖并執(zhí)行。觸摸屏按其技術(shù)原理可分為五類:矢量壓力傳感器、電阻式、電容式、紅外線式和表面聲波式,其中電阻式觸摸屏在實(shí)際應(yīng)用中的較多。電阻式觸摸屏由4層的透明薄構(gòu)成,最下面是玻璃或有機(jī)玻璃構(gòu)成的基層,最上面是一層外表面經(jīng)過硬化處理從而光滑防刮的塑料層,附著在上下兩層內(nèi)表面的兩層為金屬導(dǎo)電層(OTI,氧化銦),這兩層由細(xì)小的透明隔離點(diǎn)進(jìn)行絕緣。當(dāng)手指觸摸屏幕時,兩層電層在觸摸點(diǎn)處接觸。
觸摸層的兩個金屬導(dǎo)電層分別用來測量X軸和Y軸方向的坐標(biāo)。用于X坐標(biāo)測量的導(dǎo)電層從左右兩端引出兩個電極,記為X+和X-。用于Y坐標(biāo)測量的導(dǎo)電層從上下兩端引出兩個電極,記為Y+和Y-。這就是四線電阻觸摸屏的引線構(gòu)成。當(dāng)在一對電極上施加電壓時,在該導(dǎo)電層上就會形成均勻連接的電壓分布國。若在X方向的電極對上施加一確定的電壓,而Y方向電極對上不加電壓時,在X平行電壓場中,觸點(diǎn)處的電壓值可在在Y+(或Y-)電極上反映出來,通過測量Y+電極對地的電壓大小,便可得知觸點(diǎn)的X坐標(biāo)值。同理,當(dāng)在Y電極對上加電壓,而X電極對上不加電壓時,通過測量X+電極的電壓,便可得知觸點(diǎn)的Y坐標(biāo)。測量原理如圖1所示。
五線式觸摸屏與四線式不同。主要區(qū)別在于五線觸摸屏將其中一導(dǎo)電層的四端均引出來作為四個電極,另一導(dǎo)電層僅僅作為測量的導(dǎo)體輸出X向和Y向的電壓,測量時要交替在X向和Y向上施加電壓。
2 觸摸層控制器工作原理
觸摸屏控制器有多種,主要的功能均是在微處理器的控制下向觸摸屏的兩個方向分時施加電壓,并將相應(yīng)的電壓信號傳送給自身A/D轉(zhuǎn)換器,在微處理器SPI口提供的同步時鐘作用下將數(shù)字信號讀入微處理器??刂破鰽DS7846基本結(jié)構(gòu)如圖2所示。
圖1觸摸點(diǎn)P處測量結(jié)果計算如下:
ADS7846內(nèi)部可以通過寄存器的設(shè)置A/D轉(zhuǎn)換器的分辨率設(shè)為8位或12位,在本系統(tǒng)中A/D轉(zhuǎn)換器的分辨率取12位。則P點(diǎn)的二進(jìn)制輸出代碼為:
其中:Vref_full為加在ADS6746內(nèi)部A/D轉(zhuǎn)換器上的參考電壓。
觸摸屏控制器的運(yùn)行是通過串行數(shù)據(jù)輸入口DIN輸入控制命令進(jìn)行控制的??刂频幕靖袷饺缦拢?/P>
bit | bit6 | bit5 | bit4 | bit | bit | bit | bit |
起始位(高電平) | A2 | A1 | A0 | MODE | SER/DFR | PD1 | PD0 |
bit7指明發(fā)送命令開始,高電平有效。A2:A0用于選擇數(shù)據(jù)輸入通道,101選擇X坐標(biāo)測量,001選擇Y坐標(biāo)測量。MODE將內(nèi)部模數(shù)轉(zhuǎn)換器的分辨率定義為8位(MODE=1)或12位(MODE=0)。SER/DFR為單端/雙端參考電壓選擇位。PD1:PD0根據(jù)省電模式的需要進(jìn)行選擇設(shè)置。這些命令控制位的設(shè)置將在程序代碼部分得以應(yīng)用。
3 系統(tǒng)硬件設(shè)計
激光治療機(jī)的輸入系統(tǒng)由三部分組成:觸摸屏、觸摸屏控制器和微控制器。微控制器采用Microchip公司的新型芯片PIC16F867。內(nèi)部總線采用哈佛雙總線結(jié)構(gòu)。在內(nèi)部頻率相同的情況下,加快了數(shù)據(jù)的傳輸速度,避免了瓶頸現(xiàn)象。此芯片采用精簡指令集(RISC)易于使用,加快了開發(fā)速度。內(nèi)部含有8KB程序存儲器(分頁操作),256字節(jié)EEPROM,368字節(jié)RAM,8路模數(shù)轉(zhuǎn)換器,1個通用串行口(SCI),1個I2C接口,1個串行外圍接口(SPI),3個定時器及看門狗電路(WathcDog)等許多重要資源。外圍許多接口功能上的復(fù)用使得整個微控制器簡潔,功能強(qiáng)大。
根據(jù)ADS7846與微控制器進(jìn)行數(shù)據(jù)交換的接口特征,選用PIC16F876的SPI口。SPI口包括三個信號:SDO(串行數(shù)據(jù)輸出),SDI(串行數(shù)據(jù)輸入),SCK(串行同步時鐘)。硬件連接關(guān)系見圖3。
本文側(cè)重于激光治療儀輸入系統(tǒng)的設(shè)計,其它硬件的設(shè)計僅給出接口的含義。由于PIC16F876的內(nèi)部集成度較高,所以外圍接口相當(dāng)簡單,但是要完成復(fù)雜的控制功能必須進(jìn)行內(nèi)部寄存器的設(shè)置。
圖3
4 軟件設(shè)計
按照以上設(shè)計思想設(shè)計了應(yīng)用軟件。圖4為主程序與觸摸屏輸入檢測部分的程序流程圖。其中,坐標(biāo)數(shù)據(jù)處理通常采用查表的方法,將用戶命令的坐標(biāo)形成數(shù)據(jù)表,利用獲得的坐標(biāo)信息進(jìn)行變換快速查表,從而提高軟件的運(yùn)行速度。
下面是PIC16F876同ADS7846接口的部分程序代碼。
CMDATA EQU 30H
XDATA_H EQU 31H
XDATA_L EQU 32H
YDATA_H EQU 33H
YDATA_L EQU 34H
;初始化寄存器
MOVLW 02H
MOVWF TRICB ;定義B口方向
MOVLW 90H
MOVWF TRISC ;定義C口方向
BCF SSPCON,5
MOVLW 10H
MOVWF SSPCON ;初始化SSPCON
BSF SSPCON,5 ;啟動SPI
;獲取X,Y坐標(biāo)
GetXY
BCF PORTB,0 ;選口AD7846
MOVLW 0D4H ;獲取X坐標(biāo)命令
MOVWF SSPBUF ;發(fā)送命令
BUSY
BTFSC PORTB,1 ;判忙?
GOTO BUSY
MOVF SSPBUF,W ;12位數(shù)據(jù)
MOVWF XDATA_H ;XDATA_H存放高字節(jié)
MOVF SSPBUF,W
MOVWF XDATA_L ;XDATA_L存放低字節(jié)
;Y坐標(biāo)數(shù)據(jù)同樣處理
RETLW 0
結(jié)語
本系統(tǒng)的設(shè)計使得輸入極其方便,而且外圍設(shè)備得到簡化,在實(shí)際應(yīng)用中提高了人機(jī)交互的能力,收到良好的社會效益。系統(tǒng)設(shè)計的思想不僅能夠應(yīng)用在醫(yī)療行業(yè),而且能夠應(yīng)用在工業(yè)生產(chǎn)自動化以及手持設(shè)備等各行業(yè)。
評論