新聞中心

EEPW首頁 > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 基于ARM的醫(yī)用數(shù)據(jù)采集系統(tǒng)的人機(jī)接口設(shè)計(jì)

基于ARM的醫(yī)用數(shù)據(jù)采集系統(tǒng)的人機(jī)接口設(shè)計(jì)

作者: 時(shí)間:2010-06-18 來源:網(wǎng)絡(luò) 收藏


ADS7843可以通過連接觸摸屏X+將觸摸信號(hào)輸入到A/D轉(zhuǎn)換器,同時(shí)打開Y+和Y-驅(qū)動(dòng),然后再數(shù)字化X+的電壓,從而得到當(dāng)前Y位置的測(cè)量結(jié)果,同理,也可以得到X坐標(biāo)的邏輯坐標(biāo)。當(dāng)?shù)玫絏、Y的邏輯坐標(biāo)后,通過SPI將數(shù)據(jù)傳送給LM3S3748進(jìn)行數(shù)據(jù)處理。其ADS7843的外部電路如圖3所示。



1.4 RS232串口通信電路

RS232串口主要用于手柄控制器與核心板的通信,這類似于中的鍵盤。它們之間通過Modbus協(xié)議進(jìn)行通信。其RS232串口通信電路如圖4所示。



2 軟件

2.1觸摸屏軟件

ADS7843具有兩種工作模式,分別為單端基準(zhǔn)模式和差分基準(zhǔn)模式。同時(shí)還可以對(duì)其進(jìn)行12位或8位轉(zhuǎn)換模式的選擇。本采用差分基準(zhǔn)模式和12位轉(zhuǎn)換模式,即:

WriteCharTo7843(0xD0);∥送控制字10010000,
即用差分方式+12位轉(zhuǎn)換模式,讀X坐標(biāo);
……
WriteCharTo7843(0x90);∥送控制字11010000,
即用差分方式+12位轉(zhuǎn)換模式,讀Y坐標(biāo);


CPU采用中斷方式對(duì)坐標(biāo)進(jìn)行讀取。當(dāng)未對(duì)屏幕進(jìn)行觸摸時(shí),ADS7843的引腳PENIRQ為高電平輸出,當(dāng)對(duì)屏幕有觸摸動(dòng)作時(shí),引腳PENIRQ變?yōu)榈碗娖捷敵?,每?dāng)CPU檢測(cè)到這個(gè)引腳的下降沿時(shí),進(jìn)入中斷讀取坐標(biāo)。其坐標(biāo)值讀取的流程如圖5所示。當(dāng)CPU在每一次獲取邏輯坐標(biāo)的過程中,實(shí)際上分別對(duì)X、Y坐標(biāo)進(jìn)行了11次讀取,然后將讀取到的邏輯坐標(biāo)值分別存入兩個(gè)數(shù)組,并且對(duì)這兩個(gè)數(shù)組中的值進(jìn)行冒泡排序,使其從小到大依次排列后,再去掉最大和最小的兩個(gè)數(shù)值,并將中間值作為基準(zhǔn),余下數(shù)值與基準(zhǔn)值進(jìn)行求差的絕對(duì)值運(yùn)算。設(shè)計(jì)中可設(shè)定一個(gè)閥值(此閥值可根據(jù)實(shí)驗(yàn)設(shè)置為5),如果絕對(duì)值大于閥值,則拋棄此值,最后將剩余數(shù)值求和平均,并將其作為最終邏輯坐標(biāo)值。這就是流程圖中“數(shù)據(jù)處理”所完成的功能。



中的主程序流程圖如圖6所示。其中觸摸屏校準(zhǔn)處理采用了一種較為通用的校準(zhǔn)算法。由于電阻式觸摸屏有一個(gè)共性,那就是電壓成線性均勻分布,所以,只要求出邏輯坐標(biāo)與物理坐標(biāo)的比例系數(shù),就可以實(shí)現(xiàn)邏輯坐標(biāo)與物理坐標(biāo)的轉(zhuǎn)換。首先可確定5個(gè)物理坐標(biāo)點(diǎn)。并依次在屏幕上用“+”顯示,同時(shí)將其坐標(biāo)值用數(shù)組Set_x[4]保存起來(以X坐標(biāo)為例)。校準(zhǔn)過程中讀出的邏輯坐標(biāo)值則用數(shù)組Read_X[3]存儲(chǔ)。最后求出邏輯坐標(biāo)與物理坐標(biāo)的比例系數(shù):


評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