一種基于A(yíng)T89S52的可視電子聽(tīng)診器的研制
3.1 繪圖編程的算法
本文引用地址:http://dyxdggzs.com/article/273695.htm系統選用的是128×64點(diǎn)陣式圖形液晶顯示模塊。要繪制心音波形只要根據A/D轉換來(lái)的數據在液晶顯示器的對應位置上繪點(diǎn)顯示。首先在液晶平面上建立如圖6所示的顯示坐標系。

圖中畫(huà)出了液晶顯示器在圖形工作方式下液晶平面的每一處所對應的顯示緩沖區地址情況,數據為十六進(jìn)制,并建立以左下角為坐標原點(diǎn)的坐標系。這樣坐標(X,Y)的值都為正值,簡(jiǎn)化了算法。其中X表示1~128個(gè)點(diǎn),Y表示各個(gè)點(diǎn)所對應的幅值。由于A(yíng)/D采樣的數值為0~255,而LCD的行取值為0~63,所以把幅值縮小一定的倍數,即Y=D/B,D為A/D采集的數字量,B為該數縮小的倍數。由圖可以看出幅值Y加1,顯示緩沖區地址K就減少10H,從而得到緩沖區地址的表達式:K=X/8-10H*Y+0BF0H。而緩沖區地址字節中對應X除以8的余數的位就正好是要繪點(diǎn)的位置。只要利用位操作命令對它置位就可實(shí)現繪點(diǎn)。
3.2 波形顯示
把采集的數據存放在RAM中,RAM共存了8KB波形數據。而液晶顯示器1次只能顯示128個(gè)點(diǎn),因此可以通過(guò)改變在RAM中讀數間隔來(lái)控制波形的橫向顯示,即每顯示完1個(gè)數據,RAM地址加N,通過(guò)改變N的大小來(lái)拉開(kāi)或回縮信號波形,以便于觀(guān)察。
如果相鄰2個(gè)點(diǎn)的幅值稍有不同,2個(gè)點(diǎn)的距離就會(huì )分開(kāi),造成顯示不連續,影響視覺(jué)效果。因而怎樣使波形顯示連續,是顯示信號波形中一個(gè)很重要的問(wèn)題。本系統中對這一問(wèn)題的解決方法:在LCD上每顯示完1個(gè)點(diǎn)后,判斷它與前1個(gè)點(diǎn)的幅值差距,即Y值值差,若大于8,就要在2點(diǎn)之間插入若干點(diǎn)(X值不變,只變Y值),使2點(diǎn)連續起來(lái),然后再進(jìn)行下1個(gè)點(diǎn)的顯示。利用這種方法,可很好地實(shí)現心音波形的顯示。波形顯示程序流程圖如圖7所示。

4 結束語(yǔ)
本文介紹的可視聽(tīng)診器能實(shí)時(shí)顯示心率和心音波形,并能進(jìn)行波形拉伸、變換和回放,形象直觀(guān)、操作方便,適合向臨床教學(xué)和醫療領(lǐng)域推廣應用。
手機電池相關(guān)文章:手機電池修復
網(wǎng)線(xiàn)測試儀相關(guān)文章:網(wǎng)線(xiàn)測試儀原理
評論