freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于at89s52單片機(jī)的三相電度表研究(參考版)

2025-06-21 16:58本頁(yè)面
  

【正文】 5.4按鍵中斷處理與時(shí)鐘初值輸入調(diào)整5.4.1按鍵處理與按鍵狀態(tài)檢測(cè)系統(tǒng)配置了三個(gè)功能按鍵,與單片機(jī)的接口定義如下:K2=P2.4,K3=P2.3,K4=P2.2;分別用來(lái)實(shí)現(xiàn)電量參數(shù)查詢,進(jìn)行時(shí)鐘初值輸入調(diào)整等功能。若P1.0為低電平,條件(Plamp。6(al+a2+a3) (5.6)其中P,、Ph分別為低變比和高變比時(shí)的瞬時(shí)有功功率,單位焦耳;al、aa3分別為A、B、C三相能量寄存器中讀取的數(shù)據(jù)。變比切換前后瞬時(shí)功率的計(jì)算問(wèn)題。功率計(jì)算的軟件流程設(shè)計(jì)參考圖56所示。2CON一0x00;//16位重裝定時(shí)模式TH2=0x02; 膽入億計(jì)數(shù)初值TL2=0X18;RCAF2H=0x02;腭入T2重裝寄存囂RCAP2L=0x18;)通過(guò)調(diào)用醋敷zeadWSS_im0_i凄取ADE7758能量寄存囂數(shù)據(jù).以A相有功能量AWATTI豫寄存囂教據(jù)讀取為倒.調(diào)用形式如下t圈5—6瞬時(shí)曲率計(jì)算0t租Fi酣{助w出毗。Tab 52 ADET?58 regl ster configuration for active and reactive energY12的計(jì)數(shù)初值計(jì)算如下:T2的計(jì)數(shù)初值=21665000X 17./12655366500(P=0x02185.3.2瞬時(shí)功率計(jì)算用單片機(jī)的12定時(shí)65ms,通過(guò)ADE7758的SPI口讀出這段時(shí)間內(nèi)累加的有功電量和無(wú)功電量,用兩者的比值計(jì)算當(dāng)前的瞬時(shí)有功、無(wú)功功率。用單片機(jī)的T2定時(shí)65ms,通過(guò)ADE7758的SPI串口讀取該時(shí)段內(nèi)有功能量寄存器中數(shù)據(jù),記為a。29江南大學(xué)碩士學(xué)位論文T曲5I designofmcWr Dmm日em andADE7758initial value calculation能量量綱之間的轉(zhuǎn)換關(guān)系為IWh=3600J.為便于數(shù)據(jù)處理,對(duì)最低有效值轉(zhuǎn)抉如下:0.034Wb=121.6J,0.0068Wh39。滿刻度電流Ifullscalce、滿刻度電壓VfullscaI是對(duì)應(yīng)于ADE7758的電壓、電流通道輸入為0.5V時(shí)的負(fù)荷電流、電壓值,其中Vfullscal=17.68kV。2)MC X VfullscalIfullscaI其中VARCFDEN為無(wú)功脈沖分頻寄存器。經(jīng)過(guò)上述初始化賦值后,每200個(gè)脈沖就表示電量1kWh;由于采用了取整運(yùn)算以及其他因素影響,實(shí)際電度表常數(shù)可能為198 impulses/kWh,這部分偏差通過(guò)電度表校準(zhǔn)進(jìn)行補(bǔ)償。其中INTO為取整運(yùn)算。本方案中MC=200 impulses/kWh。這里,需要首先計(jì)算出ADE7758能量寄存器的最低有效值。在以脈沖方式進(jìn)行電量的累加過(guò)程中,每一脈沖代表多大的電量,如何確定這一比例系數(shù),需要對(duì)ADE7758寄存器進(jìn)行初始化設(shè)置。外部中斷INT0、INTl的中斷請(qǐng)求撤銷與設(shè)置的中斷觸發(fā)方式有關(guān);可以采用邊沿觸發(fā)方式,在CPU響應(yīng)中斷后,由硬件自動(dòng)將IE0或IEl標(biāo)志位清除。main(){TMOD=0x66;//8位重裝外部計(jì)數(shù)方式TH0=0xfe;THl=0xfe;//TO、T1初始化TL0=0xfe;TH 1=0xfe:IE=0xbf; //開(kāi)啟所有中斷使能TRO=I;TRl=1;//啟動(dòng)TO、Tl外部計(jì)數(shù))中斷請(qǐng)求的撤銷問(wèn)題【431。其中EE4為小負(fù)荷計(jì)量以及正常負(fù)荷計(jì)量下的有功電量參數(shù);CTCT4為相應(yīng)的脈沖計(jì)數(shù)變量。在進(jìn)行功率分段計(jì)量條件判斷時(shí),若檢測(cè)到fla93=l,表示小負(fù)荷計(jì)量模式,F(xiàn)3對(duì)應(yīng)的脈沖變量累加l。主程序每循環(huán)一次,就進(jìn)行函數(shù)bitpower~check 0的調(diào)用,不斷對(duì)功率參數(shù)進(jìn)行檢測(cè)。功率參數(shù)檢測(cè)通過(guò)調(diào)用函數(shù)bit power—check0實(shí)現(xiàn)。在主程序的一次循壞過(guò)程中,當(dāng)負(fù)荷功率小于90%朋時(shí)fla93=l;當(dāng)負(fù)荷功率大于尸秒時(shí)fla93=O;在PO39。主程序每循環(huán)一次,就進(jìn)行一次瞬時(shí)有功功率的檢測(cè),并與切換功率肋比較。薰吾江南大學(xué)碩士學(xué)位論文5.2.2功率參數(shù)檢測(cè)與實(shí)時(shí)分段計(jì)量功率參數(shù)檢測(cè)處理。采用T0中斷方式進(jìn)行有功電量參數(shù)的累加計(jì)量。主程序每循環(huán)一次,就進(jìn)行一次time—check0函數(shù)的調(diào)用,不斷對(duì)時(shí)間參數(shù)進(jìn)行檢測(cè)。一岔鬲El+O.1kWhI]脈沖數(shù)CT2+lN功率分段電能計(jì)量㈣圖5—3分時(shí)段電能計(jì)量Fig.5—3 t ime—subsect ion energy measur ing圖5—2時(shí)間參數(shù)檢測(cè)Fi95—2 time parameters checking函數(shù)t ime~check 0實(shí)現(xiàn)兩個(gè)位變量fla9fla92的數(shù)據(jù)刷新,為定時(shí)存儲(chǔ)和分時(shí)段計(jì)量提供時(shí)間參考。’。、‘●‘。1。TO中斷◇鹵脈沖數(shù)cTl+1 J。在主程序連續(xù)的兩次循環(huán)中,若fiagl賦值結(jié)果不同,就認(rèn)為存儲(chǔ)時(shí)間到,通過(guò)調(diào)用write2402 long()進(jìn)行電量參數(shù)的存儲(chǔ);其中fla92用來(lái)存儲(chǔ)上次循環(huán)中flagl的取值。主程序每循環(huán)一次,就進(jìn)行一次時(shí)間參數(shù)的檢測(cè)。5.2.1時(shí)間參數(shù)檢測(cè)與分時(shí)段計(jì)量時(shí)間參數(shù)檢測(cè)通過(guò)調(diào)用函數(shù)readl302 0讀取DSl302芯片的時(shí)鐘寄存器數(shù)據(jù)實(shí)現(xiàn)。本方案采用脈沖計(jì)數(shù)方式實(shí)現(xiàn)有功、無(wú)功電量累加【43】【刪,其中有功電量脈沖常數(shù)200impulses/kWh,無(wú)功電量常數(shù)200impulses/kVARh。因此,不允許傳感器變比的頻繁切換。因此,每進(jìn)行一次電流傳感器的變比切換,將導(dǎo)致一定程度的計(jì)量誤差;該計(jì)量誤差最大不會(huì)超過(guò)一個(gè)脈沖對(duì)應(yīng)的實(shí)際能量。也就是說(shuō),ADE7758寄存器內(nèi)部能量的累加與單片機(jī)對(duì)能量的有效計(jì)量不是同步的。ADE7758內(nèi)部有一個(gè)數(shù)頻轉(zhuǎn)換DFC,只有當(dāng)ADE7758內(nèi)部能量累加到一定程度時(shí),這部分能量以脈沖的方式輸出。電流傳感器變比切換過(guò)程中的計(jì)量誤差問(wèn)題。fla94用來(lái)存儲(chǔ)上次循環(huán)中fla93的賦值。當(dāng)負(fù)荷功率小于90%lD0時(shí)fla93=l;當(dāng)負(fù)荷功率大于朋時(shí)fla93=O;在P0~90%P0之間時(shí),fla93保持上次賦值結(jié)果不變。主程序每循環(huán)一次,就進(jìn)行一次瞬時(shí)有功功率的計(jì)算,并與切換功率朋比較。通過(guò)調(diào)用函數(shù)write2402_lon90進(jìn)行電量參數(shù)的存儲(chǔ);其中fla92用來(lái)存儲(chǔ)上次循環(huán)中flagl的取值。定義兩個(gè)位變量fla91和fla92,當(dāng)時(shí)問(wèn)在oo:00—12:00內(nèi)時(shí)flagl=l,否則flagl=0。在一天中進(jìn)行兩次存儲(chǔ),分別發(fā)生在00:00和12:oo兩個(gè)時(shí)刻。定時(shí)存儲(chǔ)問(wèn)題。在系統(tǒng)上電后,讀取AT24C02中上次存儲(chǔ)的兩組電量參數(shù),若兩組參數(shù)相同,則表明上次存儲(chǔ)結(jié)果正確;否則把當(dāng)前單片機(jī)RAM中的電量參數(shù)存儲(chǔ)到AT24C02中。為了保證電量參數(shù)存儲(chǔ)的可靠性,在軟件設(shè)計(jì)上要有充分的冗余和糾錯(cuò)。電能計(jì)量采用中斷方式進(jìn)行,保證了電能計(jì)量的及時(shí)性。采取模塊化的程序設(shè)計(jì)方法,進(jìn)行系統(tǒng)總體流程設(shè)計(jì)以及電量參數(shù)的算法流程設(shè)計(jì),分析了功率分段計(jì)量的軟件設(shè)計(jì)與實(shí)現(xiàn);進(jìn)行按鍵中斷處理以及時(shí)鐘初值輸入調(diào)整設(shè)計(jì),闡述了基于ADE7758的斷相、過(guò)流、過(guò)壓檢測(cè)原理。b2,吣事件記錄的顯示州dd“叫168。函數(shù)說(shuō)明參考衰43所示比如.通過(guò)調(diào)用函數(shù)write2402_long()實(shí)現(xiàn)長(zhǎng)整型數(shù)據(jù)的電量存儲(chǔ),調(diào)用函數(shù)readl3020實(shí)現(xiàn)時(shí)鐘芯片寄存器數(shù)據(jù)的讀訪問(wèn),調(diào)用函數(shù)read7758一int()實(shí)現(xiàn)ADE7758能量寄存器數(shù)據(jù)的讀訪問(wèn)。刪洲L毗錨∞刪皇!辮搟弧7叮“一口辮篇馳州卵觀比F0£江雨大學(xué)硼士學(xué)位論文4.3奉章小姑本章在進(jìn)行硬件電路測(cè)試的同時(shí),基于ME300B單片機(jī)開(kāi)發(fā)系統(tǒng),結(jié)合芯片的具體應(yīng)用特點(diǎn)和時(shí)序結(jié)構(gòu),進(jìn)行顯示函數(shù)以及基本通信模塊函數(shù)的設(shè)計(jì)與調(diào)試1dam區(qū)間,充分利用了AT89S52的256字節(jié)的RAM空間。兩者的區(qū)別在于變量定義的存儲(chǔ)區(qū)域不同。參考圖45(a)灰色顯示,;但由于把變量全部定義在DATA存儲(chǔ)區(qū),超出128個(gè)字節(jié)范圍,因此無(wú)法生成可執(zhí)行文件。其中DATA區(qū)為AT89S52的前128字節(jié)的RAM空間,采用直接尋址方式進(jìn)行訪問(wèn);DATA為附加的128字節(jié)的RAM空間,采用間接尋址方式進(jìn)行訪問(wèn)。參考文獻(xiàn)[41]、[42],發(fā)現(xiàn)這一問(wèn)題是由于變量定義時(shí)對(duì)存儲(chǔ)器類型設(shè)置不當(dāng)造成的。在進(jìn)行顯示函數(shù)display_1()、display_2()、display_3()測(cè)試時(shí),對(duì)每個(gè)功能函數(shù)分別進(jìn)行編譯,函數(shù)能實(shí)現(xiàn)預(yù)期的顯示效果;把三個(gè)功能函數(shù)同時(shí)進(jìn)行編譯,則顯示錯(cuò)誤信息“Target not created”,編譯失敗,如圖45(a)所示。功能函數(shù)的測(cè)試基本流程相同,對(duì)功能函數(shù)測(cè)試仿真的同時(shí),也是對(duì)硬件電路的測(cè)試,兩者是同時(shí)進(jìn)行的。根據(jù)ADE7758初始化及計(jì)量需要,基于SPI總線結(jié)構(gòu),定義四個(gè)功能函數(shù),分別實(shí)現(xiàn)16位能量寄存器的讀訪問(wèn)和8位、124位寄存器的寫(xiě)訪問(wèn)。單字節(jié)數(shù)據(jù)傳送時(shí)序如圖4.4所示。單片機(jī)讀取該寄存器讀數(shù)據(jù)時(shí),數(shù)據(jù)接收格式為“0111 1111 1100 1111”,其中后四位代碼“11ll”為ADE7758發(fā)送的無(wú)意義數(shù)據(jù)。對(duì)12位增益寄存器AIGAIN(地址0x27)賦值“011l 1111 1100”,需發(fā)送兩個(gè)字節(jié)的數(shù)據(jù)實(shí)現(xiàn),格式為:“0111 1111 1100”,其中“”為任意代碼組合。ADE7758與單片機(jī)的接口定義如下:DOUT=P1.4;SCLK=P1.5;DIN=P1.6;CS=P1.7;其中DIN端子與DSl302的I/O端子復(fù)用P1.6接口;單片機(jī)的P1.6端口如下:DIO=。ADE7758通過(guò)內(nèi)置的SPI接口與單片機(jī)進(jìn)行數(shù)據(jù)通信。當(dāng)斷相、過(guò)流、過(guò)壓等事件發(fā)生時(shí),需要記錄下事件發(fā)生的時(shí)間;此時(shí)通過(guò)調(diào)用函數(shù)readl3020讀取時(shí)問(wèn)參數(shù),并調(diào)用寫(xiě)函數(shù)write2402_char()存儲(chǔ)到AT24C02中分配的存儲(chǔ)單元。程序運(yùn)行時(shí),發(fā)現(xiàn)變量b的三次賦值分別為0x00、0x00x21,這說(shuō)明秒寄存器中的數(shù)據(jù)在變化,晶振正常工作。對(duì)上述測(cè)試程序執(zhí)行斷點(diǎn)調(diào)試命令,打開(kāi)“View菜單下的“Watchamp。定義兩個(gè)功能函數(shù),分別實(shí)現(xiàn)對(duì)DSl302寄存器的讀、寫(xiě)操作訪問(wèn)。DSl302秒寄存器的讀操作地址為0x81。測(cè)試晶振是否工作。接口定義如下:SCLK=P1.5;DIO=P1.6;CE=P1.3。在讀操作中,單片機(jī)首先發(fā)送一個(gè)開(kāi)始信號(hào),緊接著發(fā)送含有寫(xiě)操作命令的器件地址和存儲(chǔ)單元的首地址;收到應(yīng)答信號(hào)后,單片機(jī)接著重新發(fā)送一個(gè)開(kāi)始信號(hào)和含有讀操作命令的器件地址Oxal,其后才是存儲(chǔ)數(shù)據(jù)的傳送。(a)字符型數(shù)據(jù)1 2C總線寫(xiě)操作格式(b)字符型數(shù)據(jù)1 2C總線讀操作格式圖43 AT24C02字符型數(shù)據(jù)I2C總線傳送格式根據(jù)原理圖設(shè)計(jì),AT24C02的指令寫(xiě)地址為0xa0,指令讀地址為0xal;其中高四位“1010為I2C總線特征代碼,最低位是讀寫(xiě)控制位,為0時(shí)表示寫(xiě)操作,為1時(shí)表示讀操作。單片機(jī)基于I2C總線的數(shù)據(jù)傳送格式[40]如圖4_3所示,其中灰色框表示單片機(jī)發(fā)送,AT24C02接收;其余為單片機(jī)接收,AT24C02發(fā)送。定義上述四個(gè)功能函數(shù)后,字符型數(shù)據(jù)以及長(zhǎng)整型數(shù)據(jù)的存儲(chǔ)與讀取可以直接通過(guò)函數(shù)調(diào)用實(shí)現(xiàn),舉例說(shuō)明如下。{long int a;char c[4];e[0]=0x78;c[1]=0x56;c[2]=0x34;c[31=0x12;al=c[3];//執(zhí)行后a=Ox000000 1 2a=_lrol_(a39。{long int a=0x12345678;char c[4];c[O]=a;//執(zhí)行后c[0]=0x78a=lror(a,8);c[1]=a;//執(zhí)行后c[1]=ox56a=_lror(a,8);c[2]=a;//執(zhí)行后c[2]=0x34a=lror(a,8);c[3]=a;//執(zhí)行后c[3]=0x1 2}上述程序段的功能是把長(zhǎng)整型數(shù)據(jù)0x12345678拆分成四個(gè)字符型數(shù)據(jù),存儲(chǔ)在數(shù)組a[4]中。這通過(guò)調(diào)用Keil C51中的本征庫(kù)函數(shù)unsigned long_Iror_ (unsigned long val,unsigned char n)實(shí)現(xiàn),該函數(shù)功能是把val右移n位。把字符型數(shù)據(jù)0x42存儲(chǔ)到AT24C02中地址單元0x30中,函數(shù)調(diào)用形式為write2402 char(0x30,0x42)。在SCL總線處于高電平時(shí),若檢測(cè)到SDA總線由低電平向高電平跳變,則結(jié)束I2C總線數(shù)據(jù)傳送。I2C總線備用時(shí),SDA、SCL總線均處于高電平狀態(tài):一旦檢測(cè)到SDA由高電平向低電平跳變,則啟動(dòng)12C總線。單片機(jī)通過(guò)I2C總線向AT24C02寫(xiě)入一個(gè)字節(jié)的數(shù)據(jù)傳送時(shí)序如圖4—2所示。四個(gè)功能函數(shù)分別實(shí)現(xiàn)長(zhǎng)整型數(shù)據(jù)的讀、寫(xiě)操作以及字符型數(shù)據(jù)的讀寫(xiě)操作,定義如下。4.2.4存儲(chǔ)模嵌與存儲(chǔ)函數(shù)存儲(chǔ)芯片采用AT24C02.存儲(chǔ)模塊與單片機(jī)的接口定義如下:SDA=P2.1:SCL=P2 0。例如在ME300B系統(tǒng)資源里有關(guān)于液晶顯示的程序塊,可以根據(jù)需要進(jìn)行調(diào)用.以減輕工作量,提高開(kāi)發(fā)效率。這樣處理把軟件測(cè)試和硬件測(cè)試分丌進(jìn)行,有利]:查找軟硬件設(shè)計(jì)中存在的問(wèn)題。功能函數(shù)的仿真調(diào)試首先在ME300B開(kāi)發(fā)板上進(jìn)行。功能函數(shù)仿真測(cè)試。當(dāng)單片機(jī)檢測(cè)到K2鍵按下時(shí).則調(diào)用函數(shù)display_1()進(jìn)行分時(shí)段電量參數(shù)的顯示,調(diào)用形式為display_1(2,E1,E2)。函數(shù)形參說(shuō)明與功能描述參考表42所示。用萬(wàn)用表檢測(cè)HCl602與單片機(jī)的連接線焊接有無(wú)短路、斷路。測(cè)試結(jié)果表明,單片機(jī)能夠向RS485總線投送數(shù)據(jù)以及從RS一485總線正確接收數(shù)據(jù)。單片機(jī)在接收數(shù)據(jù)時(shí),收、發(fā)端子通過(guò)平衡雙絞線將AA、BB對(duì)應(yīng)連接。結(jié)合RS.485接rl電路圖37說(shuō)明。測(cè)試結(jié)果如表4 1所示。利用ME300B的在線仿真功能,編寫(xiě)測(cè)試源程序;參考RS一485接口電路設(shè)計(jì)圖3—7,結(jié)合KeiC
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1