一種基于AT89S52和CAN總線的家居安防系統設計
4 軟件設計
本文引用地址:http://www.104case.com/article/262875.htm系統的軟件采用模塊化設計, 主要包括主程序模塊、CAN 通信模塊、振鈴檢測模塊、語音報警模塊、DTMF收發模塊等, 這里主要介紹主程序和CAN通信模塊設計。
4. 1 主程序設計
主程序主要完成各功能模塊的調用, 檢測系統輸入, 然后根據系統狀態進行判斷處理。程序進行主循環之前還要進行必要的初始化, 如MT8880、ISD1420、SJA1000、相關標志位等。主程序流程如圖4所示。

圖4 主程序流程圖
4. 2 CAN 通信模塊設計
CAN 通信模塊包括控制器初始化、數據接收和發送子程序。SJA1000有復位模式和工作模式兩種狀態, 兩種狀態下寄存器配置不同。當參數設置完后, CPU 發出命令, SJA1000 處于工作狀態, 進行正常通信。如果通信出錯, CPU 會使SJA1000 回到復位模式。接收模塊負責節點報文的接收及相關處理。接收過程中CPU 會讀數據, 根據命令字判斷數據幀的類型進行不同處理。發送模塊負責報文的發送, SJA1000 發送數據前, 要判斷是否滿足發送條件, 如果滿足, 則把報文幀信息、標識符和要發送的數據寫入緩沖區, 即可發送。JA 1000的收發流程圖如圖5所示。

圖5 JA 1000的收發流程圖
5 結束語
本系統以AT89S52單片機為核心, 不用對電話網進行任何改造, 實現對家居設防點進行自動檢測和語音報警。設計中用CAN 總線結構組成安防系統, 有較好的靈活性和擴展性, 同時利用CAN 總線引入實時的數據處理, 提高了系統的可靠性。可對樓宇可視對講、智能小區管理、門禁管理等有較大的應用推廣價值。
光耦相關文章:光耦原理
手機電池相關文章:手機電池修復
評論