新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 一種基于AT89S52和CAN總線的家居安防系統(tǒng)設(shè)計

一種基于AT89S52和CAN總線的家居安防系統(tǒng)設(shè)計

作者: 時間:2014-09-14 來源:網(wǎng)絡(luò) 收藏

  4 軟件設(shè)計

本文引用地址:http://butianyuan.cn/article/262875.htm

  系統(tǒng)的軟件采用模塊化設(shè)計, 主要包括主程序模塊、 通信模塊、振鈴檢測模塊、語音報警模塊、DTMF收發(fā)模塊等, 這里主要介紹主程序和通信模塊設(shè)計。

  4. 1 主程序設(shè)計

  主程序主要完成各功能模塊的調(diào)用, 檢測系統(tǒng)輸入, 然后根據(jù)系統(tǒng)狀態(tài)進(jìn)行判斷處理。程序進(jìn)行主循環(huán)之前還要進(jìn)行必要的初始化, 如MT8880、ISD1420、SJA1000、相關(guān)標(biāo)志位等。主程序流程如圖4所示。

  

4.jpg

 

  圖4 主程序流程圖

  4. 2 通信模塊設(shè)計

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

  

5.jpg

 

  圖5 JA 1000的收發(fā)流程圖

  5 結(jié)束語

  本系統(tǒng)以單片機(jī)為核心, 不用對電話網(wǎng)進(jìn)行任何改造, 實現(xiàn)對家居設(shè)防點進(jìn)行自動檢測和語音報警。設(shè)計中用CAN 總線結(jié)構(gòu)組成, 有較好的靈活性和擴(kuò)展性, 同時利用CAN 總線引入實時的數(shù)據(jù)處理, 提高了系統(tǒng)的可靠性??蓪怯羁梢晫χv、智能小區(qū)管理、門禁管理等有較大的應(yīng)用推廣價值。

光耦相關(guān)文章:光耦原理


手機(jī)電池相關(guān)文章:手機(jī)電池修復(fù)



上一頁 1 2 下一頁

關(guān)鍵詞: AT89S52 CAN 安防系統(tǒng)

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