通信工程畢業(yè)設計基于單片機數(shù)字電壓表設計_第1頁
通信工程畢業(yè)設計基于單片機數(shù)字電壓表設計_第2頁
通信工程畢業(yè)設計基于單片機數(shù)字電壓表設計_第3頁
通信工程畢業(yè)設計基于單片機數(shù)字電壓表設計_第4頁
通信工程畢業(yè)設計基于單片機數(shù)字電壓表設計_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、青島農(nóng)業(yè)大學第五屆電子設計大賽設計方案項 目 名 稱:基于單片機數(shù)字電壓表設計參賽成員:陳昌棟通信09級2班丁勝朋通信09級2班張艷敏通信09級2班基于單片機的數(shù)字電壓表摘要:本文介紹一種基于STC89C52單片機的一種電壓測量電路,該電路采用運放OP07高精度、逐步逼近A/D轉(zhuǎn)換電路,測量范圍直流0-±2000伏,使用LCD液晶模塊顯示,可以與PC機進行串行通信。正文著重給出了軟硬件系統(tǒng)的各部分電路,介紹了逐步逼近電路的原理,STC89C52的特點,AD0804的功能和應用。該電路設計新穎、功能強大、可擴展性強。關鍵詞:電壓測量,運放OP07,逐步逼近式 A/D轉(zhuǎn)換器,12864液

2、晶模塊1前言數(shù)字電壓表(Digital Voltmeter)簡稱DVM,它是采用數(shù)字化測量技術,把連續(xù)的模擬量(直流輸入電壓)轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式并加以顯示的儀表。傳統(tǒng)的指針式電壓表功能單一、精度低,不能滿足數(shù)字化時代的需求,采用單片機的數(shù)字電壓表,由精度高、抗干擾能力強,可擴展性強、集成方便,還可與PC進行實時通信。目前,由各種單片A/D 轉(zhuǎn)換器構(gòu)成的數(shù)字電壓表,已被廣泛用于電子及電工測量、工業(yè)自動化儀表、自動測試系統(tǒng)等智能化測量領域,示出強大的生命力。與此同時,由DVM擴展而成的各種通用及專用數(shù)字儀器儀表,也把電量及非電量測量技術提高到嶄新水平。本章重點介紹單片A/D 轉(zhuǎn)換器以及由

3、它們構(gòu)成的基于單片機的數(shù)字電壓表的工作原理。2系統(tǒng)原理及基本框圖 2.1 單片機部分由于單片機在整個設計中占據(jù)著重要的地方,首先介紹一下單片機的相關知識。單片機STC89C52具有低電壓供電和體積小等特點,四個端口只需要兩個口就能滿足電路系統(tǒng)的設計需要。8051是MCS-51系列單片機的典型產(chǎn)品,我們以這一代表性的機型進行系統(tǒng)的講解。8051單片機包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說明:·中央處理器: 中央處理器(CPU)是整個單片機的核心

4、部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進制數(shù)據(jù)或代碼,CPU負責控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運算和控制輸入輸出功能等操作。·數(shù)據(jù)存儲器(RAM) 8051內(nèi)部有128個8位用戶數(shù)據(jù)存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個,可存放讀寫的數(shù)據(jù),運算的中間結(jié)果或用戶定義的字型表。8051內(nèi)部結(jié)構(gòu)如圖1所示:圖1 8051 內(nèi)部結(jié)構(gòu)·程序存儲器(ROM):8051共有4096個8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。

5、83;定時/計數(shù)器(ROM):8051有兩個16位的可編程定時/計數(shù)器,以實現(xiàn)定時或計數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。·并行輸入輸出(I/O)口:8051共有4組8位I/O口(P0、 P1、P2或P3),用于對外部數(shù)據(jù)的傳輸。·全雙工串行口:8051內(nèi)置一個全雙工串行通信口,用于與其它設備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當同步移位器使用。·中斷系統(tǒng):8051具備較完善的中斷功能,有兩個外中斷、兩個定時/計數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇。·時鐘電路:8051內(nèi)置最高頻率達12MHz的時鐘電路,用

