基于單片機(jī)的艦船自動(dòng)報(bào)警系統(tǒng)的設(shè)計(jì)
3 系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn)
本系統(tǒng)采用模塊化編程方法進(jìn)行所有的軟件設(shè)計(jì),主要包括主程序、A/D轉(zhuǎn)換子程序、發(fā)送和接收子程序和程控交換子程序等的設(shè)計(jì)。
3.1 主程序
程序初始化地址為0000H,因此開機(jī)后自動(dòng)運(yùn)行,大部分都是在中斷后完成,所以主程序比較短,僅對(duì)MT8880進(jìn)行初始化,同時(shí)開啟中斷,然后處于等待狀態(tài),直至INT0或INT1接收到信號(hào)。主程序框圖如圖4所示。本文引用地址:http://m.butianyuan.cn/article/171843.htm
3.2 發(fā)送和接收子程序
本系統(tǒng)采用的是兼信號(hào)收、發(fā)于一體的雙音多頻芯片MT8880。此芯片可以通過不同的命令控制線來(lái)控制接收狀態(tài)和發(fā)送狀態(tài)。此芯片有三類寄存器:數(shù)據(jù)轉(zhuǎn)移寄存器、收發(fā)控制寄存器和收發(fā)狀態(tài)寄存器,這些寄存器分別由MT8880的三個(gè)控制腳RS0、R/W和IRQ/CP腳進(jìn)行控制。收發(fā)控制由CRA和CRB兩個(gè)控制寄存器共同完成。本設(shè)計(jì)在MT8880撥號(hào)的過程中采用延時(shí)法,而在MT8880收號(hào)的過程中采用查詢法。子程序框圖如圖5所示。
評(píng)論