用戶電子式單相電能表的設(shè)計與調(diào)試_第1頁
用戶電子式單相電能表的設(shè)計與調(diào)試_第2頁
用戶電子式單相電能表的設(shè)計與調(diào)試_第3頁
用戶電子式單相電能表的設(shè)計與調(diào)試_第4頁
用戶電子式單相電能表的設(shè)計與調(diào)試_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機(jī)在電力系統(tǒng)中的應(yīng)用設(shè)計課題名稱:多用戶電子式單相電能表的設(shè)計與調(diào)試班 級: 電氣工程及其自動化08級1班 姓 名: 學(xué) 號: 200801100111 2010年7月4日多用戶電子式單相電能表的設(shè)計與調(diào)試摘要:設(shè)計一種以單片機(jī)為核心,采用專用電能計量芯片設(shè)計的單相多用戶電能表,并說明了其硬件和軟件設(shè)計原理。該電能表可實現(xiàn)電能計量、數(shù)據(jù)掉電保護(hù)等功能。關(guān)鍵詞:AD7755;C8051F360單片機(jī);24C16;軟件設(shè)計一.任務(wù)設(shè)計制作多用戶電子式單相電能表,設(shè)計的主要要求如下:(1)該交流電能表能實現(xiàn)對8戶單相交流電能的測量;(2)電表參數(shù):額定電壓220V(±10%),額定電流

2、5A,最大電流20A,最小電流0.1A,精度:一級,最大計度容量:999.999kW·h;(3)能測量并顯示當(dāng)前用電量;(4)停電不丟失電能數(shù)據(jù);該系統(tǒng)主要由顯示模塊、MCU模塊、AD7755模塊、存儲器模塊和前端電路調(diào)理模塊部分組成。前端電路調(diào)理模塊采用變比1:1 的電流型電壓互感器,電流模塊采用變比2000:1 的電流互感器,利用取樣電阻采樣信號,經(jīng)變換后的信號以差模電壓的形式接到AD7755芯片,取樣電阻的阻值由被測信號的最大值決定,然后經(jīng)AD7755轉(zhuǎn)換后將電壓、電流、電能等信號傳給單片機(jī)C8051F360,C8051F360組成的MCU模塊控制所有芯片的工作、截止及計算和模

3、塊的顯示,顯示模塊采用液晶模塊,液晶正常顯示當(dāng)前測量的用戶號、用電量;存儲模塊采用AT24C16,為系統(tǒng)提供數(shù)據(jù)存儲,可以做到掉電不丟失數(shù)據(jù)。二. 報告內(nèi)容2.1 硬件設(shè)計單相多用戶多功能智能化電能表結(jié)構(gòu)原理圖如圖2.1所示。系統(tǒng)主要由電量計量采集電路、微處理器、非易失存儲器電路、顯示電路、供電控制電路等部分組成。計量電路用戶電能計量采用專用集成電路設(shè)計,每一戶的計量脈沖信號,經(jīng)IO接口電路連接到系統(tǒng)總線,在微處理器的控制下,輪流采集并計數(shù)其脈沖信號,達(dá)到0001 kWh時,將電量存儲到非易失存儲器中,以防電量丟失。整個電表采用分時方式,輪流顯示用戶使用的電量數(shù)據(jù)。下面介紹一下電表的主要電路設(shè)

4、計。圖2.1 實際原理圖 單片機(jī)整體圖圖2.2 單片機(jī)整體圖存儲部分采用AT24C16存儲芯片,其具有以下特性:* 與400KHz I2C 總線兼容* 1.8 到6.0 伏工作電壓范圍* 低功耗CMOS 技術(shù)* 寫保護(hù)功能當(dāng)WP 為高電平時進(jìn)入寫保護(hù)狀態(tài)圖2.3 AT24C16引腳圖* 頁寫緩沖器* 自定時擦寫周期* 1,000,000 編程/擦除周期 * 可保存數(shù)據(jù)100年* 8 腳DIP SOIC或TSSOP封裝 * 溫度范圍商業(yè)級工業(yè)級和汽車級AT24C16支持C總線數(shù)據(jù)傳送協(xié)議,I2C總線協(xié)議規(guī)定,任何將數(shù)據(jù)傳送到總線的器件作為發(fā)送器,任何從總線接收數(shù)據(jù)的器件為接收器,數(shù)據(jù)傳送是由產(chǎn)生