6、于產(chǎn)生整個單片機運行的脈沖時序,但8051單片機需外置振蕩電容。單片機的結(jié)構(gòu)有兩種類型,一種是程序存儲器和數(shù)據(jù)存儲器分開的形式,即哈佛(Harvard)結(jié)構(gòu),另一種是采用通用計算機廣泛使用的程序存儲器與數(shù)據(jù)存儲器合二為一的結(jié)構(gòu),即普林斯頓(Princeton)結(jié)構(gòu)。INTEL的MCS-51系列單片機采用的是哈佛結(jié)構(gòu)的形式,而后續(xù)產(chǎn)品16位的MCS-96系列單片機則采用普林斯頓結(jié)構(gòu)。下圖是MCS-51系列單片機的內(nèi)部結(jié)構(gòu)示意圖2所示:圖2 MCS-51結(jié)構(gòu)框圖MCS-51的引腳說明:MCS-51系列單片機中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配

7、置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復用?,F(xiàn)在我們對這些引腳的功能加以說明:MCS-51的引腳說明:MCS-51系列單片機中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),圖3是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復用。現(xiàn)在我們對這些引腳的功能加以說明:圖3 51單片機引腳圖Pin9:RESET/Vpd復位信號復用腳,當8051通電,時鐘電路開始工作,在RESET引腳上出現(xiàn)24個時鐘周期以上的高電平,系統(tǒng)即初始復位。

