激光治療儀中的觸摸屏接口設(shè)計(jì)
關(guān)鍵詞:觸摸屏 ADS7846同微控制器PIC16F876
引言
隨著社會(huì)自動(dòng)化程度的提高,人機(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é)合為一體,簡化了整個(gè)設(shè)備。
1 觸摸屏原理
觸摸屏附著在顯示器的表面,與顯示器配合使用。通過觸摸產(chǎn)生模擬電信號,經(jīng)過轉(zhuǎn)換為數(shù)字信號由微處理器計(jì)算得出觸摸點(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)手指觸摸屏幕時(shí),兩層電層在觸摸點(diǎn)處接觸。
觸摸層的兩個(gè)金屬導(dǎo)電層分別用來測量X軸和Y軸方向的坐標(biāo)。用于X坐標(biāo)測量的導(dǎo)電層從左右兩端引出兩個(gè)電極,記為X+和X-。用于Y坐標(biāo)測量的導(dǎo)電層從上下兩端引出兩個(gè)電極,記為Y+和Y-。這就是四線電阻觸摸屏的引線構(gòu)成。當(dāng)在一對電極上施加電壓時(shí),在該導(dǎo)電層上就會(huì)形成均勻連接的電壓分布國。若在X方向的電極對上施加一確定的電壓,而Y方向電極對上不加電壓時(shí),在X平行電壓場中,觸點(diǎn)處的電壓值可在在Y+(或Y-)電極上反映出來,通過測量Y+電極對地的電壓大小,便可得知觸點(diǎn)的X坐標(biāo)值。同理,當(dāng)在Y電極對上加電壓,而X電極對上不加電壓時(shí),通過測量X+電極的電壓,便可得知觸點(diǎn)的Y坐標(biāo)。測量原理如圖1所示。
五線式觸摸屏與四線式不同。主要區(qū)別在于五線觸摸屏將其中一導(dǎo)電層的四端均引出來作為四個(gè)電極,另一導(dǎo)電層僅僅作為測量的導(dǎo)體輸出X向和Y向的電壓,測量時(shí)要交替在X向和Y向上施加電壓。
2 觸摸層控制器工作原理
觸摸屏控制器有多種,主要的功能均是在微處理器的控制下向觸摸屏的兩個(gè)方向分時(shí)施加電壓,并將相應(yīng)的電壓信號傳送給自身A/D轉(zhuǎn)換器,在微處理器SPI口提供的同步時(shí)鐘作用下將數(shù)字信號讀入微處理器??刂破鰽DS7846基本結(jié)構(gòu)如圖2所示。
圖1觸摸點(diǎn)P處測量結(jié)果計(jì)算如下:
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ì)
激光治療機(jī)的輸入系統(tǒng)由三部分組成:觸摸屏、觸摸屏控制器和微控制器。微控制器采用Microchip公司的新型芯片PIC16F867。內(nèi)部總線采用哈佛雙總線結(jié)構(gòu)。在內(nèi)部頻率相同的情況下,加快了數(shù)據(jù)的傳輸速度,避免了瓶頸現(xiàn)象。此芯片采用精簡指令集(RISC)易于使用,加快了開發(fā)速度。內(nèi)部含有8KB程序存儲(chǔ)器(分頁操作),256字節(jié)EEPROM,368字節(jié)RAM,8路模數(shù)轉(zhuǎn)換器,1個(gè)通用串行口(SCI),1個(gè)I2C接口,1個(gè)串行外圍接口(SPI),3個(gè)定時(shí)器及看門狗電路(WathcDog)等許多重要資源。外圍許多接口功能上的復(fù)用使得整個(gè)微控制器簡潔,功能強(qiáng)大。
根據(jù)ADS7846與微控制器進(jìn)行數(shù)據(jù)交換的接口特征,選用PIC16F876的SPI口。SPI口包括三個(gè)信號:SDO(串行數(shù)據(jù)輸出),SDI(串行數(shù)據(jù)輸入),SCK(串行同步時(shí)鐘)。硬件連接關(guān)系見圖3。
本文側(cè)重于激光治療儀輸入系統(tǒng)的設(shè)計(jì),其它硬件的設(shè)計(jì)僅給出接口的含義。由于PIC16F876的內(nèi)部集成度較高,所以外圍接口相當(dāng)簡單,但是要完成復(fù)雜的控制功能必須進(jìn)行內(nèi)部寄存器的設(shè)置。
圖3
4 軟件設(shè)計(jì)
按照以上設(shè)計(jì)思想設(shè)計(jì)了應(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 ;啟動(dòng)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è)計(jì)使得輸入極其方便,而且外圍設(shè)備得到簡化,在實(shí)際應(yīng)用中提高了人機(jī)交互的能力,收到良好的社會(huì)效益。系統(tǒng)設(shè)計(jì)的思想不僅能夠應(yīng)用在醫(yī)療行業(yè),而且能夠應(yīng)用在工業(yè)生產(chǎn)自動(dòng)化以及手持設(shè)備等各行業(yè)。
評論