5、串行時鐘和所有起始停止信號的主器件控制的,主器件和從器件都可以作為發(fā)送器或接收器,但由主器件控制傳送數(shù)據(jù)發(fā)送或接收的模式。由于其控制引腳較少,占用單片機(jī)口線較少,在少量數(shù)據(jù)存儲中有非常大優(yōu)勢,因為在本設(shè)計中,我們只需將校表數(shù)據(jù)及少量的電能數(shù)據(jù)存儲其中,以做到系統(tǒng)掉電時不丟失數(shù)據(jù),免除每次開機(jī)時的校表過程,故選用控制引腳簡潔的AT24C16將非常的合適。顯示部分為LED顯示,使用74LS164串入并出8位移位記存器進(jìn)行存儲數(shù)據(jù),圖2.4為74HC164顯示電路。2.4 74HC164顯示電路LED顯示器是由發(fā)光二極管顯示字段的顯示器件,也可稱為數(shù)碼管。單片機(jī)系統(tǒng)中通常使用8段LED數(shù)碼顯示器,由

6、圖可見8段LED顯示器由8個發(fā)光二極管組成。其中7個長條形的發(fā)光二極管排列成“日”字形,另一個圓點形的發(fā)光二極管在顯示器的右下角作為顯示小數(shù)點用,通過不同的組合可用來顯示各種數(shù)字,包括AF在內(nèi)的部分英文字母和小數(shù)點“.”等字樣。 LED顯示器有兩種不同的形式:一種是8個發(fā)光二極管的陽極都連在一起的,稱為共陽極LED顯示器;另一種是8個發(fā)光二極管的陰極都連在一起的,稱為共陰極LED顯示器。共陰和共陽結(jié)構(gòu)的LED顯示器各筆劃段名和安排位置是相同的,當(dāng)二極管導(dǎo)通時,相應(yīng)的筆劃段發(fā)亮,由發(fā)亮的筆劃段組合從而顯示各種字符。8個筆劃段dpgfedcba對應(yīng)于1B(8位)的D7、D6、D5、D4、D3、D2

7、、D1、D0,于是用8位二進(jìn)制碼就可以表示欲顯示字符的字形代碼。例如,對于共陰極LED顯示器,當(dāng)公共陰極接地(為零電平),而陽極dpgfedcba各段為01110011時,顯示器顯示“P”字符,即對于共陰極LED顯示器,“P”字符的字形碼是0X73。如果是共陽極LED顯示器,公共陽極接高電平,顯示“P”字符的字形代碼應(yīng)為10001100(0X8C)。這里必須注意的是:很多產(chǎn)品為方便接線,常不按規(guī)則的方法去對應(yīng)字段與位的關(guān)系,這時字形碼就必須根據(jù)接線自行設(shè)計了。 2.1.2 AD7755相關(guān)電路電能變換電路采用AD7755芯片(Ib=10A,C=1600KW/h),工作時AD7755芯片將電流采