8、初始化后,程序計數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指針寫入07H,其它專用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開始執(zhí)行程序。然而,初始復位不改變RAM(包括工作寄存器R0-R7)的狀態(tài),8051的初始態(tài)。8051的復位方式可以是自動復位,也可以是手動復位,見下圖。此外,RESET/Vpd還是一復用腳,Vcc掉電其間,此腳可接上備用電源,以保證單片機內(nèi)部RAM的數(shù)據(jù)不丟失。其復位電路如圖4所示:圖4 復位電路圖·Pin30:ALE/當訪問外部程序器時,ALE(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而訪問內(nèi)部程序存儲器時,A

9、LE端將有一個1/6時鐘頻率的正脈沖信號,這個信號可以用于識別單片機是否工作,也可以當作一個時鐘向外輸出。更有一個特點,當訪問外部程序存儲器,ALE會跳過一個脈沖。如果單片機是EPROM,在編程其間,將用于輸入編程脈沖。·Pin29:當訪問外部程序存儲器時,此腳輸出負脈沖選通信號,PC的16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,外部程序存儲器則把指令數(shù)據(jù)放到P0口上,由CPU讀入并執(zhí)行。·Pin31:EA/Vpp程序存儲器的內(nèi)外部選通線,8051和8751單片機,內(nèi)置有4kB的程序存儲器,當EA為高電平并且程序地址小于4kB時,讀取內(nèi)部程序存儲器指令數(shù)據(jù),而超過4kB地址則讀取

10、外部指令數(shù)據(jù)。如EA為低電平,則不管地址大小,一律讀取外部程序存儲器指令。顯然,對內(nèi)部無程序存儲器的8031,EA端必須接地。2.2電平測量的電路設計該方案要求的測量信號電平的動態(tài)范圍大(0.0014.99Vrms),頻帶寬(20Hz0.2MHz),電壓測量誤差為土(3%讀數(shù)+2個字)。由上對AD637性能分析,系統(tǒng)應采用電壓輸出方式,不宜采用直接dB輸出方式,并應具備輸如信號增益調(diào)節(jié)環(huán)節(jié),以保證信號電平的動態(tài)范圍及精度。電平測量的原理框圖如圖5所示:可變增益放大器AD637模/數(shù)轉(zhuǎn)換MPU信號輸入圖5 電平(電壓)測量原理框圖下面是對各框圖的解說:(1)可變增益放大電路的設計由于最小輸入信號

11、為毫伏級,系統(tǒng)要求具有輸入阻抗變換功能,可變增益放大電路可采用射隨器加可變增益放大器的結(jié)構(gòu)形式。由于大多數(shù)AD變換器的滿刻度輸出為5V,增益變換檔位應為5V、1V、100mV和10mV4個檔位。經(jīng)實際測量,AD637在輸入信號為2MHz以下,信號有效值為0.77Vrms范圍內(nèi)能保證無誤,當輸入電壓為200mVrms時,頻率上限高達600kHz,考慮到芯片供電與輸入電壓的關系,AD673輸入信號幅度范圍選取0.22V。所以該可變增益放大電路可采用電阻網(wǎng)絡衰減器和固定增益放大器相串聯(lián)形式,放大器增益不小于200,上述檔位對應的衰減器衰減量分別為0.001倍、0.01倍、0.1倍和1倍。射隨器應選擇

12、單位增益帶寬大于0.6MHz,輸入失調(diào)電壓、失調(diào)電流小的運放芯片,可選擇OP07單運放芯片。其在土15V供電時,輸入失調(diào)電壓的典型值和最大值分別為20UF和75UF;輸入偏置電流的典型值和最大值分別為6NA和12NA;增益帶寬積大于0.6MHZ,完全滿足設計精度要求。由于放大器增益至少應大于200,放大器芯片的選擇主要考慮輸入失調(diào)電壓、電流和增益帶寬參數(shù),選擇OP07芯片。其開環(huán)在1MHZ時可達50DB,輸入失調(diào)電壓典型值為35UV,失調(diào)電流典型值50NA,滿足設計要求??勺冊鲆娣牌麟娐返碾娐穲D如圖6所示。待測電信號由J1輸入電路,從TESTV輸出。放大電路輸入阻抗變換采用撥碼開關S2完成。檔

13、位選擇采用模擬開關芯片CD4052。,MPU根據(jù)采樣獲得的測量值大小,自動完成檔位轉(zhuǎn)換。檔位在10V時,輸入信號首先經(jīng)R14、R15衰減0.1倍,經(jīng)射隨器后在衰減0.01倍,由CD4052BE切換至200倍放大器U4。由電路圖可知,流經(jīng)所有芯片的信號峰值均小于2V,使整個電路可采用土5V電源供電,既簡化了整個系統(tǒng)的電源設計,又兼容了后繼處理電路的要求。圖6 可變增益放大電路2.3有效測量電路的設計有效測量電路由有效測量芯片AD637和A/D轉(zhuǎn)換芯片ADC0804組成。有效值測量芯片采用后置二階濾波連接方式,其中的CAV(C1)取值為1UF時滿足信號在20H1MHZ頻帶范圍內(nèi)的測量精度要求,此時

14、測量時間為365MS,此時間參數(shù)可作為采樣周期的參考值。在該電路中,由于AD637輸出的最小電壓幅度為200MV,A/D轉(zhuǎn)換精度應大于8BITS方能在A/D轉(zhuǎn)換的參考電壓為5V時滿足系統(tǒng)測量誤差小于3%的要求。因本系統(tǒng)對A/D轉(zhuǎn)化的采樣頻率要求高,A/D轉(zhuǎn)換芯片可采用并行輸出方式,本電路采用具有8BITS換精度的ADC0804芯片。由于AD637輸出的最大電壓幅度為2V,A/D轉(zhuǎn)換器的參考電壓至少應為5V,選用+5V電源作為參考電壓,完全滿足系統(tǒng)精度及AD7920供電要求。電平測量的完整電路圖如圖7所示。圖7 有效值測量電路2.4A/D 轉(zhuǎn)換電路的設計A/D 轉(zhuǎn)換器的轉(zhuǎn)換精度對測量電路極其重要

15、,它的參數(shù)關系到測量電路性能。本設計采用逐步逼近式A/D 轉(zhuǎn)換器,它的性能比較穩(wěn)定,轉(zhuǎn)換精度高,具有很高的抗干擾能力,電路結(jié)構(gòu)簡單,其缺點是工作速度較低。在對轉(zhuǎn)換精度要求較高,而對轉(zhuǎn)換速度要求不高的場合如電壓測量有廣泛的應用。2.4.1逐步逼近式A/D轉(zhuǎn)換器的工作原理逐步逼近式A/D轉(zhuǎn)換器的工作原理圖,如圖8所示:圖8 A/D工作原理圖2.4.2 AD0804的應用ADC0804的規(guī)格及引腳圖8 位COMS 依次逼近型的A/D 轉(zhuǎn)換器.三態(tài)鎖定輸出存取時間:135US分辨率:8位轉(zhuǎn)換時間:100US總誤差:正負1LSB工作溫度:ADC0804LCN-070度引腳圖及說明,如圖9所示:圖9 AD

16、C0804/CS 芯片選擇信號。/RD 外部讀取轉(zhuǎn)換結(jié)果的控制輸出信號。/RD 為HI 時,DB0DB7 處理高阻抗:/RD 為LO 時,數(shù)字數(shù)據(jù)才會輸出。/WR:用來啟動轉(zhuǎn)換的控制輸入,相當于ADC 的轉(zhuǎn)換開始(/CS=0 時),當/WR 由HI變?yōu)長O時,轉(zhuǎn)換器被清除:當/WR 回到HI 時,轉(zhuǎn)換正式開始。CLK IN,CLK R:時鐘輸入或接振蕩無件(R,C)頻率約限制在100KHZ1460KHZ,如果使用RC 電路則其振蕩頻率為1/(1.1RC)/INTR:中斷請求信號輸出,低地平動作.VIN(+) VIN(-) :差動模擬電壓輸入.輸入單端正電壓時, VIN(-)接地:而差動輸入時,

