單片機典型案例開發(一)
一、基于GPRS和單片機的彩信報警系統設計方案
本文引用地址:http://www.104case.com/article/171405.htm摘要:設計一種基于GPRS 和51 單片機的彩信報警系統。利用單片機技術、帶彩信協議GPRS 無線通信模塊、圖像捕獲和圖像壓縮編碼功能模塊,實現原理圖設計到電路板設計開發。用單片機根據seNSor 控制串口攝像頭圖像采集和壓縮處理,采集圖像通過彩信的格式發送到用戶手機,同時可以通過短信命令隨時查看系統狀態,或者攝像頭采集圖像,監控現場情況。
國內傳統的電子防盜報警系統方案往往是在用戶端通過電子設備檢測到盜竊等報警信息, 然后通過通訊器經電話線將信號自動傳到報警中心來完成報警過程。這種報警中心往往存在很多局限。例如:報警中心地點和人員需固定,報警通信速度慢,反向查詢、控制等操作困難而專業,電話線斷線問題難以解決,通信費用、尤其是遠程通信費用較高,不利于組建遠程網絡,通信帶寬太小,加載信息量少,音視頻信號的技術手段應用困難, 很難應用于家庭安防市場等等。
而彩信業務自中國移動從2002 年9 月正式推出以來,隨著彩信網絡工程的建立和不斷地優化,彩信逐漸進入了高速發展和穩定應用階段。所以人們越來越關注于依托中國移動網絡、基于彩信業務來發展現代的電子防盜報警系統, 從而能在此系統上發揮其隨時隨地監控、網絡涵蓋范圍大、查詢控制等操作簡便、費用低、報警通信速度快、音視頻應用簡易等眾多優勢,使其能廣泛應用于家庭、辦公、工廠、商鋪等等各種場所。
1 系統硬件設計
1.1 系統總線設計
本彩信報警系統以普通AT89C52 單片機和帶有彩信功能的無線模塊GPRS,前端設備可以根據控制攝像頭采集圖片,發送到用戶手機上,同時用戶可以通過短信命令隨時查看系統狀態, 或者控制前端攝像頭采集圖像,監控現場情況。采用此方案設計的產品操作簡單,為了降低成本,在最小硬件設計的基礎上,系統的功能盡可能用軟件程序來實現,以達到降低成本,滿足市場需求。
設計的硬件電路主要由三部分組成: 圖像捕獲和圖像壓縮編碼部分通過串口攝像頭實現; 主控制器處理圖像數據和任務控制用AT89C52 單片機實現;帶彩信協議GPRS 模塊無線部分。在設計中使用電路圖,在設計的過程中,首先設計了硬件的結構框圖,如圖1 所示:
圖1 系統硬件結構框圖
采用單片機AT89C52 為核心組成彩信報警系統,AT89C52 具有快速8051 內核、8kBFlashE2PROM、256BIDATARAM,符合該硬件要求;彩信報警功能,采用GPRSModule 的MC55 芯片,帶彩信協議棧MMS 功能;利用串口攝像頭實現現場捕獲和圖像壓縮存儲功能。
1.2 單片機接口設計
AT89C52 單片機接口中, 作為只要一組串口,GM8123 可以將一個全雙工的標準串口擴展成3 個標準串口,并能通過外部引腳控制串口擴展模式。該芯片母串口和子串口的工作波特率可由軟件調節,而不需要修改外部電路和晶振頻率, 它的外部控制少,應用靈活,編程使用簡單,適用于大多數有串口擴展需求的系統。所以利用GM8123 為AT89C52擴展出3 組串口, 可以與串口攝像頭和GPRS 模塊進行連接通信。如圖2 所示。
圖2 單片機接口電路設計
1.3 GPRS 數據傳輸模塊硬件設計
由于現場圖片需要以彩信的形式發送, 所以選用了帶有彩信功能的無線模塊, 這里選用的GPRS模塊是西門子的MC55[5].GPRS 模塊和單片機之間的數據通信主要是通過端口TXD0 與TXD1 之間,RXD0 與RXD1 之間的數據傳輸來完成。其中GPRS模塊上的TXD0 口是用于接收從單片機傳來的數據, 而單片機上的擴展TXD2 端口是用于向GPRS模塊傳送數據的。GPRS 模塊上的RXD0 口是用于向單片機發送數據, 單片機的擴展RXD2 口則是用于接收從GPRS 模塊傳輸來的數據。
GPRS 數據傳輸模塊硬件部分的電路原理圖如圖3 所示。
圖3 GPRS 數據傳輸模塊電路設計
1.4 串口攝像頭
ZSV-01P 串口攝像頭是一款具有視頻采集和圖像壓縮功能的攝像頭,具有130 萬像素CMOS 攝像頭,最大分辨率可達到1 280×960,是一個內含有拍攝控制、視頻捕捉、圖像數據采集、圖像JPEG 壓縮、串口通訊等功能的齊全的工業用圖像采集設備,最大串口通訊速率可達115.2kbs[6]。本設計采用的帶有串口的攝像頭, 主機通過串口以約定的協議對攝像頭進行控制。主機與相機是一種主從關系,相機的操作命令由主機發出,主機可以控制相機的輸出格式、分辨率,相機向主機發送響應消息。具體參數:
?。?)接口:主機與相機之間為RS-232 標準接口,波特率為57 600,8 位數據位,無校驗,1 位停止位。
?。?)圖像格式:相機輸出的圖像格式為JPEG.
?。?) 圖像分辨率可以是:640×480、320×240、160×120、352×288、176×144.圖像分辨率越高,則圖像數據量越大。圖4 表示分包傳輸時一幅完整圖片采集流程。
圖4 串口攝像頭采集流程
2 軟件設計
2.1 模塊軟件設計
軟件采用標準的C 語言構造,由Keil C51 編譯器編譯。系統軟件設計包括兩部分:一是單片機對各個功能芯片的控制字的寫入和單片機串口擴展程序;二是GPRS 數據接收發程序設計。
2.1.1 單片機與GPRS 無線模塊
程序這個程序主要是完成GPRS 模塊與單片機之間的數據傳輸,單片機有51 系列的,設定的單片機串行口工作方式為模式1,8 位UART, 數據傳輸率為可變;定時器1 的工作方式為模式2,數據傳輸率設置為9 600 b/s,晶振為11.059 2 MHz.我們傳輸的主要是AT 指令, 包括所撥的號碼,DNS 服務的IP 地址,GPRS 服務提供商的密碼, 接入GPRS 服務的APN.當然還需要建立一個TCP 通訊,此服務的客戶內容包括IP、地址以及遠方主機的TCP 端口號等所傳輸的信息。
該程序的主程序是對AT 指令進行發送和接收,在完成發送和接收數據時是分別調用數據發送子程序和數據接收子程序,而這里共包括3 個子程序:數據發送子程序、數據接收子程序以及延時子程序。
2.1.2 單片機攝像頭的控制過程。
主機獲取攝像頭圖像時操作:(1) 打開串口;(2)開始采集圖像,設置圖像分辨率;(3) 獲取圖像數據;(4) 結束采集圖像;(5) 關閉串口。步驟(3) 獲取圖像可以循環執行。如果重新設置圖像分辨率應重新執行步驟(2)。
2.1.3 單片機串口擴展程序設計
與之相關聯的各端口狀態和含義為:
(1)sbit MS=P3^6; //GM8123 工作模式控制
?。?)sbit RESET=P3^7; //GM8123 復位引腳控制
?。?)unsigned char SendBuff[5]={ 0x67,0xbc,0xc9};// 需要三個子串口
主程序中定義:
TMOD = 0x20; // 指定定時器1 工作在方式2
IE = 0x90; // 開串行口中斷
SCON=0xc0; // 串行口工作在方式3
TH1 = 0xf8; // 裝入定時器1 初值,設置主機工作波特率為7 200bs
P1=0x00; // 置GM8123 命令字地址
SBUF=Contr_data; // 設置GM8123 子串口波特率為19 200bs,母串口波特率為11 5200bs
因此,整個控制過程是:定義和初始化各個元器件的控制字和端口,然后單片機發送命令通過串口來檢查和控制各個Sensor 和串口攝像頭及MCC55 的工作。
2.2 程序流程
系統上電后首先初始化單片機, 設置串行口的波特率和定時器;然后初始化GM8123、各種Sensor傳感器;接著執行MC55 上電,然后初始化MC55.
系統程序流程如圖5所示。
圖5 系統程序流程圖
3 結語
本設計選擇中深微電子公司的串口攝像頭實現了圖像捕獲和圖像壓縮編碼于一體, 簡化了電路的復雜性, 帶彩信協議GPRS 模塊無線部分選用SIEMENS 公司的MC55,該模塊性能穩定、可靠、操作方便。通過實驗驗證該報警系統運行效果良好,用戶可以隨時隨地用手機遠程遙控, 拍攝現場的照片并發送到指定手機或者電子郵箱里。可以外接多種無線傳感器報警,例如煙感、無線門磁、紅外人體感應器、煤氣傳感器等,實現多種觸發方式的報警,并具有圖像移動偵測功能, 能對移動的物體自動觸發報警,具有一定的實用價值。
二、基于AT89C52的超聲波測距儀的設計方案
摘要:基于提高測量精度的目的,設計了具有溫度補償的超聲波測距系統。該系統采用DS18B20溫度傳感器對現場溫度進行檢測,并通過軟件計算實現溫度補償。實驗結果表明:此系統具有測量精度高的優點。
測距技術在物位檢測、醫療探傷、汽車防撞等民用、工業領域應用廣泛,由于超聲波的速度相對于光速要小的多,其傳播時間就比較容易檢測,并且易于定向發射,方向性好,發射強度好控制,且不受電磁干擾影響,因而利用超聲波測距是一種有效的非接觸式測距方法。但超聲波在不同環境溫度下傳播速度不同,如忽略溫度影響,將影響最終測量精度。本文介紹的超聲波測距儀采用渡越時間檢測法,使用了DS1 8B20溫度傳感器對現場溫度進行檢測,并通過軟件計算實現波速的溫度補償,消除了溫度對測量結果的影響,使測量誤差降低。
1 系統工作原理
超聲波測距原理如圖1所示。
圖1 超聲波測距原理
式中c--超聲波波速:t--從發射出超聲波到接收到回波所用時間。
限制該系統的最大可測距離存在4個因素:超聲波的幅度、反射的質地、反射和入射聲波之間的夾角以及接收換能器的靈敏度。接收換能器對聲波脈沖的直接接收能力將決定最小的可測距離。為了增加所測量的覆蓋范圍、減小測量誤差,可采用多個超聲波換能器分別作為多路超聲波發射/接收的設計方法。
由于超聲波屬于聲波范圍,其波速c與溫度有關,經過測量得出超聲波的波速與溫度的關系,如表1所示。
表1 聲速與溫度的關系表
將測量的速度數據與溫度數據進行一階擬合得出:
c=331.6+0.6107xT (2)
式中T--當地溫度。
在測距時,可通過溫度傳感器自動探測環境溫度、確定其時的波速c.波速確定后,只要測得超聲波往返的時間t,即可求得距離H,這樣能較精確地得出該環境下超聲波經過的路程,提高了測量精確度。
本設計方案中使用渡越時間檢測法,測距儀工作原理為:在由單片機發出驅動信號的同時,開啟單片機中的計時器,開始計時。發射探頭發射出超聲波,在由接收探頭接收到第一回波的同時停止單片機計時器的計時,由于超聲波在空氣中的速度已知,根據公式即可求得探頭與待測目標之間的距離。而且,可以在較短時間內多次發出超聲波測量,完成后計算平均值然后顯示。
超聲波在相同的傳播媒體里(大氣條件)傳播速度相同,即在相當大的頻率范圍內聲速不隨頻率變化,但其頻率越高,衰減得越厲害,傳播的距離也越短??紤]實際工程測量要求,在設計超聲波測距儀時,選用頻率f=40kHz的超聲波,波長為0.85cm.
2 系統硬件設計
本系統采用AT89C52單片機作為主控制器,使用3位數碼管作為系統顯示屏,超聲波發射驅動需要的40 kHz脈沖由單片機P0.0發出,使用定時器進行計時和控制,超聲波接收使用CX20106A作為接收主控芯片,使用DS18B20作為溫度傳感器進行溫度校正。超聲波測距器的系統原理圖如圖2所示。
圖2 系統設計原理圖
2.1 超聲波的發射電路設計
超聲波發送模塊是由超聲波發射探頭組成的,單片機的P0.0端口直接發送40 kHz的信號,使用9012三極管做為驅動放大,驅動壓電晶片超聲波換能器產生超聲波,超聲波發射電路如圖3所示。超聲波發射子程序的流程是,發射時首先裝填計時器,并且開始計時,當超聲波發射完畢時,定時器計時完畢,并且重新裝填等待下次發射。
圖3 超聲波發射電路
2.2 超聲波接收電路設計
在接收電路中使用了紅外線接收處理芯片CX20106A,因為它處理的是38 kHz的紅外信號,而40 kHz的超聲波信號和它比較接近,并且CX20106A芯片具有很強的抗干擾能力,這個芯片的外圍電路很簡單而且通過外圍電阻調節它的中心處理頻率,通過改變外圍電路電容的大小也可以改變接收電路靈敏度和抗干擾能力。
經過試驗后發現用單片機發40 kHz信號與使用CX20106A的電路搭配更加簡單合理,使得時間的計算更為精確。
該系統的超聲波接收模塊是由超聲波接收探頭和紅外線接收處理芯片CX20106A組成。如圖4所示。超聲波接收子程序的流程是,利用INT0中斷檢測回波信號,若有回波信號(INT0口低電平)就關閉外部中斷,同時停止計時器的計時,將測距成功標志位標記為1(測距成功),同時提取時間值,計算待測距離,保存最終結果后打開外部中斷,等待下次測量。
圖4 超聲波接收電路
2.3 超聲波測距顯示電路
在顯示模塊選擇時有兩種,一種是用液晶顯示屏,其具有輕薄短小,分辨率高,可顯示漢字等各種符號的優點。但一般需要利用控制芯片創建字符庫,編程工作量大;一種則是選用數碼管,數碼管具有低電耗、壽命長、易于維護的特點,同時精度比較高,稱量快,精確可靠,編程容易,操作簡單。缺點是不能實現漢字及多數據多行顯示。綜合考慮本次設計中選擇了3位數碼管顯示。用PNP型三極管驅動數碼管,并連接到單片機AT89C52的P0口上作位選。雖然顯示上沒有液晶顯示屏那么完全,但是也能夠完整直觀地顯示出需要的結果。圖5為超聲波測距硬件設計的顯示電路。
手機電池相關文章:手機電池修復
單片機相關文章:單片機教程
單片機相關文章:單片機視頻教程
單片機相關文章:單片機工作原理
霍爾傳感器相關文章:霍爾傳感器工作原理
霍爾傳感器相關文章:霍爾傳感器原理 晶振相關文章:晶振原理 脈沖點火器相關文章:脈沖點火器原理
評論