?

一種信報箱提示系統的設計*

2018-09-21 08:49
上海電氣技術 2018年3期
關鍵詞:電量串口單片機

胡 芳

江蘇聯合職業技術學院無錫機電分院 江蘇無錫 214000

1 設計背景

在手機、電話與計算機這些簡單快捷的通信工具遍布全球的今天,大多數家庭依舊設置信報箱。對信報箱的使用,存在兩種截然不同的態度。一種是以老年人居多,可能正好在等信或者等報紙,盼望心切,一天可能會開幾次信報箱;與此相反,另一種是以年輕人居多,不訂報紙,也不寫信,覺得不會有信,就從來不開信報箱,然而可能哪天恰恰來一封通知,就會錯過。因此,如果在信報箱內裝一個系統,在書信或者報紙投入信報箱后,自動向信報箱主人的手機發送短信,提醒主人來取信報,這樣可以減少無效開箱的次數,并提醒主人及時開箱取信。

2 系統原理

隨著科技的發展,能給特定的手機打電話、發短信或者遠程監控的智能家居已經越來越多,將智能化應用到生活中是發展趨勢[1]。

信報箱提示系統主要應用在獨立用戶的一對一通信情況下,目前全球移動通信系統(GSM)是應用最廣泛、覆蓋面最廣、穩定性最高的通信系統,因此選擇GSM作為通信媒介,來發送報信的短消息[2]。

根據用途要求,信報箱提示系統的工作流程如圖1所示。

3 系統組成

信報箱提示系統的硬件設計框圖如圖2所示,系統由傳感器、控制芯片、通信模塊、電源模塊和顯示模塊等組成。

3.1 傳感器

在信報箱底部最里側放置一個傳感器,此傳感器一直處于開啟狀態,當感應到信報箱中有信件或報紙時,發出信號至控制芯片。傳感器的感應范圍應該是比較小的,最大感應值應能夠調節為傳感器位置至信箱門這段距離,否則傳感器會因感應到信箱門外的無關動作而發出錯誤信號。

根據以上要求,筆者選擇了感應范圍為2~50 c m的漫反射光電開關傳感器。

圖1 信報箱提示系統工作流程

圖2 信報箱提示系統硬件設計框圖

這一傳感器型號為E18-D80 NK[3],是一種集發射與接收于一體的光電傳感器,檢測距離在3~80 c m之間可調,為PNP常開型,響應時間短于2 ms,電源為5 V,輸出端外加一個1 kΩ阻值的上拉電阻就可以連接到單片機的輸入輸出口上。當控制芯片判斷端口有低電平時,延時10 ms,再次判斷以避免有干擾信號。當判斷結果還是低電平時,系統開始響應。

3.2 控制芯片

信報箱提示系統對控制芯片的性能要求不高,只要求能接收傳感器信號,并輸出信號使通信模塊發送短消息,并且能接收信報箱主人所回發的關閉系統信號。很多信號控制芯片都能夠實現這些功能,在滿足系統要求的前提下,出于成本及節能考慮,采用基礎入門級且應用最廣的51單片機作為系統控制芯片,型號確定為AT89C51。

AT89C51單片機是一款低電壓、高性能互補金屬氧化物半導體(CMOS)8位單片機,內含4 KB可擦除只讀存儲器[4],器件采用AT MEL公司的高密度、非易失性存儲技術制造,具備標準MCS-51指令系統及引腳結構。

3.3 通信模塊

信報箱提示系統要實現向信報箱主人發送提示短信的功能,就離不開通信模塊。筆者選擇GSM套件M590E和SI MCo m公司的SI M800C模塊,作為系統通信模塊。SI M800C模塊不僅價格便宜,而且支持GSM標準和AT指令控制,工作頻率有多種選擇,性能穩定,尺寸為17.6 mm×15.7 mm×2.3 mm,體積小巧,滿足系統設計要求[5]。

控制芯片通過串口方式與SI M800C模塊進行通信。晶振時鐘頻率為11.059 2 MHz,傳遞速率可配置成9 600 Baud,和通信模塊的通信誤差比較小,幾乎可以忽略。串口配置為9 600 Baud,無校驗位,有8位數據位、1位停止位。相關寄存器配置如下[6]:

ACC=P_SW1;

