基于ARM智能撥號器的設(shè)計(jì)和實(shí)現(xiàn)
MT8880_WriteCRACRB(dBytesCRA, dBytesCRB);//將1101,0000 分別寫入到CRA 和CRB
dLength = strlength(pSendNum); //保存要寫入到MT8880 的被叫號碼的長度
for(dL = 0; dL dLength; dL++) { //連續(xù)發(fā)送dLength 個(gè)DTMF 信號
switch(*pSendNum++) { //判斷ARM 處理器傳來的字符型的電話號碼
case '1':{
dBytesSend[3] = 0; //D3D2D1D0=0001
dBytesSend[2] = 0;
……
break;}
case '2':{
dBytesSend[3] = 0; //D3D2D1D0=0010
……
break;}
……
default:
{
break;
}
}
MT8880_WriteDataReg(dBytesSend); //寫發(fā)送數(shù)據(jù)寄存器
for(iTemp = 5000; iTemp; --iTemp) {
MT8880_ReadStateReg(dBytesSReg); //讀取狀態(tài)寄存器的值
if(dBytesSReg[1] == 1) //判斷狀態(tài)寄存器的第二位是否為1
break; //即發(fā)送數(shù)據(jù)寄存器滿,準(zhǔn)備發(fā)送數(shù)據(jù)
}
2.信號音處理程序
首先將芯片 MT8880設(shè)置為呼叫處理、中斷模式,信號音處理程序分為四大部分:一是撥號前檢測是否允許撥號 ,即檢測信號音是撥號音還是忙號音;二是撥號后檢測是否接通,即檢測信號音是回鈴音、忙號音還是占線音;三是撥號接通后檢測是否應(yīng)答,即檢測回鈴音是否消失;四是檢測各種信號音:撥號音、忙號音、回鈴音。
各種信號音的特點(diǎn):撥號音在 5秒內(nèi)是連續(xù)音;忙號音在 5秒內(nèi) 0.35秒通,0.35秒斷;回鈴音在 5秒內(nèi)是 1秒通,4秒斷。
3.串行通信程序主要功能是接收上位機(jī)的命令,執(zhí)行相應(yīng)的操作。將另撰文詳說。
五、小結(jié)
首先對智能撥號器的硬件組成進(jìn)行了詳細(xì)的研究和說明,并對部分軟件代碼進(jìn)行了解釋。該系統(tǒng)已經(jīng)測試使用,它具有成本低、功耗小、便于攜帶、功能易于擴(kuò)展等特點(diǎn),在一定的應(yīng)用背景下有很好的使用前景。
評論