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