8、樣信號和電壓采樣信號送入緩沖放大器,經(jīng)模擬乘法器相乘,再經(jīng)V/F轉(zhuǎn)換器轉(zhuǎn)換將電壓信號轉(zhuǎn)換為脈沖信號,AD7755芯片的快速脈沖輸出為1600脈沖/KWh,與用戶使用電能相對應(yīng)。 輸出的快速脈沖信號送給單片機(jī),我們采用C8051F360單片機(jī)對方波信號進(jìn)行采集和計數(shù),P2口(8位)工作即可對8戶電能脈沖進(jìn)行采集與計數(shù),我們將為每戶開辟6個字節(jié)的內(nèi)存計數(shù)。簡單的ADE7755外圍應(yīng)用電路是由電流采樣電路、電壓采樣電路、輕載調(diào)節(jié)電路、頻率選擇電路、高頻輸出和低頻輸出等組成?,F(xiàn)對各個電路進(jìn)行單獨分析。下圖為 AD7755性能測試電路圖2.5 AD7755性能測試電路1、 電流采樣電路:圖2.6 電流采

9、樣電路使用分流器的電流采樣電路如圖2.6所示,其中F1為分流器,R1、R2為采樣電阻,C1、C2為采樣電容,他們?yōu)殡娏鞑蓸油ǖ捞峁┎蓸与妷盒盘?,采樣電壓信號的大小由分流器的阻值和流過其上的電流決定。電流采樣通道采用完全差動輸入,V1P為正輸入端,V1N為負(fù)輸入端。電流采樣通道最大差動峰值電壓應(yīng)小于470mV,電流采樣通道有一個PGA,其增益可由ADE7755的G1和GO來選擇,見表1: 表1G1G0增益最大差動信號001±470Mv012±235Mv108±60Mv1116±30Mv當(dāng)使用分流器采樣時,G1、G0都接高電平,增益選擇16,通過分流器的峰值

10、電壓為±30mV,當(dāng)設(shè)計電表為5(20)A規(guī)格時,分流器阻值選擇為500u,當(dāng)流過分流器的電流為最大電流20A時,其采樣電壓為500u×20A=10mV,不超過峰值電壓半滿度值,這樣考慮能允許對電流信號和高峰值因數(shù)進(jìn)行累計。當(dāng)使用互感器采樣時,其電路如圖2.7所示:圖2.7 互感器采樣電路使用互感器采樣時,G1、G0都接低電平,增益選擇1,電流采樣通道最大差動峰值電壓為±470mV,其差動信號由互感器的二次側(cè)電流流過電阻R30和R31產(chǎn)生,互感器二次側(cè)額定電流為5mA,當(dāng)過載4倍時,二次側(cè)電流為20mA,其流過電阻R30和R31產(chǎn)生的差動信號為96mV,遠(yuǎn)小于峰值

11、電壓半滿度值(235 mV)。R1C1和R2C2組成兩個低通濾波器,衰減掉那些無用的高頻分量,從而防止有用頻帶內(nèi)的失真。R1、R2、C1、C2阻值、容值的選取對電表的性能有很大的影響,因此取值為R1= R2=300歐,C1=C2=27nF。2、 電壓采樣電路:R24390K/0.25WR23390K/0.25WR97.5KR1256KR13100KR14200KR1015KR1130KR83.9KR72KR19100KC31000pFR4820¦¸R5820¦¸C41000pFAGNDAGNDR61KR31¦¸AGNDJ9J8J7J6

12、J5J4J3J2J1CL-220pFCL+3.3nF220VV2PV2N圖2.8 電壓采樣電路電壓輸入通道(V2N,V2P)也為差分電路,V2N引腳連接到電阻分壓電路的分壓點上,V2P接地。電壓輸入通道的采樣信號是通過衰減線電壓得到的,其中R6至R15為校驗衰減網(wǎng)絡(luò),通過短接跳線J1至J9可將采樣信號調(diào)節(jié)到需要的采樣值上,我們設(shè)計的電能表基本電流時電壓采樣值為174.2 mV,為了準(zhǔn)許分流器的容差和片內(nèi)基準(zhǔn)源8%的誤差,衰減校驗網(wǎng)絡(luò)應(yīng)該允許至少30%的檢驗范圍,根據(jù)參數(shù),其調(diào)節(jié)范圍為169.8 mV 250 mV,完全滿足了調(diào)節(jié)的需要。這個衰減網(wǎng)絡(luò)的-3dB頻率是由 R4和C3決定的,R19、

