版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 基于單片機的數(shù)字電壓表</p><p> 摘要:本文介紹一種基于89S52單片機的一種電壓測量電路,該電路采用ICL7135高精度、雙積分A/D轉(zhuǎn)換電路,測量范圍直流0-±2000伏,使用LCD液晶模塊顯示,可以與PC機進行串行通信。正文著重給出了軟硬件系統(tǒng)的各部分電路,介紹了雙積分電路的原理,89S52的特點,ICL7135的功能和應(yīng)用,LCD1601的功能和應(yīng)用。該電路設(shè)計新
2、穎、功能強大、可擴展性強。</p><p> 關(guān)鍵詞:電壓測量,ICL7135,雙積分A/D轉(zhuǎn)換器,1601液晶模塊</p><p> Abstract : The introduction of a cost-based 89S52 MCU a voltage measurement circuits, the circuits used ICL7135 high-precision
3、, dual-scoring A/D conversion circuits, measuring scope DC 0-2000 volts, the use of LCD that can be carried out with a PC serial communications. The paper focuses on providing a software and hardware system components ci
4、rcuit, introduced double integral circuit theory, 89S52 features ICL7135 functions and applications, LCD1601 functions and applications. </p><p> the circuit design innovative, powerful, can be expansionary
5、 strong.</p><p> Key Words : Digital Voltmeter ICL7135 LCD1601 89S52</p><p><b> 1前言</b></p><p> 數(shù)字電壓表(Digital Voltmeter)簡稱DVM,它是采用數(shù)字化測量技術(shù),把連續(xù)的模擬量(直流輸入電壓)轉(zhuǎn)換成不連續(xù)、離散
6、的數(shù)字形式并加以顯示的儀表。傳統(tǒng)的指針式電壓表功能單一、精度低,不能滿足數(shù)字化時代的需求,采用單片機的數(shù)字電壓表,由精度高、抗干擾能力強,可擴展性強、集成方便,還可與PC進行實時通信。目前,由各種單片A/D 轉(zhuǎn)換器構(gòu)成的數(shù)字電壓表,已被廣泛用于電子及電工測量、工業(yè)自動化儀表、自動測試系統(tǒng)等智能化測量領(lǐng)域,示出強大的生命力。與此同時,由DVM擴展而成的各種通用及專用數(shù)字儀器儀表,也把電量及非電量測量技術(shù)提高到嶄新水平。本章重點介紹單片A/
7、D 轉(zhuǎn)換器以及由它們構(gòu)成的基于單片機的數(shù)字電壓表的工作原理。</p><p> 2 系統(tǒng)原理及基本框圖</p><p> 如圖2.1所示,模擬電壓經(jīng)過檔位切換到不同的分壓電路衰減后,經(jīng)隔離干擾送到A/D轉(zhuǎn)換器進行A/D轉(zhuǎn)換,然后送到單片機中進行數(shù)據(jù)處理。處理后的數(shù)據(jù)送到LCD中顯示,同時通過串行通訊與上位機通信。</p><p> 圖2.1系統(tǒng)基本方框圖<
8、;/p><p><b> 3硬件設(shè)計</b></p><p><b> 3.1 輸入電路</b></p><p> 圖3.1.1量程切換開關(guān) 圖3.1.2衰減輸入電路</p><p> 輸入電路的作用是把不同量程的被測的電壓規(guī)范到A/D轉(zhuǎn)換器所要求的電壓值。
9、智能化數(shù)字電壓表所采用的單片雙積分型ADC芯片ICL7135,它要求輸入電壓0-±2V。本儀表設(shè)計是0-1000V電壓,靈敏度高所以可以不加前置放大器,只需衰減器,如圖3.1.2所示9M、900K、90K、和10K電阻構(gòu)成1/10、1/100、1/1000的衰減器。衰減輸入電路可由開關(guān)來選擇不同的衰減率,從而切換檔位。為了能讓CPU自動識別檔位,還要有圖3.1.1的硬件連接。</p><p> 3.2
10、 A/D 轉(zhuǎn)換電路</p><p> A/D 轉(zhuǎn)換器的轉(zhuǎn)換精度對測量電路極其重要,它的參數(shù)關(guān)系到測量電路性能。本設(shè)計采用雙積A/D 轉(zhuǎn)換器,它的性能比較穩(wěn)定,轉(zhuǎn)換精度高,具有很高的抗干擾能力,電路結(jié)構(gòu)簡單,其缺點是工作速度較低。在對轉(zhuǎn)換精度要求較高,而對轉(zhuǎn)換速度要求不高的場合如電壓測量有廣泛的應(yīng)用。</p><p> 3.2.1雙積A/D 轉(zhuǎn)換器的工作原理</p><
11、;p> 圖3.2.1.1雙積A/D 轉(zhuǎn)換器</p><p> 如圖所示:對輸入模擬電壓和基準電壓進行兩次積分,先對輸入模擬電壓進行積分,將其變換成與輸入模擬電壓成正比的時間間隔 T1,再利用計數(shù)器測出此時間間隔,則計數(shù)器所計的數(shù)字量就正比于輸入的模擬電壓;接著對基準電壓進行同樣的處理。在常用的A/D轉(zhuǎn)換芯片(如ADC -0809、ICL7135、ICL7109等)中,ICL7135與其余幾種有所不同,它
12、是一種四位半的雙積分</p><p> A/D轉(zhuǎn)換器,具有精度高(精度相當(dāng)</p><p> 于14位二進制數(shù))、價格低廉、抗干擾能力強等優(yōu)點。本文介紹用單片機并行方式采集ICL7135的數(shù)據(jù)以實現(xiàn)單片機電壓表和小型智能儀表的設(shè)計方案。</p><p> 3.2.1 7135的應(yīng)用</p><p> 7135是采用CMOS工藝制作的單
13、片4位半A/D轉(zhuǎn)換器,其所轉(zhuǎn)換的數(shù)字值以多工掃描的方式輸出,只要附加譯碼器,數(shù)碼顯示器,驅(qū)動器及電阻電容等元件,就可組成一個滿量程為2V的數(shù)字電壓表。</p><p> ㈠7135主要特點如下:</p><p> ?、匐p積型A/D轉(zhuǎn)換器,轉(zhuǎn)換速度慢。</p><p> ?、谠诿看蜛/D轉(zhuǎn)換前,內(nèi)部電 </p><p>
14、 路都自動進行調(diào)零操作,可保證零點在常溫下的長期穩(wěn)定。在20000字(2V</p><p> 滿量程)范圍內(nèi),保證轉(zhuǎn)換精度1字相當(dāng)于14bitA/D轉(zhuǎn)換器。 ③具有自動極性轉(zhuǎn)換功能。能在但極性參考電壓下對雙極性模擬輸入電壓進行A/D轉(zhuǎn)換,模擬電壓的范圍為0~±1.9999V。。 ④模擬出入可以是差動信號,輸入電阻極高,輸入電流典型值1PA。&
15、#160; ⑤所有輸出端和TTL電路相容。 ⑥有過量程(OR)和欠量程(UR)標志信號輸出,可用作自動量程轉(zhuǎn)換的控制信號。 ⑦輸出為動態(tài)掃描BCD碼。 ⑧對外提供六個輸入,輸出控制信號(R/H,BUSH,ST,POL,OR,UR),因此除用于數(shù)字電壓表外,還能與異步接收 /發(fā)送器,微處理器或其它控制電路連接使用。
16、 ⑨采用28外引線雙列直插式封裝,外引線功能端排列如圖所示。 ㈡7135數(shù)字部分</p><p> 數(shù)字部分主要由計數(shù)器、鎖存器、多路開關(guān)及控制邏輯電路等組成。7135一次A/D轉(zhuǎn)換周期分為四個階段:1、自動調(diào)零(AZ);2、被測電壓積分(INT);3、基準電壓反積分(DE);4、積分回零(ZI)。具體內(nèi)部轉(zhuǎn)換過程這里不做祥細介紹,主要介紹引腳的使用。</p><
17、p> ①R/H(25腳)當(dāng)R/H=“1”(該端懸空時為“1”)時,7135處于連續(xù)轉(zhuǎn)換狀態(tài),每40002個時鐘周期完成一次A/D轉(zhuǎn)換。若R/H由“1”變“0”,則7135在完成本次A/D轉(zhuǎn)換后進入保持狀態(tài),此時輸出為最后一次轉(zhuǎn)換結(jié)果,不受輸入電壓變化的影響。因此利用R/H端的功能可以使數(shù)據(jù)有保持功能。若把R/H端用作啟動功能時,只要在該端輸入一個正脈沖(寬度≥300ns),轉(zhuǎn)換器就從AZ階段開始進行A/D轉(zhuǎn)換。注意:第一次轉(zhuǎn)換周
18、期中的AZ階段時間為9001-10001個時鐘脈沖,這是由于啟動脈沖和內(nèi)部計數(shù)器狀態(tài)不同步造成的。</p><p> ?、?ST(26腳)每次A/D轉(zhuǎn)換周期結(jié)束后,ST端都輸出5個負脈沖,其輸出時間對應(yīng)在每個周期開始時的5個位選信號正脈沖的中間,ST負脈沖寬度等于1/2時鐘周期。</p><p> 第一個ST負脈沖在上次轉(zhuǎn)換周期結(jié)束后101個時鐘周期產(chǎn)生。因為每個選信號(D5--D1)的
19、正脈沖寬度為200個時鐘周期(只有AZ和DE階段開始時的第一個D5的脈沖寬度為201個CLK 周期),所以ST負脈沖之間相隔也是200個時鐘周期。需要注意的是,若上一周期為保持狀態(tài)(R/H=“0”)則ST無脈沖信號輸出。ST信號主要用來控制將轉(zhuǎn)換結(jié)果向外部鎖存器、UARTs或微處理器進行傳送。</p><p> ?、跙USY(21腳)在雙積分階段(INT+DE),BUSY為高電平,其余時為低電平。因此利用BUSY
20、功能,可以實現(xiàn)A/D轉(zhuǎn)換結(jié)果的遠距離雙線傳送,其還原方法是將BUSY和CLK“與”后來計數(shù)器,再減去10001就可得到原來的轉(zhuǎn)換結(jié)果。</p><p> ?、躉R(27腳)當(dāng)輸入電壓超出量程范圍(20000),OR將會變高。該信號在BUSY信號結(jié)束時變高。在DE階段開始時變低。</p><p> ?、軺R(28腳)當(dāng)輸入電壓等于或低于滿量程的9%(讀數(shù)為1800),則一當(dāng)BUST信號結(jié)束,
21、UR將會變高。該信號在INT階段開始時變低。</p><p> ⑥POL(23腳)該信號用來指示輸入電壓的極性。當(dāng)輸入電壓為正,則POL等于“1”,反之則等于“0”。該信號DE階段開始時變化,并維持一個A/D轉(zhuǎn)換調(diào)期。</p><p> ⑦位驅(qū)動信號D5、D4、D3、D2、D1(12、17、18、19、20腳)每一位驅(qū)動信號分別輸出一個正脈沖信號,脈沖寬度為200個時鐘周期,其中D5對
22、應(yīng)萬位選通,以下依次為千、百、十、個位。在正常輸入情況下,D5--D1輸出連續(xù)脈沖。當(dāng)輸入電壓過量程時,D5--D1在AZ階段開始時只分別輸出一個脈沖,然后都處于低電平,直至DE階段開始時才輸出連續(xù)脈沖。利用這個特性,可使得顯示器件在過程時產(chǎn)生一亮一暗的直觀現(xiàn)象。 ⑧B8、B4、B2、B1(16、15、14、13腳)該四端為轉(zhuǎn)換結(jié)果BCD碼輸出,采用動態(tài)掃描輸出方式,即當(dāng)位選信號D5=“1”時,該四端的信號為萬位數(shù)的內(nèi)容,D4=
23、“1”時為千位數(shù)內(nèi)容,其余依次類推。在個、十、百、千四位數(shù)的內(nèi)容輸出時,BCD碼范圍為0000--1001,對于萬位數(shù)只有0和1兩種狀態(tài),所以其輸出的BCD碼為“0000”和“0001”。當(dāng)輸入電壓過量程時,各位數(shù)輸出全部為零,這一點在使用時應(yīng)注意。 最后還要說明一點,由于數(shù)字部分以DGNG端作為接地端,所以所有輸出端輸出電平以DGNG作為相對參考點?;鶞孰妷海鶞孰妷旱妮斎氡仨殞τ谀M公共端COM是</
24、p><p> ?、缗c單片機系統(tǒng)的串行連接</p><p> 在ICL7135與單片機系統(tǒng)進行連接時,使用并行采集方式,要連接BCD碼數(shù)據(jù)輸出線,可以將ICL7135的/STB信號接至AT89C52的P3.2(INT0)。 </p><p> ICL7135需要外部的時鐘信號,本設(shè)計采用CD4060來對4M信號進行32分頻得到125KHz的時鐘信號。CD4060計數(shù)為
25、14級2進制計數(shù)器,在數(shù)字集成電路中可實現(xiàn)的分頻次數(shù)最高,而且CD4060還包含振蕩電路所需的非門,使用更為方便。</p><p> 圖3.2.1.3 ICL7135與系統(tǒng)的連接圖 圖3.2.1.4 CD4060時鐘發(fā)生電路 </p><p><b> 3.3單片機部分</b></p><p> 單片機選用的是ATMEL公司新
26、推出的AT89S52,如圖 3.2.1.1所示。該芯片具有低功耗、高性能的特點,是采用CMOS工藝的8位單片機,與AT89C51完全兼容。AT89S52還有以下主要特點: ①采用了ATMEL公司的高密度、非易失性存儲器(NV-SRAM)技術(shù); ②其片內(nèi)具有256字節(jié)RAM,8KB的可在線編程(ISP)FLASH存儲器; ③有
27、2種低功耗節(jié)電工作方式:空閑模式和掉電模式 ④片內(nèi)含有一個看門狗定時器(WDT),WDT包含一個14位計數(shù)器和看門狗定時器復(fù)位寄存器(WDTRST),只要對WDTRST按順序先寫入01EH,后寫入0E1H,WDT便啟動,當(dāng)CPU由于擾動而使程序陷入死循環(huán)或“跑飛”狀態(tài)時,WDT即可有效地使系統(tǒng)復(fù)位,提高了系統(tǒng)的抗干擾性能。</p><p><b> 3.4液晶顯示
28、部分</b></p><p> 顯示接口用來顯示系統(tǒng)的狀態(tài),命令或采集的電壓數(shù)據(jù)。本系統(tǒng)顯示部分用的是LCD液晶模塊,采用一個16×1的字符型液晶顯示模塊, </p><p> 點陣圖形式液晶由 M 行×N 列個顯示單元組成,假設(shè) LCD 顯示屏有64行,每行有 128列,每 8列對應(yīng) 1 個字節(jié)的 8 個位,即每行由 16 字節(jié),共 16×8
29、=128個點組成,屏上 64×16 個顯示單元和顯示 RAM 區(qū) 1024 個字節(jié)相對應(yīng),每一字節(jié)的內(nèi)容和屏上相應(yīng)位置的亮暗對應(yīng)。一個字符由 6×8 或 8×8點陣組成,即要找到和屏上某幾個位置對應(yīng)的顯示 RAM區(qū)的 8 個字節(jié),并且要使每個字節(jié)的不同的位為‘1’,其它的為‘0’,為‘1’的點亮,為‘0’的點暗,這樣一來就組成某個字符。但對于內(nèi)帶字符發(fā)生器的控制器來說,顯示字符就比較簡單了,可讓控制器工作在
30、文本方式,根據(jù)在LCD 上開始顯示的行列號及每行的列數(shù)找出顯示 RAM對應(yīng)的地址,設(shè)立光標,在此送上該字符對應(yīng)的代碼即可。</p><p> 3.4.1 1601使用說明</p><p> 圖3.4.1.1 1601引腳圖</p><p> 表3.4.1.1 LCD1601液晶模塊的引腳</p><p> 寄存器選擇,如表所示:&
31、lt;/p><p> 表3.4.1.3 寄存器選擇控制線操作</p><p> Busy flag(DB7):在此位未被清除為“0”時,LCD將無法再處理其他指令要求。</p><p> (1)顯示地址:內(nèi)部地址計數(shù)器的計數(shù)地址:SB7=0(DB0~DB6)第一行00、01、02… …等,第二行40、41、42… …等,可配合檢測DB7=1 (RS=0,R/W=
32、1)讀取目前顯示字的地址,判斷是否需要換行。</p><p> 表3.4.1.4 LCD1601 16×1 顯示字的地址</p><p> (2)外部地址:DB7=1,亦即80H+內(nèi)部計數(shù)地址,可以用此方式將字顯示在某一位置。</p><p> LCD各地址列舉如下表:</p><p> 表3.4.1.5 LCD16
33、01 16×1 顯示字的外部地址</p><p> 16×1 16字1行 1601</p><p> 表3.4.1.6 LCD1601 的指令組</p><p> 3.4.2 液晶顯示部分與89S52的接口 </p><p> 如圖所示:用89S52的P2口作為數(shù)據(jù)線,用P0.1、P0.2、P0.3分別作為L
34、CD的E、R/W、RS。其中E是下降沿觸發(fā)的片選信號,R/W是讀寫信號,RS是寄存器選擇信號本模塊設(shè)計要點如下:顯示模塊初始化:首先清屏,再設(shè)置接口數(shù)據(jù)位為8位,顯示行數(shù)為1行,字型為5×7點陣,然后設(shè)置為整體顯示,取消光標和字體閃爍,最后設(shè)置為正向增量方式且不移位。向LCD的顯示緩沖區(qū)中送字符,程序中采用2個字符數(shù)組,一個顯示字符,另一個顯示電壓數(shù)據(jù),要顯示的字符或數(shù)據(jù)被送到相應(yīng)的數(shù)組中,完成后再統(tǒng)一顯示.首先取一個要顯示的
35、字符或數(shù)據(jù)送到LCD的顯示緩沖區(qū),程序延時2.5ms,判斷是否夠顯示的個數(shù),不夠則地址加一取下一個要顯示的字符或數(shù)據(jù)。</p><p><b> 3.5 通訊模塊</b></p><p> 89S52內(nèi)部已集成通信接口URT,只需擴展一片MAX232芯片將輸出信號轉(zhuǎn)換成RS-232協(xié)議規(guī)定的電平標準, MAX232 是 一 種 雙 組 驅(qū) 動 器 /
36、接 收 器 ,每個接收器將EIA/TIA-232-E電平輸入轉(zhuǎn)換為5V TTL/CMOS電平。 每個驅(qū)動器將TTL/CMOS輸入電平轉(zhuǎn)換 為 EIA/TIA-232-E電平。即EIA接口,就是把5V轉(zhuǎn)換為-8V到-15V電位0V轉(zhuǎn)換為8V到15V再經(jīng)RXD輸出,接收時由RXD輸入,把-8V到-15V電位轉(zhuǎn)換為5V,8V到15V轉(zhuǎn)換為0V。MAX232的工作電壓只需5V,內(nèi)部有振蕩電路產(chǎn)生正負9V電位。</p&
37、gt;<p><b> 4 系統(tǒng)的軟件設(shè)計</b></p><p><b> 4.1主程序設(shè)計</b></p><p> ICL7135A/D與單片機連接電路的軟件設(shè)計系統(tǒng)的程序流程圖如圖所示。主程序一開始運行則設(shè)置堆棧起始地址為70H,設(shè)置中斷寄存器,用來對ICL7135的中斷進行計數(shù),每5次后清零,完成一次數(shù)據(jù)采集工作,然
38、后設(shè)置ICL7135的STB端的中斷的優(yōu)先級。緊接著LCDM1601B進行一次清屏,使其各個指令、數(shù)據(jù)寄存器的值進行清空,屏幕不顯示任何字符。以前面對1601B的介紹,只要將01H送到數(shù)據(jù)總線,使RS=0,R/W=0,E有個下降沿的脈沖就可以完成清屏工作。用以下指令實現(xiàn) MOV P2,#01H ;送到數(shù)據(jù)DB7---DB0,調(diào)用子程序 ENABLE,由于下降沿時,內(nèi)部數(shù)據(jù)要送到RAM區(qū),所以要有一個延時子程序,使這個下降沿持續(xù)2.
39、5毫秒。內(nèi)部RAM有指令代碼后就開始對RAM進行清零,所以屏幕原有的字符將被清除。接著對1601進行功能的設(shè)定。MOV P2,#01111000B,按表3.4.5來看是設(shè)定</p><p> 顯示器按2行顯示,每行8位,5×7點陣。</p><p> 調(diào)用一次子程序ENABLE程序,寫入CPU的指令寄存器中。每次向LCDM中寫入一個指令,就調(diào)用一次ENABLE,然后再對顯示
40、器進行閃爍、光標等功能進行設(shè)定。顯示器的RAM地址按加1方法進行讀寫。再設(shè)定第一行字符,也就是‘Voltage’的顯示地址80H。字符‘Voltage’的TABLE表地址送到DPTR中,然后調(diào)用遠程查表命令,依次把數(shù)據(jù)送到P2口,這時再調(diào)用子程序WRITE3,使LCD1601的RS=1,R/W=0使使能端E產(chǎn)生一個下降沿脈沖,將數(shù)據(jù)送入到數(shù)據(jù)寄存器中,接下來執(zhí)行子程序DISPLAY1,它的主要功能是將TABLE表中的字符輸出到LCD中去
41、。調(diào)定好顯示字符數(shù)即遠程查表的次數(shù),就開始查表了。</p><p> 例如第一個字符“V”的ASCII碼是56H,就將這個碼送到P2口,再調(diào)用使能數(shù)據(jù)子程序,使RS=1(數(shù)據(jù)區(qū)使能)寫入顯示數(shù)據(jù)區(qū),R/W=0表示寫,E=來個下降沿延時2.5毫秒,使數(shù)據(jù)寫入RAM內(nèi)。完成</p><p> TABLE表輸出以后,向指令RAM中寫入第2</p><p> 行的起始
42、地址為OCH,再調(diào)用顯示采樣數(shù)據(jù)</p><p> 的子程序。采樣數(shù)據(jù)存放的數(shù)據(jù)地址安排如下圖所示,首先將60H中的數(shù)顯示在正負號的位置上,按照ASCII碼表,正號不顯示(#20H),負號顯示“-”(#2DH)。</p><p> 4.2 A/D中斷程序設(shè)計</p><p> ICL7135每一分鐘完成3次據(jù)的采集工作,1/3秒完成后向CPU申請中斷,CPU這
43、時暫停工作,為中斷服務(wù).中斷響應(yīng)后關(guān)中斷,將PSW、ACC壓棧,判斷是否首次中斷,如果是首次中斷,則將正負號標志位置入60H,再把萬位置入61H中,如果不是首次中斷,則跳到NEXT處,如果是第二次中斷,則將千位數(shù)置入62H中,如果是第三次中斷,再將百位數(shù)置入63H中,第四次中斷則將十位數(shù)置入64H中,第五次中斷則將小數(shù)點位置入65H中,同時個位置入66H中。同時清除中斷次數(shù)寄存器30H中的值,完成中斷后將ACC、PSW出棧,開中斷。&l
44、t;/p><p> 消隱的思想:每次電壓采集后,CPU將數(shù)據(jù)送到LCD顯示,將可能出現(xiàn)以下幾種需要消隱的情況。</p><p> 例如:2000V檔量程:</p><p> 此時萬位的值‘0’不符合人們的視覺習(xí)慣,需要把萬位的值消隱掉,編程是將#20H送入萬位,使其在LCD中不顯示任何字符即可。同樣的情況如下:</p><p><b&
45、gt; 2000V檔量程:</b></p><p><b> 200V檔量程:</b></p><p><b> 20V檔量程:</b></p><p> 在采集到數(shù)據(jù)之后,置數(shù)之前判斷檔位,是2V檔不消隱,是其他檔位時再看要消隱的位之前有幾個是零。例如2000V檔量程,-0001.9V,在2次中斷時判
46、斷檔位是2000V檔,第1位是零,消隱第2位千位。</p><p> 4.3通訊模塊程序設(shè)計</p><p> 89S52單片機內(nèi)部有一個全雙工的串行通信口,即串行接收和發(fā)送緩沖器(SBUF),這兩個在物理上獨立的接收發(fā)送器,既可以接收數(shù)據(jù)也可以發(fā)送數(shù)據(jù)。但接收緩沖器只能讀出不能寫入,而發(fā)送緩沖器則只能寫入不能讀出,它們的地址為99H。這個通信口既可以用于網(wǎng)絡(luò)通信,亦可實現(xiàn)串行異步通信
47、,還可以構(gòu)成同步移位寄存器使用。如果在傳行口的輸入輸出引腳上加上電平轉(zhuǎn)換器,就可方便地構(gòu)成標準的RS-232接口。89S52的串行口有4種工作方式,1種同步方式,3種異步方式。本方式選方式1,一幀數(shù)據(jù)有10位,包括起始位0、8位數(shù)據(jù)位和1位停止位1。串行口電路在發(fā)送時能自動加入起始位和停止位。在接收時,停止位進入SCON中的RB8位。方式1的波特率是可變的,由定時器1的溢出率決定。由定時器1最好工作在方式2上(自動重裝載模式),這樣只需
48、對TH1設(shè)置一次即可。數(shù)據(jù)通過TXD輸出,在8個位輸出完畢后,SCON寄存器的TI位被設(shè)為1,CPU只要判斷TI是1,接著發(fā)送下一個字節(jié)。</p><p> 波特率的設(shè)定:定時器T1工作在方式2的初值為:</p><p> 為了減小誤差,時鐘振蕩頻率采用11.0592MHz,選用定時器T1工作在方式2作波特率發(fā)生器,波特率為300,設(shè)SMOD為0,依公式(1.1)得初值為:</p
49、><p> 所以TH1 = TL1 = A0H</p><p> MOV SCON ,#50H ;URAT工作在方式1上</p><p> MOV TMOD ,#20H ;TIME1工作在方式2上</p><p> MOV TH1 , #0A0H ;設(shè)置波特率為300</p><p> 本
50、設(shè)計的中斷十分重要,為了減少相互間的干擾,保證可靠性,采用查詢方式判斷是否發(fā)送完畢。</p><p> A6: JBC TI , A5 ;如果發(fā)送完畢跳,清標志位,跳到A5。</p><p> AJMP A6 ;否則跳到A6,等待</p><p> A5: INC R0 </p><p><b> 5
51、 結(jié)束語</b></p><p> 電壓測量通過不同的接口電路可實現(xiàn)溫度、濕度、壓力等測量,廣泛應(yīng)用于工業(yè)領(lǐng)域。本電路設(shè)計別具一格,是一種高精度、低功耗、寬量程、智能化的電壓表??蓴U展鍵盤、EEPROM、報警電路,實現(xiàn)電壓異常記錄、報警。</p><p><b> 參考文獻</b></p><p> [1] 徐愛鈞.《智能化測
52、量控制儀表原理與設(shè)計》(第二版)[M].北京:北京航空航天大學(xué)出版社,2004.</p><p> [2] 吳金戌,沈慶陽,郭庭吉.《8051單片機實踐與應(yīng)用》[M].北京:清華大學(xué)出版社,2002.</p><p> [3] 張國勛,《縮短ICL7135A/D采樣程序時間的一種方法》[J]. 《電子技術(shù)應(yīng)用》,1993,第一期.</p><p> [4] 高
53、峰,《單片微型計算機與接口技術(shù)》[M].北京:科學(xué)出版社,2003.</p><p> [5] 劉偉,趙俊逸,黃勇,《一種基予C8051F單片機的SOC型數(shù)據(jù)采錄器的設(shè)計與實現(xiàn)》[A].天津市計算機學(xué)會單片機分會編. 《2003年全國單片機及嵌如入式系統(tǒng)學(xué)術(shù)年會論文集(下冊)》[C] .北京:北京航空航天大學(xué)出版社,2003 .790-794</p><p> [6] http://w
54、ww.ic-on-line.com/ ICL7135.PDF、MAX232.PDF</p><p><b> 致 謝</b></p><p> 在我寫本論文的過程中,李曉偉老師給我提供了許多資料,并對實踐中出現(xiàn)的問題給予耐心的解答,完稿之后在百忙之中仔細閱讀,給出修改意見。有時午夜向李老師求助,他從不推辭,認真解答。李老師愛崗敬業(yè),治學(xué)嚴謹,思維嚴密,平易近人是
55、我十分尊敬的老師,在此對他表示感謝。</p><p> 在本文錄入的過程中,得到了任軍偉、劉曉峰同學(xué)的幫助,在這里對他們也表示的感謝!</p><p><b> 設(shè)計感想</b></p><p> 這是我2011年的畢業(yè)設(shè)計。</p><p> 當(dāng)時在選題時,沒人和我選重,因為有一定的難度。</p>
56、<p> 指導(dǎo)教師要求也不高。</p><p> 當(dāng)時的參考資料都是些測量5V電壓的,采用8位A/D轉(zhuǎn)換,LED數(shù)碼管顯示。</p><p> 可能懂的人認為沒什么大不了的,</p><p> 對于只上了不到50個學(xué)時的課,沒有上過實習(xí)課的我,太不容易了。</p><p> 我一心想做的更高級些,加些難度,加些挑戰(zhàn)。&l
57、t;/p><p> 設(shè)計個至少測DC1000V電壓表,要誤差小于0.3V,液晶顯示,可換擋測量。</p><p> 當(dāng)我把我的想法告訴我的同學(xué)時,他們沒有一個相信我會做成。</p><p> 我個人認為學(xué)單片機學(xué)的不錯,有信心啊。</p><p> 由于學(xué)校的條件有限,板子是別人做的,本來是想做一個的,后來時間不夠。</p>
58、<p> 這個設(shè)計的難度在于編程,液晶顯示,可換擋測量更增加了設(shè)計難度。</p><p> 由于第一次實踐,加之條件有限。我設(shè)計程序,調(diào)試,做成成品花了將近一個星期。</p><p> 程序中除了液晶驅(qū)動部分參考了參考文獻[2],剩下的大部分都是自己寫的。</p><p> 為了盡量追求完美,我加了很多輔助的部分。</p><
59、p> 調(diào)試程序時,我遇到了很多困難,例如:參考文獻錯誤的誤導(dǎo),調(diào)試環(huán)境的錯誤使用,</p><p> 硬件改裝,程序本身不可預(yù)見的錯誤等。</p><p> 經(jīng)歷了,寫程序,調(diào)試,仿真,如果成功寫進硬件,不成功繼續(xù)改進;</p><p> 寫進硬件后出問題了,就不知是硬件問題還是元件問題了。</p><p> 沒有人告訴你錯在
60、那里,沒有人告訴你該怎么做,我在走沒人可借見的路,坎坷充滿荊棘的路。</p><p> 那短日子真的是難熬啊,幾乎每時每刻都在想辦法。有空就在紙上寫畫著</p><p> 由于時間不夠,很多地方還可以更加完美。</p><p> 最后,再歷經(jīng)多次調(diào)試后,寫進硬件成功了,我高興的大喊大叫起來,真的太難了,家人也很為我高興。</p><p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機數(shù)字電壓表畢業(yè)論文
- 畢業(yè)論文——基于單片機的數(shù)字電壓表
- 數(shù)字電壓表畢業(yè)論文--基于51單片機的數(shù)字電壓表設(shè)計
- 基于單片機的數(shù)字電壓表——畢業(yè)論文
- 畢業(yè)論文--基于單片機的數(shù)字電壓表設(shè)計
- (畢業(yè)論文)基于單片機的數(shù)字電壓表設(shè)計
- 基于單片機的數(shù)字電壓表的設(shè)計畢業(yè)論文
- 基于51單片機的數(shù)字電壓表設(shè)計 畢業(yè)論文
- 基于單片機的數(shù)字電壓表仿真設(shè)計-畢業(yè)論文
- 畢業(yè)論文--基于單片機的雙機通信數(shù)字電壓表
- 基于單片機的數(shù)字電壓表論文
- 數(shù)字電壓表基于單片機
- 數(shù)字電壓表基于單片機
- 基于單片機的數(shù)字電壓表畢業(yè)設(shè)計論文
- 基于單片機數(shù)字電壓表.doc
- 基于單片機的數(shù)字電壓表的設(shè)計論文
- 基于單片機數(shù)字電壓表.doc
- 基于單片機的數(shù)字電壓表的設(shè)計論文
- 基于單片機的數(shù)字電壓表設(shè)計畢業(yè)設(shè)計論文
- 基于單片機的數(shù)字電壓表設(shè)計
評論
0/150
提交評論