基于GPRS 和數(shù)字無(wú)線的嵌入式報(bào)警系統(tǒng)的設(shè)計(jì)
2. 2 系統(tǒng)軟件設(shè)計(jì)
2. 2. 1 系統(tǒng)主程序
系統(tǒng)上電后, 首先延時(shí)100 ms, 讓單片機(jī)和外圍電路有充分的時(shí)間復(fù)位。在系統(tǒng)初始化過(guò)程中, 使能C8051F020 的外部中斷6, 7 和串口中斷, 并將各個(gè)中斷請(qǐng)求標(biāo)志位復(fù)位。外部中斷6 處理遠(yuǎn)程控制, 外部中斷7處理報(bào)警, 串口中斷處理PC 控制命令。循環(huán)掃描各路中斷標(biāo)志位, 如果中斷請(qǐng)求標(biāo)志位置位, 則轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序。如圖2 所示。
圖2 系統(tǒng)主程序流程圖
2. 2. 2 報(bào)警子程序
當(dāng)報(bào)警時(shí), 調(diào)用摘機(jī)函數(shù)模擬摘機(jī), 并進(jìn)行鈴音檢測(cè)。鈴音檢測(cè)時(shí)單片機(jī)計(jì)數(shù)器T 0 定時(shí)4 s, 計(jì)數(shù)器T 1對(duì)MT 8888 IRQ 輸出方波進(jìn)行4 s 計(jì)數(shù)。據(jù)程控交換機(jī)協(xié)議, 鈴音信號(hào)為誤差+ 25 H z 的450 Hz連續(xù)正弦波, 撥號(hào)音是連續(xù)的, 忙音為0. 35 s 通、0. 35 s斷, 回鈴音為1 s 通、4 s 斷。可設(shè)定計(jì)數(shù)門限, 據(jù)計(jì)數(shù)值的不同進(jìn)行鈴音識(shí)別。如, 撥號(hào)音的計(jì)數(shù)上下門限為( 450+25) * 4= 1 900 和( 450- 25) * 4= 1 700。如圖3 所示。
圖3 報(bào)警子程序流程圖
評(píng)論