13、R23、R24確保了這一點,即使全部跳線都接通,R19、R23、R24的電阻值仍遠(yuǎn)遠(yuǎn)大于R4,R4和C3的選取要和電流采樣通道的R1C1匹配,這樣才能保證兩個通道的相位進(jìn)行恰當(dāng)?shù)钠ヅ?,消除因相位失調(diào)帶來的誤差影響。3、 輕載調(diào)節(jié)電路圖2.9輕載調(diào)節(jié)電路輕載調(diào)節(jié)電路如圖2.9所示,其原理是用電壓采樣處的電壓值再經(jīng)分壓后加到電流采樣的正或負(fù)端來增大或減小電流采樣,達(dá)到調(diào)節(jié)的目的。當(dāng)短節(jié)S2到I+或I-時,附加到分流器端的電壓值為:Vq=R1×Vx/ (R20+R1)R1、Vx已知,可通過改變R20的值來改變需要補(bǔ)償?shù)碾妷褐怠8鶕?jù)計算當(dāng)R5為200k時,Vq約為0.0003mV。在輕載時電

14、流采樣值Vi=2.5mV×0.05=0.125mV。輕載誤差改變量為0.0003/0.125=0.0024即0.24%,在校驗臺上表現(xiàn)為輕載誤差增大或減小0.24。4.光電隔離電路在許多應(yīng)用中,許多電路鏈接之間需要非直接的連接,從而在提供數(shù)據(jù)的同時避免來自系統(tǒng)某一部分的危險電壓或電流對另一部分造成破壞,造成這種破壞的可能是電源質(zhì)量低劣、接地故障等各種故障。電路隔離的主要目的是通過隔離元件把干擾的路徑切斷,從而達(dá)到抑制干擾的目的,保護(hù)電子設(shè)備。在兩點間避免電流流過,而允許有數(shù)據(jù)或功率傳送時需要使用隔離技術(shù)。電路隔離主要有:模擬電路的隔離、數(shù)字電路的隔離、數(shù)字電路與模擬電路之間的隔離。所

15、使用的隔離方法有:脈沖變壓器隔離法、繼電器隔離法、光電耦合器隔離法、直流電壓隔離法、A/D轉(zhuǎn)換器隔離法。傳統(tǒng)的光耦隔離電路雖然也能實現(xiàn)很高的線性度, 不過這些電路需要的電源種類較多, 線路比較復(fù)雜, 設(shè)計成本比較高。為了解決這些問題, 本次設(shè)計中一種新的光電耦合結(jié)構(gòu), 由它組成的光耦隔離電路具有很高的線性度, 且只需采用普通的光電耦合器和簡單的電路結(jié)構(gòu)。應(yīng)用這個電路解決了彈載黑匣子的電壓采樣信號的光電隔離問題。光電耦合器的工作原理和特性如下。光電耦合器件是把發(fā)光器件(如發(fā)光二極管)和光敏器件(如光敏三極管)組裝在一起, 通過光線實現(xiàn)耦合構(gòu)成電) 光 ) 電的轉(zhuǎn)換器件。當(dāng)電信號送入光電耦合器的輸

16、入端時, 發(fā)光器件將電信號轉(zhuǎn)換為光信號。光信號經(jīng)光敏器件感應(yīng)接收, 再還原成電信號。圖2.10是一種典型反相應(yīng)用電路, 當(dāng)輸入端有電流流過時, 發(fā)光二極管發(fā)光,使光電三極管導(dǎo)通, 其集電極就有電流I C 流過。光電耦合器其主要特點為:1) 輸入、 輸出之間在電氣上相互絕緣;2) 信號傳輸是單方向的, 輸出端的噪聲不影響輸入端;3) 體積小、 壽命長、 無觸點,功耗低;4) 光電耦合器的傳輸特性具有非線性和隨溫度變化性;圖2.10 光電隔離電路6.電表的啟動電流對應(yīng)表3,5(20)A 3200的常數(shù)SCF為010潛動:30分鐘沒發(fā)脈沖。啟動:0.004 Ib啟動電流計算:對應(yīng)100imp/kWh

