一種基于ZigBee技術的智能家居無線網(wǎng)絡系統(tǒng)
系統(tǒng)上電后,先關閉看門狗定時器,開關電源進入SNOOZE節(jié)功狀態(tài),同時關閉無線通訊模塊電源,進行I2C接口的初始化,讀取撥碼開關狀態(tài),并根據(jù)撥碼開關的狀態(tài)進行單片機通用I/O口的初始化,以確定其作為脈沖量輸入端口還是開關量輸入端口,或是撤防設防輸入端口。其中,若作為脈沖量輸入端口,則調用相應脈沖量初始化程序,設置其端口為上升沿觸發(fā);若作為開關量輸入端口,則調用相應開關量初始化程序,設置其端口為下降觸發(fā);若作為撤防設防輸入端口,則調用設防撤防初始化程序,當前端口狀態(tài)為設防狀態(tài)時,進行撤防初始化,設置其端口為上升沿觸發(fā)。當前端口狀態(tài)為撤防狀態(tài)時,進行設防初始化,設置其端口為下降沿觸發(fā)。本文引用地址:http://butianyuan.cn/article/157765.htm
端口初始化結束之后,進行串行通訊UART接口初始化,打開UART接收中斷使能,使其能響應網(wǎng)關發(fā)送給子節(jié)點的命令。定時器連續(xù)工作在計數(shù)模式,打開計數(shù)器溢出中斷使能。
單片機各部分初始化結束后,進入LPM3休眠模式,只有ACLK始終保持工作,因此在串行通訊UART和定時器初始化中,將其工作時鐘定義為ACLK是十分重要的,否則進入LPM3休眠模式后,串口和定時器將停止工作和相應中斷。進入LPM3休眠模式后,系統(tǒng)的功耗最低。
系統(tǒng)可響應I/O中斷,當其作為脈沖量輸入端口時,脈沖量上升沿觸發(fā)中斷,經過去抖處理后,脈沖量計數(shù)增1,遇到進位時,調用函數(shù)處理進位,最后將計數(shù)值寫入FRAM,進入LPM3休眠模式。當其作為開關量輸入端口時,開關量下降沿觸發(fā)中斷,停止計數(shù)器計數(shù),打開電源,打開串行通訊,重復發(fā)送報警信息,直到收到網(wǎng)關應答信息時才停止報警,恢復定時器計數(shù),進入LPM3休眠模式。
數(shù)據(jù)發(fā)送要遵循通訊協(xié)議,由于文章篇幅所限,這里就不多述了。
本文介紹的基于ZigBee技術的智能家居無線網(wǎng)絡系統(tǒng),由于其具有低成本、低功耗、較遠的覆蓋范圍及通用性的特點,將成為智能家居系統(tǒng)中的又一亮點,必將給現(xiàn)代智能家居系統(tǒng)帶來一場新的變革。
評論