摘要:設計一種基于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]。本設計采用的帶有串口的攝像頭, 主機通過串口以約定的協議對攝像頭進行控制。主機與相機是一種主從關系,相機的操作命令由主機發出,主機可以控制相機的輸出格式、分辨率,相機向主機發送響應消息。具體參數:
(1)接口:主機與相機之間為RS-232 標準接口,波特率為57 600,8 位數據位,無校驗,1 位停止位。
(2)圖像格式:相機輸出的圖像格式為JPEG.
(3) 圖像分辨率可以是: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 工作模式控制
(2)sbit RESET=P3^7; //GM8123 復位引腳控制
(3)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為超聲波測距硬件設計的顯示電路。
圖5 超聲波測距顯示電路
2.4 溫度補償電路設計
本系統中,選擇使用溫度芯片DS18B20作為溫度傳感器。DS18B20支持“一線總線”接口,測量溫度范圍為-55~125℃,在-10~85℃范圍內,精度為±0.5℃。現場溫度直接以“一線總線”的數字方式傳輸,大大提高了系統的抗干擾性。適合于惡劣環境的現場溫度測量。DS18B20引腳說明如表2所示。
表2 DS18B20引腳說明
DS18B20是在一根I/O線上讀寫數據,因此,對讀寫的數據位有著嚴格的時序要求。DS18B20有嚴格的通信協議來保證各位數據傳輸的正確性和完整性。該協議定義了幾種信號的時序:初始化時序、讀時序、寫時序。
溫度補償電路的設計如圖6所示,數據輸入/輸出腳連接到單片機的P0.1腳,電源接口接入+5 V的電壓,外加5.6 kΩ的上拉電阻,因為DS18B20是單總線溫度傳感器,數據線是漏極開路,如果DS18B20沒接電源,則需要數據線強上拉,給DS18B20供電;如果DS18B20接有電源,則需要一個上拉即可穩定的工作。由于DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉換電路集成在形如一只三極管的集成電路內,檢測的溫度值在內部進行轉換,溫度測量結果直接以數字信號輸出,單片機對由DS18B20輸出的信號進行讀取,經過軟件對溫度數字值實現處理。
圖6 溫度補償電路
2.5 主電路原理圖
該系統主電路原理圖如圖7所示,單片機采用89C52系列,單片機使用外部時鐘源,外接6MHZ的晶振,由P0.0口直接輸出40 KHZ的驅動信號給放大電路。接收到回波后,經由CX20106的濾波,產生中斷信號,并由p3.2口輸出進行中斷。顯示電路采用簡單實用的3位數碼管,連接單片機AT89C52的P0口,而三極管連接P2口,作數碼管的位選。工作時,首先將系統初始化,啟動計時器。并由P0.0腳發出40KHZ的驅動信號,同時打開INT0中斷,并且開始等待接收到的回波和中斷信號,若接收到回波(單片機接收到中斷信號),計時器停止計時,保存時間信息,并且根據溫度補償計算出當前環境下的聲速,計算出當前待測距離后儲存,并調用顯示子程序。測出距離后結果將以十進制BCD碼方式傳送到LED顯示,然后再發超聲波脈沖重復測量過程。
圖7 超聲波測距主電路圖
3 結論
經過實測,本測距儀能夠迅速的測出250 m以內的短距離障礙物,在30-200 cm范圍內,誤差能控制在1 cm以內,本設計具有簡單實用,能耗低,成本低等特點。經過實際測試,發現系統的精度能滿足普通需求,若需要進一步提高精度,可采用精度更高但系統更加復雜的雙頻超聲波測距的方法。
三、基于單片機的智能泊車系統設計方案
摘 要:一個有效的智能泊車系統,不僅能幫助駕駛者快速、安全地完成泊車操作,從而減輕駕駛員負擔,減少交通事故,而且能夠有效提高汽車的智能化程度,增加汽車的附加值,從而帶來巨大的經濟效益。使用AT89C52單片機作為小車的主控制器,在該控制器基礎上,添加了光電避障電路、測速電路、光源引導電路和電機驅動電路,從而實現了智能泊車系統設計。該系統結構簡單、成本低,并在實驗室中取得了預期的效果,能夠使小車進入指定的停車位。
0 引 言
隨著我國汽車數量逐年急劇增多,泊車位、停車場的數量卻跟不上其增長的步伐,越來越多的人為如何泊車而發愁。日益擁擠的泊車環境要求人們對汽車的泊車技術更加地嫻熟,這就更加重了人們工作之外的緊張情緒,降低了人們的生活質量。因此,如何解決泊車過程中的不便利,消除安全隱患,迅速、準確、安全地將汽車停靠到合適的位置,逐漸引起了人們的關注。
1 系統的工作原理及功能
智能泊車系統可分為控制部分和信號檢測部分。
其中信號檢測部分包括障礙物檢測模塊,光源檢測模塊和速度檢測模塊;控制部分包括控制器模塊,電機控制模塊。智能泊車系統基本模塊方框圖如圖1所示。
圖1 智能泊車系統基本框圖
系統工作原理如下:在小車啟動之后,通過霍爾傳感器A44E進行小車的速度檢測,對小車進行智能限速,小車行進過程中通過紅外光電傳感器避障,車庫系統發送光源指示信號,光敏三極管接收車庫指示信息,使小車到達指定車庫后,停車。
1.1 單片機最小系統設計
AT89C52是51系列單片機的一種,是一個低功耗,高性能,CMOS 8位單片機,片內含8KB的可反復擦寫的FLASH只讀程序存儲器和256B的隨機存取數據存儲器(RAM),由ATMEL公司采用高密度、非易失性存儲技術生產,兼容標準MCS-51指令系統,片內置通用8位中央處理器和FLASH存儲單元,片內有ROM/EPROM,因此,這種芯片構成的最小系統簡單可靠,只要將單片機接上時鐘電路和復位電路即可。
1.2 避障電路設計
紅外光電式傳感器具有非接觸、響應快、性能可靠、體積小、安裝輕便等諸多特點,因此在工業自動化裝置和智能小車中獲得廣泛應用。本設計中采用的光電避障傳感器是HS0038B.紅外光電接收電路工作原理為:當接收到載波頻率為38kHz的脈沖調制信號時,首先,HS0038B內的紅外敏感元件將脈沖調制紅外光信號轉換成電信號,再由前置放大器和自動增益控制電路進行放大處理,然后通過帶通濾波器進行濾波,濾波后的信號由解調電路進行解調,最后由輸出電路進行反向放大并輸出低電平;未接收到載波信號時,電路則輸出高電平。紅外發射電路由555定時電路產生方波,對紅外發射管進行調制。
1.3 A44E測速電路設計
霍爾傳感器A44E在測速系統中的主要作用是車輪轉速采集。車輪每轉一周,磁鐵經過A44E一次,A44E的第3腳就輸出一個脈沖信號,脈沖信號的周期與電機的轉速有下列關系:
式中:n為電機轉速;P 為電機轉一圈的脈沖數;T 為輸出方波信號的周期。
脈沖信號作為單片機AT89C52的外中斷信號,從P3.2口輸入。
1.4 電機驅動電路設計
動作執行單元為驅動小車左右輪的兩個減速直流電機,控制它們的轉速,就控制了小車的運動狀態。但是由動作控制單元發出的控制信號非常微弱,無法直接驅動直流電機,須匹配設計合理的驅動電路,常用的驅動電路為H 橋。在設計過程中發現,由于三極管導通、關斷的時間不統一,導致用三極管搭建的H 橋在電機電流換向的時候經常發生微短路,使得三極管發熱現象很嚴重,整個電路電源波動很大,非常耗電。因此,本設計最終采用了集成H 橋L298.除此之外,在設計過程中發現電機轉動產生的反向電動勢會嚴重影響傳感器的輸出狀態,將錯誤的路徑信息送給處理器,導致小車經常產生錯誤動作。因此,本設計采用了雙電源供電,即傳感器和芯片共用一組電源,電機專用一組電源,中間信號的傳輸采用了4N25光耦電路進行電氣隔離。
1.5 光源引導電路設計
本設計采用光敏三極管作為光源檢測傳感器,因為其感光電壓變化明顯(電壓值變化在60~100mV 左右),價格便宜。光源引導模塊需要在小車前方安裝3個光敏三極管,通過車庫發出的光源信號來引導小車到指定車庫停車,使用LM324作為光源引導模塊的核心放大器件,將信號進行放大處理。
1.6 停車場系統設計
為了更好地完成小車避障、光源引導和入庫過程,停車場系統設計也是十分重要的。停車場系統設計圖如圖2所示。
圖2 停車場系統設計圖
2 軟件設計
系統軟件設計在Keil C51 集成開發環境下進行。軟件主要包括系統主程序、避障子程序、光源引導子程序和測速限速子程序等。泊車系統整體流程如圖3所示,避障程序流程圖、光源引導程序流程圖分別如圖4,圖5所示。測速限速電路軟件設計思路是將每圈的時間換算成速度,再與設定的速度比較,如果所測速度大于設定值,則控制電機減速到設定值;如果所測速度小于設定值,則控制電機加速到設定值,完成小車的智能限速。
圖3 智能泊車系統總體流程圖
3 各模塊測試及連接
各模塊連接:小車舵機左轉輸入端接P3.4;小車舵機右轉輸入端接P3.5;小車驅動電機前進輸入端接P3.6;小車驅動電機后退輸入端接P3.7;光電避障模塊左傳感器輸出端接P1.0;光電避障模塊右傳感器輸出端接P1.1;光源引導模塊左傳感器輸出端接P1.2;光源引導模塊中間傳感器輸出端接P1.3;光源引導模塊右傳感器輸出端接P1.4。
小車整體測試:把小車放在停車場入口處,打開小車電源,打開車庫中對應車庫位置的光源電源,小車避開障礙通過停車場下坡區,到達指定車庫前面,依靠光源引導入庫,停車。
圖4 避障程序流程圖
圖5 光源引導程序流程圖
4 結 論
本文設計的智能泊車系統可以在實驗室內實現小車的自動駛入指定停車位的功能。將小車停在停車場入口處,然后車主可以離開小車,此時小車就可以根據停車場內的車輛誘導信號(光源引導信號)將車引入停車場,從而實現自動泊車過程。
四、基于單片機的LED顯示數字電壓表
1 引言
單片機是一種集成電路芯片,隨著計算機在社會領域的滲透, 單片機的應用正在不斷地走向深入,同時帶動傳統控制檢測日新月益更新。在實時檢測和自動控制的單片機應用系統中,單片機往往是作為一個核心部件來使用,僅單片機方面知識是不夠的,還應根據具體硬件結構,以及針對具體應用對象特點的軟件結合,以作完善。由于單片機具有簡單實用、高可靠性、良好的性能價格比以及體積小等優點,已經在各個技術領域得到了迅猛發展。數字電壓表(Digital Voltmeter)簡稱DVM,它是采用數字化測量技術,把連續的模擬量(直流輸入電壓)轉換成不連續、離散的數字形式并加以顯示的儀表。傳統的指針式電壓表功能單一、精度低,不能滿足數字化時代的需求,采用單片機的數字電壓表,由精度高、抗干擾能力強,可擴展性強、集成方便,還可與PC進行實時通信。目前,由各種單片A/D 轉換器構成的數字電壓表,已被廣泛用于電子及電工測量、工業自動化儀表、自動測試系統等智能化測量領域,示出強大的生命力。與此同時,由DVM擴展而成的各種通用及專用數字儀器儀表,也把電量及非電量測量技術提高到嶄新水平。本設計重點介紹單片A/D 轉換器以及由它們構成的基于單片機的數字電壓表的工作原理。
2 總體設計方案
2.1 設路計思路
按系統功能要求,決定控制系統采用AT89S51單片機,A/D轉換采用ADC0809.系統除能確保實現要求的功能外,還可以方便地進行其功能的擴展。本文采用AT89s51作為核心元件,AT89S51是一個低功耗,高性能CMOS 8位單片機,片內含4k Bytes ISP(In-system programmable)的可反復擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術制造,兼容標準MCS-51指令系統及80C51引腳結構,芯片內集成了通用8位中央處理器和ISP Flash存儲單元,功能強大的微型計算機的AT89S51可為許多嵌入式控制應用系統提供高性價比的解決方案。
采用NS公司的分辨率為8位的逐次比較型的高精度的模數轉換器ADC0809,ADC0809是帶有8位A/D轉換器、8路多路開關以及微處理機兼容的控制邏輯的CMOS組件。它是逐次逼近式A/D轉換器,可以和單片機直接接口。把采取的電壓進行處理然后通過單片機的P口送到單片機然后經過程序處理,由LED電路把電壓數值顯示出來。單片機加上外圍的串口顯示電路由74LS245和數碼管三極管組成。
器件采用ATMEL公司的高密度,非易失性存儲技術生產,兼容標準8051指令系統及引腳。它集Flash程序存儲器,既可在線編程(ISP)也可用傳統方法進行編程及通用8位微處理器于單片芯片中,ATMEL公司的功能強大,低價AT89s51單片機可為您提供許多高性價比的應用場合,可靈活應用于各種控制領域。
2.2 設計方框圖
圖1 數字電壓表系統設計方案
3 設計原理分析
3.1 單片機AT89S51
AT89S51單片機是美國ATMEL公司生產的低功耗,高性能CMOS 8位單片機,片內含4K bytes的可系統編程的Flash只讀程序存儲器,器件采用ATMEL公司的高密度,非易失性存儲技術生產,兼容標準8051指令系統及引腳。它集Flash程序存儲器,既可在線編程(ISP)也可用傳統方法進行編程及通用8位微處理器于單片芯片中,ATMEL公司的功能強大,低價AT89S51單片機可為您提供許多高性價比的應用場合,可靈活應用于各種控制領域。
3.2 AT89S51的特點
40個引腳,4k Bytes Flash片內程序存儲器,128 bytes的隨機存取數據存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優先級2層中斷嵌套中斷,2個16位可編程定時計數器,2個全雙工串行通信口,看門狗(WDT)電路,片內時鐘振蕩器 此外,AT89S51設計和配置了振蕩頻率可為0Hz并可通過軟件設置省電模式。空閑模式下,CPU暫停工作,而RAM定時計數器,串行口,外中斷系統可繼續工作,掉電模式凍結振蕩器而保存RAM的數據,停止芯片其它功能直至外中斷激活或硬件復位。同時該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應不同產品的需求。
主要特性在:
● 與MCS-51單片機產品兼容
● 4K字節在系統可編程Flash存儲器
● 1000次擦寫周期
● 全靜態工作:0Hz-33MHz
● 32個可編程I/O口線
● 2個16位定時器/計數器
● 6個中斷源
● 全雙工UART串行通道
● 低功耗空閑和掉電模式
● 掉電后中斷可喚醒
● 看門狗定時器
● 雙數據指針
● 靈活的ISP編程(字或字節模式)
● 4.0---5.5V電壓工作范圍
3.3 ADC0809的內部邏輯結構
八路數字電壓表主要利用A/D轉換器,處理過程是先用A/D轉換器對各路電壓值進行采樣,得到相應的數字量,再按數字量與模擬量成正比關系運算得到對應的模擬電壓值,然后把模擬值通過顯示器顯示出來。設計時假設待測的輸入電壓為八路,電壓值的范圍為0~5V,要求能在4位LED數碼管上輪流顯示或單路選擇顯示。測量的最小分辨率為0.0119V,c測量誤差為±0.02V。
ADC0809是8路8位ADC芯片,片內有8路模擬開關、地址鎖存與譯碼、256電阻梯形網絡、電子開關樹、逐次逼近寄存器、比較器和3態輸出鎖存器等,特別適合與微機接口。時鐘頻率=1.26MHz,轉換時間=100μs,轉換誤差≤±1LSB,內含8路數據選擇器以便進行8路ADC。8路8位2進制碼LSTTL電平輸出,28腳封裝。ADC0809多路開關可選通8個模擬通道,允許8路模擬量分時輸入,共用A/D轉換器進行轉換。三態輸出鎖器用于鎖存A/D轉換完的數字量,當OE端為高電平時,才可以從三態輸出鎖存器取走轉換完的數據。ADC0809的內部邏輯結構如圖3.1所示。
圖2 ADC0809的內部邏輯結構
3.4 引腳結構
ADC0809具有8路模擬量輸入通道IN0~IN7,通過3位地址輸入端C、B、A(因腳23、24、25)進行選擇。引腳22為地址鎖存控制端ALE,當輸入為高電平時,C、B、A引腳輸入的地址鎖存與ADC0809內部的鎖存器中,經內部譯碼電路譯碼選中相應的模擬通道。引腳6為啟動轉換控制端START,當輸入一個2 us寬的高電平脈沖時,就啟動ADC0809開始對輸入通道的模擬量進行轉換。引腳7為A/D轉換的結束信號EOC。ADC0809為逐次比較型A/D轉換器,當開始轉換時,EOC信號為低電平,經過一定時間,轉換結束,轉換結束信號EOC輸出高電平,轉換結果存放與ADC0809內部的輸出數據鎖存器中。引腳9為A/D轉換數據輸出允許控制端OE,當OE為高電平時,存放與輸出數據存儲器中的數據通過ADC0809的數據線D0~D7輸出。引腳10為ADC0809的時鐘信號輸入端CLOCK。在連接時,ADC0809的數據線D0~D7與AT89S51的P0口相連,ADC0809的地址引腳、地址鎖存端ALE、啟動信號START、數據輸出允許控制端OE分別與AT89S51的P2口相連,轉換結束信號EOC與AT89S51的P3.7口相連。時鐘信號輸入端CLOCK信號,由單片機的地址鎖存控制端ALE提供。單片機的系統時鐘為12MHZ。
IN0-IN7:8條模擬量輸入通道 。ADC0809對輸入模擬量要求:信號單極性,電壓范圍是0-5V,若信號太小,必須進行放大;輸入的模擬量在轉換過程中保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路。
地址輸入和控制線:4條 。ALE為地址鎖存允許輸入線,高電平有效。當ALE線為高電平時,地址鎖存與譯碼器將A,B,C三條地址線的地址信號進行鎖存,經譯碼后被選中的通道的模擬量進轉換器進行轉換。A,B和C為地址輸入線,用于選通IN0-IN7上的一路模擬量輸入。
數字量輸出及控制線:11條 。ST為轉換啟動信號,當ST上跳沿時,所有內部寄存器清零;下跳沿時,開始進行A/D轉換;在轉換期間,ST應保持低電平。EOC為轉換結束信號。當EOC為高電平時,表明轉換結束;否則,表明正在進行A/D轉換。OE為輸出允許信號,用于控制三條輸出鎖存器向單片機輸出轉換得到的數據。OE=1,輸出轉換得到的數據;OE=0,輸出數據線呈高阻狀態。D7-D0為數字量輸出線。
CLK為時鐘輸入信號線。因ADC0809的內部沒有時鐘電路,所需時鐘信號必須由外界提供,通常使用頻率為1MHZ,VREF(+),VREF(-)為參考電壓輸入。
3.5 ADC0809應用說明
ADC0809內部帶有輸出鎖存器,可以與AT89S51單片機直接相連。 初始化時,使ST和OE信號全為低電平。送要轉換的哪一通道的地址到A,B,C端口上。在ST端給出一個至少有100ns寬的正脈沖信號。是否轉換完畢,我們根據EOC信號來判斷。當EOC變為高電平時,這時給OE為高電平,轉換的數據就輸出給單片機。
3.6 ADC0809工作原理
8路模擬信號由ADC0809的IN0~IN7端輸入,AT89S51單片機的ALE端口輸出的脈沖信號送ADC0809的10腳作為ADC的時鐘信號(產生CLK信號的方法就得用軟件來產生)。A/D轉換完成之后,從EOC端返回AT89S51一個轉換結束信號,單片機隨即用信號將A/D轉換的數字輸出從D0~D7端經P0口數據總線讀入自己的存儲器中。A/D轉換過程全部結束。再經軟件程序轉換成a~g 7段碼輸出,驅動LED數碼管。各位數碼管由位控信號P3.0、P3.1、P3.2、P3.3控制,由74LS245反相驅動將依次巡回點亮數碼管。
3.7 復位電路的設計
本設計采用了上電自動復位和手動復位,上電自動復位是再加電瞬間電容通過充電來實現的,其電路如圖3.2所示。在充電瞬間,電容C通過復位電阻R充電,RST端出現正脈沖,以復位。只要電源VCC的上升時間不超過1MS,就可以實現自動復位,既接通電源就完成了系統的復位初始化,手動復位是通過按鈕實現的。
圖3 復位電路
3.8 時鐘電路的設計
任何一塊單片機的正常工作都離不開時鐘信號,本設計中利用8951內部的高增益反相放大器,外加石英晶體以及兩個電容就構成了穩定的自激振蕩器。給單片機提供了時鐘信號,保持單片機按正常的時序工作。
圖4 時鐘電路
?
?
?
評論
查看更多