17、計度器每kW頻率為100imp/3600skW=0.02777Hz/KwAD7755的最小輸出頻率為0.0014%F1-4F1-4選3.4Hz,則最小輸出頻率為0.0014%F1-4=0.0000476Hz因此AD7755的最小啟動功率為0.2777Hz/0.0000476HzKw=17.2W對應(yīng)最小啟動電流17.2W/220V=7.8mA7.頻率選擇電路AD7755的輸出頻率由其SCF、S1、S0引腳決定,其中SCF的邏輯輸入電平確定CF引腳的輸出頻率,S1、S0引腳的邏輯輸入用來選擇數(shù)字/頻率轉(zhuǎn)換系數(shù),現(xiàn)在舉例來說明SCF、S1、S0引腳的輸入邏輯電平選擇方法。對于給定要求的電表,一般的已

18、知條件為:線電壓U=220V,電流范圍I=5(20)A,分流器阻值R=500u,增益選G=16(G0G1=11,最大差動信號30mV), VREF=2.5V.1 選定需要的計度器:選擇計度器常數(shù)為F=200imp/kWh(雙路輸處,單路輸出時相當(dāng)于100:1的計度器)。算出Ib時的功耗為220V*5A=1.1kW。同時通道1即分流器兩端的電壓可計算得: V1=500u*5A=2.5mV2計算出Ib條件下的低頻脈沖輸出F1(或F2)的頻率:F1=100imp/kWh*1.1kW=0.0305556Hz在最極限的情況下Umax=1.2U ,Imax=30A的時候,可求出F1的最高頻率:F1max=

19、100imp/kWh*1.2U*Imax=100imp/kWh*264*30=0.22Hz3 求出S1S0和F1-4根據(jù)計算的F1 max查下表2,就近選擇:表2(1)由表2先看最大交流輸入頻率為0.34也就是選S1S0=00的時候,表3:當(dāng)S1S0=00時F1-4=1.7,代入F1、V1、G、 F1-4、VREF根據(jù)公式F1 =8.06*V1*V2*G*F1-4/VREF2可以得出電壓采樣電壓:V2=348.4mV,超過了采樣電壓的峰值660mV半滿度值的。所以所選S1S0不合適,應(yīng)重新選擇。(2)由表3現(xiàn)在選最大交流輸入頻率為0.68也就是選S1S0=01的時候,再由表3當(dāng)S1S0=01的

20、時候F1-4=3.4,重新代入F1、V1、G、 F1-4、VREF根據(jù)公式F1 =8.06*V1*V2*G* F1-4/VREF2可以得出電壓采樣電壓:V2=174.2mV。符合低于采樣電壓峰值660mV的半滿度值的要求。所以S1S0選擇為S1S0=01;F1-43.4。4選擇SCF和脈沖常數(shù):根據(jù)S1S0=01,F(xiàn)1-4=3.4,由下表4: SCFS1S0F1-4(Hz)CF Max for AC Signals(Hz) 1010101000001111001100111.71.73.43.46.86.813.613.6128×F1,F2=43.5264×F1,F2=21

21、.7664×F1,F2=43.5232×F1,F2=21.7632×F1,F2=43.5216×F1,F2=21.7616×F1,F2=43.522048×F1,F2=5.57kHz選擇SCF=0。其中CF最大交流信號32*F1=32*100imp/kWh=3200imp/kWh.那么最大功耗(1.2U,Imax)時每秒輸出的脈沖數(shù)為3200*1.2*220*30/3600=7個;考慮到校驗臺要求數(shù)據(jù)采集最高頻率不大于10Hz,所以符合要求。由此可以選定SCF=0,脈沖常數(shù)為3200imp/kWh. 穩(wěn)壓電源電路電源電路是整個系統(tǒng)能穩(wěn)