17、直接加入VIN(+) VIN(-).AGND,DGND:模擬信號以及數(shù)字信號的接地.VREF:輔助參考電壓.DB0DB7:8 位的數(shù)字輸出.VCC: 電源供應以及作為電路的參考電壓.其設計電路如圖10所示:圖10 AD設計電路2.5 液晶顯示部分一元器件介紹12864M是一種圖形液晶顯示器,它主要由行驅(qū)動/列驅(qū)動和128*64全點陣液晶顯示器組成??赏瓿蓤D形顯示,也可顯示8*4個(16*16點陣)漢字。1、電源:VDD+5V,模塊內(nèi)自帶-10V負壓,用于LCD的驅(qū)動。2、顯示內(nèi)容:128(列)*64(行)點。3、七種指令。4、與CPU接口采用8位數(shù)據(jù)總線并行輸入輸出和8條控制線。5、工作溫度:

18、0-60。二模塊主要硬件構(gòu)成說明12864液晶顯示結(jié)構(gòu)框圖,如圖11所示: 圖11 12864結(jié)構(gòu)框圖三顯示界面設置(1)開機顯示界面采用12864圖像顯示處理,通過圖像處理得到128*64大小的圖像,獲取代碼顯示,圖像如下(2)電壓測試界面,主顯示界面采用的是軟件控制,主要代碼uchar code dis1="量A 10MV C 100MV"uchar code dis2="程B 1V D 10V"uchar code dis3="所選量程:"uchar code dis4="測值:"uchar code dis

19、5="當前室溫:"uchar code dis6="MV"uchar code dis7=" V"uchar code dis8="量程錯誤!"void disphoto(uchar *photo) /圖片顯示unsigned char i,j;writecmd(0x34); /關閉繪圖for(i=0;i<32;i+) writecmd(0x80+i); /垂直坐標 writecmd(0x80); /水平坐標for(j=0;j<16;j+) /一行可顯示16個字符writedat(*photo+);de