ACC&= ~(S1_S0|S1_S1); ∥S1_S0=1 S1_S1=0

ACC|=S1_S0; ∥(P3.6/Rx D_2,P3.7/Tx D_2)

P_SW1= ACC;

SCON=0x50; ∥8位可變傳輸速率

T2L=(65536-(FOSC/4/BAUD)); ∥設置傳輸速率重裝值

T2 H =(65536-(FOSC/4/BAUD))?8;

AUXR=0x14; ∥T2為1T模式,并啟動定時器2

AUXR|=0x01; ∥選擇定時器2為串口1的傳輸速率發生器

利用SI M800C模塊和M590E套件,在加載用戶標志模塊卡后,就可實現短消息提醒信報箱主人的功能。

3.4 電源模塊

AT89C51單片機的電源為3.8 V[7],通信模塊的電壓輸入端范圍為3.4~4.4 V[4],傳感器的電源為5 V,因此選擇5 V直流電源直接為傳感器供電??紤]到3.8 V也在通信模塊電壓可選范圍內,因此同時經過貼片式熔體、穩壓芯片及鉭電容濾波后為AT89C51芯片和通信模塊供電[8]。為了方便使用,同時考慮到體積因素,選擇可充電式大容量鋰電池,配備充電器,并且電源為可拆卸形式。用XH2.54 2P插頭連接系統與充電器,方便用戶在電源低電量時將電源帶回家充電。插頭有防反插設計,可防止用戶因插反而造成系統短路[9]。

3.5 顯示模塊

為了方便用戶判斷信報箱提示系統電量剩余情況,以及用于發送短信的用戶標志模塊卡信號強弱,系統要求由顯示模塊來進行提示。顯然,用顯示屏來顯示是不經濟的方法,筆者采用發光二極管點亮的方法來告知用戶。由AT89C51單片機驅動發光二極管,系統的電量顯示和用于發送短信的用戶標志模塊卡的信號強弱分別采用三個發光二極管顯示。三個全亮表示電量高、信號強,兩個亮表示中等,僅一個亮表示需要充電或者用戶標志模塊卡信號弱,需調整。

基于查詢AT指令的命令格式,查詢電量的指令為AT+CBC\,查詢信號的指令為AT+CSQ\[10]。通過單片機串口分別向電源、通信模塊發送這兩個AT指令,電源、通信模塊會自動下發給單片機相關電量和信號強弱的信息,單片機通過中斷接收后處理分析這兩組下發的數據,就可以得到電量值和信號狀態,然后再分別驅動表示電量和信號的各組發光二極管進行顯示。

4 軟件設計

AT89C51單片機通過串口輸出AT指令來對SI M800C模塊進行相應控制,可極大方便軟件的設計。軟件設計主要包括傳感器信號處理、通信及主控系統的程序設計。根據所選擇的AT89C51單片機,采用C語言進行程序編寫。

4.1 主函數

主函數的功能是信號觸發,接收到傳感器發送到的信號后響應,開始向設定手機號發信息,信息內容為“You have a new letter”,然后重新恢復到持續判斷有無觸發信號的狀態[11]。主函數程序代碼如下:

4.2 電量與信號讀取程序

if((SBUF>=65&&SBUF<=90)||(SBUF>=48&&SBUF<=59)||(SBUF==44)||(SBUF==′*′)) ∥只存儲“,”、“A-Z”大寫字母、“0-9”數字、“:”和“;”

5 結束語

經測試,筆者設計的信報箱提示系統達到了預期的要求,依靠成熟的GSM技術,方便及時地提醒信報箱主人去開信箱,具有良好的實用性。系統未考慮到當系統電量低時發短信提醒用戶,這是不足之處,有待后續彌補。

猜你喜歡
電量串口單片機
儲存聊天記錄用掉兩個半三峽水電站電量
物聯網智能燃氣表電量自補給裝置
淺談AB PLC串口跟RFID傳感器的通訊應用
基于單片機的SPWM控制逆變器的設計與實現
基于單片機的層次漸變暖燈的研究
基于單片機的多功能智能插排
基于單片機的便捷式LCF測量儀
電量隔離傳感器測試儀的研制
數字電源內部數據傳輸的串口通信方法實現
USB接口的多串口數據并行接收方法探索
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合