版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 無(wú)線數(shù)據(jù)采集器</b></p><p> 摘要:在電子高科技技術(shù)高速發(fā)展的今天,很多電子產(chǎn)品應(yīng)運(yùn)而生。簡(jiǎn)易數(shù)字電壓表是一種實(shí)時(shí)測(cè)試電壓變化量的數(shù)碼智能產(chǎn)品。該系統(tǒng)由 AT89C51 單片機(jī)系統(tǒng)、A/D轉(zhuǎn)換模塊、LCD 顯示模塊、電源模塊、量程選擇模塊組成。該系統(tǒng)能完成電壓量的采集、A/D轉(zhuǎn)換、 自動(dòng)量程切換、實(shí)時(shí)顯示采集到電壓量等功能。該系統(tǒng)成本低,功能實(shí)用,
2、性能可靠,使用方便,功耗低,很受市場(chǎng)的歡迎和青睞。</p><p> 關(guān)鍵詞:AT89C51 量程控制轉(zhuǎn)換 液晶顯示 A/D轉(zhuǎn)換 GPRS</p><p><b> 引言</b></p><p> 在當(dāng)今的數(shù)字時(shí)代,從大到空間雷達(dá),地球衛(wèi)星定位系統(tǒng),移動(dòng)通信,計(jì)算機(jī),醫(yī)用斷層掃描設(shè)備,小到家用計(jì)算機(jī),數(shù)碼影像設(shè)備,數(shù)字錄音筆,數(shù)碼微波爐等
3、設(shè)備中,數(shù)字技術(shù)與數(shù)字電路組成的數(shù)字系統(tǒng)已經(jīng)成為這些現(xiàn)代電子系統(tǒng)的重要組成部分。數(shù)字電壓表正進(jìn)入一個(gè)蓬勃發(fā)展的新時(shí)期,一方面它開拓了電子測(cè)量領(lǐng)域的先河,另一方面它本身正朝著高準(zhǔn)確度、智能化、低成本的方向發(fā)展。此外,數(shù)字電壓表在安裝工藝、外觀設(shè)計(jì)、安全性、可靠性等方面也在不斷改進(jìn),日臻完善。社會(huì)科學(xué)技術(shù)高速發(fā)展,電子技術(shù)日新月異,隨之而來(lái)的電子產(chǎn)品更是如雨后春筍,它們很好的服務(wù)于人們的生活和生產(chǎn)。信息化時(shí)代人們離不開電子產(chǎn)品,并且對(duì)電子產(chǎn)
4、品的要求也越來(lái)越高。數(shù)字電壓表的應(yīng)用很廣泛,它在水電行業(yè),教學(xué)領(lǐng)域以及人日常生活中都擁有很廣闊的市場(chǎng)。</p><p> 單片微型計(jì)算機(jī)是隨著超大規(guī)模集成電路技術(shù)的發(fā)展而誕生的,由于它具有體積小、功能強(qiáng)、性價(jià)比高等特點(diǎn),把單片機(jī)應(yīng)用于溫度控制中,采用單片機(jī)做主控單元,無(wú)觸點(diǎn)控制,可完成對(duì)電壓采集和控制的要求。所以廣泛應(yīng)用于電子儀表、家用電器、節(jié)能裝置、機(jī)器人、工業(yè)控制等諸多領(lǐng)域,使產(chǎn)品小型化、智能化,既提高了產(chǎn)
5、品的功能和質(zhì)量,又降低了成本,簡(jiǎn)化了設(shè)計(jì)。</p><p> 數(shù)據(jù)采集系統(tǒng)就是采集傳感器輸出的模擬信號(hào)并轉(zhuǎn)換成計(jì)算機(jī)能識(shí)別的數(shù)字信號(hào),然后送入計(jì)算機(jī),根據(jù)不同的需要由計(jì)算機(jī)進(jìn)行相應(yīng)的計(jì)算和處理,得出所需的數(shù)據(jù)。與此同時(shí),將計(jì)算得到的數(shù)根進(jìn)行顯示,以便文現(xiàn)對(duì)某些物理量的監(jiān)視。由數(shù)據(jù)采集系統(tǒng)的任務(wù)可以知道,數(shù)據(jù)采集系統(tǒng)具有以下幾方面的功能:數(shù)據(jù)采集、模擬信號(hào)處理、數(shù)字信號(hào)處理、開關(guān)信號(hào)處理、屏幕顯示、人機(jī)聯(lián)系。 數(shù)
6、字電壓表是諸多數(shù)字化儀表的核心與基礎(chǔ),電壓表的數(shù)字化是將連續(xù)的模擬量,如直流電壓,轉(zhuǎn)換成不連續(xù)的離散的數(shù)字形式,并在液晶顯示器上顯示出來(lái)。這有別于傳統(tǒng)的以指針加刻度盤進(jìn)行讀數(shù)的方法,避免了讀數(shù)的視差和視覺(jué)疲勞。目前數(shù)字萬(wàn)用表的內(nèi)部核心部件是A/D轉(zhuǎn)換器,轉(zhuǎn)換器的精度很大程度上影響著數(shù)字萬(wàn)用表的準(zhǔn)確度,本文A/D轉(zhuǎn)換器采用ADC0809對(duì)輸入模擬信號(hào)進(jìn)行轉(zhuǎn)換,控制核心AT89C51再對(duì)轉(zhuǎn)換的結(jié)果進(jìn)行運(yùn)算和處理,最后驅(qū)動(dòng)輸出裝置顯示數(shù)字電壓
7、信號(hào)。</p><p> 本論文對(duì)無(wú)線數(shù)據(jù)采集器的主控單元進(jìn)行分析與構(gòu)建,為數(shù)據(jù)采集器的其它部件設(shè)計(jì)提供開發(fā)與控制平臺(tái)。主控單元猶如嵌入到自動(dòng)電壓測(cè)量系統(tǒng)中的微型計(jì)算機(jī),是整個(gè)采集系統(tǒng)的控制與運(yùn)行核心,其性能的好壞直接決定數(shù)據(jù)采集器功能的多寡和性能的優(yōu)異。隨之后PC時(shí)代的到來(lái),單片機(jī)系統(tǒng)已經(jīng)廣泛地滲透到大眾生活,是繼IT網(wǎng)絡(luò)技術(shù)之后,又一個(gè)新的技術(shù)發(fā)展方向。單片機(jī)系統(tǒng)是以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟件硬件
8、可裁剪,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。</p><p><b> 2、方案論證</b></p><p> 2.1、主控制部分的選擇</p><p> 方案一:AT89C51內(nèi)部含F(xiàn)lash存儲(chǔ)器,因此在系統(tǒng)的開發(fā)過(guò)程中可以十分容易進(jìn)行程序的修改,這就大大縮短了系統(tǒng)的開發(fā)周期。同時(shí),在系統(tǒng)工作過(guò)程中,
9、能有效地保存一些數(shù)據(jù)信息,即使外界電源損壞也不影響到信息的保存。和80C51插座兼容,AT89C51單片機(jī)的引腳是和80C51一樣的,所以,當(dāng)用AT89C51單片機(jī)取代80C51時(shí),可以直接進(jìn)行代換。這時(shí),不管采用40引腳亦或44引腳的產(chǎn)品,只要用相同引腳的89系列單片機(jī)取代80C51的單片機(jī)即可。AT89C51單片機(jī)采用靜態(tài)時(shí)鐘方式,所以可以節(jié)省電能,這對(duì)于降低便攜式產(chǎn)品的功耗十分有用。錯(cuò)誤編程亦無(wú)廢品產(chǎn)生,一般的OTP產(chǎn)品,一旦錯(cuò)誤
10、編程就成了廢品。而AT89C51單片機(jī)內(nèi)部采用了Flash存儲(chǔ)器,所以,錯(cuò)誤編程之后仍可以重新編程,直到正確為止,故不存在廢品??蛇M(jìn)行反復(fù)系統(tǒng)試驗(yàn)用AT89C51單片機(jī)設(shè)計(jì)的系統(tǒng),可以反復(fù)進(jìn)行系統(tǒng)試驗(yàn);每次試驗(yàn)可以編入不同的程序,這樣可以保證用戶的系統(tǒng)設(shè)計(jì)達(dá)到最優(yōu)。而且隨用戶的需要和發(fā)展,還可以進(jìn)行修改,使系統(tǒng)不斷能追隨用戶的最新要求。</p><p> 方案二:應(yīng)用 ICL7107 集成芯片制作的方案。ICL
11、7107 是一塊應(yīng)用非常廣泛的集成電 路。它包含 3 1/2 位數(shù)字 A/D 轉(zhuǎn)換器,可直接驅(qū)動(dòng) LED 數(shù)碼管,內(nèi)部設(shè)有參考電壓、獨(dú)立模 擬開關(guān)、邏輯控制、顯示驅(qū)動(dòng)、自動(dòng)調(diào)零功能等。ICL7107 是一種制作數(shù)字電壓表典型的應(yīng) 用電路。由于該集成芯片在使用上有一定的局限性,不可編程故不能實(shí)現(xiàn)功能拓展,無(wú)法滿 足作品的設(shè)計(jì)要求。</p><p> 綜合以上二種方案分析,采用 AT89C51作為主控制系統(tǒng),其性價(jià)
12、比最高。</p><p> 2.2、 顯示器的選擇</p><p> 方案一:采用LED數(shù)碼管顯示。采用ZLG7289接口接LED顯示更方便、可靠,但是設(shè)計(jì)要求能顯示輸出信號(hào)的類型、測(cè)量值,這樣用LED顯示就顯得不是那么直觀,不具有現(xiàn)實(shí)應(yīng)用儀表的那種人性化界面,而且LED數(shù)碼管功耗較大,不符合儀器儀表節(jié)能的要求。</p><p> 方案二:采用LCD顯示。即液
13、晶顯示器,是一種數(shù)字顯示技術(shù),可以通過(guò)液晶和彩色過(guò)濾器過(guò)濾光源,在平面面板上產(chǎn)生圖象。對(duì)于相同尺寸的顯示器來(lái)說(shuō),液晶顯示器的可視面積要更大一些,而且液晶顯示器更容易在小面積屏幕上實(shí)現(xiàn)高分辨率,液晶顯示器通過(guò)顯示屏上的電極控制液晶分子狀態(tài)來(lái)達(dá)到顯示目的,即使屏幕加大,它的體積也不會(huì)成正比的增加,而且在重量上比相同顯示面積的傳統(tǒng)顯示器要輕得多。LCD占用空間小,低功耗,低輻射,無(wú)閃爍,應(yīng)用范圍廣,畫面效果好,顯示質(zhì)量高,降低視覺(jué)疲勞,而且液
14、晶顯示器都是數(shù)字式的接口,體積小,應(yīng)用方便,顯示內(nèi)容的范圍廣,完全可以滿足我們?nèi)诵曰缑骘@示的要求,而且有很大的發(fā)揮余地。</p><p> 綜合考慮兩種方案,方案二結(jié)構(gòu)簡(jiǎn)單,更符合儀器制作的要求,使用非常的方便,所以采用方案二。</p><p> 2.3、直流穩(wěn)壓源的選擇</p><p> 方案一:采用串聯(lián)型穩(wěn)壓電路。其具有穩(wěn)壓性能好,輸出紋波電壓小,成本低
15、等優(yōu)點(diǎn),并且其性能安全可靠,維護(hù)簡(jiǎn)單,適用于小功率電源中,當(dāng)前正被廣泛采用。</p><p> 方案二:采用開關(guān)型穩(wěn)壓電源。開關(guān)電源是通過(guò)改變開關(guān)調(diào)整管的導(dǎo)通時(shí)間與導(dǎo)通截止變化周期的比值來(lái)調(diào)整輸出電壓的,具有效率高、體積小、重量輕的優(yōu)點(diǎn)。在但在實(shí)際應(yīng)用中也還存在一些問(wèn)題,不能十分令人滿意。這暴露出開關(guān)穩(wěn)壓電源的又一個(gè)缺點(diǎn),那就是電路結(jié)構(gòu)復(fù)雜,故障率高,維修麻煩。對(duì)此,如果設(shè)計(jì)者和制造者不予以充分重視,則它將直接
16、影響到開關(guān)穩(wěn)壓電源的推廣應(yīng)用。當(dāng)今,開關(guān)穩(wěn)壓電源推廣應(yīng)用比較困難的主要原因就是它的制作技術(shù)難度大、維修麻煩和造價(jià)成本較高。</p><p> 綜上所述,方案一電路結(jié)構(gòu)簡(jiǎn)單,容易實(shí)現(xiàn),適用于小功率電源中,因此采用方案一。</p><p> 2.4、 按鍵方案的選擇</p><p> 方案一:采用獨(dú)立式按鍵電路,每個(gè)按鍵單獨(dú)占有一根I/O接口線,每個(gè)I/O口的工作
17、狀態(tài)互不影響,此類鍵盤采用端口直接掃描方式。優(yōu)點(diǎn)為電路設(shè)計(jì)簡(jiǎn)單,且編程極其容易,缺點(diǎn)為當(dāng)按鍵較多時(shí),I/O口線浪費(fèi)較大。</p><p> 方案二:采用矩陣式鍵盤,此類鍵盤采用矩陣式行列掃描方式,缺點(diǎn)為電路復(fù)雜編程難,優(yōu)點(diǎn)是當(dāng)按鍵較多時(shí)可降低占用單片機(jī)的I/O口數(shù)目,節(jié)省硬件資源。</p><p> 綜合考慮這二種方案及題目要求,故選擇方案一。</p><p>
18、 2.5、量程轉(zhuǎn)換控制的選擇</p><p> 方案一:CD4051是單8通道數(shù)字控制模擬電子開關(guān),有三個(gè)二進(jìn)控制輸入端A、B、C和INH輸入,具有低導(dǎo)通阻抗和很低的截止漏電流。幅值為4.5~20V的數(shù)字信號(hào)可控制峰值至20V的模擬信號(hào)。CD4051相當(dāng)于一個(gè)單刀八擲開關(guān),開關(guān)接通哪一通道,由輸入的3位地址碼ABC來(lái)決定,具有低導(dǎo)通阻抗和很低的截止漏電流。</p><p> 方案二:
19、CD4052是一個(gè)差分4通道數(shù)字控制模擬開關(guān),有A、B兩個(gè)二進(jìn)制控制輸入端和INH輸入,具有低導(dǎo)通阻抗和很低的截止漏電流。幅值為4.5~20V的數(shù)字信號(hào)可控制峰峰值至20V的模擬信號(hào)。二位二進(jìn)制輸入信號(hào)選通4對(duì)通道中的一通道,可連接該輸入至輸出。</p><p> 綜合兩種方案考慮,方案一是單8通道數(shù)字控制模擬電子開關(guān),更加符合本設(shè)計(jì),故采用方案一。</p><p> 2.6、A/D轉(zhuǎn)
20、換器的選擇</p><p> 方案一:采用雙積分 A/D 轉(zhuǎn)換器 MC14433,它有多路調(diào)制的 BCD 碼輸出端和超量程輸出端,采用動(dòng)態(tài)掃描顯示,便于實(shí)現(xiàn)自動(dòng)控制。但芯片只能完成 A/D 轉(zhuǎn)換功能,要實(shí)現(xiàn)顯示功能還需配合其它驅(qū)動(dòng)芯片等,使得整部分硬件電路板布線復(fù)雜,加重了電路設(shè)計(jì)和實(shí)際焊接的工作。</p><p> 方案二:采用 A/D 轉(zhuǎn)換芯片ADC0809。ADC0809 是一塊
21、 8 路 8 位模數(shù)轉(zhuǎn)換芯片,將模擬電路和數(shù)字電路集成在一個(gè)有 28 個(gè)功能端的電路內(nèi),包含了A/D轉(zhuǎn)換,邏輯控制, 譯碼驅(qū)動(dòng)等電路,其轉(zhuǎn)換時(shí)間為 100μS 左右,符合作品8路采集要求且電路設(shè)計(jì)簡(jiǎn)單,電路板布線不復(fù)雜,便于焊接、調(diào)試。</p><p> 綜上所述,故采用方案二。</p><p> 2.7、無(wú)線通信模塊選擇</p><p> 方案一:DTD43
22、3M既可以實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)通信,也適合于點(diǎn)對(duì)多點(diǎn)而且分散不便于挖溝布線等應(yīng)用場(chǎng)合,不需要編寫程序,不需要布線。DTD433M不僅能與PLC、DCS、智能儀表及傳感器等設(shè)備組成無(wú)線測(cè)控系統(tǒng),同時(shí)能與組態(tài)軟件、人機(jī)界面、觸摸屏、測(cè)控終端等工控產(chǎn)品實(shí)現(xiàn)自由協(xié)議、PPI協(xié)議、MODBUS協(xié)議的組態(tài),為工業(yè)測(cè)控領(lǐng)域提供了中短距離無(wú)線通信的低成本解決方案。</p><p> 方案二: 內(nèi)嵌TCP/IP協(xié)議的GPRS模塊LT803
23、0,在8位微控制器AT89C51上實(shí)現(xiàn)了對(duì)LT8030的控制,并實(shí)現(xiàn)了基于GPRS的SOCKET通信功能,具有外圍器件少、電路簡(jiǎn)單、系統(tǒng)成本低等優(yōu)點(diǎn)。</p><p> 根據(jù)實(shí)際情況采用方案二。</p><p> 根據(jù)以上分析,我們確定了本系統(tǒng)的結(jié)構(gòu)框圖。它有數(shù)控部分、鍵盤控制和LCD顯示模塊、電壓采集部分、GPRS部分、A\D轉(zhuǎn)換部分、量程選擇部分以及穩(wěn)壓電源模塊等部分組成。<
24、/p><p> 電路中,電壓通過(guò)輸入電路經(jīng)過(guò)量程轉(zhuǎn)換,模擬電壓信號(hào)從ADC0809的IN0(第26腳)輸入,采用AT89C51的P0口讀取A/D轉(zhuǎn)換數(shù)據(jù),LCD液晶顯示用動(dòng)態(tài)顯示連接,通過(guò)總線用P0口控制顯示數(shù)據(jù),用P1.5、P1.6、P1.7分別作為L(zhǎng)CD的E、R/W、RS。其中E是下降沿觸發(fā)的片選信號(hào),R/W是讀寫信號(hào),RS是寄存器選擇信號(hào)。P2.4~P2.7控制一個(gè)四個(gè)按鍵的獨(dú)立鍵盤,而RXD/P3.0與TX
25、D/P3.1分別接串行通信MAX232的R1OUT與T1IN,而R1IN與T1OUT接GPRS模塊,經(jīng)過(guò)轉(zhuǎn)換后的電壓信號(hào)通過(guò)GPRS模塊發(fā)射至PC機(jī)從而實(shí)現(xiàn)本設(shè)計(jì)。</p><p><b> 3、硬件設(shè)計(jì)</b></p><p> 3.3.1、主控制部分:</p><p> 數(shù)控部分主要由數(shù)字電路組成,它要完成鍵盤控制、液晶顯示控制、量程
26、轉(zhuǎn)換等相應(yīng)功能。AT89C51單片機(jī)最小系統(tǒng)包括了時(shí)鐘電路、復(fù)位電路、片外數(shù)據(jù)存儲(chǔ)器RAM62256、地址鎖存器74LS573等。系統(tǒng)提供了鍵盤控制電路、液晶顯示模塊、A\D轉(zhuǎn)換等眾多外圍器件和設(shè)備接口。</p><p> 在AT89C51引腳X1和X2跨接晶振Y1和微調(diào)電容C3、C2構(gòu)成了時(shí)鐘電路。默認(rèn)值是12MHz。系統(tǒng)時(shí)鐘的脈沖有它提供。</p><p> 系統(tǒng)板采用上電自動(dòng)復(fù)位
27、和按鍵手動(dòng)復(fù)位方式。上電復(fù)位要求接通電源后,自動(dòng)實(shí)現(xiàn)復(fù)位操作。手動(dòng)復(fù)位要求在接通電源的條件下,在單片機(jī)運(yùn)行期間,用按鈕開關(guān)操作 </p><p> 使單片機(jī)復(fù)位,上電自動(dòng)復(fù)位通過(guò)外部復(fù)位電容C3充電來(lái)實(shí)現(xiàn)。按鍵手動(dòng)復(fù)位是通過(guò)復(fù)位端經(jīng)復(fù)位電阻和VCC接通而實(shí)現(xiàn)的。</p><p> 系統(tǒng)核心單片機(jī)部分---閃電存儲(chǔ)器型器件AT89C51&
28、lt;/p><p><b> (1)管腳說(shuō)明:</b></p><p><b> VCC:供電電壓。</b></p><p><b> GND:接地。</b></p><p> P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1
29、時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。</p><p> P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的
30、緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。</p><p> P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”
31、時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。</p><p> P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。</p>
32、<p> 在AT89C51中,P3端口還用于一些專門功能,這些兼用功能見(jiàn)表1。</p><p> RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。</p><p> ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào)
33、,此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。</p><p> /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)
34、器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。</p><p> /EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p
35、> XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。</p><p> XTAL2:來(lái)自反向振蕩器的輸出。</p><p><b> 振蕩器特性:</b></p><p> XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL
36、2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平要求的寬度。</p><p><b> 芯片擦除:</b></p><p> 整個(gè)PEROM陣列和三個(gè)鎖定位的電擦除可通過(guò)正確的控制信號(hào)組合,并保持ALE管腳處于低電平10ms 來(lái)完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編
37、程以前,該操作必須被執(zhí)行。</p><p> 此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。</p><p><b> 3.2、顯示電路</b>
38、</p><p> 3.2.1、LCD-1602介紹</p><p> LCD顯示器分為字段顯示和字符顯示兩種。其中字段顯示與LED顯示相似,只要送對(duì)應(yīng)的信號(hào)到相應(yīng)的管腳就能顯示。字符顯示是根據(jù)需要顯示基本字符。本設(shè)計(jì)采用的是字符型顯示。</p><p> 系統(tǒng)中采用LCD1602作為顯示器件輸出信息。與傳統(tǒng)的LED數(shù)碼管顯示器件相比,液晶顯示模塊具有體積小、
39、功耗低、顯示內(nèi)容豐富等優(yōu)點(diǎn),而且不需要外加驅(qū)動(dòng)電路,現(xiàn)在液晶顯示模塊已經(jīng)是單片機(jī)應(yīng)用設(shè)計(jì)中最常用的顯示器件了。LCD1602可以顯示2行16個(gè)漢字。</p><p> LCD1602接口:</p><p> 第1腳:VSS為電源地。</p><p> 第2腳:VCC接5V電源正極。 </p><p> 第3腳:V0為液晶顯示器對(duì)比度調(diào)
40、整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高(對(duì)比度過(guò)高時(shí)會(huì) 產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度)。</p><p> 第4腳:RS為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器。</p><p> 第5腳:RW為讀寫信號(hào)線,高電平(1)時(shí)進(jìn)行讀操作,低電平(0)時(shí)進(jìn)行寫操作。</p><p> 第6腳:E(或EN)
41、端為使能(enable)端,高電平(1)時(shí)讀取信息,負(fù)跳變時(shí)執(zhí)行指令。</p><p> 第7~14腳:D0~D7為8位雙向數(shù)據(jù)端。</p><p> 第15~16腳:空腳或背燈電源。15腳背光正極,16腳背光負(fù)極。</p><p><b> ?。?)特性:</b></p><p> 3.3V或5V工作電壓,對(duì)比度
42、可調(diào)。</p><p><b> 內(nèi)含復(fù)位電路。</b></p><p> 提供各種控制命令,如:清屏、字符閃爍、光標(biāo)閃爍、顯示移位等多種功能。</p><p> 有80字節(jié)顯示數(shù)據(jù)存儲(chǔ)器DDRAM。</p><p> 內(nèi)建有192個(gè)5X7點(diǎn)陣的字型的字符發(fā)生器CGROM。</p><p>
43、; 8個(gè)可由用戶自定義的5X7的字符發(fā)生器CGRAM。</p><p> 關(guān)于E=H脈沖——開始時(shí)初始化E為0,然后置E為1。</p><p><b> ?。?)字符集:</b></p><p> 1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)、
44、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯示出來(lái),我們就能看到字母“A”。</p><p> 因?yàn)?602識(shí)別的是ASCII碼,試驗(yàn)可以用ASCII碼直接賦值,在單片機(jī)編程中還可以用字符型常量或變量賦值,如'A’。</p><p> (4)LCD1602自定義顯示字符的方式共
45、四步,如下面所示:</p><p> 1)設(shè)置向CGRAM中存入這個(gè)數(shù)據(jù).初始地址是0x40。然后存一位向后加8,總共能存8位自定義的字符。</p><p> 2)然后可以把自定義的數(shù)據(jù)送入到LCD的CGRAM中。</p><p> 3)向LCD寫指令,送入需要顯示數(shù)據(jù)的地址。</p><p> 4)向LCD寫指令,把顯示的數(shù)據(jù)指向L
46、CD的CGRAM存儲(chǔ)的位置,顯示出自定義字符。</p><p> ?。?)LCD有四種基本操作,具體如表所示。</p><p><b> 1)讀狀態(tài)字:</b></p><p> 執(zhí)行讀狀態(tài)字操作,滿足RS=0,R/W=1。根據(jù)管腳功能,當(dāng)為有效電平時(shí),狀態(tài)命令字可從LCD模塊傳輸?shù)綌?shù)據(jù)總線。同時(shí)可以保持一段時(shí)間,從而實(shí)現(xiàn)讀狀態(tài)字的功能。&
47、lt;/p><p> 命令字:其主要介紹了指令名稱、控制信號(hào)及控制代碼。其指令名稱是指要實(shí)現(xiàn)的功能;控制代號(hào)是采用的十六進(jìn)制的數(shù)值表示的。</p><p> 1.清零操作是指輸入某命令字后即能將整個(gè)屏幕顯示的內(nèi)容全部清除;</p><p> 2.歸home位:將光標(biāo)送到初始位;其中的*號(hào)為任意,高低電平均可;</p><p> 3.輸入方
48、式:設(shè)光標(biāo)移動(dòng)方向并指定整體顯示,是否移動(dòng)。I/D=0:減量方式,S=1:移位方式,S=0:不移位;</p><p> 4.顯示狀態(tài):D指設(shè)置整體顯示開關(guān);C指設(shè)置光標(biāo)顯示開關(guān);B指設(shè)置光標(biāo)的字符閃耀;</p><p> 5.光標(biāo)畫面滾動(dòng):R/L指右移或左移;S/C指移動(dòng)總體或光標(biāo);</p><p> 6.功能設(shè)置:DL接口數(shù)位,L指顯示行數(shù),F(xiàn)顯示字型;如D
49、L=1:8位=0,4位N=1:2行=0:1行,G=1:5×10=0:5×7(點(diǎn)陣);</p><p> 7.CGRAM地址設(shè)制:相當(dāng)于一個(gè)數(shù)據(jù)庫(kù),可以在其中選擇所需要的符號(hào);</p><p> 8.DDRAM地址設(shè)制:顯示定位;</p><p> 9.讀BF和AC:B為最高位忙的標(biāo)志,F(xiàn)為標(biāo)志位;</p><p>
50、 10.寫數(shù)據(jù):將數(shù)據(jù)按要求寫入到對(duì)應(yīng)的單元;</p><p> 11.讀數(shù)據(jù):讀相應(yīng)單元內(nèi)的數(shù)據(jù);</p><p><b> 2)寫命令字</b></p><p> 由表可知當(dāng)RS=0,R/W=0時(shí),才可以通過(guò)單片機(jī)或用戶指令把數(shù)據(jù)寫到LCD模塊,此時(shí)就對(duì)LCD進(jìn)行調(diào)制??刹捎貌樵兎绞剑合茸x入狀態(tài)字,再判斷忙標(biāo)志位,最后寫命令字。<
51、;/p><p><b> 3)定義光標(biāo)位置</b></p><p> 顯示數(shù)據(jù)的某位,就是把顯示數(shù)據(jù)寫在相應(yīng)的DDRAM地址中,DDRAM地址占7位。光標(biāo)定位,寫入一個(gè)顯示字符后,DDRAM地址會(huì)自動(dòng)加1或減1,加或減由輸入方式設(shè)置。第1行DDRAM地址與第2行DDRAM地址并不連續(xù)。</p><p><b> 指令集</b&
52、gt;</p><p><b> 5)LCD初始化</b></p><p> 從通電開始延時(shí),先經(jīng)過(guò)判忙后再進(jìn)行功能設(shè)置,過(guò)一段時(shí)間后可以設(shè)制顯示狀態(tài)(如設(shè)制行、位或陣列)再經(jīng)過(guò)延時(shí)清屏后才可以設(shè)置輸入方式。</p><p> 3.2.2、LCD-1602與AT89C51的接口</p><p> 如圖所示:用AT
53、89C51的P0口作為數(shù)據(jù)線,用P1.5、P1.6、P1.7分別作為L(zhǎng)CD的E、R/W、RS。其中E是下降沿觸發(fā)的片選信號(hào),R/W是讀寫信號(hào),RS是寄存器選擇信號(hào)。</p><p> 本模塊設(shè)計(jì)要點(diǎn)如下:顯示模塊初始化:首先清屏,再設(shè)置接口數(shù)據(jù)位為8位,顯示行數(shù)為1行,字型為5×7點(diǎn)陣,然后設(shè)置為整體顯示,取消光標(biāo)和字體閃爍,最后設(shè)置為正向增量方式且不移位。向LCD的與顯示緩沖區(qū)中送字符,程序中采用2
54、個(gè)字符數(shù)組,一個(gè)顯示字符,另一個(gè)顯示電壓數(shù)據(jù),要顯示的字符或數(shù)據(jù)被送到相應(yīng)的數(shù)組中,完成后再統(tǒng)一顯示.首先取一個(gè)要顯示的字符或數(shù)據(jù)送到LCD的顯示緩沖區(qū),程序延時(shí)2.5ms,判斷是否夠顯示的個(gè)數(shù),不夠則地址加一取下一個(gè)要顯示的字符或數(shù)據(jù)。</p><p> 8V到15V再經(jīng)RXD輸出,接收時(shí)由RXD輸入,把-8V到-15V電位轉(zhuǎn)換為5V,8V到15V轉(zhuǎn)換為0V。MAX232的工作電壓只需5V,內(nèi)部有振蕩電路產(chǎn)生
55、正負(fù)9V電位。</p><p> 3.3、穩(wěn)壓電源部分</p><p> 電子系統(tǒng) (如電視接收機(jī)、VCD機(jī)、組合音響等)都要求用穩(wěn)定的直流電源,而日常生活中使用的都是220V交流電源,因此,需將交流電變換成直流電。將交流電壓變換成直流電壓并使之穩(wěn)定的設(shè)備就是直流穩(wěn)壓電源。直流穩(wěn)壓電源一般由電源變壓器、整</p><p> 流電路、濾波電路和穩(wěn)壓電路組成。其基
56、本原理框圖如下:</p><p> 穩(wěn)壓電路是直流穩(wěn)壓電源的核心,因?yàn)檎鳛V波后的電壓雖然已是直流電壓,但它還是隨輸入電網(wǎng)的波動(dòng)而變化,是一種電壓值不穩(wěn)定的直流電壓,而且紋波系數(shù)也較大,所以必須加入穩(wěn)壓電路才能輸出穩(wěn)定的直流電壓。最簡(jiǎn)單的穩(wěn)壓電路是由一只電阻和穩(wěn)壓管組成,它適用于電壓值固定不變,而且負(fù)載電流變化較小的場(chǎng)合 早期的穩(wěn)壓電路常用穩(wěn)壓管和三極管等組成。由于電路不夠簡(jiǎn)單和功能不強(qiáng)等原因,現(xiàn)已使用很少。隨
57、著半導(dǎo)體工藝的發(fā)展,穩(wěn)壓電路也制成了集成器件,由于集成穩(wěn)壓器具有體積小、成本低 、性能好 、工作可靠性高、外電路簡(jiǎn)單、使用方便、功能強(qiáng)等優(yōu)點(diǎn),現(xiàn)己廣泛應(yīng)用 。本設(shè)計(jì)時(shí)將要求采用集成穩(wěn)壓器進(jìn)行穩(wěn)壓。</p><p> 供電部分輸入220V、50HZ的交流,輸出全機(jī)所需的四種電壓:、+5V、+12V、-12V。電路原理圖如下圖。</p><p> 整流部分主要采用橋式電路,即由四個(gè)二極管交
58、叉而成,其原理就是保證變壓器副邊電壓到的整個(gè)整個(gè)周期內(nèi),負(fù)載上的電壓和電流方向始終不變。具有變壓器利用率高、脈動(dòng)小的優(yōu)點(diǎn)。但使用二極管時(shí)應(yīng)注意以下問(wèn)題:</p><p> 最大整流電路 If指二極管長(zhǎng)期運(yùn)行允許通過(guò)的最大正向平均電流。若使用時(shí)超過(guò)此值,有可能燒壞二極管。</p><p> 最高反向工作電壓Urm指允許施加在二極管兩端的最大方向電壓通常為擊穿電壓的一半。</p>
59、;<p> 反向電流Ir指二極管未擊穿時(shí)的反向電流值。其值會(huì)隨溫度的升高而急劇增加,其值越小,二極管的單向?qū)щ娦栽胶?。但是反向電流值?huì)隨溫度的上升而顯著增加。</p><p> 最高工作頻率f指保證二極管單向?qū)щ姇r(shí)的最高導(dǎo)電頻率。當(dāng)工作頻率超過(guò)其限度時(shí),二極管的單向?qū)щ娦阅芫蜁?huì)變差。</p><p> 其實(shí)橋式整流電路相當(dāng)于理想二極管,即正偏時(shí)導(dǎo)通,電壓降為零,相當(dāng)于理
60、想開關(guān)閉合;反偏時(shí)截止,電流為零,相當(dāng)于理想開關(guān)斷開。整流電路包括單向半波整流電路和橋式整流電路。半波整流電路結(jié)構(gòu)簡(jiǎn)單,使用元件少,但整流效率低,輸出電壓脈動(dòng)大。因此,它只適用于要求不高的場(chǎng)合。為了克服半波整流的缺點(diǎn),常采用橋式整流電路。整流電路將交流電變?yōu)槊}動(dòng)直流電,但其中含有大量的交流成分(稱為紋波電壓)。為了獲得平滑的直流電壓,應(yīng)在整流電路的后面加接濾波電路,以交流部分。此電路采用的是電容濾波電路,即在橋式整流電路輸出端與負(fù)載之間
61、并聯(lián) 一個(gè)大電容。原理如下:</p><p> 在整流電路采用電容濾波后使二極管得到的時(shí)間縮短,由于電容C充電的瞬時(shí)電流較大,形成了浪涌電流,容易損壞二極管,故在選擇二極管時(shí),必須留有足夠的電流裕量,以免燒壞。</p><p> 穩(wěn)壓器采用7800系列和7900系列,屬于三段固定輸出集成穩(wěn)壓,整流濾波后的直 </
62、p><p> 流輸入電壓U3接在輸入端和公共端之間,在輸出端即可獲得穩(wěn)定的輸出電壓Uo。為了抵消輸入線較長(zhǎng)帶來(lái)的電感效應(yīng),防止自激,常在輸入端接入電容(一般C的容量為0.33uF)。同時(shí),在輸出端接電容Co,以改善負(fù)載的瞬態(tài)響應(yīng)和消除輸出電壓中的高頻噪聲,Co的電容量一般為0.1uF至幾十微法。兩個(gè)電容直接接在集成穩(wěn)壓器的引腳處。</p><p> 為了防止電流或電壓過(guò)大用二極管并聯(lián)穩(wěn)壓器
63、,當(dāng)電流、電壓過(guò)大時(shí)二極管起到開關(guān)作</p><p><b> 用對(duì)其進(jìn)行保護(hù)。</b></p><p> 采用CW7812三端集成穩(wěn)壓器和CW7912負(fù)電壓輸出集成穩(wěn)壓器各一塊,即可獲得±12V兩組電源。</p><p> 3.4、 A/D 轉(zhuǎn)換模塊</p><p> A/D 轉(zhuǎn)換器用于實(shí)現(xiàn)模擬量向數(shù)
64、字量的轉(zhuǎn)換,由于模數(shù)轉(zhuǎn)換電路的種類很多,選擇 A/D 的轉(zhuǎn)換器件主要從速度、精度和價(jià)格方面考慮。目前最常用的是雙積分式和逐次逼近式 A/D 轉(zhuǎn)換器。雙積分式 A/D 轉(zhuǎn)換器的優(yōu)點(diǎn)是轉(zhuǎn)換精度高,抗干擾性能好,價(jià)格便宜;但轉(zhuǎn)換速度較慢。因此這種轉(zhuǎn)換器主要用于速度要求不高的場(chǎng)合。逐次逼近式 A/D 轉(zhuǎn)換器是一種速度較快、精度較高的轉(zhuǎn)換器,其轉(zhuǎn)換時(shí)間大約在幾微秒到微秒之間。該系統(tǒng)采用的模數(shù)轉(zhuǎn)換器芯片為ADC0809,該芯片為8路模擬信號(hào)的分時(shí)采
65、集。片內(nèi)有8 路模擬選通開關(guān),以及相應(yīng)的通道抵制鎖存用譯碼電路,其轉(zhuǎn)換時(shí)間為100μS左右。</p><p> 這就是 A/D 轉(zhuǎn)換模塊電路連接,之后的數(shù)據(jù)采集、通道選擇、量程選擇、數(shù)據(jù)處理都由后續(xù)的程序編寫來(lái)完成。</p><p> ADC0809和單片機(jī)的連接圖,由總電路圖可以看出ADC0809的數(shù)據(jù)線DO~D7直接與單片機(jī)的總線P0相連。我們只對(duì)通道IN0輸入的電壓進(jìn)行模數(shù)轉(zhuǎn)換,
66、時(shí)鐘CLK由單片機(jī)的ALE取得。對(duì)于晶振為12MHz的單片機(jī)ALE輸出為2MHz的方波。但前面提到ADC0809的時(shí)鐘頻率一般為500KHz。最大能超過(guò)1280KHz。但在實(shí)際應(yīng)用中2MHz的信號(hào)也可以使ADC0809正常工作。START、ALE和OE分別由單片機(jī)的WR、RD和P2.0經(jīng)或非門后接入。這樣主要是要滿足ADC0809的信號(hào)電平與時(shí)序的要求。ADC0809通道一IN0的口地址為00FFH,用數(shù)據(jù)傳送指令MOVX送入00H,已
67、啟動(dòng)IN0通道。</p><p> 單片機(jī)在進(jìn)行A/D轉(zhuǎn)換時(shí),因?yàn)檫€要執(zhí)行其他的程序,所以可以將EOC接在單片機(jī)的中斷上,這樣當(dāng)A/D轉(zhuǎn)換完后,EOC可以對(duì)單片機(jī)產(chǎn)生中斷,使其讀取A/D轉(zhuǎn)換的結(jié)果,這樣可以提高單片機(jī)的使用效率。</p><p> 3.4.1、ADC0809 的內(nèi)部邏輯結(jié)構(gòu)</p><p> 圖中多路開關(guān)可選通 8 個(gè)模擬通道,允許 8 路模擬
68、量分時(shí)輸入,共用一個(gè) A/D 轉(zhuǎn)換器 進(jìn)行轉(zhuǎn)換,這是種經(jīng)濟(jì)的多路采集方法。地址鎖存與譯碼電路完成對(duì) A、B、C 3 個(gè)地 址進(jìn)行鎖存譯碼,其譯碼輸出用于通道選擇,其轉(zhuǎn)換結(jié)果通過(guò)三態(tài)輸出鎖存器存放、 輸出,因此可以直接與系統(tǒng)數(shù)據(jù)總線。下表為通道選擇表</p><p> 3.4.2 、ADC0809 引腳功能</p><p> (1)ADC0809引腳圖:</p><p
69、> ?。?)ADC0809 芯片為 DIP-28,其主要信號(hào)引腳的功能說(shuō)明如下:</p><p> IN7~I(xiàn)N0—— 模擬量輸入通道。</p><p> A、B、C——地址線。通道端口選擇線,A 為低地址,C 為高地址,引腳圖中 ADDC、ADDB 和 ADDC。其地址狀態(tài)與通道對(duì)應(yīng)關(guān)系見(jiàn)表3-6-1</p><p> ALE——地址鎖存允許信號(hào)。對(duì)應(yīng)
70、 ALE 上跳沿,A、B、C 地址狀態(tài)送入地址鎖存器中。 START——轉(zhuǎn)換啟動(dòng)信號(hào)。START 上升沿時(shí),復(fù)位 ADC0809;START 下降沿時(shí)啟動(dòng)芯片,開始 進(jìn)行 A/D 轉(zhuǎn)換;在 A/D 轉(zhuǎn)換期間,START 應(yīng)保持低電平。寫為 ST。 D4~D0——數(shù)據(jù)輸出線。為三態(tài)緩沖輸出形式??梢院蛦纹瑱C(jī)的數(shù)據(jù)線直接相連。D0 為最 低位,D7 為最高。 OE——輸出允許信號(hào)。用于控制三態(tài)門輸出鎖存器向單片機(jī)輸出轉(zhuǎn)換得到的數(shù)據(jù)。OE=0
71、,輸 出數(shù)據(jù)線呈高阻;OE=1,輸出轉(zhuǎn)換所得到的數(shù)據(jù)。</p><p> CLK——時(shí)鐘信號(hào)。ADC0809 的內(nèi)部沒(méi)有時(shí)鐘電路,所需時(shí)鐘信號(hào)由外界提供,因此有時(shí)鐘 信號(hào)引腳。通常使用頻率為 500KHZ 的時(shí)鐘信號(hào)。 EOC——轉(zhuǎn)換結(jié)束信號(hào)。EOC=0,正在進(jìn)行轉(zhuǎn)換;EOC=1,轉(zhuǎn)換結(jié)束。使用中該狀態(tài)信號(hào)即可 作為查詢的狀態(tài)標(biāo)志,又可以作為中斷請(qǐng)求信號(hào)使用。</p><p> VCC
72、——+5V 電源。 Vref——參考電源參考電壓用來(lái)與輸入的模擬信號(hào)進(jìn)行比較,作為逐次逼近的基準(zhǔn)。起典型 值為+5V Vref(+)=5V,Vref(-)=-5V。</p><p> 3.4.3、AT89C51與 ADC0809 接口電路 </p><p> 接口電路的連接要涉及兩個(gè)問(wèn)題。一是 8 路模擬信號(hào)通道的選擇,二是 A/D 轉(zhuǎn)換完成后轉(zhuǎn) 換數(shù)據(jù)的傳送還處理。地址鎖存端由 P
73、0.0 控制,8 路模擬選通地址為 0FEF8H—0FEFFH。通道地址選擇以 WR ̄作寫選通信號(hào),把 ALE 信號(hào)與 STAET 信號(hào)接在一起這樣使得在信號(hào)的前沿寫入(鎖存)通道地址,緊接著其后沿就 啟動(dòng)轉(zhuǎn)換。這就是 A/D 轉(zhuǎn)換模塊電路連接,之后的數(shù)據(jù)采集、通道選擇、量程選擇、數(shù)據(jù)處 理都由后續(xù)的程序編寫來(lái)完成。</p><p> 由于采集的是模擬信號(hào),所以無(wú)法被單片機(jī)識(shí)別,因此必須通過(guò)模數(shù)轉(zhuǎn)換電路,此次采
74、用的是ADC0809轉(zhuǎn)換芯片,ADC0809是CMOS單片型逐次逼近式A/D轉(zhuǎn)換器,內(nèi)部結(jié)構(gòu)如圖7所示,它由8路模擬開關(guān)、地址鎖存與譯碼器、比較器、8位開關(guān)樹型A/D轉(zhuǎn)換器、逐次逼近寄存器、邏輯控制和定時(shí)電路組成。首先輸入3位地址,并使ALE=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通8路模擬輸入之一到比較器。START上升沿將逐次逼近寄存器復(fù)位。下降沿啟動(dòng) A/D轉(zhuǎn)換,之后EOC輸出信號(hào)變低,指示轉(zhuǎn)換正在進(jìn)行。直到A/D轉(zhuǎn)換完成,E
75、OC變?yōu)楦唠娖?,指示A/D轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個(gè)信號(hào)可用作中斷申請(qǐng)。當(dāng)OE輸入高電平 時(shí),輸出三態(tài)門打開,轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。</p><p> 3.5、量程選擇模塊</p><p> 單八路模擬開關(guān)CD4051: CD4051相當(dāng)于一個(gè)單刀八擲開關(guān),開關(guān)接通哪一通道,由輸入的3位地址碼ABC來(lái)決定。其真值表見(jiàn)表1?!癐NH”是禁止端,當(dāng)“INH”=
76、1時(shí),各通道均不接通。此外,CD4051還設(shè)有另外一個(gè)電源端VEE,以作為電平位移時(shí)使用,從而使得通常在單組電源供電條件下工作的CMOS電路所提供的數(shù)字信號(hào)能直接控制這種多路開關(guān),并使這種多路開關(guān)可傳輸峰-峰值達(dá)15V的交流信號(hào)。例如,若模擬開關(guān)的供電電源VDD=+5V,VSS=0V,當(dāng)VEE=-5V時(shí),只要對(duì)此模擬開關(guān)施加0~5V的數(shù)字控制信號(hào),就可控制幅度范圍為-5V~+5V的模擬信號(hào)。</p><p>
77、使用單電源時(shí),CD4051的VEE可以和GND相連。強(qiáng)烈建議A,B,C三路片選端要加上拉電阻。CD4051的公共輸出端不要加濾波電容(并聯(lián)到地),否則不同通道轉(zhuǎn)換后的電壓經(jīng)電容沖放電后會(huì)引起極大的誤差。禁止輸出端(INH)為高電平時(shí),所有輸出切斷,所以在應(yīng)用時(shí)此端接地。作音頻信號(hào)切換時(shí),最好在輸入輸出端串入隔直電容。</p><p> CD4051相當(dāng)于一個(gè)單刀八擲開關(guān),開關(guān)接通哪一通道,由輸入的3位地址碼AB
78、C來(lái)決定?!癐NH”是禁止端,當(dāng) “INH”=1時(shí),各通道均不接通。此外,CD4051還設(shè)有另外一個(gè)電源端VEE,以作為電平位移時(shí)使用,從而使得通常在單組電源供電條件下工作的 CMOS電路所提供的數(shù)字信號(hào)能直接控制這種多路開關(guān),并使這種多路. 如果在八個(gè)通道輸入一模擬量,在輸出端將輸出什么 輸入什么是自己設(shè)定。</p><p> 數(shù)據(jù)采集部分,此部分通過(guò)專用的數(shù)據(jù)收集器,然后通過(guò)信號(hào)的放大,會(huì)進(jìn)行模擬信號(hào)的初始
79、放大,采用放大電路,模型為反相放大,這樣會(huì)提高放大倍數(shù),并且電路簡(jiǎn)單,較為實(shí)用,反相器是COMS電路中的基本增益級(jí),采用共源結(jié)構(gòu),負(fù)載可以是有源負(fù)載或者電流源。</p><p><b> 3.6、通信模塊</b></p><p> 3.6.1、MAX232</p><p><b> ?。?)引腳介紹:</b></
80、p><p> 第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和-12v兩個(gè)電源,提供給RS-232串口電平的需要。</p><p> 第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、12、13、14腳構(gòu)成兩個(gè)數(shù)據(jù)通道。其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道。</p><p
81、> 8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。</p><p> TTL/CMOS數(shù)據(jù)從11引腳(T1IN)、10引腳(T2IN)輸入轉(zhuǎn)換成RS-232數(shù)據(jù)從14腳(T1OUT)、7腳(T2OUT)送到電腦DB9插頭;DB9插頭的RS-232數(shù)據(jù)從13引腳(R1IN)、8引腳(R2IN)輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從12引腳(R1OUT)、9引腳(R
82、2OUT)輸出。</p><p> 第三部分是供電。15腳GND、16腳VCC(+5v)</p><p><b> ?。?)主要特點(diǎn):</b></p><p> 1)符合所有的RS-232C技術(shù)標(biāo)準(zhǔn)。</p><p> 2)只需要單一 +5V電源供電。</p><p> 3)片載電荷泵具有
83、升壓、電壓極性反轉(zhuǎn)能力,能夠產(chǎn)生+10V和-10V電壓V+、V-。</p><p> 4)功耗低,典型供電電流5mA。</p><p> 5)內(nèi)部集成2個(gè)RS-232C驅(qū)動(dòng)器。</p><p> 6)高集成度,片外最低只需4個(gè)電容即可工作。</p><p> 注意,由于RS232電平較高,在接通時(shí)產(chǎn)生的瞬時(shí)電涌非常高,很有可能擊毀MA
84、X232,所以在使用中應(yīng)盡量避免熱插拔。</p><p><b> ?。?)基本參數(shù):</b></p><p> 1)驅(qū)動(dòng)器/接收器數(shù):2/2。</p><p> 2)電源電壓:4.5 V ~ 5.5 V。</p><p> 3)典型單電源電壓:5V。</p><p> 4)發(fā)送器信號(hào)類型
85、:?jiǎn)味恕?lt;/p><p> 5)發(fā)送器數(shù)目:2。</p><p> 6)引腳數(shù)目:16。</p><p> 7)接口標(biāo)準(zhǔn):EIA/TIA-232-F,V.28。</p><p> 8)接收器信號(hào)類型:?jiǎn)味私邮掌鲾?shù)目:2。</p><p> 9)收發(fā)器數(shù)目:2。</p><p> 10
86、)數(shù)據(jù)傳輸布局:點(diǎn)對(duì)點(diǎn)。</p><p> 11)工作溫度:0°C~70°C。</p><p> 12)最大電源電流:10mA。</p><p> 13)最小單電源電壓:4.5V。</p><p> 14)安裝類型:通孔。</p><p> 3.6.2、GPRS模塊</p>
87、<p> GPRS模塊。本文以利事達(dá)信息技術(shù)有限公司開發(fā)的GPRS模塊LT8030為例。LT8030內(nèi)嵌了完整的TCP/IP協(xié)議棧,包括TCP、UDP、FTP、SOCKET、Telnet、POP3、SMTP、HTTP等,為用戶提供了更簡(jiǎn)單的網(wǎng)絡(luò)接口。LT8030采用的GPRS技術(shù),無(wú)縫覆蓋、永遠(yuǎn)在線且按流量計(jì)費(fèi),緊密結(jié)合產(chǎn)品應(yīng)用領(lǐng)域所遇到的實(shí)際問(wèn)題,進(jìn)行全面的優(yōu)化和升級(jí),使產(chǎn)品開發(fā)變得更容易、更快捷。它采用標(biāo)準(zhǔn)的RS232
88、接口,用戶可以通過(guò)單片機(jī)或其他CPU的UART口,使用相應(yīng)的AT命令對(duì)模塊進(jìn)行控制,達(dá)到使其產(chǎn)品可以輕松進(jìn)入GPRS網(wǎng)絡(luò)的目的。 </p><p> 單片機(jī)與GPRS模塊一般采用串行異步通信接口,通信速度可設(shè)定,通常為9600 bps。采用RS232電纜方式進(jìn)行連接時(shí),數(shù)據(jù)傳輸?shù)目煽啃暂^好。單片機(jī)通過(guò)電平轉(zhuǎn)換電路與GPRS模塊連接,電路比較簡(jiǎn)單,電路原理圖如圖12所示。所涉及的芯片MAX232用于串行通信接口與
89、232通信接口之間的電平轉(zhuǎn)換。 </p><p> MAX232的T1IN、T2IN、R1OUT、R2OUT為接TTL/CMOS電平的引腳;T1OUT、T2OUT、R1IN、R2IN為接RS232電平的引腳。TTL/CMOS電平的T1IN、T2IN引腳應(yīng)接AT89C52的串行發(fā)送引腳TXD;R1OUT、R2OUT應(yīng)接AT89C52的串行接收引腳RXD。與之對(duì)應(yīng),RS232電平的T1OUT、T2OUT應(yīng)接GPRS
90、模塊的接收端RXD;R1IN、R2IN應(yīng)接GPRS模塊的發(fā)送端TXD。</p><p> 現(xiàn)選用其中一路發(fā)送/接收,R1OUT接AT89C52的RXD,T1IN接AT89C52的TXD,T1OUT接GPRS模塊的RXD, R1IN接GPRS模塊的發(fā)送端TXD。因?yàn)镸AX232具有驅(qū)動(dòng)能力,所以不需要外加驅(qū)動(dòng)電路。</p><p> 建立SOCKET連接的命令:</p>&
91、lt;p><b> (1)基本設(shè)置:</b></p><p> 1)GPRS ISP 碼。 AT+IISP1=*99***1# //全國(guó)通用</p><p> 2)登錄用戶名。 AT+IUSRN=WAP//GPRS網(wǎng)絡(luò)登錄名</p><p> 3)登錄密碼。 AT+IPWD=WAP// GPRS網(wǎng)絡(luò)登錄密碼</p>
92、<p> 4)MODEM 類型。 AT+IMTYP=2 //定義GPRS MODEM</p><p> 5)初始化命令。 AT+IMIS=“AT+CGDCONT=1,ip,CMNET” </p><p> 6)域名服務(wù)器。 AT+IDNS1=211.136.18.171 //DNS服務(wù)器地址,全國(guó)通用 </p><p> 7)擴(kuò)展碼(XRC)。 A
93、T+IXRC=0 </p><p> ?。?)SOCKET設(shè)置: </p><p> 1)建立一個(gè)TCP通信。 AT+ISTCP:218.66.16.173,1024 </p><p> 建立SOCKET連接,218.66.16.173為應(yīng)用服務(wù)中心計(jì)算機(jī)端IP地址(實(shí)際地址由實(shí)際情況決定),1024 為端口號(hào)(端口號(hào)由中心SOCKET端口監(jiān)聽程序設(shè)置決定)。
94、如果連接成功,LT8030返回I/xxx。xxx為L(zhǎng)T8030中本次SOCKET連接的句柄號(hào)。中心監(jiān)聽程序會(huì)顯示連接的終端IP地址。如果連接失敗,LT8030返回I/ERROR(xxx)。xxx為錯(cuò)誤代碼。</p><p> 發(fā)送數(shù)據(jù)。 AT+ISSND%:xxx </p><p> 發(fā)送數(shù)據(jù),xxx為句柄,為要發(fā)送的字符長(zhǎng)度,為要發(fā)送的數(shù)據(jù)。發(fā)送成功后,在中心端可看到終端發(fā)送的數(shù)據(jù)。
95、最多一次能夠發(fā)送5K以下的數(shù)據(jù)。</p><p> 查詢SOCKET狀態(tài) 。 AT+ISST:xxx </p><p> 查詢SOCKET狀態(tài),xxx為句柄。 LT8030返回I/。如果= 000,表示該端口連接正常;如果≥1,LT8030通過(guò)該端口從中心接收存在Buffer 里的字節(jié)數(shù);如果<0,則SOCKET錯(cuò)誤。</p><p> 接收數(shù)據(jù)。 AT
96、+ISRCV:xxx</p><p> xxx為句柄。該指令會(huì)讀取LT8030通過(guò)該句柄從中心接收到的,存在Buffer 里的數(shù)據(jù);Buffer最大可存儲(chǔ)30K的數(shù)據(jù)。 </p><p><b> 4、軟件設(shè)計(jì)</b></p><p> 4.1、主程序流程圖</p><p> 4.2、A/D轉(zhuǎn)換程序</p&
97、gt;<p> A/D轉(zhuǎn)換程序的功能是采集數(shù)據(jù),在整個(gè)系統(tǒng)設(shè)計(jì)中占有很高的地位。當(dāng)系統(tǒng)設(shè)置好后,單片機(jī)掃描轉(zhuǎn)換結(jié)束管腳P3.2的輸入電平狀態(tài),當(dāng)輸入為高電平則轉(zhuǎn)換完成,將轉(zhuǎn)換的數(shù)值轉(zhuǎn)換并顯示輸出。若輸入為低電平,則繼續(xù)掃描。</p><p><b> 4.3、顯示程序</b></p><p><b> 4.4、中斷設(shè)計(jì)</b>
98、</p><p><b> 程序如下:</b></p><p> #define START P3_4 //ATART,ALE接口。0->1->0:啟動(dòng)AD轉(zhuǎn)換。</p><p> #define EOC P3_2 //轉(zhuǎn)換完畢由0變1.</p><p> #define OUTPOR
99、T P2 //AD轉(zhuǎn)換函數(shù),返回轉(zhuǎn)換結(jié)果。</p><p> unsigned int uiADTransform()</p><p><b> {</b></p><p> unsigned int uiResult;</p><p> START=1; //啟動(dòng)AD轉(zhuǎn)換。</p>
100、;<p><b> START=0;</b></p><p> while(EOC==0); //等待轉(zhuǎn)換結(jié)束。</p><p> uiResult=OUTPORT; //出入轉(zhuǎn)換結(jié)果。</p><p> uiResult=(100*uiResult)/51; //處理運(yùn)算結(jié)果。</p><p&g
101、t; return uiResult;</p><p><b> }</b></p><p><b> 源程序:</b></p><p> #include "includes.h"</p><p> #define TIME0H 0x3C</p><
102、;p> #define TIME0L 0xB0 //全局變量</p><p> unsigned char uc_Clock=0;//定時(shí)器0中斷計(jì)數(shù)</p><p> bit b_DATransform=0; //把電壓顯示在LCD上</p><p> void vShowVoltage
103、(unsigned int uiNumber)</p><p> {unsigned char ucaNumber[3],ucCount;</p><p> if(uiNumber>999)</p><p> uiNumber=999;</p><p> ucaNumber[0]=uiNumber/100;//把計(jì)
104、算數(shù)字的每個(gè)位存入數(shù)組。</p><p> ucaNumber[1]=(uiNumber-100*(int)ucaNumber[0])/10;</p><p> ucaNumber[2]=uiNumber-100*(int)ucaNumber[0]-10*ucaNumber[1];</p><p> for(ucCount=0;ucCount<3
105、;ucCount++)</p><p><b> {</b></p><p> vShowOneChar(ucaNumber[ucCount]+48);//從首位到末位逐一輸出。</p><p> if(ucCount==0)</p><p> vShowOneChar('.');</p&g
106、t;<p><b> }}</b></p><p> //*********************主函數(shù)********************</p><p> void main()</p><p><b> {</b></p><p> //<<<&
107、lt;<<<<<<<設(shè)置定時(shí)器0>>>>>>>>>>>>>>>>></p><p> TMOD=0x01;//定時(shí)器0,模式1。</p><p> TH0=TIME0H;</p><p> TL0=TIME0L;
108、</p><p> TR0=1;//啟動(dòng)定時(shí)器。</p><p> ET0=1;//開定時(shí)器中斷。</p><p> EA=1;//開總中斷</p><p> vdInitialize();</p><p> vWriteCMD(0x84); //寫入顯示起始地址(第二行第一個(gè)位
109、置)</p><p> vShowChar("Voltage:");</p><p> vWriteCMD(0xC9);</p><p> vShowChar("(V)");</p><p><b> while(1)</b></p><p><
110、;b> {</b></p><p> if(b_DATransform==1)</p><p><b> {</b></p><p> b_DATransform=0;</p><p> vWriteCMD(0xC4);</p><p> vShowVoltage(u
111、iADTransform());</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> //<<<<<<<定時(shí)器0中斷函數(shù)>>>&g
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 帶無(wú)線通信數(shù)據(jù)采集器
- 帶無(wú)線通信數(shù)據(jù)采集器
- 無(wú)線數(shù)據(jù)采集器的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 物聯(lián)網(wǎng)數(shù)據(jù)采集器
- 野外無(wú)線監(jiān)控設(shè)備、野外數(shù)據(jù)采集器gprscdma rtu
- 無(wú)線溫度采集器畢業(yè)設(shè)計(jì)
- 物理數(shù)據(jù)采集器包含以下清單
- 智能數(shù)據(jù)采集器的設(shè)計(jì).pdf
- 脈搏數(shù)據(jù)采集器的研制.pdf
- can總線數(shù)據(jù)采集器設(shè)計(jì)【開題報(bào)告】
- 小型多功能數(shù)據(jù)采集器研究.pdf
- can數(shù)據(jù)采集器設(shè)計(jì)【畢業(yè)論文】
- 基于fpga的多路數(shù)據(jù)采集器設(shè)計(jì)
- 船廠電能數(shù)據(jù)采集器的設(shè)計(jì)【文獻(xiàn)綜述】
- 機(jī)載數(shù)據(jù)采集器測(cè)試系統(tǒng)的設(shè)計(jì).pdf
- 基于FPGA的WEBGIS數(shù)據(jù)采集器設(shè)計(jì).pdf
- 固寶無(wú)線激光條碼采集器(st8200)
- 電子式互感器數(shù)據(jù)采集器技術(shù).pdf
- 流通環(huán)境現(xiàn)場(chǎng)數(shù)據(jù)采集器及數(shù)據(jù)分析系統(tǒng)的研究與應(yīng)用——數(shù)據(jù)采集器的研究與應(yīng)用.pdf
- 高速大容量數(shù)據(jù)采集器的設(shè)計(jì).pdf
評(píng)論
0/150
提交評(píng)論