基于AT89C2051單片機的超聲波理療儀設(shè)計
6 單片機控制
本設(shè)計采用ATMEL公司的AT89C2051單片機來組成控制系統(tǒng)。由于系統(tǒng)的要求不很嚴格,即不要求高運算速度,也不要求大內(nèi)存,而只要求有一定的抗震性,且價格便宜,以達到經(jīng)濟實惠的目的即可。因此,筆者選用AT89C2051型CPU。這種CPU的使用溫度范圍為-40℃~125℃,有20個管腳,是8051型CPU的簡易版,完全能滿足本系統(tǒng)的使用要求。由于主程序主要完成模塊初始化以及自身程序的調(diào)用,因而其結(jié)構(gòu)清晰簡單,圖8所示是它的控制軟件流程圖。本文引用地址:http://butianyuan.cn/article/172905.htm
其次就是初始化模塊,其作用是讓定時器、中斷等回復到最原始的狀態(tài)。比如使定時器工作在工作方式1,定時器1的中斷優(yōu)先級最高等等。它的初始化流程圖如圖9所示。
第三就是功率輸出調(diào)節(jié),本理療儀輸出功率共分三檔(低、中、高),設(shè)計時采用單片機輸出控制后續(xù)BJT電路的靜態(tài)偏置電壓,從而改變BJT靜態(tài)工作點,使壓電晶體兩端的輸出電壓幅度發(fā)生變化,以調(diào)節(jié)輸出功率。設(shè)計時可通過外部按鍵中斷來調(diào)用中斷服務程序,從而實現(xiàn)這一功能。其原理是通過按鍵的次數(shù)來判斷進入哪一個中斷,并且調(diào)用相應的子程序。由于這里的功率分為三檔,因此,可用按鍵次數(shù)除以4所得的余數(shù)來判斷,即:
如果按鍵次數(shù)為4N(N=0,1,2,3………),那么不輸出功率;
如果按鍵次數(shù)為4N+1(N=0,1,2,3………),則調(diào)用低功率輸出子程序;
以此類推,便可以實現(xiàn)三種不同功率的輸出。
以下是其部分代碼:
INTOSER: ACALL DELAY :延時程序去處按鍵抖動
………
MOV B,#04H ;設(shè)置除數(shù)為4
MOV A,R3 ;設(shè)置被除數(shù)
DIV AB
MOV A,B ;取得余數(shù)
MOV R3,B
RL A
ADD A,R3
MOV R5,A;設(shè)置偏移量為3個字節(jié)
MOV DPTR,#PMTB ;取表首地址
JMP @A+DPTR ;判斷按鍵次數(shù)跳轉(zhuǎn)到相應的輸出程序
7 結(jié)束語
本設(shè)計主要給出了超聲波從產(chǎn)生到控制的一個較詳細的實現(xiàn)方案。相對于其他方法,此方案較為簡單,并且成本較低,用的器件都是比較常見的。高頻和低頻信號獨立產(chǎn)生,便于對兩種信號進行調(diào)整,而且用單片機作為控制芯片,其靈活性較高,同時還可以根據(jù)不同的要求進行修改,從而滿足各種實際需求。
評論