22、定工作的前提和關(guān)鍵,系統(tǒng)中的各個單元電路都需要使用直流電源供電,本設(shè)計采用自制電源供電方式,將220V交流市電通過電源變壓器變換成交流低壓,再經(jīng)過橋式整流電路整流和濾波,在固定式三端穩(wěn)壓器的兩端形成一個并不十分穩(wěn)定的直流電壓,此直流電壓經(jīng)過W7805的穩(wěn)壓和電容的頻率補(bǔ)償,便在穩(wěn)壓電源的輸出端產(chǎn)生了精度高、穩(wěn)定度好的直流輸出電壓。自制電源原理如圖2.11所示:圖2.11 +5V直流穩(wěn)壓電源設(shè)計說明:+ 5 V直流穩(wěn)壓電路參數(shù)設(shè)計根據(jù)設(shè)計要求, 圖中需要計算的參數(shù)有: 變壓器副邊繞組的交流電壓有效值,整流元件的參數(shù),電容C1、C2的數(shù)值以及集成三端穩(wěn)壓器的選用。以下對所需要計算的參數(shù)逐一進(jìn)行計算

23、: 1.計算C1和變壓器副邊繞組的交流電壓有效值 (1)確定電容C1 , 可用下式進(jìn)行計算: 式中: 1 0 ms 為交流電網(wǎng)電壓周期的一半。 取Vimin=7.3V。因為在使用三端穩(wěn)壓器時,為了保證穩(wěn)壓性能,輸入端和輸出端間電位差至少應(yīng)在 2 V以上, 當(dāng)然也不能太大, 以減少器件功耗和避免器件損壞, 一般對輸出電壓不大于18V 的穩(wěn)壓器,輸入電壓應(yīng)小于35V, 按輸出電流應(yīng)有 1 0 的余量, 可取通過計算, 得:C1=125uF。因此取C1=100uF (2)確定變壓器副邊繞組的交流電壓有效值,可用下式進(jìn)行計算: 通過計算,得:V2=24V。為了留有一定裕量,取 V2=24V。 2.整流

24、元件的參數(shù) (1) 反向耐壓 橋式整流電路中, 每個整流二極管在交流電網(wǎng)電壓最高時承受的最大反向峰值電壓為 為了安全, 整流管的反向耐壓應(yīng)當(dāng)比上述值大50%以上, 因此選擇整流管時, 其反向耐壓應(yīng)按下 式考慮: (2)正向電流 橋式整流電路中, 每個整流二極管的正向電流平均值是輸出電流的一半, 其最大值是由于在接通電源瞬間有相 當(dāng)大的沖擊電流( 即充電電流) 通過整流管,因此,整流管的參數(shù) ( 正向電流平均值)應(yīng)比上述值大0.52倍。若按比上述值大0.8倍考慮,則 根據(jù)上述計算, 可選用 1A/25V或1A/50V的橋堆。3.變壓器副邊繞組電流 變壓器副邊繞組電流的有效值Iac 要比輸出電流I

25、omax大,一般情況下,前者是后者的1.13倍。這里我們?nèi)∫虼?,變壓器副邊繞組導(dǎo)線的粗細(xì)應(yīng)按額定電流(交流有效值)為2 A選用。 4.電容 C 2的選用 電容 C 2的作用: 減小穩(wěn)壓電源輸出端由輸入電源引入的低頻干擾, 其數(shù)值在 100UF左右。 2.2軟件設(shè)計主函數(shù)流程圖開始讀AT24C16內(nèi)數(shù)據(jù)啟動定時中斷調(diào)用脈沖掃描函數(shù)向AT24C16存入用戶數(shù)據(jù)數(shù)碼管循環(huán)顯示用戶電量程序初始化循環(huán)顯示8戶電能程序框圖:通過循環(huán)計數(shù)子程序可以依次顯示0-000.000到8-999.999數(shù)據(jù)。即戶名和用電量2.2.3 AT24C16讀函數(shù)流程圖2.2.4 AT24C16 寫函數(shù)流程圖2.3脈沖判別方法

