版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 基于單片機(jī)的直流電壓電流檢測的設(shè)計一設(shè)計要求用單片機(jī)做一個電壓,電流檢測裝置。1電壓的范圍:DC10-36V,要求精度1%以內(nèi)。2電流DC 0.1-3A,要求精度1%以內(nèi)。3用液晶顯示電壓,電流值4通過按鍵可切換電壓,電流顯示。5每組做一個實(shí)物,實(shí)物要求用通用板焊接完成,單片機(jī)自選。二設(shè)計簡介:利用單片機(jī)系統(tǒng)與模數(shù)轉(zhuǎn)換芯片、顯示模塊,按鍵選擇等的結(jié)合構(gòu)建直流電壓電流表。由于單片機(jī)的開展已經(jīng)成熟,利用單片機(jī)系統(tǒng)的軟硬件結(jié)合,可以組裝出許多的應(yīng)用電路來。此方案的原理是模數(shù)A/D轉(zhuǎn)換芯片的基準(zhǔn)電壓端,被測量電壓輸入端分別輸入基準(zhǔn)電壓和被測電壓。模數(shù)A/D轉(zhuǎn)換芯片通過按鍵選擇模塊將被測量電
2、壓或電流輸入端所采集到的模擬電壓或電流信號轉(zhuǎn)換成相應(yīng)的數(shù)字信號,然后通過對單片機(jī)系統(tǒng)進(jìn)行軟件編程,使單片機(jī)系統(tǒng)能按規(guī)定的時序來采集這些數(shù)字信號,通過一定的算法計算出被測量電壓或電流的值。最后單片機(jī)系統(tǒng)將計算好了的被測電壓電流值按一定的時序送入顯示電路模塊加以顯示。三單片機(jī)簡介及本設(shè)計單片機(jī)的選擇在這一設(shè)計中,我們涉及到了一個關(guān)鍵系統(tǒng)模塊單片機(jī)系統(tǒng)模塊,而目前單片機(jī)的種類是很繁多的,主要有主流的8位單片機(jī)和高性能的32位單片機(jī),結(jié)合本設(shè)計各方面因素,8位單片機(jī)對于本設(shè)計已經(jīng)是綽綽有余了,但將用哪一種類8的單片機(jī)呢。單片機(jī)是指一個集成在一塊芯片上的完整計算機(jī)系統(tǒng),具有一個完整計算機(jī)所需要的大局部部
3、件:CPU,內(nèi)存,總線系統(tǒng)等。而目前常用的單片機(jī)的8位有51系列單片機(jī),AVR單片機(jī),PIC單片機(jī)。應(yīng)用最廣的8位單片機(jī)還是intel的51系列單片機(jī)。51系列單片機(jī)的特點(diǎn)是:硬件結(jié)構(gòu)合理,指令系統(tǒng)標(biāo)準(zhǔn),加之生產(chǎn)歷史悠久,世界有許多芯片公司都買了51的芯片核心專利技術(shù),并在其根底上擴(kuò)充其性能,使得芯片的運(yùn)行速度變得更快,性價比更高。AVR單片機(jī)是atmel公司推出較新的單片機(jī),它的顯著特點(diǎn)是:高性能,低功能,高速度,指令單周期為主,但性格方面比51單片機(jī)要高。有專門的I/O方向存放器。雖然有轉(zhuǎn)強(qiáng)的驅(qū)動電壓,但I(xiàn)/O口使用不比51單片機(jī)方便。 PIC單片機(jī)系列是美國微芯公司的產(chǎn)品,也是市面上增長
4、最快的單片機(jī)之一,屬精簡指令集單片機(jī),其特點(diǎn)是:高速度,高性能,但在性格方面比51單片機(jī)要高,也有專門的I/O方向存放器,I/O口使用不比51單片機(jī)方便。 MSP430系列單片機(jī)是美國德州儀器TI1996年開始推向市場的一種16位超低功耗、具有精簡指令集RISC的混合信號處理器Mixed Signal Processor。稱之為混合信號處理器,是由于其針對實(shí)際應(yīng)用需求,將多個不同功能的模擬電路、數(shù)字電路模塊和微處理器集成在一個芯片上,以提供“單片解決方案。該系列單片機(jī)多應(yīng)用于需要電池供電的便攜式儀器儀表中。 51系列和msp430系列有學(xué)過,比擬熟悉,其他的比擬陌生,因此優(yōu)先考慮51系列和ms
5、p430系列。方案一:采用TI 公司的msp430f149單片機(jī),該單片機(jī)是超低功耗的16位自帶ADC,含豐富的外設(shè)。片內(nèi)有12位的ADC,分表率高,可滿足1%的精度要求。該單片機(jī)的工作電壓是1.8v-3.3v。需要電源轉(zhuǎn)換電路。msp430f149最小系統(tǒng)電路。將轉(zhuǎn)換電路的輸出接到msp430f149的P6口,該端口是ADC轉(zhuǎn)換器的模擬輸入通道。MSP430F149自帶12位AD,無需外接AD轉(zhuǎn)換器,很方便,編程也相對簡單,但是市場上只有貼片芯片,焊接很困難,且價格比擬貴。方案二:采用Inntel生產(chǎn)的89C52。采用51系列的AT89C52,它是低電壓、低功耗、高性能的CMOS8位單片機(jī),
6、片內(nèi)含8KB的可反復(fù)擦寫的只讀程序存儲器和256B的隨機(jī)存取數(shù)據(jù)存儲器,32個I/O口線,3個16位定時/計數(shù)器,片內(nèi)振蕩器及時鐘電路,并與MCS-51系列單片機(jī)兼容。在設(shè)計中,單片機(jī)起著連接硬件電路與程序運(yùn)行及存儲數(shù)據(jù)的任務(wù),一方面,它將A/D轉(zhuǎn)換器、顯示器和語音芯片等通過I/O口地址線和數(shù)據(jù)線連接起來。芯片沒有AD轉(zhuǎn)換局部,需要外接AD轉(zhuǎn)換芯片。89C52我們比擬熟悉,價格廉價,直插式,方便焊接,且符合實(shí)驗(yàn)要求。比照考慮下,我們選擇51系列的89C52芯片。四模數(shù)A/D轉(zhuǎn)換芯片的選擇在本設(shè)計中,模數(shù)A/D轉(zhuǎn)換模塊是一個重要的模塊,它關(guān)系到最后數(shù)電壓電流值的精確度。所以,A/D芯片的選擇是設(shè)
7、計過程中一個很重要的環(huán)節(jié)。1 常用的A/D芯片簡介常用的A/D芯片有AD0809,AD0832,TLC2543C等幾種。下面簡單介紹一下這三種芯片。AD0809是8位逐次逼近型A/D轉(zhuǎn)換器,它是由一個8路的模擬開關(guān)、一個地址鎖存譯碼器、一個A/D 轉(zhuǎn)換器和一個三態(tài)輸出鎖存器組成。多路開關(guān)可選通8個模擬通道,允許8 路模擬量分時輸入,共用A/D 轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。些A/D轉(zhuǎn)換器是的特點(diǎn)是8位精度,屬于并行口,如果輸入的模擬量變化大快,必須在輸入之前增加采樣電路。AD0832也是8位逐次逼近型A/D轉(zhuǎn)換器,可支持致命傷個單端輸入通道和一個差分輸入通道。它易于和微處理器接口或獨(dú)立使用;可滿量程工作;可
8、用地址邏輯多路器選通各輸入通道。TLC2543C是12位開關(guān)電容逐次逼近A/D轉(zhuǎn)換,每個器件有三個控制輸入端,片選,輸入/輸出時鐘以及地址輸入端。它可以從主機(jī)高速傳輸轉(zhuǎn)換數(shù)據(jù)。它有高速的轉(zhuǎn)換,通用的控制能力,具有簡化比率轉(zhuǎn)換,刻度以及模擬電路與邏輯電路和電源噪聲隔離,耐高溫等特點(diǎn)。綜合上述幾種A/D轉(zhuǎn)換芯片的特點(diǎn),前兩種芯片的性能和精度都不如第三種芯片。在本設(shè)計中,我們的目標(biāo)是設(shè)計精度1%以內(nèi)的高精度電壓電流測量,因此在此,我們選擇精度為12位的TLC2543芯片。2模數(shù)A/D芯片TLC2543的資料綜合本設(shè)計的各方面考慮,我們選了TLC2543模數(shù)轉(zhuǎn)換芯片。下面就介紹此芯片的各方面資料。TL
9、C2543芯片的封裝引腳圖和引腳說明如下: 引腳說明:引腳號名稱I/O說明1-9,11,12AIN0-AIN10I模擬輸入端。15CSI片選端。17Data inputI串行數(shù)據(jù)輸入端。16Data outO用于A/D轉(zhuǎn)換結(jié)果輸也的3態(tài)串行輸出端19EOCO轉(zhuǎn)換結(jié)束端10GND接地端18I/O clkI輸入/輸出時鐘端14REF+I正基準(zhǔn)電壓端13REF-I負(fù)基準(zhǔn)電壓端20VCC正電壓端各引腳的使用詳細(xì)介紹。1 AIN0-AIN10這11個模擬信號輸入由內(nèi)部多路選器選擇。對4.1MHZ的I/O clk,驅(qū)動源阻抗必須小于或等于50歐并且能夠?qū)⒛M電壓由60PF的電容來限制其斜率。2 在CS端的
10、一個由上下低變化將復(fù)位內(nèi)部計數(shù)器并控制使能data out,data input和I/O clk。一個由低至高的變化將在一個設(shè)置時間內(nèi)禁止data input和I/O clk.3 串行數(shù)據(jù)輸入端data input是一個4位的串行地址選擇下一個即將被轉(zhuǎn)換的所需的模擬輸入或測試電壓。串行數(shù)據(jù)以MSB為前導(dǎo)并在I/O clk的前4個上升沿被移入。在4個地址位被讀入地址存放器后,I/O clk 將剩下的幾位依次輸入。4 Data out在CS為高時處于高阻抗?fàn)顟B(tài),而當(dāng)CS為低時處于激活狀態(tài)。CS一旦有效,按照前一次轉(zhuǎn)換結(jié)果的MSB/LSB值將data out從高阻抗?fàn)顟B(tài)轉(zhuǎn)變成相應(yīng)的邏輯電平,I/O
11、clk 的下一個下降沿將根據(jù)下一個MSB/LSB將data out驅(qū)動成相應(yīng)的邏輯電平,剩下的各位依次移出。5 EOC在最后的I/O clk 下降沿之后,從高電平變?yōu)榈碗娖讲⒈3值椭钡睫D(zhuǎn)換完成及數(shù)據(jù)準(zhǔn)備傳輸。6 GND端是內(nèi)部電路的地回路端,除加有說明外,所有電壓測量都相對于GND7 I/O clk端串行輸入并完成以下四個功能:第一,在I/O clk的前8個上升沿,它將8個輸入數(shù)據(jù)信鍵入輸入數(shù)據(jù)存放器。在第4個上升沿之后為多路器的地址。第二,在I/O clk的第4個下降沿,在選定的多路器的輸入端上的模擬輸入電壓開始和電容器充電并繼續(xù)到I/O clk的最后一個下降沿。第三,它將前一次轉(zhuǎn)換的數(shù)據(jù)的
12、其余11位移出data out端。在I/O clk的下降沿時數(shù)據(jù)變化。第四,在I/O clk的最后一個下降沿它將轉(zhuǎn)換的控制信號傳送到內(nèi)部的狀態(tài)控制位。8 REF+端通常接VCC,最大輸入電壓范圍取決于加于本端與加于REF-端的電壓差。9 REF-端通常接地。五液晶顯示器的選擇方案一采用1602液晶芯片1602液晶是工業(yè)字符型液晶,能夠同時顯示16*2即32個字符。1602液晶模塊內(nèi)部的字符發(fā)生存儲器已經(jīng)存儲了160個不同的點(diǎn)陣字符圖形,這些字這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼。使用時直接編寫軟件程序按一定的時序驅(qū)動即可。它的特點(diǎn)是顯
13、示字跡清楚,價格相對廉價。方案二采用12864液晶芯片12864液晶也是一種工業(yè)字符型液晶,它不僅能夠顯示1602液晶所可以顯示的字符,數(shù)字等信息,而且還可以顯示8*4個中文漢字和一些簡單的圖片,顯示信息也非常的清楚。使用時也直接編寫軟件程序按一定的時序驅(qū)動即可。不過它的價格比1602液晶貴了很多。在本設(shè)計中,我們只需要顯示最后電電壓或的數(shù)字值,綜合上面各種顯示器件的特點(diǎn):而點(diǎn)陣顯示器件驅(qū)動顯示軟件程序編寫麻煩,占用的引腳相對也較多。也不是理解的顯示器件。所以在本設(shè)計中,我們考慮用液晶顯示器件,雖然12864液晶比1602液晶的功能強(qiáng),不過在價格方面卻貴了好多。而1602液晶也足夠滿足本設(shè)計的
14、需要。因此,在本設(shè)計實(shí)驗(yàn)我們選擇1602液晶顯示器件。21602液晶的參數(shù)資料我們選擇了1602液晶做為本設(shè)計的顯示模塊的顯示器件。以下是1602液晶的各方面參數(shù):1接口信號說明:編號符號引腳說明1VSS電源地2VDD電源正極3VL液晶顯示偏壓信號4RS數(shù)據(jù)/命令選擇端5R/W讀/寫選擇端6E使能信號8-14D0-D7Data I/O15BLA背光源正極16BLK背光源負(fù)極2根本操作時序:1. 讀狀態(tài):輸入:RS=0,RW=1,E=1。輸出:D0-D7為狀態(tài)字2. 寫狀態(tài):輸入:RS=0,RW=0,D0-D7為指令碼,E為高脈沖。輸出:無3. 讀數(shù)據(jù):輸入:RS=1,RW=1,E=1。輸出:D
15、0-D7為數(shù)據(jù)。4. 寫數(shù)據(jù):輸入:RS=1,RW=0,D0-D7為數(shù)據(jù),E為高脈沖。輸出:無3狀態(tài)字說明STA7STA6STA5STA4STA3STA2STA1STA0STA0-6當(dāng)前數(shù)據(jù)地址指針的數(shù)值STA7讀寫操作使能1:禁止 0:允許 4指令的說明。 顯示模式設(shè)置 指令碼 功能00111000設(shè)置16*2顯示,5*7點(diǎn)陣,8位數(shù)據(jù)口 顯示開/關(guān)及光標(biāo)設(shè)置 指令碼 功能00001DCBD=1開顯示;D=0關(guān)顯示C=1顯示光標(biāo);C=0不顯示關(guān)標(biāo)B=1光標(biāo)閃爍;B=0光標(biāo)不顯閃爍000001NSN=1當(dāng)讀寫一個字條款后地址指針加一,且光標(biāo)加一。N=0當(dāng)讀或?qū)懸粋€字符后地址指針減一,且光標(biāo)減一
16、。S=1當(dāng)寫一個安條款,整屏顯示左移N=1或右移N=0,以得到光標(biāo)不移動而屏幕移動的效果。S=0當(dāng)寫一個字符,整屏顯示不移動。數(shù)據(jù)控制: 指令碼 功能80H+地址碼0-27H,40H-67H設(shè)置數(shù)據(jù)地址指針01H顯示清屏:1,數(shù)據(jù)指針清0 2,所有顯示清002H顯示回車:數(shù)據(jù)指針清0六硬件總體設(shè)計:1設(shè)計方案:根據(jù)上述,我們選擇單片機(jī)與A/D轉(zhuǎn)換芯片結(jié)合的方法實(shí)現(xiàn)本設(shè)計。使用的根本元器件是:AT89C51單片機(jī),TLC2543模數(shù)轉(zhuǎn)換芯片,1602液晶顯示器,開關(guān),按鍵,電容,電阻,晶振,標(biāo)準(zhǔn)電源等等。設(shè)計的根本框圖如下:單片機(jī)系統(tǒng)模塊1602液晶顯示模塊A/D轉(zhuǎn)換模塊輸入電路模塊按鍵選擇模塊
17、七硬件電路系統(tǒng)模塊的設(shè)計1單片機(jī)系統(tǒng)單片機(jī)最小系統(tǒng)包括晶振電路,復(fù)位電路,電源。其原理圖如下:轉(zhuǎn)換電路模塊根據(jù)設(shè)計要求,要檢測直流電壓電流并顯示。直流電壓是10v-36v,電流是0.1A-3A。這些都不滿足ADC對模擬量的要求,故要通過轉(zhuǎn)換電路轉(zhuǎn)換后輸入到ADC中去。轉(zhuǎn)換電路如下:1.直流電壓轉(zhuǎn)換電路該電路通過串聯(lián)兩個高精度的電阻分壓、再通過低通濾波器濾波后連接一個電壓跟隨器。待測量進(jìn)入ADC或者單片機(jī)之前必須要濾波處理,提高抗干擾性。假設(shè)前級的電阻精度不高,導(dǎo)致被ADC采集的數(shù)據(jù)與待測的數(shù)據(jù)有誤差,加上ADC轉(zhuǎn)換、顯示等的誤差,這樣就綜合誤差較大,可能不能到達(dá)百分之一的精度要求。故這兩個電阻
18、需要一定的精度。電阻選用精度為千分之一的精密電阻51k和4.7k。電容選擇100uf的鉭電容,運(yùn)放選擇LM358這個電壓范圍滿足ADC的要求。2.直流電流轉(zhuǎn)換電路0.1A-3A的直流電流需要先轉(zhuǎn)換成直流電壓,通過取樣電阻轉(zhuǎn)換成小電壓信號,取樣電阻選擇為0.01。這里轉(zhuǎn)換后的電壓由于過小,所以需要采取一些抗干擾措施,比方在電源的引入端加電源退耦電容,或在輸入端加低通濾波器。對于這個小電壓信號,可采用隔離放大器7840隔離后再將信號放大,這種放大器能隔離放大器是一種輸入電路和輸出電路之間電氣絕緣的放大器,對模擬信號進(jìn)行隔離,并按照一定的比例放大。在這個隔離、放大的過程中要保證輸出的信號失真要小,線
19、性度、精度、帶寬、隔離耐壓等參數(shù)都要到達(dá)使用要求。對被測對象和數(shù)據(jù)采集系統(tǒng)予以隔離,從而提高共模抑制比,同時保護(hù)電子儀器設(shè)備和人身平安。不過這種放大器本錢比擬高,這里不采用。儀表放大器是一種精密差分電壓放大器,它具有高共模抑制比、高輸入阻抗、低噪聲、低線性誤差、低失調(diào)漂移增益設(shè)置靈活和使用方便等特點(diǎn),使其在數(shù)據(jù)采集、傳感器信號放大中使用比擬多。運(yùn)放A1,A2為同相差分輸入方式,同相輸入可以大幅度提高電路的輸入阻抗,減小電路對微弱輸入信號的衰減;差分輸入可以使電路只對差模信號放大,而對共模輸入信號只起跟隨作用,使得送到后級的差模信號與共模信號的幅值之比(即共模抑制比CMRR)得到提高。這個儀表放
20、大器可以通過三個運(yùn)放外接一些電阻來實(shí)現(xiàn)。本錢低又能滿足要求,故采用這種方式。儀表放大器的放大倍數(shù)是;由以上兩式可算得Uo=0.1v3v滿足ADC的要求。假設(shè)要電路的抗干擾性能更高,還可以在兩個差分的運(yùn)放的反響回路加高頻消燥電容。 也可以采用電阻來分流,將0.1A-3A的電流分成0.1A-1A和1A-3A的兩個量程的電流,然后通過小電阻轉(zhuǎn)換成電壓,對于小電壓信號可以采用運(yùn)放放大,大電壓信號經(jīng)濾波后輸入到ADC中去。由于這樣不能實(shí)時采集信號,需要更換通道,故在這里采用儀表放大器來實(shí)現(xiàn)。由于3A的直流電流比擬大,可能會發(fā)生過流對人和電路有損害,需要考慮加過流保護(hù)裝置。一般的過流保護(hù)采用本錢比擬低的保
21、險絲,采用普通熔絲的保護(hù)電路,其過電流反響是較遲鈍的,因而不能作為靈敏的保護(hù)裝置。電子保護(hù)電路具有高速斷流、恢復(fù)容易的特點(diǎn),可應(yīng)用于任何直流電路中作過流保護(hù)裝置。這里考慮當(dāng)過流時需要切斷電路而又能快速恢復(fù)電路使測試能繼續(xù)進(jìn)行。采用電子保護(hù)電路。其電路圖如下:電子保護(hù)電路如所示。當(dāng)微動開關(guān)接通時,單向晶閘管導(dǎo)通,直流電路也導(dǎo)通。當(dāng)用電量增大到超過規(guī)定的允許值時,檢測電阻上的電壓大于時,晶體管導(dǎo)通,此時晶體管集電極和基極間的電壓下降到低于維持電壓,BG,SCR關(guān)斷,切斷供電電路。元件選擇:當(dāng)電路兩端電壓100時,用3DD15C,單向晶閘管SCR可用6400。的阻值是根據(jù)電源所允許的電流確定的,即0
22、.733為電源允許電流。假設(shè)電路的耗電是,阻值為0.35的線繞電阻,允許通過的電流為3。兩個轉(zhuǎn)換電路的輸出接到ADC的模擬通道。通過按鍵選擇不同的通道來實(shí)現(xiàn)對電壓或者電流的采集。3A/D轉(zhuǎn)換芯片與單片機(jī)的連接此設(shè)計中選擇的是A/D轉(zhuǎn)換芯片的通道0和1,A/D芯片的數(shù)據(jù)輸入口連接單片機(jī)的P1.3口,數(shù)據(jù)輸出口連接單片機(jī)的P1.4口,芯片使能端連接單片機(jī)的P1.5口,脈沖端連接單片機(jī)的P1.6口。模塊連接如下列圖所示。41602液晶與單片機(jī)連接此模塊液晶的RS,RW和E端分別連接單片機(jī)的P2.0,P2.1和P2.2口;液晶的數(shù)據(jù)各端口連接單片機(jī)的P0口。具體如下列圖所示。5.鍵盤與單片機(jī)的連接如下
23、該鍵盤的功能:當(dāng)鍵盤1被按下時,選擇電壓測量;當(dāng)鍵盤2被按下時,選擇電流測量。八系統(tǒng)軟件的設(shè)計主程序設(shè)計包括以下方面:按照硬件電路對單片機(jī)位定義。編寫延時模塊程序。編寫驅(qū)動1602液晶顯示模塊程序。編寫驅(qū)動A/D轉(zhuǎn)換模塊程序。編寫鍵盤掃描切換模塊程序。主程序的總體流程如下列圖:開始對液晶,定時器初始化A/D轉(zhuǎn)換數(shù)據(jù)轉(zhuǎn)換顯示瞬時電壓或電流值鍵盤判斷選擇電壓測量還是電流測量九程序清單:1 用按鍵選擇調(diào)用子函數(shù)的方法實(shí)現(xiàn)電壓電流測量的切換。按鍵一選擇電壓測量,按鍵二選擇電流測量。#include<reg52.h>#include<stdio.h>#define uchar u
24、nsigned char#define uint unsigned intuchar code tab0="WELCOME TO USE"/預(yù)定義宏uchar code tab1="PRESS KEY CHOOSE"uchar code tab2="VOLTAGE IS"uchar code tab3="V"uchar code tab4="CURRENT IS"uchar code tab5="A"long float dat; sbit rs=P25;/1602液晶寫命令
25、/數(shù)據(jù)標(biāo)志,0時寫命令sbit rw=P26;/1602液晶寫入/讀出標(biāo)志,0時寫入數(shù)據(jù)sbit ep=P27;sbit input=P13;sbit output=P14;sbit cs=P15;sbit clk=P12;sbit key1=P32;sbit key2=P33; void delay(int z)/延時函數(shù)int x,y;for(x=z;x>0;x-)for(y=10;y>0;y-);void write_com(uchar com)/往1602液晶寫命令函數(shù)rs=0;P0=com;delay(5);ep=1;delay(5);ep=0;void write_da
26、t(long float dat)/往1602液晶寫數(shù)據(jù)函數(shù)rs=1;P0=dat;delay(5);ep=1;delay(5);ep=0;void init_1602()/對1602液晶的初始化函數(shù)rs=0; rw=0; write_com(0x38);/顯示模式設(shè)置write_com(0x0c);delay(1);write_com(0x06);delay(1);write_com(0x01);delay(1);write_com(0x80+0x10);delay(1);void display(uchar x,uchar y,uint dat)/顯示電壓值的函數(shù),x行y列開始顯示uint
27、 add;uchar i,a5;switch(x)case 0:add=0x80;break;case 1:add=0x80+0x40;break; add=add+y; write_com(add); for(i=0;i<5;i+)ai=dat%10;dat=dat/10; write_dat(a4+0x30); write_dat(a3+0x30); write_dat('.'); write_dat(a2+0x30); write_dat(a1+0x30); write_dat(a0+0x30);void display_zifu(uchar x,uchar y,u
28、char *str)/顯示字符函數(shù),x行y列開始顯示uint add;switch(x)case 0:add=0x80;break;case 1:add=0x80+0x40;break; add=add+y;write_com(add);while(*str!='0')write_dat(*str);str+;uint read_AD(uchar con_way)/讀取AD轉(zhuǎn)換值操作函數(shù)uint dat=0;uchar i;cs=0;clk=0;con_way<<=4;for(i=0;i<12;i+)con_way<<=1; input=CY;da
29、t<<=1;if(output)dat=dat|0x01;delay(2);clk=1;delay(5);clk=0;cs=1;return dat;uint read_Vvalue()/電壓的數(shù)值處理long float dq;long float dat_V;dq=read_AD(0); dat_V=(62250*dq)/4096;dat=dat_V;return dat; uint read_Avalue()/電流的數(shù)值處理 long float dq;long float dat_A;dq=read_AD(1); dat_A=(5000*dq)/4096;dat=dat_A
30、;return dat;void test()/電壓電流按鍵選擇切換子函數(shù)函數(shù) int N=50; int j; long float sum = 0; if(key1=0) delay(10); if(key1=0) init_1602(); delay(10); for(j=0;j<N;j+)/平均值濾波去干擾 sum+=read_Vvalue();dat=(sum/N);display_zifu(0,0,tab2);display(1,5,dat);display_zifu(1,12,tab3); if(key2=0) delay(10);if(key2=0) init_1602(
31、); delay(10); for(j=0;j<=N;j+)/平均值濾波去干擾 sum+=read_Avalue(); dat=(sum/N);display_zifu(0,0,tab4);display(1,5,dat);display_zifu(1,12,tab5);void main()/主函數(shù) init_1602();delay(10); display_zifu(0,1,tab0);display_zifu(1,0,tab1); while(1) test(); 2. 用中斷方法實(shí)現(xiàn)電壓電流測量的切換。按鍵一外部中斷0選擇電壓測量,按鍵二外部中斷1選擇電流測量。#include
32、<reg52.h>#include<stdio.h>#define uchar unsigned char#define uint unsigned intuchar code tab0="WELCOME TO USE"/預(yù)定義宏uchar code tab1="PRESS KEY CHOOSE"uchar code tab2="VOLTAGE IS"uchar code tab3="V"uchar code tab4="CURRENT IS"uchar code tab
33、5="A"long float dat; sbit rs=P25;/1602液晶寫命令/數(shù)據(jù)標(biāo)志,0時寫命令sbit rw=P26;/1602液晶寫入/讀出標(biāo)志,0時寫入數(shù)據(jù)sbit ep=P27;sbit input=P13;sbit output=P14;sbit cs=P15;sbit clk=P12;sbit key1=P32;sbit key2=P33;void delay(int z)/延時函數(shù)int x,y;for(x=z;x>0;x-)for(y=10;y>0;y-);void write_com(uchar com)/往1602液晶寫命令函數(shù)r
34、s=0;P0=com;delay(5);ep=1;delay(5);ep=0;void write_dat(long float dat)/往1602液晶寫數(shù)據(jù)函數(shù)rs=1;P0=dat;delay(5);ep=1;delay(5);ep=0;void init_1602()/對1602液晶的初始化函數(shù)rs=0; rw=0; write_com(0x38);/顯示模式設(shè)置write_com(0x0c);delay(1);write_com(0x06);delay(1);write_com(0x01);delay(1);write_com(0x80+0x10);delay(1);void dis
35、play(uchar x,uchar y,uint dat)/顯示電壓值的函數(shù),x行y列開始顯示uint add;uchar i,a5;switch(x)case 0:add=0x80;break;case 1:add=0x80+0x40;break; add=add+y; write_com(add); for(i=0;i<5;i+)ai=dat%10;dat=dat/10; write_dat(a4+0x30); write_dat(a3+0x30); write_dat('.'); write_dat(a2+0x30); write_dat(a1+0x30); wr
36、ite_dat(a0+0x30);void display_zifu(uchar x,uchar y,uchar *str)/顯示字符函數(shù),x行y列開始顯示uint add;switch(x)case 0:add=0x80;break;case 1:add=0x80+0x40;break; add=add+y;write_com(add);while(*str!='0')write_dat(*str);str+;uint read_AD(uchar con_way)/讀取AD轉(zhuǎn)換值操作函數(shù)int dat=0;uchar i;cs=0;clk=0;con_way<<=4;for(i=0;i<12;i+)con_way<<=1; input=CY;dat<<=1;if(output)dat=dat|0x01;delay(2);clk=1;delay(5);clk=0;cs=1;return dat;uint read_Vvalue()/電壓數(shù)值處理函數(shù) long float dq;
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度虛擬現(xiàn)實(shí)內(nèi)容制作合作股權(quán)協(xié)議書3篇
- 二零二五年度農(nóng)村土地互換與農(nóng)村能源建設(shè)合作協(xié)議2篇
- 二零二五年度企業(yè)內(nèi)部停車場車輛停放服務(wù)責(zé)任協(xié)議3篇
- 2025年度職業(yè)教育辦學(xué)許可證轉(zhuǎn)讓及就業(yè)安置協(xié)議3篇
- 二零二五年度典當(dāng)物品鑒定與評估服務(wù)合同3篇
- 2025年度互聯(lián)網(wǎng)醫(yī)療加盟合作協(xié)議書3篇
- 二零二五年度互聯(lián)網(wǎng)公司員工離職保密與商業(yè)秘密保護(hù)更新協(xié)議2篇
- 2025年度內(nèi)河漁船出售轉(zhuǎn)讓與船舶交易資金監(jiān)管服務(wù)合同3篇
- 2025年度金融科技公司股東合伙人合作協(xié)議書3篇
- 二零二五年度房產(chǎn)轉(zhuǎn)讓背景下的環(huán)保責(zé)任協(xié)議3篇
- 湖南省部分學(xué)校2023-2024學(xué)年高二上學(xué)期期末聯(lián)合考試政治試卷 含解析
- 電大《人力資源管理》期末復(fù)習(xí)綜合練習(xí)題答案(2024年)
- 西師版數(shù)學(xué)(四上題)2023-2024學(xué)年度小學(xué)學(xué)業(yè)質(zhì)量監(jiān)測(試卷)
- 2022-2023學(xué)年廣東省廣州市白云區(qū)華南師大附屬太和實(shí)驗(yàn)學(xué)校九年級(上)期末數(shù)學(xué)試卷(含答案)
- 2024年煤礦安全生產(chǎn)知識競賽題庫及答案(共100題)
- 強(qiáng)制報告制度課件
- 《礦山隱蔽致災(zāi)因素普查規(guī)范》解讀培訓(xùn)
- 2024年世界職業(yè)院校技能大賽中職組“節(jié)水系統(tǒng)安裝與維護(hù)組”賽項考試題庫(含答案)
- 醫(yī)生幫扶計劃和幫扶措施
- 《新聞傳播倫理與法規(guī)》習(xí)題與答案
- 上海市市轄區(qū)(2024年-2025年小學(xué)五年級語文)人教版期末考試(下學(xué)期)試卷及答案
評論
0/150
提交評論