基于DTMF技術(shù)與射頻技術(shù)的遠程控制的實現(xiàn)
3、遠程控制應用實現(xiàn)
為了實現(xiàn)對多點設(shè)備的控制,無線編碼芯片PT2262的地址線選用A0~A7地址腳和DO~D3數(shù)據(jù)腳,這12個口線均通過單片機AT89S52來控制。由于單片機很容易實現(xiàn)“0”和“1”控制,所以單片機對A0~A7這8個地址線的控制可實現(xiàn)256種狀態(tài),即最多可以控fitJ 256種設(shè)備(每一個PT2272解碼芯片輸出對應于一種受控設(shè)各);同樣地,單片機對DO~D3這4條數(shù)據(jù)線的控制可實現(xiàn)16種狀態(tài),即對同一設(shè)各可實現(xiàn)最多16種方式的操作。本文實現(xiàn)的是異地遠程呼叫處理工廠各個無人操作車間的測試儀器,并能遙控操作進行相關(guān)的測試任務。系統(tǒng)框圖如圖5所示。
圖5 遠程控制應用系統(tǒng)框圖
系統(tǒng)的工作流程如下:單片機主板可以接人固定電話線也可以接人一個手機模塊(專為沒有預裝固定電話的區(qū)域使用),操作員在異地拔打本地電話號碼(或手機號碼),單片機主板會自動檢測振鈴信號,然后自動摘機,并提示操作員輸人密碼。當單片機主板驗證通過后,操作員就可輸人地址碼(對應于一臺測試儀器,如001號)和操作碼(當前測試機的測試任務,如A字符,代表打開測試機電源),單片機主板識別后,通過編碼芯片送給無線發(fā)射頭,無線發(fā)射頭按特定的規(guī)則送出地址碼和操作碼,每一臺測試機上的無線接收頭都能接收到該無線信號,但只有與編碼芯片的地址匹配的那臺測試機才會響應并執(zhí)行操作碼。
4、軟件實現(xiàn)
軟件部分主要分為三部分:(1)正確檢測到固定電話的振鈴音并自動摘機或手機模塊自動接通接聽中的鈴流信號;(2)對DTMF信號的接收和發(fā)送處理,實現(xiàn)身份認證、向用戶發(fā)送提示音、接收用戶輸人的控制指令等。(3)控制編碼芯片地址線和數(shù)據(jù)線,從而把控制指令無線傳輸出去。
4.1固話振鈴音的檢測及處理
針對固定電話、結(jié)合圖1,單片機AT89S52的TEST腳檢測到固定電話振鈴檢測信號波形,AT89S52只要判斷TEST腳的電平變化即可以正確檢測外線是否有電話撥人,然后控制TRI腳吸合繼電器實現(xiàn)模擬摘機。
針對手機模塊、結(jié)合圖2,本文選用的是一款諾基亞手機(手機設(shè)為自動接聽模式),經(jīng)局部改造提到鈴流信號線送人單片機AT89S52的GSM-RING的lO腳上,常態(tài)下為高電平,當有電話打過來時,GSM-RING的lO腳上得到的波形如圖6所示。所以單片機只要AT89S52判斷GSM-RING的lO腳的電平變化情況就可以了。
圖6手機模塊鈴流信號波形
4.2 DTMF信號的收發(fā)處理
當固定電話或手機模塊自動摘機后,則啟用DTMF收發(fā)處理程序(主要是對MT8880芯片的處理),關(guān)鍵的程序代碼如下[3]·
“讀MT8880狀態(tài)或數(shù)據(jù)寄存器”函數(shù):
〃功能說明:讀取MT8880狀態(tài)寄存器
〃輸出參數(shù):返回MT8880的狀態(tài)寄存器值
//DTMF REG為與MCU的接口寄存器,在"DTMF H"有定義
uchar DTMF_CPR(void)
?。?p> uchar uc_data;
DTMF_Q2=1;
noD();
_nop_();
uc_data=DTMF_REG;IlC_data=uc_data&0x0f;pTMF_07v"=0;
return(uc_d·ata);
?。?p> “寫MT8880控制或數(shù)據(jù)寄存器時序”函數(shù):
//功能說明:MT8880的Q2時序控制
void DTMF_CPW(void)
{
DTMF_Q2=1; //Q2=1產(chǎn)生Q2的上升沿
non_();//Q2的高電平持續(xù)
_nop_();
uc_data=DTMF_REG;//讀MT8880狀態(tài)寄存器
uc_data=uc_data0x0f;//屏蔽高四位,只取低4位
DTMF_Q2=0;//Q2=0完成一個Q2時鐘
return(uc_data);
?。?/span>
評論