20、lay2(1); for(i=0;i<32;i+) writecmd(0x80+i); writecmd(0x88);for(j=0;j<16;j+)writedat(*photo+);delay2(1);writecmd(0x36);顯示如圖量 A 10mV B 1V 程 C 100mV D 5V所選量程:測值為:(3)溫度顯示界面通過判斷當前溫度,顯示提示語言:1室溫偏高注意防暑2室溫適宜注意休息3根據(jù)溫差謹防感冒室內(nèi)溫度T:xxxx*顯示提示語言*四 系統(tǒng)軟件設計4.1主程序設計主程序主顯示界面測壓界面溫度T<2020<T<31T>31提示語言提示語言

21、提示語言If u>10mvIf u>100mvIf u>1vIf u>5v提示量程選擇錯誤4.2程序清單主程序代碼:#include<reg52.h>#include<intrins.h>#include<stdlib.h>#include<ds18b20.h>#define uchar unsigned char#define uint unsigned intsbit rs=P30; sbit rw=P31;sbit en=P34;sbit psb=P35;sbit int1=P33;/定義管腳功能sbit cs=P3

22、2;/定義ADcs端sbit a1=P26;/定義CD4052的A端口sbit b1=P27 ;/定義CD4052的B端口sbit wr=P36; sbit rd=P37; unsigned int dianya,count,aaa,aaa_h;unsigned int dianyah,dianyal; /用于存儲讀出數(shù)據(jù)的高字節(jié)和低字節(jié)unsigned char addata,i;unsigned int dianya=0;const uchar table=0x30,0x31,0x32,0x33, 0x34,0x35,0x36,0x37, 0x38,0x39,0x41,0x42, 0x43

23、,0x44,0x45,0x46;uchar code dis1="量A 10mV B 1V "uchar code dis2="程C 100mV D 5V"uchar code dis3="所選量程:"uchar code dis4="測值:"uchar code dis5="當前室溫:"uchar code dis6="mV"uchar code dis7=" V"uchar code dis8="量程錯誤!"uchar code d

24、is9="室溫偏高注意防暑"uchar code dis10="室溫適宜注意休息"uchar code dis11="根據(jù)溫差謹防感冒"uchar code dis12="請選擇量程"unsigned char code photo1=0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x

25、00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x

26、00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC1,0xE0,0x00,0xF0,0x00,0x0F,0x00,0x00,0x00,0x00,0x03,0xE0,0x00,0x00,0x00,0x1F,0xD9,0xE0,0x

27、01,0xF0,0x00,0x0F,0x00,0x1F,0xFF,0xFC,0x01,0xC0,0x00,0x00,0x00,0x1D,0xFD,0xC1,0xFF,0xFF,0xF0,0x0F,0x00,0x1F,0xFF,0xFD,0xFF,0xFF,0xC0,0x00,0x00,0x1F,0xFB,0xC1,0xFF,0xFF,0xF7,0xFF,0xFE,0x1F,0xFF,0xFD,0xFF,0xFF,0xC0,0x00,0x00,0x0D,0xDB,0xFE,0xFF,0xFF,0xF7,0xFF,0xFE,0x1E,0x00,0x00,0x01,0xC0,0x00,0x00,0x

28、00,0x3F,0xFF,0xFE,0xE0,0x00,0xF7,0xFF,0xFE,0x1E,0x1E,0x00,0x01,0xC0,0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xF7,0x8F,0x1E,0x1E,0x1E,0x01,0xFF,0xFF,0x80,0x00,0x00,0x07,0xC7,0x9C,0x1F,0xFF,0x07,0x8F,0x1E,0x1E,0x1E,0x01,0xFF,0xFF,0x80,0x00,0x00,0x1F,0xFF,0x9C,0x1F,0xFF,0x07,0xFF,0xFE,0x1E,0x1E,0x00,0x