26、 初始化后,進(jìn)入主程序判斷P2口脈沖是否為低電平。開辟數(shù)組yh88分別代表8個用戶的電量。若P2某口由高電平變?yōu)榈碗娖絼t說明相應(yīng)的用戶電量增加0.001kWh,脈沖個數(shù)加1;若是高電平或電平?jīng)]有變化,相應(yīng)用戶脈沖數(shù)不變。分別判斷8個用戶是否獲得脈沖。在主程序中循環(huán)掃描各用戶脈沖變化,3s后進(jìn)入中斷顯示程序。2.4程序清單$NOMOD51$include (c8051f360.inc)SDA EQU P1.3SCL EQU P1.6JISHU EQU 30HORG 0000hLJMP MAINORG 000BHLJMP T0_INTMAIN:LCALL CHUSHI / 調(diào)用初始化程序 /*數(shù)碼

27、管初始值設(shè)定*/MOV 40H,#00MOV 42H,#00MOV 43H,#00MOV 44H,#0AH MOV 45H,#01HMOV 20H,#00H /*計數(shù)區(qū)域清零*/MOV R7,#10H MOV R0,#JISHULOOP: / 3 0-3F區(qū)域清零 /MOV R0,#00HINC R0DJNZ R7,LOOP LCALL READ / 調(diào)用斷電保護(hù) /*定時采樣10ms一次*/MOV TMOD,#01HMOV TH0,#0D8H ; MOV TL0,#0F0H SETB ET0SETB EASETB TR0DY:LCALL DIS / 調(diào)用顯示 /SJMP DY/*/-初始化子

28、程序-CHUSHI: MOV SFRPAGE,#0FH MOV P1MDIN,#0FFH ;數(shù)字輸入MOV P1MDOUT,#0EFH ;推挽輸出 MOV XBR1,#40H ;交叉開關(guān)使能 MOV PCA0MD,#00H ;關(guān)閉看門狗 MOV PSCTL,#13HMOV OSCICN,#83H ;內(nèi)部振蕩器允許,不分頻 MOV DPTR,#tab RET /*顯示程序*/DIS:MOV R6,#08MOV R0,#JISHULOOP5: /顯示子程序LCALL DISP1 LCALL DELAY /戶數(shù)轉(zhuǎn)換延時LCALL WRITE / 進(jìn)行保護(hù)INC 45H /戶數(shù)顯示加一INC R0 D

29、JNZ R6,LOOP5 MOV 45H,#01H /戶數(shù)從一加到八,在變?yōu)橐唬h(huán)RETDISP1: /實現(xiàn)一個脈沖,0.001度電 MOV R3,#8MOV R1,#40HMOV A,R0 /脈沖數(shù)給AMOV B,#10 /B=10DIV AB /A除以B,余數(shù)給B,商給AMOV 40H,B /把B值送到40H中,即數(shù)碼管最右邊一位MOV B,#10 DIV AB /商再除B MOV 41H,B /余數(shù)送41HMOV 42H,A /商送42HLOOP2:MOV A,R1 CJNE R1,#43H,NEXT2 /將第43H為設(shè)為帶小數(shù)點為,MOV DPTR,#TAB1 /帶小數(shù)點為的表MOV

30、C A,A+DPTRSJMP NEXT3NEXT2:MOV DPTR,#TAB /不帶小數(shù)點為的表MOVC A,A+DPTRNEXT3:MOV R4,#8LOOP3: JNB ACC.0,A1 /若ACC.0=0,則跳動A1 CLR P1.1 /* p1.1 時鐘脈沖,上升沿工作*8/ SETB P1.0 /p1.0為1時,工作,輸入一個脈沖,移位一次/SETB P1.1SJMP A2A1:CLR P1.1CLR P1.0SETB P1.1A2:RR A DJNZ R4,LOOP3 / 8位循環(huán) /INC R1 DJNZ R3,LOOP2 / 8位循環(huán) /RET/*中斷采樣程序*/ T0_IN

