單片機(jī)典型案例開發(fā)(一)
一、基于GPRS和單片機(jī)的彩信報(bào)警系統(tǒng)設(shè)計(jì)方案
摘要:設(shè)計(jì)一種基于GPRS 和51 單片機(jī)的彩信報(bào)警系統(tǒng)。利用單片機(jī)技術(shù)、帶彩信協(xié)議GPRS 無線通信模塊、圖像捕獲和圖像壓縮編碼功能模塊,實(shí)現(xiàn)原理圖設(shè)計(jì)到電路板設(shè)計(jì)開發(fā)。用單片機(jī)根據(jù)seNSor 控制串口攝像頭圖像采集和壓縮處理,采集圖像通過彩信的格式發(fā)送到用戶手機(jī),同時(shí)可以通過短信命令隨時(shí)查看系統(tǒng)狀態(tài),或者攝像頭采集圖像,監(jiān)控現(xiàn)場(chǎng)情況。
國內(nèi)傳統(tǒng)的電子防盜報(bào)警系統(tǒng)方案往往是在用戶端通過電子設(shè)備檢測(cè)到盜竊等報(bào)警信息, 然后通過通訊器經(jīng)電話線將信號(hào)自動(dòng)傳到報(bào)警中心來完成報(bào)警過程。這種報(bào)警中心往往存在很多局限。例如:報(bào)警中心地點(diǎn)和人員需固定,報(bào)警通信速度慢,反向查詢、控制等操作困難而專業(yè),電話線斷線問題難以解決,通信費(fèi)用、尤其是遠(yuǎn)程通信費(fèi)用較高,不利于組建遠(yuǎn)程網(wǎng)絡(luò),通信帶寬太小,加載信息量少,音視頻信號(hào)的技術(shù)手段應(yīng)用困難, 很難應(yīng)用于家庭安防市場(chǎng)等等。
而彩信業(yè)務(wù)自中國移動(dòng)從2002 年9 月正式推出以來,隨著彩信網(wǎng)絡(luò)工程的建立和不斷地優(yōu)化,彩信逐漸進(jìn)入了高速發(fā)展和穩(wěn)定應(yīng)用階段。所以人們?cè)絹碓疥P(guān)注于依托中國移動(dòng)網(wǎng)絡(luò)、基于彩信業(yè)務(wù)來發(fā)展現(xiàn)代的電子防盜報(bào)警系統(tǒng), 從而能在此系統(tǒng)上發(fā)揮其隨時(shí)隨地監(jiān)控、網(wǎng)絡(luò)涵蓋范圍大、查詢控制等操作簡(jiǎn)便、費(fèi)用低、報(bào)警通信速度快、音視頻應(yīng)用簡(jiǎn)易等眾多優(yōu)勢(shì),使其能廣泛應(yīng)用于家庭、辦公、工廠、商鋪等等各種場(chǎng)所。
1 系統(tǒng)硬件設(shè)計(jì)
1.1 系統(tǒng)總線設(shè)計(jì)
本彩信報(bào)警系統(tǒng)以普通AT89C52 單片機(jī)和帶有彩信功能的無線模塊GPRS,前端設(shè)備可以根據(jù)控制攝像頭采集圖片,發(fā)送到用戶手機(jī)上,同時(shí)用戶可以通過短信命令隨時(shí)查看系統(tǒng)狀態(tài), 或者控制前端攝像頭采集圖像,監(jiān)控現(xiàn)場(chǎng)情況。采用此方案設(shè)計(jì)的產(chǎn)品操作簡(jiǎn)單,為了降低成本,在最小硬件設(shè)計(jì)的基礎(chǔ)上,系統(tǒng)的功能盡可能用軟件程序來實(shí)現(xiàn),以達(dá)到降低成本,滿足市場(chǎng)需求。
設(shè)計(jì)的硬件電路主要由三部分組成: 圖像捕獲和圖像壓縮編碼部分通過串口攝像頭實(shí)現(xiàn); 主控制器處理圖像數(shù)據(jù)和任務(wù)控制用AT89C52 單片機(jī)實(shí)現(xiàn);帶彩信協(xié)議GPRS 模塊無線部分。在設(shè)計(jì)中使用電路圖,在設(shè)計(jì)的過程中,首先設(shè)計(jì)了硬件的結(jié)構(gòu)框圖,如圖1 所示:
圖1 系統(tǒng)硬件結(jié)構(gòu)框圖
采用單片機(jī)AT89C52 為核心組成彩信報(bào)警系統(tǒng),AT89C52 具有快速8051 內(nèi)核、8kBFlashE2PROM、256BIDATARAM,符合該硬件要求;彩信報(bào)警功能,采用GPRSModule 的MC55 芯片,帶彩信協(xié)議棧MMS 功能;利用串口攝像頭實(shí)現(xiàn)現(xiàn)場(chǎng)捕獲和圖像壓縮存儲(chǔ)功能。
1.2 單片機(jī)接口設(shè)計(jì)
AT89C52 單片機(jī)接口中, 作為只要一組串口,GM8123 可以將一個(gè)全雙工的標(biāo)準(zhǔn)串口擴(kuò)展成3 個(gè)標(biāo)準(zhǔn)串口,并能通過外部引腳控制串口擴(kuò)展模式。該芯片母串口和子串口的工作波特率可由軟件調(diào)節(jié),而不需要修改外部電路和晶振頻率, 它的外部控制少,應(yīng)用靈活,編程使用簡(jiǎn)單,適用于大多數(shù)有串口擴(kuò)展需求的系統(tǒng)。所以利用GM8123 為AT89C52擴(kuò)展出3 組串口, 可以與串口攝像頭和GPRS 模塊進(jìn)行連接通信。如圖2 所示。
圖2 單片機(jī)接口電路設(shè)計(jì)
1.3 GPRS 數(shù)據(jù)傳輸模塊硬件設(shè)計(jì)
由于現(xiàn)場(chǎng)圖片需要以彩信的形式發(fā)送, 所以選用了帶有彩信功能的無線模塊, 這里選用的GPRS模塊是西門子的MC55[5].GPRS 模塊和單片機(jī)之間的數(shù)據(jù)通信主要是通過端口TXD0 與TXD1 之間,RXD0 與RXD1 之間的數(shù)據(jù)傳輸來完成。其中GPRS模塊上的TXD0 口是用于接收從單片機(jī)傳來的數(shù)據(jù), 而單片機(jī)上的擴(kuò)展TXD2 端口是用于向GPRS模塊傳送數(shù)據(jù)的。GPRS 模塊上的RXD0 口是用于向單片機(jī)發(fā)送數(shù)據(jù), 單片機(jī)的擴(kuò)展RXD2 口則是用于接收從GPRS 模塊傳輸來的數(shù)據(jù)。
GPRS 數(shù)據(jù)傳輸模塊硬件部分的電路原理圖如圖3 所示。
圖3 GPRS 數(shù)據(jù)傳輸模塊電路設(shè)計(jì)
1.4 串口攝像頭
ZSV-01P 串口攝像頭是一款具有視頻采集和圖像壓縮功能的攝像頭,具有130 萬像素CMOS 攝像頭,最大分辨率可達(dá)到1 280×960,是一個(gè)內(nèi)含有拍攝控制、視頻捕捉、圖像數(shù)據(jù)采集、圖像JPEG 壓縮、串口通訊等功能的齊全的工業(yè)用圖像采集設(shè)備,最大串口通訊速率可達(dá)115.2kbs[6]。本設(shè)計(jì)采用的帶有串口的攝像頭, 主機(jī)通過串口以約定的協(xié)議對(duì)攝像頭進(jìn)行控制。主機(jī)與相機(jī)是一種主從關(guān)系,相機(jī)的操作命令由主機(jī)發(fā)出,主機(jī)可以控制相機(jī)的輸出格式、分辨率,相機(jī)向主機(jī)發(fā)送響應(yīng)消息。具體參數(shù):
?。?)接口:主機(jī)與相機(jī)之間為RS-232 標(biāo)準(zhǔn)接口,波特率為57 600,8 位數(shù)據(jù)位,無校驗(yàn),1 位停止位。
?。?)圖像格式:相機(jī)輸出的圖像格式為JPEG.
?。?) 圖像分辨率可以是:640×480、320×240、160×120、352×288、176×144.圖像分辨率越高,則圖像數(shù)據(jù)量越大。圖4 表示分包傳輸時(shí)一幅完整圖片采集流程。
圖4 串口攝像頭采集流程
2 軟件設(shè)計(jì)
2.1 模塊軟件設(shè)計(jì)
軟件采用標(biāo)準(zhǔn)的C 語言構(gòu)造,由Keil C51 編譯器編譯。系統(tǒng)軟件設(shè)計(jì)包括兩部分:一是單片機(jī)對(duì)各個(gè)功能芯片的控制字的寫入和單片機(jī)串口擴(kuò)展程序;二是GPRS 數(shù)據(jù)接收發(fā)程序設(shè)計(jì)。
2.1.1 單片機(jī)與GPRS 無線模塊
程序這個(gè)程序主要是完成GPRS 模塊與單片機(jī)之間的數(shù)據(jù)傳輸,單片機(jī)有51 系列的,設(shè)定的單片機(jī)串行口工作方式為模式1,8 位UART, 數(shù)據(jù)傳輸率為可變;定時(shí)器1 的工作方式為模式2,數(shù)據(jù)傳輸率設(shè)置為9 600 b/s,晶振為11.059 2 MHz.我們傳輸?shù)闹饕茿T 指令, 包括所撥的號(hào)碼,DNS 服務(wù)的IP 地址,GPRS 服務(wù)提供商的密碼, 接入GPRS 服務(wù)的APN.當(dāng)然還需要建立一個(gè)TCP 通訊,此服務(wù)的客戶內(nèi)容包括IP、地址以及遠(yuǎn)方主機(jī)的TCP 端口號(hào)等所傳輸?shù)男畔ⅰ?/p>
該程序的主程序是對(duì)AT 指令進(jìn)行發(fā)送和接收,在完成發(fā)送和接收數(shù)據(jù)時(shí)是分別調(diào)用數(shù)據(jù)發(fā)送子程序和數(shù)據(jù)接收子程序,而這里共包括3 個(gè)子程序:數(shù)據(jù)發(fā)送子程序、數(shù)據(jù)接收子程序以及延時(shí)子程序。
2.1.2 單片機(jī)攝像頭的控制過程。
主機(jī)獲取攝像頭圖像時(shí)操作:(1) 打開串口;(2)開始采集圖像,設(shè)置圖像分辨率;(3) 獲取圖像數(shù)據(jù);(4) 結(jié)束采集圖像;(5) 關(guān)閉串口。步驟(3) 獲取圖像可以循環(huán)執(zhí)行。如果重新設(shè)置圖像分辨率應(yīng)重新執(zhí)行步驟(2)。
2.1.3 單片機(jī)串口擴(kuò)展程序設(shè)計(jì)
與之相關(guān)聯(lián)的各端口狀態(tài)和含義為:
?。?)sbit MS=P3^6; //GM8123 工作模式控制
?。?)sbit RESET=P3^7; //GM8123 復(fù)位引腳控制
?。?)unsigned char SendBuff[5]={ 0x67,0xbc,0xc9};// 需要三個(gè)子串口
主程序中定義:
TMOD = 0x20; // 指定定時(shí)器1 工作在方式2
IE = 0x90; // 開串行口中斷
SCON=0xc0; // 串行口工作在方式3
TH1 = 0xf8; // 裝入定時(shí)器1 初值,設(shè)置主機(jī)工作波特率為7 200bs
P1=0x00; // 置GM8123 命令字地址
SBUF=Contr_data; // 設(shè)置GM8123 子串口波特率為19 200bs,母串口波特率為11 5200bs
因此,整個(gè)控制過程是:定義和初始化各個(gè)元器件的控制字和端口,然后單片機(jī)發(fā)送命令通過串口來檢查和控制各個(gè)Sensor 和串口攝像頭及MCC55 的工作。
2.2 程序流程
系統(tǒng)上電后首先初始化單片機(jī), 設(shè)置串行口的波特率和定時(shí)器;然后初始化GM8123、各種Sensor傳感器;接著執(zhí)行MC55 上電,然后初始化MC55.
系統(tǒng)程序流程如圖5所示。
圖5 系統(tǒng)程序流程圖
3 結(jié)語
本設(shè)計(jì)選擇中深微電子公司的串口攝像頭實(shí)現(xiàn)了圖像捕獲和圖像壓縮編碼于一體, 簡(jiǎn)化了電路的復(fù)雜性, 帶彩信協(xié)議GPRS 模塊無線部分選用SIEMENS 公司的MC55,該模塊性能穩(wěn)定、可靠、操作方便。通過實(shí)驗(yàn)驗(yàn)證該報(bào)警系統(tǒng)運(yùn)行效果良好,用戶可以隨時(shí)隨地用手機(jī)遠(yuǎn)程遙控, 拍攝現(xiàn)場(chǎng)的照片并發(fā)送到指定手機(jī)或者電子郵箱里??梢酝饨佣喾N無線傳感器報(bào)警,例如煙感、無線門磁、紅外人體感應(yīng)器、煤氣傳感器等,實(shí)現(xiàn)多種觸發(fā)方式的報(bào)警,并具有圖像移動(dòng)偵測(cè)功能, 能對(duì)移動(dòng)的物體自動(dòng)觸發(fā)報(bào)警,具有一定的實(shí)用價(jià)值。
二、基于AT89C52的超聲波測(cè)距儀的設(shè)計(jì)方案
摘要:基于提高測(cè)量精度的目的,設(shè)計(jì)了具有溫度補(bǔ)償?shù)某暡y(cè)距系統(tǒng)。該系統(tǒng)采用DS18B20溫度傳感器對(duì)現(xiàn)場(chǎng)溫度進(jìn)行檢測(cè),并通過軟件計(jì)算實(shí)現(xiàn)溫度補(bǔ)償。實(shí)驗(yàn)結(jié)果表明:此系統(tǒng)具有測(cè)量精度高的優(yōu)點(diǎn)。
測(cè)距技術(shù)在物位檢測(cè)、醫(yī)療探傷、汽車防撞等民用、工業(yè)領(lǐng)域應(yīng)用廣泛,由于超聲波的速度相對(duì)于光速要小的多,其傳播時(shí)間就比較容易檢測(cè),并且易于定向發(fā)射,方向性好,發(fā)射強(qiáng)度好控制,且不受電磁干擾影響,因而利用超聲波測(cè)距是一種有效的非接觸式測(cè)距方法。但超聲波在不同環(huán)境溫度下傳播速度不同,如忽略溫度影響,將影響最終測(cè)量精度。本文介紹的超聲波測(cè)距儀采用渡越時(shí)間檢測(cè)法,使用了DS1 8B20溫度傳感器對(duì)現(xiàn)場(chǎng)溫度進(jìn)行檢測(cè),并通過軟件計(jì)算實(shí)現(xiàn)波速的溫度補(bǔ)償,消除了溫度對(duì)測(cè)量結(jié)果的影響,使測(cè)量誤差降低。
1 系統(tǒng)工作原理
超聲波測(cè)距原理如圖1所示。
圖1 超聲波測(cè)距原理
式中c--超聲波波速:t--從發(fā)射出超聲波到接收到回波所用時(shí)間。
限制該系統(tǒng)的最大可測(cè)距離存在4個(gè)因素:超聲波的幅度、反射的質(zhì)地、反射和入射聲波之間的夾角以及接收換能器的靈敏度。接收換能器對(duì)聲波脈沖的直接接收能力將決定最小的可測(cè)距離。為了增加所測(cè)量的覆蓋范圍、減小測(cè)量誤差,可采用多個(gè)超聲波換能器分別作為多路超聲波發(fā)射/接收的設(shè)計(jì)方法。
由于超聲波屬于聲波范圍,其波速c與溫度有關(guān),經(jīng)過測(cè)量得出超聲波的波速與溫度的關(guān)系,如表1所示。
表1 聲速與溫度的關(guān)系表
將測(cè)量的速度數(shù)據(jù)與溫度數(shù)據(jù)進(jìn)行一階擬合得出:
c=331.6+0.6107xT (2)
式中T--當(dāng)?shù)販囟取?/p>
在測(cè)距時(shí),可通過溫度傳感器自動(dòng)探測(cè)環(huán)境溫度、確定其時(shí)的波速c.波速確定后,只要測(cè)得超聲波往返的時(shí)間t,即可求得距離H,這樣能較精確地得出該環(huán)境下超聲波經(jīng)過的路程,提高了測(cè)量精確度。
本設(shè)計(jì)方案中使用渡越時(shí)間檢測(cè)法,測(cè)距儀工作原理為:在由單片機(jī)發(fā)出驅(qū)動(dòng)信號(hào)的同時(shí),開啟單片機(jī)中的計(jì)時(shí)器,開始計(jì)時(shí)。發(fā)射探頭發(fā)射出超聲波,在由接收探頭接收到第一回波的同時(shí)停止單片機(jī)計(jì)時(shí)器的計(jì)時(shí),由于超聲波在空氣中的速度已知,根據(jù)公式即可求得探頭與待測(cè)目標(biāo)之間的距離。而且,可以在較短時(shí)間內(nèi)多次發(fā)出超聲波測(cè)量,完成后計(jì)算平均值然后顯示。
超聲波在相同的傳播媒體里(大氣條件)傳播速度相同,即在相當(dāng)大的頻率范圍內(nèi)聲速不隨頻率變化,但其頻率越高,衰減得越厲害,傳播的距離也越短??紤]實(shí)際工程測(cè)量要求,在設(shè)計(jì)超聲波測(cè)距儀時(shí),選用頻率f=40kHz的超聲波,波長(zhǎng)為0.85cm.
2 系統(tǒng)硬件設(shè)計(jì)
本系統(tǒng)采用AT89C52單片機(jī)作為主控制器,使用3位數(shù)碼管作為系統(tǒng)顯示屏,超聲波發(fā)射驅(qū)動(dòng)需要的40 kHz脈沖由單片機(jī)P0.0發(fā)出,使用定時(shí)器進(jìn)行計(jì)時(shí)和控制,超聲波接收使用CX20106A作為接收主控芯片,使用DS18B20作為溫度傳感器進(jìn)行溫度校正。超聲波測(cè)距器的系統(tǒng)原理圖如圖2所示。
圖2 系統(tǒng)設(shè)計(jì)原理圖
2.1 超聲波的發(fā)射電路設(shè)計(jì)
超聲波發(fā)送模塊是由超聲波發(fā)射探頭組成的,單片機(jī)的P0.0端口直接發(fā)送40 kHz的信號(hào),使用9012三極管做為驅(qū)動(dòng)放大,驅(qū)動(dòng)壓電晶片超聲波換能器產(chǎn)生超聲波,超聲波發(fā)射電路如圖3所示。超聲波發(fā)射子程序的流程是,發(fā)射時(shí)首先裝填計(jì)時(shí)器,并且開始計(jì)時(shí),當(dāng)超聲波發(fā)射完畢時(shí),定時(shí)器計(jì)時(shí)完畢,并且重新裝填等待下次發(fā)射。
圖3 超聲波發(fā)射電路
2.2 超聲波接收電路設(shè)計(jì)
在接收電路中使用了紅外線接收處理芯片CX20106A,因?yàn)樗幚淼氖?8 kHz的紅外信號(hào),而40 kHz的超聲波信號(hào)和它比較接近,并且CX20106A芯片具有很強(qiáng)的抗干擾能力,這個(gè)芯片的外圍電路很簡(jiǎn)單而且通過外圍電阻調(diào)節(jié)它的中心處理頻率,通過改變外圍電路電容的大小也可以改變接收電路靈敏度和抗干擾能力。
經(jīng)過試驗(yàn)后發(fā)現(xiàn)用單片機(jī)發(fā)40 kHz信號(hào)與使用CX20106A的電路搭配更加簡(jiǎn)單合理,使得時(shí)間的計(jì)算更為精確。
該系統(tǒng)的超聲波接收模塊是由超聲波接收探頭和紅外線接收處理芯片CX20106A組成。如圖4所示。超聲波接收子程序的流程是,利用INT0中斷檢測(cè)回波信號(hào),若有回波信號(hào)(INT0口低電平)就關(guān)閉外部中斷,同時(shí)停止計(jì)時(shí)器的計(jì)時(shí),將測(cè)距成功標(biāo)志位標(biāo)記為1(測(cè)距成功),同時(shí)提取時(shí)間值,計(jì)算待測(cè)距離,保存最終結(jié)果后打開外部中斷,等待下次測(cè)量。
圖4 超聲波接收電路
2.3 超聲波測(cè)距顯示電路
在顯示模塊選擇時(shí)有兩種,一種是用液晶顯示屏,其具有輕薄短小,分辨率高,可顯示漢字等各種符號(hào)的優(yōu)點(diǎn)。但一般需要利用控制芯片創(chuàng)建字符庫,編程工作量大;一種則是選用數(shù)碼管,數(shù)碼管具有低電耗、壽命長(zhǎng)、易于維護(hù)的特點(diǎn),同時(shí)精度比較高,稱量快,精確可靠,編程容易,操作簡(jiǎn)單。缺點(diǎn)是不能實(shí)現(xiàn)漢字及多數(shù)據(jù)多行顯示。綜合考慮本次設(shè)計(jì)中選擇了3位數(shù)碼管顯示。用PNP型三極管驅(qū)動(dòng)數(shù)碼管,并連接到單片機(jī)AT89C52的P0口上作位選。雖然顯示上沒有液晶顯示屏那么完全,但是也能夠完整直觀地顯示出需要的結(jié)果。圖5為超聲波測(cè)距硬件設(shè)計(jì)的顯示電路。[!--empirenews.page--]
圖5 超聲波測(cè)距顯示電路
2.4 溫度補(bǔ)償電路設(shè)計(jì)
本系統(tǒng)中,選擇使用溫度芯片DS18B20作為溫度傳感器。DS18B20支持“一線總線”接口,測(cè)量溫度范圍為-55~125℃,在-10~85℃范圍內(nèi),精度為±0.5℃?,F(xiàn)場(chǎng)溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場(chǎng)溫度測(cè)量。DS18B20引腳說明如表2所示。
表2 DS18B20引腳說明
DS18B20是在一根I/O線上讀寫數(shù)據(jù),因此,對(duì)讀寫的數(shù)據(jù)位有著嚴(yán)格的時(shí)序要求。DS18B20有嚴(yán)格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號(hào)的時(shí)序:初始化時(shí)序、讀時(shí)序、寫時(shí)序。
溫度補(bǔ)償電路的設(shè)計(jì)如圖6所示,數(shù)據(jù)輸入/輸出腳連接到單片機(jī)的P0.1腳,電源接口接入+5 V的電壓,外加5.6 kΩ的上拉電阻,因?yàn)镈S18B20是單總線溫度傳感器,數(shù)據(jù)線是漏極開路,如果DS18B20沒接電源,則需要數(shù)據(jù)線強(qiáng)上拉,給DS18B20供電;如果DS18B20接有電源,則需要一個(gè)上拉即可穩(wěn)定的工作。由于DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi),檢測(cè)的溫度值在內(nèi)部進(jìn)行轉(zhuǎn)換,溫度測(cè)量結(jié)果直接以數(shù)字信號(hào)輸出,單片機(jī)對(duì)由DS18B20輸出的信號(hào)進(jìn)行讀取,經(jīng)過軟件對(duì)溫度數(shù)字值實(shí)現(xiàn)處理。
圖6 溫度補(bǔ)償電路
2.5 主電路原理圖
該系統(tǒng)主電路原理圖如圖7所示,單片機(jī)采用89C52系列,單片機(jī)使用外部時(shí)鐘源,外接6MHZ的晶振,由P0.0口直接輸出40 KHZ的驅(qū)動(dòng)信號(hào)給放大電路。接收到回波后,經(jīng)由CX20106的濾波,產(chǎn)生中斷信號(hào),并由p3.2口輸出進(jìn)行中斷。顯示電路采用簡(jiǎn)單實(shí)用的3位數(shù)碼管,連接單片機(jī)AT89C52的P0口,而三極管連接P2口,作數(shù)碼管的位選。工作時(shí),首先將系統(tǒng)初始化,啟動(dòng)計(jì)時(shí)器。并由P0.0腳發(fā)出40KHZ的驅(qū)動(dòng)信號(hào),同時(shí)打開INT0中斷,并且開始等待接收到的回波和中斷信號(hào),若接收到回波(單片機(jī)接收到中斷信號(hào)),計(jì)時(shí)器停止計(jì)時(shí),保存時(shí)間信息,并且根據(jù)溫度補(bǔ)償計(jì)算出當(dāng)前環(huán)境下的聲速,計(jì)算出當(dāng)前待測(cè)距離后儲(chǔ)存,并調(diào)用顯示子程序。測(cè)出距離后結(jié)果將以十進(jìn)制BCD碼方式傳送到LED顯示,然后再發(fā)超聲波脈沖重復(fù)測(cè)量過程。
圖7 超聲波測(cè)距主電路圖
3 結(jié)論
經(jīng)過實(shí)測(cè),本測(cè)距儀能夠迅速的測(cè)出250 m以內(nèi)的短距離障礙物,在30-200 cm范圍內(nèi),誤差能控制在1 cm以內(nèi),本設(shè)計(jì)具有簡(jiǎn)單實(shí)用,能耗低,成本低等特點(diǎn)。經(jīng)過實(shí)際測(cè)試,發(fā)現(xiàn)系統(tǒng)的精度能滿足普通需求,若需要進(jìn)一步提高精度,可采用精度更高但系統(tǒng)更加復(fù)雜的雙頻超聲波測(cè)距的方法。
三、基于單片機(jī)的智能泊車系統(tǒng)設(shè)計(jì)方案
摘 要:一個(gè)有效的智能泊車系統(tǒng),不僅能幫助駕駛者快速、安全地完成泊車操作,從而減輕駕駛員負(fù)擔(dān),減少交通事故,而且能夠有效提高汽車的智能化程度,增加汽車的附加值,從而帶來巨大的經(jīng)濟(jì)效益。使用AT89C52單片機(jī)作為小車的主控制器,在該控制器基礎(chǔ)上,添加了光電避障電路、測(cè)速電路、光源引導(dǎo)電路和電機(jī)驅(qū)動(dòng)電路,從而實(shí)現(xiàn)了智能泊車系統(tǒng)設(shè)計(jì)。該系統(tǒng)結(jié)構(gòu)簡(jiǎn)單、成本低,并在實(shí)驗(yàn)室中取得了預(yù)期的效果,能夠使小車進(jìn)入指定的停車位。
0 引 言
隨著我國汽車數(shù)量逐年急劇增多,泊車位、停車場(chǎng)的數(shù)量卻跟不上其增長(zhǎng)的步伐,越來越多的人為如何泊車而發(fā)愁。日益擁擠的泊車環(huán)境要求人們對(duì)汽車的泊車技術(shù)更加地嫻熟,這就更加重了人們工作之外的緊張情緒,降低了人們的生活質(zhì)量。因此,如何解決泊車過程中的不便利,消除安全隱患,迅速、準(zhǔn)確、安全地將汽車??康胶线m的位置,逐漸引起了人們的關(guān)注。
1 系統(tǒng)的工作原理及功能
智能泊車系統(tǒng)可分為控制部分和信號(hào)檢測(cè)部分。
其中信號(hào)檢測(cè)部分包括障礙物檢測(cè)模塊,光源檢測(cè)模塊和速度檢測(cè)模塊;控制部分包括控制器模塊,電機(jī)控制模塊。智能泊車系統(tǒng)基本模塊方框圖如圖1所示。
圖1 智能泊車系統(tǒng)基本框圖
系統(tǒng)工作原理如下:在小車啟動(dòng)之后,通過霍爾傳感器A44E進(jìn)行小車的速度檢測(cè),對(duì)小車進(jìn)行智能限速,小車行進(jìn)過程中通過紅外光電傳感器避障,車庫系統(tǒng)發(fā)送光源指示信號(hào),光敏三極管接收車庫指示信息,使小車到達(dá)指定車庫后,停車。
1.1 單片機(jī)最小系統(tǒng)設(shè)計(jì)
AT89C52是51系列單片機(jī)的一種,是一個(gè)低功耗,高性能,CMOS 8位單片機(jī),片內(nèi)含8KB的可反復(fù)擦寫的FLASH只讀程序存儲(chǔ)器和256B的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),由ATMEL公司采用高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和FLASH存儲(chǔ)單元,片內(nèi)有ROM/EPROM,因此,這種芯片構(gòu)成的最小系統(tǒng)簡(jiǎn)單可靠,只要將單片機(jī)接上時(shí)鐘電路和復(fù)位電路即可。
1.2 避障電路設(shè)計(jì)
紅外光電式傳感器具有非接觸、響應(yīng)快、性能可靠、體積小、安裝輕便等諸多特點(diǎn),因此在工業(yè)自動(dòng)化裝置和智能小車中獲得廣泛應(yīng)用。本設(shè)計(jì)中采用的光電避障傳感器是HS0038B.紅外光電接收電路工作原理為:當(dāng)接收到載波頻率為38kHz的脈沖調(diào)制信號(hào)時(shí),首先,HS0038B內(nèi)的紅外敏感元件將脈沖調(diào)制紅外光信號(hào)轉(zhuǎn)換成電信號(hào),再由前置放大器和自動(dòng)增益控制電路進(jìn)行放大處理,然后通過帶通濾波器進(jìn)行濾波,濾波后的信號(hào)由解調(diào)電路進(jìn)行解調(diào),最后由輸出電路進(jìn)行反向放大并輸出低電平;未接收到載波信號(hào)時(shí),電路則輸出高電平。紅外發(fā)射電路由555定時(shí)電路產(chǎn)生方波,對(duì)紅外發(fā)射管進(jìn)行調(diào)制。
1.3 A44E測(cè)速電路設(shè)計(jì)
霍爾傳感器A44E在測(cè)速系統(tǒng)中的主要作用是車輪轉(zhuǎn)速采集。車輪每轉(zhuǎn)一周,磁鐵經(jīng)過A44E一次,A44E的第3腳就輸出一個(gè)脈沖信號(hào),脈沖信號(hào)的周期與電機(jī)的轉(zhuǎn)速有下列關(guān)系:
式中:n為電機(jī)轉(zhuǎn)速;P 為電機(jī)轉(zhuǎn)一圈的脈沖數(shù);T 為輸出方波信號(hào)的周期。
脈沖信號(hào)作為單片機(jī)AT89C52的外中斷信號(hào),從P3.2口輸入。
1.4 電機(jī)驅(qū)動(dòng)電路設(shè)計(jì)
動(dòng)作執(zhí)行單元為驅(qū)動(dòng)小車左右輪的兩個(gè)減速直流電機(jī),控制它們的轉(zhuǎn)速,就控制了小車的運(yùn)動(dòng)狀態(tài)。但是由動(dòng)作控制單元發(fā)出的控制信號(hào)非常微弱,無法直接驅(qū)動(dòng)直流電機(jī),須匹配設(shè)計(jì)合理的驅(qū)動(dòng)電路,常用的驅(qū)動(dòng)電路為H 橋。在設(shè)計(jì)過程中發(fā)現(xiàn),由于三極管導(dǎo)通、關(guān)斷的時(shí)間不統(tǒng)一,導(dǎo)致用三極管搭建的H 橋在電機(jī)電流換向的時(shí)候經(jīng)常發(fā)生微短路,使得三極管發(fā)熱現(xiàn)象很嚴(yán)重,整個(gè)電路電源波動(dòng)很大,非常耗電。因此,本設(shè)計(jì)最終采用了集成H 橋L298.除此之外,在設(shè)計(jì)過程中發(fā)現(xiàn)電機(jī)轉(zhuǎn)動(dòng)產(chǎn)生的反向電動(dòng)勢(shì)會(huì)嚴(yán)重影響傳感器的輸出狀態(tài),將錯(cuò)誤的路徑信息送給處理器,導(dǎo)致小車經(jīng)常產(chǎn)生錯(cuò)誤動(dòng)作。因此,本設(shè)計(jì)采用了雙電源供電,即傳感器和芯片共用一組電源,電機(jī)專用一組電源,中間信號(hào)的傳輸采用了4N25光耦電路進(jìn)行電氣隔離。
1.5 光源引導(dǎo)電路設(shè)計(jì)
本設(shè)計(jì)采用光敏三極管作為光源檢測(cè)傳感器,因?yàn)槠涓泄怆妷鹤兓黠@(電壓值變化在60~100mV 左右),價(jià)格便宜。光源引導(dǎo)模塊需要在小車前方安裝3個(gè)光敏三極管,通過車庫發(fā)出的光源信號(hào)來引導(dǎo)小車到指定車庫停車,使用LM324作為光源引導(dǎo)模塊的核心放大器件,將信號(hào)進(jìn)行放大處理。
1.6 停車場(chǎng)系統(tǒng)設(shè)計(jì)
為了更好地完成小車避障、光源引導(dǎo)和入庫過程,停車場(chǎng)系統(tǒng)設(shè)計(jì)也是十分重要的。停車場(chǎng)系統(tǒng)設(shè)計(jì)圖如圖2所示。
圖2 停車場(chǎng)系統(tǒng)設(shè)計(jì)圖
2 軟件設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì)在Keil C51 集成開發(fā)環(huán)境下進(jìn)行。軟件主要包括系統(tǒng)主程序、避障子程序、光源引導(dǎo)子程序和測(cè)速限速子程序等。泊車系統(tǒng)整體流程如圖3所示,避障程序流程圖、光源引導(dǎo)程序流程圖分別如圖4,圖5所示。測(cè)速限速電路軟件設(shè)計(jì)思路是將每圈的時(shí)間換算成速度,再與設(shè)定的速度比較,如果所測(cè)速度大于設(shè)定值,則控制電機(jī)減速到設(shè)定值;如果所測(cè)速度小于設(shè)定值,則控制電機(jī)加速到設(shè)定值,完成小車的智能限速。[!--empirenews.page--]
圖3 智能泊車系統(tǒng)總體流程圖
3 各模塊測(cè)試及連接
各模塊連接:小車舵機(jī)左轉(zhuǎn)輸入端接P3.4;小車舵機(jī)右轉(zhuǎn)輸入端接P3.5;小車驅(qū)動(dòng)電機(jī)前進(jìn)輸入端接P3.6;小車驅(qū)動(dòng)電機(jī)后退輸入端接P3.7;光電避障模塊左傳感器輸出端接P1.0;光電避障模塊右傳感器輸出端接P1.1;光源引導(dǎo)模塊左傳感器輸出端接P1.2;光源引導(dǎo)模塊中間傳感器輸出端接P1.3;光源引導(dǎo)模塊右傳感器輸出端接P1.4。
小車整體測(cè)試:把小車放在停車場(chǎng)入口處,打開小車電源,打開車庫中對(duì)應(yīng)車庫位置的光源電源,小車避開障礙通過停車場(chǎng)下坡區(qū),到達(dá)指定車庫前面,依靠光源引導(dǎo)入庫,停車。
圖4 避障程序流程圖
圖5 光源引導(dǎo)程序流程圖
4 結(jié) 論
本文設(shè)計(jì)的智能泊車系統(tǒng)可以在實(shí)驗(yàn)室內(nèi)實(shí)現(xiàn)小車的自動(dòng)駛?cè)胫付ㄍ\囄坏墓δ?。將小車停在停車?chǎng)入口處,然后車主可以離開小車,此時(shí)小車就可以根據(jù)停車場(chǎng)內(nèi)的車輛誘導(dǎo)信號(hào)(光源引導(dǎo)信號(hào))將車引入停車場(chǎng),從而實(shí)現(xiàn)自動(dòng)泊車過程。
四、基于單片機(jī)的LED顯示數(shù)字電壓表
1 引言
單片機(jī)是一種集成電路芯片,隨著計(jì)算機(jī)在社會(huì)領(lǐng)域的滲透, 單片機(jī)的應(yīng)用正在不斷地走向深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測(cè)日新月益更新。在實(shí)時(shí)檢測(cè)和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往是作為一個(gè)核心部件來使用,僅單片機(jī)方面知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu),以及針對(duì)具體應(yīng)用對(duì)象特點(diǎn)的軟件結(jié)合,以作完善。由于單片機(jī)具有簡(jiǎn)單實(shí)用、高可靠性、良好的性能價(jià)格比以及體積小等優(yōu)點(diǎn),已經(jīng)在各個(gè)技術(shù)領(lǐng)域得到了迅猛發(fā)展。數(shù)字電壓表(Digital Voltmeter)簡(jiǎn)稱DVM,它是采用數(shù)字化測(cè)量技術(shù),把連續(xù)的模擬量(直流輸入電壓)轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式并加以顯示的儀表。傳統(tǒng)的指針式電壓表功能單一、精度低,不能滿足數(shù)字化時(shí)代的需求,采用單片機(jī)的數(shù)字電壓表,由精度高、抗干擾能力強(qiáng),可擴(kuò)展性強(qiáng)、集成方便,還可與PC進(jìn)行實(shí)時(shí)通信。目前,由各種單片A/D 轉(zhuǎn)換器構(gòu)成的數(shù)字電壓表,已被廣泛用于電子及電工測(cè)量、工業(yè)自動(dòng)化儀表、自動(dòng)測(cè)試系統(tǒng)等智能化測(cè)量領(lǐng)域,示出強(qiáng)大的生命力。與此同時(shí),由DVM擴(kuò)展而成的各種通用及專用數(shù)字儀器儀表,也把電量及非電量測(cè)量技術(shù)提高到嶄新水平。本設(shè)計(jì)重點(diǎn)介紹單片A/D 轉(zhuǎn)換器以及由它們構(gòu)成的基于單片機(jī)的數(shù)字電壓表的工作原理。
2 總體設(shè)計(jì)方案
2.1 設(shè)路計(jì)思路
按系統(tǒng)功能要求,決定控制系統(tǒng)采用AT89S51單片機(jī),A/D轉(zhuǎn)換采用ADC0809.系統(tǒng)除能確保實(shí)現(xiàn)要求的功能外,還可以方便地進(jìn)行其功能的擴(kuò)展。本文采用AT89s51作為核心元件,AT89S51是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4k Bytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。
采用NS公司的分辨率為8位的逐次比較型的高精度的模數(shù)轉(zhuǎn)換器ADC0809,ADC0809是帶有8位A/D轉(zhuǎn)換器、8路多路開關(guān)以及微處理機(jī)兼容的控制邏輯的CMOS組件。它是逐次逼近式A/D轉(zhuǎn)換器,可以和單片機(jī)直接接口。把采取的電壓進(jìn)行處理然后通過單片機(jī)的P口送到單片機(jī)然后經(jīng)過程序處理,由LED電路把電壓數(shù)值顯示出來。單片機(jī)加上外圍的串口顯示電路由74LS245和數(shù)碼管三極管組成。
器件采用ATMEL公司的高密度,非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)8051指令系統(tǒng)及引腳。它集Flash程序存儲(chǔ)器,既可在線編程(ISP)也可用傳統(tǒng)方法進(jìn)行編程及通用8位微處理器于單片芯片中,ATMEL公司的功能強(qiáng)大,低價(jià)AT89s51單片機(jī)可為您提供許多高性價(jià)比的應(yīng)用場(chǎng)合,可靈活應(yīng)用于各種控制領(lǐng)域。
2.2 設(shè)計(jì)方框圖
圖1 數(shù)字電壓表系統(tǒng)設(shè)計(jì)方案
3 設(shè)計(jì)原理分析
3.1 單片機(jī)AT89S51
AT89S51單片機(jī)是美國ATMEL公司生產(chǎn)的低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4K bytes的可系統(tǒng)編程的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度,非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)8051指令系統(tǒng)及引腳。它集Flash程序存儲(chǔ)器,既可在線編程(ISP)也可用傳統(tǒng)方法進(jìn)行編程及通用8位微處理器于單片芯片中,ATMEL公司的功能強(qiáng)大,低價(jià)AT89S51單片機(jī)可為您提供許多高性價(jià)比的應(yīng)用場(chǎng)合,可靈活應(yīng)用于各種控制領(lǐng)域。
3.2 AT89S51的特點(diǎn)
40個(gè)引腳,4k Bytes Flash片內(nèi)程序存儲(chǔ)器,128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)外部雙向輸入/輸出(I/O)口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時(shí)鐘振蕩器 此外,AT89S51設(shè)計(jì)和配置了振蕩頻率可為0Hz并可通過軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時(shí)該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。
主要特性在:
● 與MCS-51單片機(jī)產(chǎn)品兼容
● 4K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器
● 1000次擦寫周期
● 全靜態(tài)工作:0Hz-33MHz
● 32個(gè)可編程I/O口線
● 2個(gè)16位定時(shí)器/計(jì)數(shù)器
● 6個(gè)中斷源
● 全雙工UART串行通道
● 低功耗空閑和掉電模式
● 掉電后中斷可喚醒
● 看門狗定時(shí)器
● 雙數(shù)據(jù)指針
● 靈活的ISP編程(字或字節(jié)模式)
● 4.0---5.5V電壓工作范圍
3.3 ADC0809的內(nèi)部邏輯結(jié)構(gòu)
八路數(shù)字電壓表主要利用A/D轉(zhuǎn)換器,處理過程是先用A/D轉(zhuǎn)換器對(duì)各路電壓值進(jìn)行采樣,得到相應(yīng)的數(shù)字量,再按數(shù)字量與模擬量成正比關(guān)系運(yùn)算得到對(duì)應(yīng)的模擬電壓值,然后把模擬值通過顯示器顯示出來。設(shè)計(jì)時(shí)假設(shè)待測(cè)的輸入電壓為八路,電壓值的范圍為0~5V,要求能在4位LED數(shù)碼管上輪流顯示或單路選擇顯示。測(cè)量的最小分辨率為0.0119V,c測(cè)量誤差為±0.02V。
ADC0809是8路8位ADC芯片,片內(nèi)有8路模擬開關(guān)、地址鎖存與譯碼、256電阻梯形網(wǎng)絡(luò)、電子開關(guān)樹、逐次逼近寄存器、比較器和3態(tài)輸出鎖存器等,特別適合與微機(jī)接口。時(shí)鐘頻率=1.26MHz,轉(zhuǎn)換時(shí)間=100μs,轉(zhuǎn)換誤差≤±1LSB,內(nèi)含8路數(shù)據(jù)選擇器以便進(jìn)行8路ADC。8路8位2進(jìn)制碼LSTTL電平輸出,28腳封裝。ADC0809多路開關(guān)可選通8個(gè)模擬通道,允許8路模擬量分時(shí)輸入,共用A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。三態(tài)輸出鎖器用于鎖存A/D轉(zhuǎn)換完的數(shù)字量,當(dāng)OE端為高電平時(shí),才可以從三態(tài)輸出鎖存器取走轉(zhuǎn)換完的數(shù)據(jù)。ADC0809的內(nèi)部邏輯結(jié)構(gòu)如圖3.1所示。
圖2 ADC0809的內(nèi)部邏輯結(jié)構(gòu)
3.4 引腳結(jié)構(gòu)
ADC0809具有8路模擬量輸入通道IN0~I(xiàn)N7,通過3位地址輸入端C、B、A(因腳23、24、25)進(jìn)行選擇。引腳22為地址鎖存控制端ALE,當(dāng)輸入為高電平時(shí),C、B、A引腳輸入的地址鎖存與ADC0809內(nèi)部的鎖存器中,經(jīng)內(nèi)部譯碼電路譯碼選中相應(yīng)的模擬通道。引腳6為啟動(dòng)轉(zhuǎn)換控制端START,當(dāng)輸入一個(gè)2 us寬的高電平脈沖時(shí),就啟動(dòng)ADC0809開始對(duì)輸入通道的模擬量進(jìn)行轉(zhuǎn)換。引腳7為A/D轉(zhuǎn)換的結(jié)束信號(hào)EOC。ADC0809為逐次比較型A/D轉(zhuǎn)換器,當(dāng)開始轉(zhuǎn)換時(shí),EOC信號(hào)為低電平,經(jīng)過一定時(shí)間,轉(zhuǎn)換結(jié)束,轉(zhuǎn)換結(jié)束信號(hào)EOC輸出高電平,轉(zhuǎn)換結(jié)果存放與ADC0809內(nèi)部的輸出數(shù)據(jù)鎖存器中。引腳9為A/D轉(zhuǎn)換數(shù)據(jù)輸出允許控制端OE,當(dāng)OE為高電平時(shí),存放與輸出數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)通過ADC0809的數(shù)據(jù)線D0~D7輸出。引腳10為ADC0809的時(shí)鐘信號(hào)輸入端CLOCK。在連接時(shí),ADC0809的數(shù)據(jù)線D0~D7與AT89S51的P0口相連,ADC0809的地址引腳、地址鎖存端ALE、啟動(dòng)信號(hào)START、數(shù)據(jù)輸出允許控制端OE分別與AT89S51的P2口相連,轉(zhuǎn)換結(jié)束信號(hào)EOC與AT89S51的P3.7口相連。時(shí)鐘信號(hào)輸入端CLOCK信號(hào),由單片機(jī)的地址鎖存控制端ALE提供。單片機(jī)的系統(tǒng)時(shí)鐘為12MHZ。
IN0-IN7:8條模擬量輸入通道 。ADC0809對(duì)輸入模擬量要求:信號(hào)單極性,電壓范圍是0-5V,若信號(hào)太小,必須進(jìn)行放大;輸入的模擬量在轉(zhuǎn)換過程中保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路。
地址輸入和控制線:4條 。ALE為地址鎖存允許輸入線,高電平有效。當(dāng)ALE線為高電平時(shí),地址鎖存與譯碼器將A,B,C三條地址線的地址信號(hào)進(jìn)行鎖存,經(jīng)譯碼后被選中的通道的模擬量進(jìn)轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。A,B和C為地址輸入線,用于選通IN0-IN7上的一路模擬量輸入。
數(shù)字量輸出及控制線:11條 。ST為轉(zhuǎn)換啟動(dòng)信號(hào),當(dāng)ST上跳沿時(shí),所有內(nèi)部寄存器清零;下跳沿時(shí),開始進(jìn)行A/D轉(zhuǎn)換;在轉(zhuǎn)換期間,ST應(yīng)保持低電平。EOC為轉(zhuǎn)換結(jié)束信號(hào)。當(dāng)EOC為高電平時(shí),表明轉(zhuǎn)換結(jié)束;否則,表明正在進(jìn)行A/D轉(zhuǎn)換。OE為輸出允許信號(hào),用于控制三條輸出鎖存器向單片機(jī)輸出轉(zhuǎn)換得到的數(shù)據(jù)。OE=1,輸出轉(zhuǎn)換得到的數(shù)據(jù);OE=0,輸出數(shù)據(jù)線呈高阻狀態(tài)。D7-D0為數(shù)字量輸出線。
CLK為時(shí)鐘輸入信號(hào)線。因ADC0809的內(nèi)部沒有時(shí)鐘電路,所需時(shí)鐘信號(hào)必須由外界提供,通常使用頻率為1MHZ,VREF(+),VREF(-)為參考電壓輸入。
3.5 ADC0809應(yīng)用說明
ADC0809內(nèi)部帶有輸出鎖存器,可以與AT89S51單片機(jī)直接相連。 初始化時(shí),使ST和OE信號(hào)全為低電平。送要轉(zhuǎn)換的哪一通道的地址到A,B,C端口上。在ST端給出一個(gè)至少有100ns寬的正脈沖信號(hào)。是否轉(zhuǎn)換完畢,我們根據(jù)EOC信號(hào)來判斷。當(dāng)EOC變?yōu)楦唠娖綍r(shí),這時(shí)給OE為高電平,轉(zhuǎn)換的數(shù)據(jù)就輸出給單片機(jī)。
3.6 ADC0809工作原理
8路模擬信號(hào)由ADC0809的IN0~I(xiàn)N7端輸入,AT89S51單片機(jī)的ALE端口輸出的脈沖信號(hào)送ADC0809的10腳作為ADC的時(shí)鐘信號(hào)(產(chǎn)生CLK信號(hào)的方法就得用軟件來產(chǎn)生)。A/D轉(zhuǎn)換完成之后,從EOC端返回AT89S51一個(gè)轉(zhuǎn)換結(jié)束信號(hào),單片機(jī)隨即用信號(hào)將A/D轉(zhuǎn)換的數(shù)字輸出從D0~D7端經(jīng)P0口數(shù)據(jù)總線讀入自己的存儲(chǔ)器中。A/D轉(zhuǎn)換過程全部結(jié)束。再經(jīng)軟件程序轉(zhuǎn)換成a~g 7段碼輸出,驅(qū)動(dòng)LED數(shù)碼管。各位數(shù)碼管由位控信號(hào)P3.0、P3.1、P3.2、P3.3控制,由74LS245反相驅(qū)動(dòng)將依次巡回點(diǎn)亮數(shù)碼管。
3.7 復(fù)位電路的設(shè)計(jì)
本設(shè)計(jì)采用了上電自動(dòng)復(fù)位和手動(dòng)復(fù)位,上電自動(dòng)復(fù)位是再加電瞬間電容通過充電來實(shí)現(xiàn)的,其電路如圖3.2所示。在充電瞬間,電容C通過復(fù)位電阻R充電,RST端出現(xiàn)正脈沖,以復(fù)位。只要電源VCC的上升時(shí)間不超過1MS,就可以實(shí)現(xiàn)自動(dòng)復(fù)位,既接通電源就完成了系統(tǒng)的復(fù)位初始化,手動(dòng)復(fù)位是通過按鈕實(shí)現(xiàn)的。
圖3 復(fù)位電路
3.8 時(shí)鐘電路的設(shè)計(jì)
任何一塊單片機(jī)的正常工作都離不開時(shí)鐘信號(hào),本設(shè)計(jì)中利用8951內(nèi)部的高增益反相放大器,外加石英晶體以及兩個(gè)電容就構(gòu)成了穩(wěn)定的自激振蕩器。給單片機(jī)提供了時(shí)鐘信號(hào),保持單片機(jī)按正常的時(shí)序工作。
圖4 時(shí)鐘電路