29、01,0xC0,0x00,0x00,0x00,0x3D,0xFF,0x9C,0x00,0x3E,0x07,0xFF,0xFE,0x1F,0xFF,0xF8,0x01,0xC0,0x00,0x00,0x00,0x3F,0xDF,0xBC,0x00,0xF8,0x07,0x8F,0x1E,0x1F,0xFF,0xFB,0xFF,0xFF,0xC0,0x00,0x00,0x17,0x87,0xFD,0xFF,0xFF,0xF7,0x8F,0x1E,0x1D,0xFF,0xFB,0xFF,0xFF,0xC0,0x00,0x00,0x3F,0xF9,0xF9,0xFF,0xFF,0xF7,0xFF,0x

30、FE,0x1E,0x1E,0x00,0x0F,0xE3,0x80,0x00,0x00,0x3F,0xF9,0xF9,0xFF,0xFF,0xF7,0xFF,0xFE,0x3C,0x1E,0x60,0x3E,0xFF,0xC0,0x00,0x00,0x0E,0x78,0xF0,0x00,0xF0,0x07,0xFF,0xFF,0x3C,0x1F,0xF8,0x7E,0xFF,0x40,0x00,0x00,0x1F,0xF0,0xF0,0x00,0xF0,0x07,0x8E,0x07,0xBC,0x1E,0x71,0xFE,0x7C,0x00,0x00,0x00,0x2F,0xE3,0xF8,0x

31、00,0xF0,0x07,0x8F,0x07,0xBC,0x1E,0x03,0xFE,0x7F,0x00,0x00,0x00,0x07,0xFF,0xFC,0x0F,0xF0,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0xC0,0x00,0x00,0x3F,0xFF,0xFE,0x0F,0xF0,0x00,0x0F,0xFF,0x7F,0xFF,0xFF,0x9F,0xE7,0xC0,0x00,0x00,0x3F,0x3F,0x9C,0x0F,0xE0,0x00,0x07,0xFE,0x3F,0xFF,0xFC,0x1F,0xC1,0xC0,0x00,0x

32、00,0x18,0x06,0x0C,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x

33、00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x

34、38,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x07,0x0E,0x00,0x78,0x78,0x1F,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xF8,0x0F,0xFF,0xFE,0x7F,0xFF,0xDF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xF7,0xFF,0xFE,0x7F,0xFF,0xDE,0x3C,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x

35、FF,0xF7,0xFB,0xDE,0xF0,0x78,0x1E,0x3C,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x37,0xF0,0xF3,0xFB,0xDE,0xF0,0x78,0x1E,0x3C,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xF0,0xF0,0x7B,0xDE,0xFF,0xFF,0x9F,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFB,0xDF,0xFF,0xFF,0x9F,0xFF,0xF0,0x00,0x00,0x00,0x

36、00,0x00,0x00,0x3F,0x6F,0xEF,0xFB,0xDF,0xFF,0x7B,0x9E,0x3C,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x1E,0x07,0xFF,0xDF,0xFF,0x7B,0x9E,0x3C,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x1F,0x07,0xFF,0xDF,0xFF,0xFF,0x9E,0x3C,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x1F,0x07,0xFF,0xFF,0xFF,0xFF,0x9F,0xFF,0x

37、F0,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xBF,0x87,0xFF,0xFC,0x77,0x7B,0x9F,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0x87,0xB3,0xC0,0x77,0xF8,0x1E,0x3C,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x7F,0xC7,0x83,0xC0,0x73,0xF0,0x1E,0x3C,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x79,0xF9,0xE7,0xC0,0x00,0x

38、73,0xFC,0x1E,0x3C,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x73,0xF1,0xFF,0xFF,0xFE,0x7F,0xFF,0xFE,0x3C,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0xC0,0x6E,0xFF,0xFE,0x7F,0x0F,0xBC,0x3F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x00,0x00,0x00,0x1C,0x3F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x

39、00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x

40、00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x

41、00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00;unsigned char num,temp;/定義鍵盤返回值,中間變量unsigned char getkey();/鍵盤掃描函數(shù)unsigned char adc0804(void); /讀AD0804子程序 /讀AD0804子程序unsi