31、T:MOV 51H,R3 /將R0-R7存儲,保護(hù)起來/MOV 52H,R5 / MOV 53H,R7 /MOV 50H,R1 /MOV 26H,R6 /MOV 21H,R0 /MOV 54H,R2 /MOV 55H,R4 /MOV TH0,#0D8H ;寫入初值,10msMOV TL0,#0F0HLCALL CLEARMOV A,P2CJNE A,20H,NEXT4 /與脈沖原始狀態(tài)比較SJMP NEXTNEXT4:JNC NEXT / 判斷是上升沿還是下降沿XRL A,20H /異或,讀入碼值MOV R0,#JISHUMOV R6,#8 LOOP1: / 8位數(shù)循環(huán)讀入/JNB ACC.0

32、,NEXT1 /將讀入的碼值加到對應(yīng)的計數(shù)區(qū)INC R0 /電度數(shù)NEXT1:RR AINC R0DJNZ R6,LOOP1NEXT:MOV 20H,P2MOV R2,54HMOV R4,55HMOV R0,21HMOV R6,26HMOV R1,50HMOV R3,51HMOV R5,52HMOV R7,53HRETI /*/ /-寫2416程序- WRITE :MOV 2FH,R0 LCALL STR;調(diào)開始子程序 MOV A,#0A0H;控制字,2416的物理地址和寫控制位 LCALL I2C_W1W;調(diào)向2416寫一字節(jié)并接收信號子程序 JB F0,WRITE;若寫失敗,從頭開始 MO

33、V A,#00H;選擇地址 LCALL I2C_W1W JB F0,WRITE;至此,地址寫完 MOV R0,#30H MOV R7,#8II1: MOV A,R0;將30h-3FH的內(nèi)容寫到2416中 LCALL I2C_W1W JB F0,WRITE INC R0 DJNZ R7,II1 LCALL STP;調(diào)停止子程 /LCALL DELAY1MOV R0,2FH RET/-讀2416程序-READ: LCALL STR MOV A,#0A0H;控制字,2416的物理地址和寫控制位 LCALL I2C_W1W;調(diào)向2416寫一字節(jié)并接收信號子程序 JB F0,READ;若寫失敗,從頭開始

34、 MOV A,#00H;選擇地址 LCALL I2C_W1W JB F0,READ;至此,地址寫完 lcall STR MOV A,#0A1H;控制字,2416的物理地址和讀操作位 LCALL I2C_W1W JB F0,READ MOV R0,#30H MOV R7,#16JJ3: LCALL I2C_R1W;調(diào)用從2416中讀1字節(jié)子程序 MOV R0,A;將從2416中讀出的內(nèi)容存儲到30h-37h中 INC R0 DJNZ R7,JJ3 SETB F0 LCALL I2C_R1W LCALL STP RET /-啟動2416子程序-STR: SETB SDA NOP SETB SCL

35、NOP NOP NOP NOP NOP CLR SDA NOP NOP NOP NOP NOP CLR SCL RET/-停止2416子程序-STP: CLR SDA NOP SETB SCL NOP NOP NOP NOP NOP SETB SDA NOP NOP NOP NOP NOP RET/-向2416中寫一字節(jié)并接收2416返回的信號-I2C_W1W: MOV R5,#8 CLR SCLAR_LP1: NOP NOP NOP NOP NOP RLC AMOV SDA,C NOP NOP SETB SCL NOP NOP NOP NOP NOP CLR SCL DJNZ R5,AR_LP1 NOP NOP SETB SDA NOP NOP NOP SETB SCL NOP NOP NOP NOP CLR F0 JNB SDA,ACKEND SETB F0ACKEND: NOP CLR SCL NOP NOP RET /-從2416中

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論