42、gned int datpro(void);/ADC0804讀出的數(shù)據(jù)處理void delay1(unsigned int z);/定義讀書延時函數(shù)void delay2(unsigned int t);void delayNOP();void lcdpos(uchar X,uchar Y);void writecmd(unsigned char cmd); /寫命令void writedat(unsigned char dat); /寫數(shù)據(jù)void init(); /初始化bit busy();void displayA();void displayB();void displayC();v

43、oid displayD();void disphoto(unsigned char *photo); /圖片顯示void display_jiemian();void clear(); /清屏void display1();void display();void main() delay2(100);init();disphoto(photo1);delay1(2000); clear(); delay2(5);display_jiemian();num=6; while(1) if(num=1)getkey();/獲得鍵盤輸入值if(num=2|num=3|num=5|num=6)num=

44、1;switch(num)case 2:a1=0;b1=0;break;case 5:a1=1;b1=0;break;case 3:a1=0;b1=1;break;default:a1=1;b1=1; ;display1();if(num=4)getkey();/獲得鍵盤輸入值switch(num)case 2:a1=0;b1=0;break;case 5:a1=1;b1=0;break;case 3:a1=0;b1=1;break;default:a1=1;b1=1; ;lcdpos(3,3);for(i=0;i<10;i+) writedat(dis12i); delay1(1);d

45、isplay_jiemian();delay1(5);if(num=2)/(條件選擇語句)不同的檔位不同的顯示形式getkey();/獲得鍵盤輸入值switch(num)case 2:a1=0;b1=0;break;case 5:a1=1;b1=0;break;case 3:a1=0;b1=1;break;default:a1=1;b1=1; ;lcdpos(2,6);writedat('A');delay1(2);lcdpos(3,7);for(i=0;i<2;i+) writedat(dis6i); delay1(1);adc0804();/讀取模數(shù)轉(zhuǎn)換數(shù)據(jù)aaa=d

46、atpro();/讀電壓if(aaa>=40000) display();delay1(1);elsedisplayA();delay1(2); if(num=3)getkey();/獲得鍵盤輸入值switch(num)case 2:a1=0;b1=0;break;case 5:a1=1;b1=0;break;case 3:a1=0;b1=1;break;default:a1=1;b1=1; ; lcdpos(2,6);writedat('B');delay1(2);lcdpos(3,7);for(i=0;i<2;i+) writedat(dis7i); delay

47、1(1);delay1(2);adc0804();/讀取模數(shù)轉(zhuǎn)換數(shù)aaa=datpro();/讀電壓據(jù)if(aaa>=40000) display();delay1(1);elsedisplayB();delay1(2);if(num=5)getkey();/獲得鍵盤輸入值switch(num)case 2:a1=0;b1=0;break;case 5:a1=1;b1=0;break;case 3:a1=0;b1=1;break;default:a1=1;b1=1; ; lcdpos(2,6);writedat('C');delay1(2);lcdpos(3,7);for

48、(i=0;i<2;i+) writedat(dis6i); delay1(1);delay1(2); adc0804();/讀取模數(shù)轉(zhuǎn)換數(shù)據(jù) aaa=datpro();/讀電壓if(aaa>=40000) display();delay1(1);elsedisplayC();delay1(2); if(num=6)getkey();/獲得鍵盤輸入值switch(num)case 2:a1=0;b1=0;break;case 5:a1=1;b1=0;break;case 3:a1=0;b1=1;break;default:a1=1;b1=1; ;lcdpos(2,6);writeda

49、t('D');delay1(2);lcdpos(3,7);for(i=0;i<2;i+) writedat(dis7i); delay1(1);delay1(2);adc0804();/讀取模數(shù)轉(zhuǎn)換數(shù)據(jù)aaa=datpro();/讀電壓if(aaa>=40000) display();delay1(1);elsedisplayD();delay1(2); unsigned char getkey(void) P2=0xf7;temp=P2;temp=temp&0xe7;while(temp!=0xe7)delay1(5);temp=P2;temp=temp&0xe7;while(tem

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論