![畢業(yè)設(shè)計(jì)基于STC89C52單相電度表的測(cè)量的設(shè)計(jì)_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/5/d0123d49-1ea6-467e-85ef-3d98ce3c72c8/d0123d49-1ea6-467e-85ef-3d98ce3c72c81.gif)
![畢業(yè)設(shè)計(jì)基于STC89C52單相電度表的測(cè)量的設(shè)計(jì)_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/5/d0123d49-1ea6-467e-85ef-3d98ce3c72c8/d0123d49-1ea6-467e-85ef-3d98ce3c72c82.gif)
![畢業(yè)設(shè)計(jì)基于STC89C52單相電度表的測(cè)量的設(shè)計(jì)_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/5/d0123d49-1ea6-467e-85ef-3d98ce3c72c8/d0123d49-1ea6-467e-85ef-3d98ce3c72c83.gif)
![畢業(yè)設(shè)計(jì)基于STC89C52單相電度表的測(cè)量的設(shè)計(jì)_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/5/d0123d49-1ea6-467e-85ef-3d98ce3c72c8/d0123d49-1ea6-467e-85ef-3d98ce3c72c84.gif)
![畢業(yè)設(shè)計(jì)基于STC89C52單相電度表的測(cè)量的設(shè)計(jì)_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/5/d0123d49-1ea6-467e-85ef-3d98ce3c72c8/d0123d49-1ea6-467e-85ef-3d98ce3c72c85.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 基于基于 stc89c52stc89c52 單相電度表的測(cè)量的設(shè)計(jì)單相電度表的測(cè)量的設(shè)計(jì)摘摘 要要隨著城農(nóng)網(wǎng)改造的逐步深入,各種各樣的計(jì)量工具不斷出現(xiàn)在市場(chǎng)上。各種不同的計(jì)量工具所使用的計(jì)量方法也不一樣。該系統(tǒng)由前端電路調(diào)理模塊,電能表芯片cs5460 模塊,單片機(jī) stc89c52 模塊,顯示模塊,存儲(chǔ)模塊等組成。cs5460 實(shí)現(xiàn)功率測(cè)量和用 stc89c52 單片機(jī)實(shí)現(xiàn)電能計(jì)量的方法是當(dāng)下比較成熟的計(jì)算方法。cs5460 是一種帶有串行接口的單向雙向功率電能集成電路芯片,用它可以方便的組成多功能電子式電度表和分布式電能計(jì)量管理系統(tǒng)。其中使用 cs5460 芯片設(shè)計(jì)的簡(jiǎn)單單相電度表可以用
2、于工業(yè)現(xiàn)場(chǎng)的電量數(shù)據(jù)采集和簡(jiǎn)單的功率計(jì)算,使用 cs5460 芯片設(shè)計(jì)的數(shù)字電表適用于住宅用電計(jì)量的最精確,并具成本效益的電表方案,打開(kāi)了電表設(shè)計(jì)的新領(lǐng)域,是下一代民用電表的理想產(chǎn)品和最好的工業(yè)解決方案。目前我國(guó)高校學(xué)生公寓普遍采用限電措施來(lái)控制學(xué)校電能利用,公寓管理社會(huì)化后,限制學(xué)生用電將改為鼓勵(lì)學(xué)生安全用電,從而將采用限制安全功率、限制基本電費(fèi)、超量收費(fèi)的形式。 關(guān)鍵詞:關(guān)鍵詞:cs5460cs5460 芯片芯片;stc89c52;stc89c52 單片機(jī);液晶顯示模塊;單片機(jī);液晶顯示模塊;c51c51 程序程序 cs5460 single-phase meter based on th
3、e design of the measurementabstractwith the gradual deepening of rural power grids city, a variety of measurement tools continue to emerge on the market. a variety of different measurement tools are not the same measurement method used. the system consists of front-end circuit conditioning module, c
4、s5460 chip energy meter module, microcontroller stc89c52 modules, display modules, memory modules and other components. cs5460 power measurement and the realization of single chip with stc89c52 energy measurement method is to present a more mature method. cs5460 is a single bi-directional serial int
5、erface with power power integrated circuit chip, it can be easily formed with multi-function electronic power meter and distributed energy metering management system. cs5460 chip design which uses a simple single-phase watt-hour meter can be used to power industrial field data collection and simple
6、power calculation, using the cs5460 digital chip design for residential electricity meter measures the most accurate and cost-effective meter program, designed to open new areas of the meter, the meter is ideal for the next generation of civilian products and the best industrial solutions. at presen
7、t, china university student apartment commonly used power rationing measures to control energy use of schools, apartment management outsourcing, the restrictions on students use of electricity will be changed to encourage students to safe use of electricity, which will use the safe power limit, rest
8、rict basic electricity, excess charges form.key words:cs5460 chips; stc89c52 scm; lcd module;c51 program 目 錄一 引言11.1 電度表的作用11.2 電度表的發(fā)展11.3 電度表的發(fā)展前景1二系統(tǒng)的總體設(shè)計(jì)思路2三系統(tǒng)硬件組成及介紹3 3.1 cs5460 簡(jiǎn)介3 3.2 cs5460 引腳分配及功能53.3 cs5460 的功能.63.4 cs5460 寄存器配置.83.5 cs5460 的工作過(guò)程.10四硬件電路設(shè)計(jì)11 4.1 前端電路調(diào)理模塊13 4.2 電能芯片 cs5460 模
9、塊14 4.3 單片機(jī) stc89c52 模塊15 4.4 液晶顯示模塊17五程序設(shè)計(jì)19 5.1 單片機(jī) c51 程序設(shè)計(jì)的優(yōu)點(diǎn)11 5.2 程序設(shè)計(jì)思路125.3 cs5460 驅(qū)動(dòng)程序135.4 cs5460 的設(shè)置和啟動(dòng)15 5.5 讀寫(xiě) cs5460165.6 結(jié)果顯示程序17六 總結(jié)23謝辭參看文獻(xiàn)附錄 一引言1.1 電度表的作用電能表是我國(guó)電工儀表行業(yè)中產(chǎn)量最大的產(chǎn)品。近幾年,國(guó)家連續(xù)出臺(tái)的多項(xiàng)與電能表行業(yè)發(fā)展相關(guān)的政策以及房地產(chǎn)產(chǎn)業(yè)的迅速發(fā)展,為電能表需求的上升及保持行業(yè)發(fā)展的相對(duì)穩(wěn)定起到了一定的保障作用。目前我國(guó)高校學(xué)生公寓普遍采用限電措施來(lái)控制學(xué)校電能利用,公寓管理社會(huì)化后
10、,限制學(xué)生用電將改為鼓勵(lì)學(xué)生安全用電,從而將采用限制安全功率、限制基本電費(fèi)、超量收費(fèi)的形式。住宅用電計(jì)量的最精確,并具成本效益的電表方案,打開(kāi)了電表設(shè)計(jì)的新領(lǐng)域,是下一代民用電表的理想產(chǎn)品和最好的工業(yè)解決方案。隨著高新技術(shù)尤其是電子信息技術(shù)的快速發(fā)展,電子式、多功能、高精度、多費(fèi)率、自動(dòng)抄表等產(chǎn)品的優(yōu)勢(shì)突顯,且已經(jīng)逐步成為電能表發(fā)展的主流,在未來(lái)幾年里,這種趨勢(shì)將更加明顯。1.2 電度表的發(fā)展作為測(cè)量電能的專(zhuān)用儀表電能表,自誕生至今已有 100 多年的歷史。隨著電力系統(tǒng)及其相關(guān)產(chǎn)業(yè)的發(fā)展以及電能管理系統(tǒng)的不斷完善,電能表的結(jié)構(gòu)和性能也經(jīng)歷了不斷更新、優(yōu)化的發(fā)展過(guò)程:由最初的感應(yīng)電能表,發(fā)展到后
11、來(lái)的感應(yīng)系統(tǒng)脈沖電能表,直至現(xiàn)在的純電子式電能表。感應(yīng)系電能表是利用處于交變磁場(chǎng)的金屬圓盤(pán)中的感應(yīng)電流與有關(guān)磁場(chǎng)形成力的原理制成的。感應(yīng)系統(tǒng)脈沖電能表仍采用感應(yīng)系電能表的測(cè)量機(jī)構(gòu)作為工作援建,由光電傳感器完成電能脈沖轉(zhuǎn)換,然后靜電子電路對(duì)脈沖進(jìn)行處理,從而實(shí)現(xiàn)對(duì)電能的測(cè)量。純電子式電能表的原理是采用電子電路來(lái)實(shí)現(xiàn)電能計(jì)量,所以電子式電能表的共同特點(diǎn)是采用乘法器,根據(jù)所依托的乘法器為模擬的還是數(shù)字的分為模擬乘法器型電子電能表和數(shù)字乘法器型電子電能表。隨著電能管理的現(xiàn)代化,需要訪問(wèn)電能表很多信息,同事決策還要與電能表進(jìn)行雙向通訊,由于數(shù)字乘法器型電能表是以微處理器為核心,所以功能容易擴(kuò)展,易和配電
12、自動(dòng)化系統(tǒng)集成,cs5460 是一種帶有串行接口的單相雙向功率電能集成電路芯片。1.3 電度表的發(fā)展前景城鄉(xiāng)電網(wǎng)改造,使電工儀器儀表行業(yè)步入了快速發(fā)展的軌道,同時(shí)也為行業(yè)企業(yè)提供了一個(gè)科技創(chuàng)新的平臺(tái),電工儀器儀表生產(chǎn)企業(yè)抓住機(jī)遇,通過(guò)對(duì)國(guó)外先進(jìn)技術(shù)的兼收并蓄,并高標(biāo)準(zhǔn)、高起點(diǎn)自主開(kāi)發(fā)了一系列高技術(shù)產(chǎn)品。 電力用戶(hù)是我國(guó)電工儀器儀表最大的用戶(hù)群體,需求量占整個(gè)市場(chǎng)需求量的 90%,對(duì)該類(lèi)產(chǎn)品的銷(xiāo)售起著決定性作用。國(guó)家城鄉(xiāng)電網(wǎng)改造結(jié)束后,電工儀器儀表行業(yè)進(jìn)入了平穩(wěn)過(guò)渡期,出現(xiàn)了短暫的低潮,但行業(yè)的發(fā)展并未停滯,以華立集團(tuán)、寧波三星、林洋電子等為代表的行業(yè)企業(yè)在低谷中不斷拓寬服務(wù)領(lǐng)域,尋求新的發(fā)展空
13、間,從而在競(jìng)爭(zhēng)中提高企業(yè)的核心競(jìng)爭(zhēng)力.經(jīng)過(guò)國(guó)內(nèi)外市場(chǎng)的凈化和洗禮,產(chǎn)品也發(fā)生了質(zhì)的變化,開(kāi)始從單純量的增長(zhǎng)向技術(shù)創(chuàng)新過(guò)渡,并步入高質(zhì)量、高技術(shù)、高附加值時(shí)代,生產(chǎn)模式逐步向集約化大規(guī)模轉(zhuǎn)變,核心競(jìng)爭(zhēng)力不斷增強(qiáng),產(chǎn)品出口主要以電能表、便攜式電表為主,出口輻射到幾十個(gè)國(guó)家。特別是近幾年,一些企業(yè)還通過(guò)在國(guó)外建廠等形式消化國(guó)內(nèi)的市場(chǎng),出口創(chuàng)匯不斷攀升二系統(tǒng)的整體設(shè)計(jì)思路 cs5460 可用于單相 2 線或 3 線功率/電能測(cè)量中應(yīng)用。本次系統(tǒng)主要由前端電路調(diào)理模塊,電能表芯片 cs5460 模塊,單片機(jī) stc89c52 模塊,液晶顯示模塊。前端調(diào)理模塊采用由電阻 r1,r2 構(gòu)成的電阻分壓器測(cè)量作
14、用于負(fù)載上的電壓,當(dāng)然該電壓必須為芯片所能允許的 150mv 的電壓范圍內(nèi),故對(duì)電阻 r1,r2 的比值需做要求,經(jīng)變換的信號(hào)以差模電壓的形式直接加到電能表的芯片 cs5460 上,用 rs 測(cè)量流過(guò)負(fù)載的電流然后以差模電流的形式加到 cs5460 芯片端上(如圖 2.1) ,通過(guò)輸入的瞬時(shí)電壓值和瞬時(shí)電流值得到電壓和電流的有效值,單片機(jī)從 cs5460 中讀取的瞬時(shí)電壓、瞬時(shí)電流和瞬時(shí)功率等數(shù)據(jù)經(jīng)處理后存在存儲(chǔ)器內(nèi), 上電后單片機(jī)從存儲(chǔ)器內(nèi)讀數(shù)據(jù)到內(nèi)存中,再通過(guò)顯示模塊的液晶屏正常顯示所測(cè)電壓,電流,功率。 引言文本框的格式。 三三系統(tǒng)硬件組成介紹系統(tǒng)硬件組成介紹3.1 cs5460 簡(jiǎn)介c
15、s5460 是 crystal 公司最新推出的帶有串行接口的單相雙向功率/電能計(jì)量集成電路芯片,該芯片比目前比較流行的電子電度表芯片如 ad7750、ad7755 更容易實(shí)現(xiàn)與微處理器的連接。用 cs5460 可以方便的組成多功能電子式電度表和分布電度表和分布式電能計(jì)量管理系統(tǒng)。cs5460 是一個(gè)高度集成的數(shù)模轉(zhuǎn)換器,它將兩個(gè)數(shù)模轉(zhuǎn)換單元,一個(gè)高速能量計(jì)算單元和一個(gè)芯片上的串行接口結(jié)合起來(lái),他可以用于精確的測(cè)量和計(jì)算儀器,單相兩線或三線電能表的應(yīng)用程序的能量,瞬時(shí)功率,irms 和vrms。cs5460 具有低成本分流或變壓器測(cè)量電流接口,與測(cè)量電壓的電阻分壓器或變壓器。該 cs5460 具
16、有雙向串行接口與微控制器連接和一個(gè)固定寬度的可編程頻率輸出同樣能量。該產(chǎn)品初始化并完全根據(jù)電功能,并包括設(shè)施系統(tǒng)級(jí)控制校準(zhǔn)用戶(hù)程序的。該 cs5460 旨在從單一經(jīng)營(yíng)+5v 電源或雙2.5v 電源供電,提供一個(gè) 30mvrms 至150mv 范圍通道,并提供一個(gè)范圍為 150mvrms 電壓通道。由于是單供應(yīng),cs5460 適用于一般模式信號(hào)。cs5460 的內(nèi)部組成模塊如下:一個(gè)電流通道可編程增益放大器,其增益為 10 和 50 可選;一個(gè)電壓通道固定增益放大器,其增益為 10;兩個(gè)同時(shí)采樣的模數(shù)轉(zhuǎn)換器;兩個(gè)高速數(shù)字濾波器;兩個(gè)可選用的高通濾波器;一個(gè)功率計(jì)算引擎;一個(gè) 2.5v 片內(nèi)電壓基
17、準(zhǔn);一個(gè)可以檢測(cè)電力不足或電源故障的電源監(jiān)視器; 一個(gè)持續(xù)監(jiān)視串口通訊的看門(mén)狗;一個(gè)內(nèi)部時(shí)鐘發(fā)生器;一個(gè)串行接口;一個(gè)電能/脈沖變換器;一個(gè)校準(zhǔn)用其內(nèi)部組成模塊如圖 1 所示。 圖 2.1 cs5460 內(nèi)部組成模塊3.23.2 cs5460cs5460 的引腳分配及功能的引腳分配及功能 cs5460 的主要技術(shù)指標(biāo):差分電壓輸入范圍:150mv;溫度系數(shù):60ppm/;功率消耗:10mw;電能計(jì)量精度:在 300動(dòng)態(tài)范圍以上每秒讀取0.1;電壓測(cè)量精度:讀數(shù)的 0.1;電流測(cè)量精度:讀數(shù)的 0.1;瞬時(shí)功率測(cè)量精度:讀數(shù)的 0.1。3.3 cs5460的功能cs5460 可以在單+5v 電源
18、或雙2.5v 電源下運(yùn)行,電流通道輸入范圍可為30mvrms 或 150mvrms,電壓通道輸入范圍 150mvrms。cs5460 可以測(cè)量瞬間電流,瞬間電壓,瞬間功率,能量,rms 電流和 rms 電壓。測(cè)量的結(jié)果是以 24 位有符號(hào)或無(wú)符號(hào)數(shù)據(jù)形式輸出的,同滿(mǎn)量程的百分比形式一樣。當(dāng)接收到一個(gè)開(kāi)始轉(zhuǎn)換命令時(shí),測(cè)量開(kāi)始進(jìn)行。當(dāng)計(jì)算周期結(jié)束時(shí),狀態(tài)和屏蔽寄存器的 drdy 被置位。加電后,該芯片被初始化后開(kāi)始工作,電流通道和電壓通道的信號(hào)被片內(nèi)放大器放大后,通過(guò)內(nèi)部模數(shù)轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字信號(hào),再通過(guò)高通濾波器消除了信號(hào)中的直流成分,將之送到能量計(jì)算引擎中算出功率和能量值,并存入 cs5460
19、的寄存器中,然后通知 cpu 計(jì)算完畢,由 cpu 將功率和能量值取走,同時(shí)也可輸出可編程的輸出可編程的輸出頻率來(lái)。1)中斷引腳名稱(chēng)引腳功能1xout晶體振蕩器輸出2cpuclk:cpu 時(shí)鐘輸出3vd+數(shù)字電路電源正極4dgnd數(shù)字地5sclk 串行時(shí)鐘輸入6sdo串行數(shù)據(jù)輸出7cs片選8nc空腳9vin+差分電壓正輸入端10vin-差分電壓負(fù)輸入端11vrefout參考電壓輸出12vrefin參考電壓輸入13va-模擬地14va+模擬電源正極15iin-差分電流負(fù)輸入端16iin+差分電流正輸入端17pfmon電源掉電監(jiān)視輸出18nc空腳19reset復(fù)位輸入20int中斷輸出21eout
20、電能脈沖輸出22edir功率方向指示輸出23sdi:串行數(shù)據(jù)輸入24xin晶體振蕩器輸入 管腳用來(lái)指示轉(zhuǎn)換器發(fā)生了值得注意的事件。這些事件通知系統(tǒng)運(yùn)行的狀態(tài)和內(nèi)部誤差狀態(tài)。通過(guò)把狀態(tài)寄存器與屏蔽寄存器組合產(chǎn)生信號(hào)。當(dāng)狀態(tài)寄存器的一個(gè)位有效,并且屏蔽寄存器相應(yīng)的位是邏輯 1,信號(hào)被激活。當(dāng)狀態(tài)寄存器的這一位恢復(fù)為無(wú)效時(shí),中斷狀態(tài)被清除。2)清除狀態(tài)寄存器與其它的寄存器不同,狀態(tài)寄存器的位只能被清除(設(shè)置為邏輯 0) 。當(dāng)向狀態(tài)寄存器寫(xiě)入字時(shí),字中的任何 1 都可以清除狀態(tài)寄存器相應(yīng)的位,其它位保持不變。這可以在不清楚其它位的情況下,清除特定位。這種機(jī)制方便了信號(hào)交換,并將丟失未處理事件的危險(xiǎn)性減
21、到最小。3)激活狀態(tài)激活由配置寄存器的 si1 和 si0 位控制,管腳可以被置為低電平(缺省) ,置為高電平,恢復(fù)邏輯 0(上升沿) ,或恢復(fù)邏輯 1(下降沿) 。4)看門(mén)狗看門(mén)狗(wdt)提供一種警告系統(tǒng)與微控制器的通訊可能崩潰的手段,通過(guò)允許wdt 產(chǎn)生中斷,微控制器可以從死機(jī)狀態(tài)跳出來(lái)。超時(shí)被編程為大約 5 秒。每次能量寄存器被讀取,遞減計(jì)數(shù)都重新啟動(dòng)。在典型情況下,每秒能量寄存器都被讀取,因此,wdt 不會(huì)超時(shí)。在將看門(mén)狗用在其他方面時(shí),必須能夠保證能量寄存器至少每 5 秒讀取一次。接地接地圖 2.2 cs5460 與 stc89c52 單片機(jī)接口電路圖cs5460 可以在單+5v
22、電源或雙2.5v 電源下運(yùn)行,電流通道輸入范圍可為30mvrms 或 150mvrms,電壓通道輸入范圍 150mvrms。cs5460 可以測(cè)量瞬間電流,瞬間電壓,瞬間功率,能量,rms 電流和 rms 電壓。測(cè)量的結(jié)果是以 24 位有符號(hào)或無(wú)符號(hào)數(shù)據(jù)形式輸出的,同滿(mǎn)量程的百分比形式一樣。當(dāng)接收到一個(gè)開(kāi)始轉(zhuǎn)換命令時(shí),測(cè)量開(kāi)始進(jìn)行。當(dāng)計(jì)算周期結(jié)束時(shí),狀態(tài)和屏蔽寄存器的 drdy 被置位。加電后,該芯片被初始化后開(kāi)始工作,電流通道和電壓通道的信號(hào)被片內(nèi)放大器放大后,通過(guò)內(nèi)部模數(shù)轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字信號(hào),再通過(guò)高通濾波器消除了信號(hào)中的直流成分,將之送到能量計(jì)算引擎中算出功率和能量值,并存入 cs546
23、0 的寄存器中,然 后通知 cpu 計(jì)算完畢,由 cpu 將功率和能量值取走,同時(shí)也可輸出可編程的輸出可編程的輸出頻率來(lái)。3.43.4 scs5460scs5460 寄存器配置寄存器配置cs5460 內(nèi)部集成了包括偏置寄存器,增益寄存器,脈沖速率寄存器和參數(shù)寄存器等 16 個(gè)寄存器,還集成了串行口發(fā)送寄存器,串行口接受寄存器和一個(gè)命令解釋狀態(tài)機(jī),用于完成 cs5460 的設(shè)置,采集數(shù)據(jù)的存儲(chǔ)和串行輸入輸出的控制,圖 2.3 為內(nèi)部寄存器分配圖。此命令通知狀態(tài)機(jī),一個(gè)寄存器的訪問(wèn)是必需的。在讀取地址教育署到輸出緩沖區(qū),由 sclk 時(shí)鐘了。在寫(xiě)數(shù)據(jù)移入輸入緩沖器到第 24sclk 的處理登記。w
24、/ r 寫(xiě)入/讀控制0 =讀寄存器1 =寫(xiě)入寄存器注冊(cè)地址位。二進(jìn)制編碼的 0 到 31。所有寄存器都是 24 位地址名稱(chēng)的說(shuō)明00000 配置寄存器00001 電流偏移校準(zhǔn)00010 電流增益校準(zhǔn)00011 電壓偏移校準(zhǔn)00100 電壓增益校準(zhǔn)00101 數(shù)轉(zhuǎn)換整合以上(n)00110 脈沖率用于校準(zhǔn)/規(guī)模的能量頻率00111 最后電壓值01000 最后權(quán)價(jià)值 01001 最后的總能量值01011 rms 電流值01100 rms 電壓值01101 定時(shí)基校正01110 內(nèi)部只使用01111 狀態(tài)寄存器10000 保留10111 保留11000 內(nèi)部只使用11001 內(nèi)部專(zhuān)用11010 中斷
25、屏蔽寄存器11011 內(nèi)部專(zhuān)用11100 保留11111 保留3.53.5 cs5460cs5460 的工作過(guò)程的工作過(guò)程在 cs5460 執(zhí)行的是瞬時(shí)電流,瞬時(shí)電壓,瞬時(shí)電力,能量,rms 電流和 rms 電壓的測(cè)量。這些測(cè)量是以 24 位有符號(hào)和完整規(guī)模的無(wú)符號(hào)數(shù)據(jù)格式作為輸出。 圖 2.5 寫(xiě)時(shí)序 圖 2.6 讀時(shí)序寄存器讀寫(xiě)命令如下:其中,wr 為 0 讀寄存器,為 1 寫(xiě)寄存器,ra(04)寄存器地址說(shuō)明如下:00000:配置寄存器,00001:電流偏移校準(zhǔn),00010:電流增益校準(zhǔn),00011:電壓偏移校準(zhǔn),00010:電壓增益校準(zhǔn),00101:轉(zhuǎn)換次數(shù),00110:能量,0011
26、1:最新電流,01000:最新電壓,01001:最新功率,01111:狀態(tài)寄存器,10000:交流電流偏移寄存器,10001:交流電壓偏移寄存器cs5460 實(shí)現(xiàn)瞬時(shí)電壓、瞬時(shí)電流、瞬時(shí)功率的測(cè)量, 電壓和電流通道輸入信號(hào)被送到 cs5460 功率計(jì)算單元,由輸入的瞬時(shí)電壓值和瞬時(shí)電流值計(jì)算得到瞬時(shí)功率值,同時(shí)還可以通過(guò)輸入的瞬時(shí)電壓值和瞬時(shí)電流值得到電壓和電流的有效值。cs5460 的串行接口部分集成了一個(gè)帶有發(fā)送接收緩沖器的狀態(tài)機(jī),狀態(tài)機(jī)在sclk 上升沿解釋 8 位命令字。根據(jù)對(duì)命令的解碼,狀態(tài)機(jī)將執(zhí)行相應(yīng)的操作,或者, 為把尋址的內(nèi)部寄存器的數(shù)據(jù)傳送到發(fā)送緩沖區(qū),寫(xiě)操作在數(shù)據(jù)傳輸前要等
27、 24 個(gè) sclk周期。通過(guò)寄存器讀寫(xiě)命令,數(shù)據(jù)可被寫(xiě)入或從 cs5460a 中讀出,圖 2、圖 3 為讀、寫(xiě)時(shí)序。數(shù)據(jù)的讀、寫(xiě)通過(guò)向串口 sdi 引腳寫(xiě)入相應(yīng)的 8 位命令字(高位在前)來(lái)啟動(dòng)。需要注意的是:一些命令字在執(zhí)行時(shí)受周期計(jì)數(shù)寄存器和配置寄存器內(nèi)容的影響,需要先對(duì)周期計(jì)數(shù)器和配置寄存器內(nèi)容進(jìn)行正確設(shè)置。寄存器寫(xiě)指令后必須跟 24 位數(shù)據(jù),先寫(xiě)命令字啟動(dòng)寫(xiě)操作,然后隨著 24 個(gè)連續(xù)的串行時(shí)鐘脈沖,cs5460a 將從串行輸入引腳 sdi 接收串行數(shù)據(jù),一旦收到數(shù)據(jù),狀態(tài)機(jī)便將數(shù)據(jù)寫(xiě)入配置寄存器并返回到命令模式。寄存器讀指令可以終止在 8 位的邊界上。通過(guò) sdi 引腳寫(xiě)入命令后,
28、可從 sdo 引腳讀出數(shù)據(jù) 電壓、電流有效值可直接從電壓有效值寄存器、電流有效值寄存器中讀取。而由于計(jì)算周期設(shè)為 1s,電能寄存器中的電能值即為有功功率值,因此有功功率值可直接從電能寄存器中讀出。功率因數(shù)可由公式 cos=p/(ui)得出。 頻率的測(cè)量:將循環(huán)計(jì)數(shù)寄存器的 n 值改變?yōu)?1,此時(shí)電壓、電流瞬時(shí)值數(shù)據(jù)的刷新率為 4000hz,這就為通過(guò)軟件進(jìn)行信號(hào)過(guò)零判斷創(chuàng)造了條件。頻率測(cè)量的具體方法是:通過(guò)一個(gè)過(guò)零函數(shù)來(lái)記錄電壓信號(hào)正向過(guò)零次數(shù),并同時(shí)記下讀取數(shù)據(jù)次數(shù),如果取 10個(gè)周期的平均時(shí)間為實(shí)測(cè)周期時(shí)間,那么當(dāng)記到第 11 次正向過(guò)零時(shí),停下來(lái)算出每個(gè)周期內(nèi)讀取數(shù)據(jù)次數(shù),默認(rèn)兩次讀取數(shù)
29、據(jù)的時(shí)間差為 250,便可算出頻率。四硬件電路設(shè)計(jì)四硬件電路設(shè)計(jì)4.14.1 單相電度表的工作原理:?jiǎn)蜗嚯姸缺淼墓ぷ髟恚?(1)前端電路調(diào)理模塊把所輸入的大電壓電流信號(hào)轉(zhuǎn)變成 cs5460 可接受的小電壓信號(hào),以差模電壓或電流的形式輸入進(jìn)去。(2)由 vin+ , vin - 輸入的差模電壓模擬信號(hào)由 模擬數(shù)字轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換,獲得瞬時(shí)電壓,轉(zhuǎn)換后的數(shù)字信號(hào)被送入功率計(jì)算器。由 vin + , vin- 輸入的差模電流模擬信號(hào)同樣由 模擬數(shù)字轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換, 獲得瞬時(shí)電流,轉(zhuǎn)換后的信號(hào)也被送入功率計(jì)算器。 3)cs5460 根據(jù)采樣電路輸入的瞬時(shí)電壓、瞬時(shí)電流計(jì)算出瞬時(shí)功率,然后把瞬時(shí)電壓、瞬
30、時(shí)電流及瞬時(shí)功率由雙向串行接口傳送給單片機(jī) stc89c52。4)單片機(jī)根據(jù)程序指令顯示測(cè)量結(jié)果,也可輸入程序通過(guò)累加計(jì)算出能量。該系統(tǒng)各個(gè)模塊芯片引腳連接情況如下圖所示: cs5460stc89c52 液晶顯示 4.24.2 前端電路調(diào)理模塊前端電路調(diào)理模塊 cs5460 的 iin+,iin-接分流器的兩端 rs 的兩端,借助 rs 測(cè)量流過(guò)負(fù)載的電流。rs 的選取須保證在最大允許電流負(fù)荷下,其采樣電壓值不超過(guò)正負(fù) 150mv。cs5460 的vin+,vin-接由 r1,r2 組成的電阻分壓器 r1 的兩端,將被測(cè)信號(hào)電壓通過(guò)電阻 r1,r2的阻值比不同,將其換算到不超過(guò)正負(fù) 150mv
31、 的電壓范圍內(nèi),從而以差模信號(hào)的形式加到 cs5460 芯片的差模信號(hào)輸入端。本電路圖中取 r1=200,r2=500k,得到其變比系數(shù)為 2500。類(lèi)似,取 rs=110k,將電流以差模電流的形式輸入到 cs5460 芯片中。如圖 4.1所示。 n n l l 圖 4.1 前端電路調(diào)理模塊4.34.3 電能芯片電能芯片 cs5460cs5460 模塊模塊 經(jīng)調(diào)理電路的調(diào)理的電壓信號(hào),電流信號(hào)通過(guò) iin+,iin-,vin+,vin-接口送入電能表芯片 cs5460,芯片被初始化后開(kāi)始工作,電流電壓通道的采樣信號(hào)被片內(nèi)放大器放大,經(jīng)內(nèi)部模數(shù)轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字信號(hào),在通過(guò)高通濾波器消除直流分量,
32、并由計(jì)算引擎計(jì)算出瞬時(shí)功率,在此過(guò)程中也可以算出瞬時(shí)電壓,瞬時(shí)電流,根據(jù)采樣頻率的設(shè)定值可以計(jì)算出電能值,電流有效值,電壓有效值,并將其存入相應(yīng)的寄存器中,然后將單片機(jī)與其相連,從而將芯片寄存器中的電能值,電壓有效值,電流有效值讀出,并送于液晶顯示單片機(jī)與 cs5460 的連接圖如圖 4.1 所示: cs5460cs5460 stc89c52stc89c52 圖 4.1 單片機(jī) stc89c52 與 cs5460 的連接圖4.4 單片機(jī) stc89c52 模塊 本次系統(tǒng)設(shè)計(jì)中采用的是 c52 單片機(jī),是 c51 單片機(jī)的增強(qiáng)版,其引腳及其功能 與 c51 單片機(jī)類(lèi)似,其引腳圖如下所示 stc8
33、9c524.5 液晶顯示模塊 本次設(shè)計(jì)的單相電度表中,單片機(jī)通過(guò)液晶的串口向液晶寄存器寫(xiě)命令,進(jìn)而實(shí)現(xiàn)對(duì)液晶顯示的控制,圖 4.2 是單片機(jī)與液晶模塊連接圖。該模塊用于顯示電壓,電流和功率。通過(guò)讀取顯示的數(shù)值再乘以變比系數(shù)則可以得到被測(cè)器件真實(shí)的電壓,電流和功率值。在本次設(shè)計(jì)系統(tǒng)中 五程序設(shè)計(jì)五程序設(shè)計(jì)5.15.1 單片機(jī)單片機(jī) c51c51 程序設(shè)計(jì)的優(yōu)點(diǎn)程序設(shè)計(jì)的優(yōu)點(diǎn) 因?yàn)楸敬蜗到y(tǒng)設(shè)計(jì)中雖然采用 c52 單片機(jī),但鑒于其二者引腳功能基本一致,故采用 c51 的編程方法即可?,F(xiàn)在有許多可以對(duì) 80c51 單片機(jī)硬件進(jìn)行操作的 c 語(yǔ)言,它們通常統(tǒng)稱(chēng)為 c51。當(dāng)系統(tǒng)規(guī)模較大時(shí),設(shè)計(jì)人員都趨于
34、采用 c 語(yǔ)言,這是因?yàn)?c 語(yǔ)言具有良好的可讀性、易維護(hù)性、可移植性和硬件操作能力。采用 c51 進(jìn)行單片機(jī)應(yīng)用系統(tǒng)的程序開(kāi)發(fā),編譯器能自動(dòng)完成變量的存儲(chǔ)單元的分配,編程者可以專(zhuān)注于應(yīng)用程序的設(shè)計(jì),可以對(duì)常用的接口芯片編寫(xiě)通用的驅(qū)動(dòng)函數(shù),對(duì)常用的功能模塊和算法編寫(xiě)相應(yīng)的函數(shù),可以方便地進(jìn)行信號(hào)處理算法和程序的移植等等,從而加快了單片機(jī)應(yīng)用系統(tǒng)的開(kāi)發(fā)速度。目前,c51 的代碼長(zhǎng)度已經(jīng)達(dá)到了匯編程度水平的 1.2 倍-1.5 倍。當(dāng)代碼長(zhǎng)度超過(guò)4kb 以上時(shí),c51 比匯編語(yǔ)言具有較為明顯的優(yōu)勢(shì)。另外,還可以借助于仿真器,對(duì)應(yīng)用程序的關(guān)鍵代碼進(jìn)一步進(jìn)行優(yōu)化,以減少代碼的長(zhǎng)度,提高運(yùn)行的速度。同時(shí)
35、,由于單片機(jī)生產(chǎn)工藝的發(fā)展,單片機(jī)的運(yùn)行速度和內(nèi)部存儲(chǔ)器容量都有了較大的提高,這些都為 c51 應(yīng)用程序的應(yīng)用創(chuàng)造了更為有利的條件。 5.25.2 程序設(shè)計(jì)思路:程序設(shè)計(jì)思路: stc89c52 的 into 接到 cs5460 的 int 端,當(dāng)有中斷申請(qǐng)時(shí),通過(guò)讀取內(nèi)部狀態(tài)寄存器,以獲得 cs5460 的工作情況,經(jīng)判斷執(zhí)行相應(yīng)的處理程序。5.35.3 cs5460cs5460 驅(qū)動(dòng)程序驅(qū)動(dòng)程序 5.45.4cs5460cs5460的設(shè)置和啟動(dòng)的設(shè)置和啟動(dòng)步驟:1)復(fù)位cs546,對(duì)cs5460的復(fù)位腳發(fā)復(fù)位脈沖,脈沖不少于10ms。2)寫(xiě)同步控制命令字。3)從外部存儲(chǔ)器讀原來(lái)保存的校準(zhǔn)值
36、,并將讀出的值寫(xiě)入相應(yīng)的校準(zhǔn)寄存器。4)寫(xiě)控制寄存器,設(shè)置各寄存器參數(shù)。5)清狀態(tài)寄存器。6)啟動(dòng)cs5460a開(kāi)始轉(zhuǎn)換。7)讀cs5460a的ad轉(zhuǎn)換值或計(jì)算結(jié)果。5.55.5 讀寫(xiě)讀寫(xiě) cs5460cs5460 步驟:1)讀能量寄存器。2)讀電流有效值寄存器。3)讀電壓有效值寄存器。4)讀狀態(tài)寄存器,回寫(xiě)狀態(tài)寄存器。5)設(shè)置中斷。寫(xiě)cs5460void wr5460(uchar command,uchar wh_byte,uchar wm_byte,uchar wl_byte)cs=0;wr5460byte(command);wr5460byte(wh_byte);wr5460byte(w
37、m_byte);wr5460byte(wl_byte);cs=1;寫(xiě)cs5460一個(gè)字節(jié)void wr5460byte(uchar wrbyte)uchar i;for (i=0;i8;i+)sclk=0;if(wrbyte & 0 x80) = 0 x80)sdi=1;else sdi=0;wrbyte=wrbyte 1;sclk=1;sclk=0;sdi=1;讀cs5460 void rd5460(uchar command)cs=0;wr5460byte(command);rh_byte=rd5460byte();rm_byte=rd5460byte();rl_byte=rd54
38、60byte();cs=1;讀cs5460一個(gè)字節(jié)uchar rd5460byte(void)uchar i,val;val=0;for (i=0;i8;i+)val=val1;if(sdo)val=val | 0 x01;if (i=7)sdi=0;else sdi=1;sclk=1;_nop_();sclk=0;_nop_();return(val);5.65.6結(jié)果顯示程序結(jié)果顯示程序步驟:1)將顯示緩存清零。2)初始化單片機(jī)。3)設(shè)置時(shí)鐘。 4)六位數(shù)碼管顯示程序。顯示程序代碼:void display(void) /六位數(shù)碼管顯示程序,disdat是要顯示的內(nèi)容(是09的數(shù)字),xs
39、d是在那一位顯示小數(shù)點(diǎn)uchar i,disa,disb,disc;disb = 0 x00;/顯示第n位for (i=0;i6;i+)/共顯示6個(gè)數(shù)據(jù)disa = disdati; /顯示數(shù)據(jù)if (disa 10)p2 = disb;disc = tabdisa; /顯示段碼if (xsd != 5) & (xsd = i)disc = disc | 0 x80;/增加小數(shù)點(diǎn)顯示p0 = disc;/送顯示delay ();/延時(shí)p0 = 0 x0;disb+;/下一個(gè)要顯示的位置p2 = 0 xff;總 結(jié)cs5460 代表了新一代的電能專(zhuān)用芯片,用它設(shè)計(jì)出來(lái)的專(zhuān)用電度表具有成本
40、低,精度高,調(diào)教簡(jiǎn)單,與微處理器接口方便等優(yōu)點(diǎn),使電量管理者能夠獲得更有用的數(shù)據(jù),且用戶(hù)投入費(fèi)用低,具有廣闊的市場(chǎng)前景。本文所研究的基于 cs5460 的單相電度表測(cè)量系統(tǒng)設(shè)計(jì)就是一個(gè)高精度芯片和單片機(jī)的應(yīng)用。系統(tǒng)以 89c52 單片機(jī)和芯片cs5460 為核心,利用該芯片及外圍電路實(shí)現(xiàn)信號(hào)的模擬-數(shù)字轉(zhuǎn)換和功率計(jì)量,并通過(guò)單片機(jī)的程序設(shè)置很好的完成了數(shù)據(jù)的累加,從而計(jì)算得到總的能量。本系統(tǒng)有兩個(gè)主要模塊組成:第一個(gè)是數(shù)據(jù)采樣及功率的計(jì)算,主要由芯片 cs5460 和外圍電路組成。外圍電路將輸入電壓信號(hào)轉(zhuǎn)換為 cs5460 可以接受的 小電壓信號(hào)。cs5460 則完成電壓信號(hào)的采樣及功率計(jì)算,
41、并將結(jié)果通過(guò)串行接口輸入給單片機(jī)。第二個(gè)是結(jié)果顯示模塊,它主要由單片機(jī)及數(shù)碼管及外圍電路組成。該模塊將第一個(gè)模塊得到的結(jié)果 顯示到數(shù)碼管上,并存入存儲(chǔ)器內(nèi),同時(shí)累計(jì)得到電能,再乘以相應(yīng)的比例系數(shù)則可以得到所測(cè)的真實(shí)值。本設(shè)計(jì)的主要難點(diǎn):1)前端調(diào)理模塊中外圍電路電阻阻值的選取,電阻阻值應(yīng)盡量精確,且阻值的選取應(yīng)很好的滿(mǎn)足 cs5460 對(duì)輸入電壓信號(hào)大小的要求。2)程序的編寫(xiě)。本設(shè)計(jì)中的程序包括芯片 cs5460 的參數(shù)設(shè)置、cs5460 內(nèi)部寄存器的讀寫(xiě),數(shù)碼管顯示函數(shù)等。雖然我們系統(tǒng)的學(xué)習(xí)了,對(duì) 51 系列單片機(jī)有了一定的了解,但在實(shí)驗(yàn)中多數(shù)應(yīng)用匯編語(yǔ)言進(jìn)行程序的編寫(xiě),現(xiàn)在用 c 語(yǔ)言編寫(xiě)
42、程序有一定的困難,最后參考老師所給程序才能很好的完成本次設(shè)計(jì)。謝 辭時(shí)光匆匆飛逝,四年多的努力與付出,本設(shè)計(jì)的完成既為大學(xué)四年劃上了一個(gè)完美的句號(hào),也為將來(lái)的人生之路做了一個(gè)很好的鋪墊。 本設(shè)計(jì)得以完成,要感謝的人實(shí)在太多了,首先要感謝龍海南老師,因?yàn)楸驹O(shè)計(jì)是在龍老師的悉心指導(dǎo)下完成的。龍老師淵博的專(zhuān)業(yè)知識(shí)、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、一絲不茍的作風(fēng)、誨人不倦的高尚師德對(duì)我影響深遠(yuǎn),一直是我工作、學(xué)習(xí)中的榜樣,他的循循善誘的教導(dǎo)和不拘一格的思路也給予了我無(wú)盡的啟迪。在整個(gè)設(shè)計(jì)過(guò)程中,龍老師每星期都定時(shí)與我們交流,聽(tīng)取我們的設(shè)計(jì)進(jìn)展,為我們解答設(shè)計(jì)過(guò)程中遇到的各種問(wèn)題,并安排布置下一步的設(shè)計(jì)任務(wù)。在我做畢業(yè)
43、設(shè)計(jì)的三個(gè)月里,龍老師指導(dǎo)我完成了外文文獻(xiàn)的翻譯、開(kāi)題報(bào)告、中期報(bào)告的撰寫(xiě)等等,每次他都認(rèn)真地給我們修改,指出其中的不當(dāng)之處。龍老師要指導(dǎo)很多同學(xué)的畢業(yè)設(shè)計(jì),加上本來(lái)就有的教學(xué)任務(wù),工作量之大可想而知。三個(gè)多月的畢業(yè)設(shè)計(jì)即將結(jié)束,在龍老師的悉心指導(dǎo)和幫助下,加上我個(gè)人的努力,完成了本課題的設(shè)計(jì)與論文撰寫(xiě)。在完成設(shè)計(jì)的過(guò)程中,我綜合運(yùn)用四年來(lái)所學(xué)的專(zhuān)業(yè)知識(shí),并且翻閱了大量的參考資料。通過(guò)查資料和搜集有關(guān)的文獻(xiàn),培養(yǎng)了我的自學(xué)能力和動(dòng)手能力,并且由原先的被動(dòng)地接受知識(shí)轉(zhuǎn)換為主動(dòng)地尋求知識(shí),這可以說(shuō)是學(xué)習(xí)方法上有了很大的突破。同時(shí),我學(xué)會(huì)了如何將學(xué)到的知識(shí)真正轉(zhuǎn)化為自己的東西,怎么更好地處理理論和實(shí)
44、踐相結(jié)合的問(wèn)題。四年的大學(xué)學(xué)習(xí)生活即將結(jié)束,在論文即將完成之際,向四年來(lái)辛勤培養(yǎng)、教育、關(guān)心和幫助過(guò)我的老師們表示最誠(chéng)摯的敬意和感謝!同時(shí),設(shè)計(jì)的順利完成也離不開(kāi)各位同學(xué)和朋友的關(guān)心和幫助,他們積極的幫助我查資料和提供有利于本設(shè)計(jì)的建議和意見(jiàn),使得本設(shè)計(jì)在一定程度上得到完善。我也從各位同學(xué)身上學(xué)到了很多東西,在此也向他們表示最誠(chéng)摯的謝意!參看文獻(xiàn) 1 李全利,仲偉峰,徐軍單片機(jī)原理及應(yīng)用北京:清華大學(xué)出版社,2006, 2 陳龍三8051 單片機(jī) c 語(yǔ)言控制與應(yīng)用北京:清華大學(xué)出版社,19993 張培仁基于 c 語(yǔ)言編程:mcs-51 單片機(jī)原理與應(yīng)用北京:清華大學(xué)出版社,20034 譚浩強(qiáng)
45、c 語(yǔ)言程序設(shè)計(jì)北京:清華大學(xué)出版社,20005 鄭文,趙偉等,電能自動(dòng)抄表技術(shù)及相關(guān)思考、電測(cè)與儀表【j】 、20016 趙偉,龐海波等,電能表的發(fā)展歷史、電測(cè)和儀表j,19997 劉樂(lè)善,微型計(jì)算機(jī)接口技術(shù)原理及應(yīng)用m,華中理工大學(xué)出版社,19998 付先學(xué),智能電力監(jiān)測(cè)系統(tǒng)設(shè)計(jì)方案j,電測(cè)與儀表,20049 henzinger t, kirsch c, majumdar r, et al. time-safety checking for embedded programes. in proc.of the intl. workshop on embedded software of l
46、ecture notes in computer science, 2002.10 henzinger a thomas, benjamin horowitz, christoph meyer kirsch. embedded control systems development with giotto. the proceedings of the acm workshop on languages, compliers and tools for embedded systems (lctes), 2001.附附 錄錄附錄 1 附錄 2程序源代碼:#pragma db oe#includ
47、e #include #include #include #include #include #define uint unsigned int#define uchar unsigned char#define ulong unsigned longvoid wr5460(uchar command,uchar wh_byte,uchar wm_byte,uchar wl_byte);void rd5460(uchar command); void wr5460byte(uchar wrbyte);uchar rd5460byte(void);void delay(uint n);void
48、initport(void);uchar rh_byte;uchar rm_byte;uchar rl_byte;sbit sclk = p10;sbit sdo = p11;sbit sdi = p12;sbit cs = p13;sbit reset= p14;sbit int= p32;void initport(void)reset=0;/cs5460 復(fù)位delay(100);reset=1;int=1;sdo=1;ea=0;wr5460(0 xff,0 xff,0 xff,0 xfe); /*同步*/wr5460(0 x40,0,0,1); /*配置寄存器*/wr5460(0 x5
49、e,0 xff,0 xff,0 xff); /*清狀態(tài)寄存器*/wr5460(0 x74,0 x80,0 x00,0 x00); /*寫(xiě)中斷屏蔽寄存器*/rd5460(0 x1e); /*讀狀態(tài)寄存器*/wr5460(0 x5e,rh_byte,rm_byte,rl_byte); /*回寫(xiě)狀態(tài)寄存器*/cs=0;wr5460byte(0 xe8); /*啟動(dòng)轉(zhuǎn)換*/ cs=1;/*寫(xiě) cs5460*/void wr5460(uchar command,uchar wh_byte,uchar wm_byte,uchar wl_byte) cs=0;wr5460byte(command);wr54
50、60byte(wh_byte);wr5460byte(wm_byte);wr5460byte(wl_byte);cs=1;/*讀 cs5460*/void rd5460(uchar command)cs=0;wr5460byte(command);rh_byte=rd5460byte();rm_byte=rd5460byte();rl_byte=rd5460byte();cs=1;/*寫(xiě) cs5460 一個(gè)字節(jié)*/void wr5460byte(uchar wrbyte)uchar i;for (i=0;i8;i+)sclk=0;if(wrbyte & 0 x80) = 0 x80)s
51、di=1;else sdi=0;wrbyte=wrbyte 1;sclk=1;sclk=0; sdi=1;/*讀 cs5460 一個(gè)字節(jié)*/uchar rd5460byte(void)uchar i,val;val=0;for (i=0;i8;i+)val=val1;if(sdo)val=val | 0 x01;if (i=7)sdi=0;else sdi=1;sclk=1;_nop_();sclk=0;_nop_();return(val);/*延時(shí)程序 延時(shí)時(shí)間n*15 us*/void delay(uint n)do_nop_();_nop_();_nop_();_nop_(); _no
52、p_(); /5_nop_();_nop_();_nop_();_nop_();_nop_(); /10_nop_();/_nop_();/_nop_();n-;while (n);#pragma db oe#include #include #include #include #include #include #define uint unsigned int#define uchar unsigned char#define ulong unsigned longextern void yj_init(void);extern void yj_clrtext(void);extern v
53、oid yj_clrgraph(void);extern void dishz(uchar x,uchar y,uchar *a);extern void dishzf(uchar x,uchar y,uchar *a);extern void diszf(uchar x,uchar y,char a);extern void diszff(uchar x,uchar y,char a);/extern void yj_lines(uchar x,uchar y,uchar cd,uchar zx);extern void yj_lineh(uchar x,uchar y,uchar cd,u
54、char zx);extern void yj_clxy(uchar x,uchar y,uchar cd,uchar kd);extern void yj_hz2424(uchar x,uchar y,uchar cod); extern void wr5460(uchar command,uchar wh_byte,uchar wm_byte,uchar wl_byte);extern void rd5460(uchar command);extern void wr5460byte(uchar wrbyte);extern uchar rd5460byte(void);extern vo
55、id delay(uint n);extern void initport(void);extern uchar rh_byte;extern uchar rm_byte;extern uchar rl_byte;void initsiu(void);void hm0(void);void cjdat(void);void hm1(void);uchar pyg_h,pyg_m,pyg_l;uchar irms_h,irms_m,irms_l;uchar vrms_h,vrms_m,vrms_l;float xdata pyg,irms,vrms;uchar xdata zfbuf20;uch
56、ar xdata recbuf100;uchar mljsw,rspoint;union dualchar auc4;long ans;union dual var;sbit intcs= p32;main() uchar j; initsiu();initport();/*端口初始化*/yj_init();hm0(); docjdat();hm1();while (1);void cjdat(void)_nop_();while (intcs !=0);rd5460(0 x14);pyg_h=rh_byte;pyg_m=rm_byte;pyg_l=rl_byte; /*讀能量寄存器*/rd5
57、460(0 x16); irms_h=rh_byte;irms_m=rm_byte;irms_l=rl_byte; /*讀電流有效值寄存器*/rd5460(0 x18); vrms_h=rh_byte;vrms_m=rm_byte;vrms_l=rl_byte; /*讀電壓有效值寄存器*/rd5460(0 x1e); /*讀狀態(tài)寄存器*/wr5460(0 x5e,rh_byte,rm_byte,rl_byte);/*回寫(xiě)狀態(tài)寄存器*/_nop_();if (pyg_h & 0 x80)var.auc0=0 xff; /*判斷正、負(fù)*/elsevar.auc0=0 x0; var.auc
58、1=pyg_h;var.auc2=pyg_m;var.auc3=pyg_l;pyg=var.ans*7.437e-9; var.auc0=0 x0;var.auc1=irms_h; var.auc2=irms_m;var.auc3=irms_l;irms=var.ans*1.49e-5;var.auc0=0 x0;var.auc1=vrms_h;var.auc2=vrms_m;var.auc3=vrms_l;vrms=var.ans*1.49e-5;_nop_();void hm0(void)uchar i;yj_clrtext(); yj_clrgraph(); yj_lineh(0,18,
59、30,0 xff); dishz(0,0,cs5460 test); dishz(3,21,p); dishz(20,21,w); dishz(3,42,vrms); dishz(20,42,mv); dishz(3,63,irms); dishz(20,63,ma); /dishz(11,42,uv);yj_lineh(0,100,30,0 xff); _nop_();void hm1(void)uchar i;sprintf(zfbuf,%7.5f,pyg);dishz(9,21,zfbuf);sprintf(zfbuf,%7.5f,vrms);dishz(9,42,zfbuf);spri
60、ntf(zfbuf,%7.5f,irms);dishz(9,63,zfbuf); void initsiu(void)scon=0x50;/*串行口工作在方式 1*/t2con=0x34;/*用定時(shí)器 2 作為波特率發(fā)生器,并啟動(dòng)他*/rcap2h=0xff;/*設(shè)置波特率為 9600*/rcap2l=0xd9;tmod=0 x11;/*定時(shí)計(jì)數(shù)器方式 t1 & t2 為 1,16 位定時(shí)計(jì)數(shù)器*/et0=0;/*允許 t0 溢出中斷*/th0=0x3c;/*定時(shí)器 1 每 50ms 中斷一次*/tl0=0xb0;tr0=0;/*暫時(shí)不開(kāi)啟定時(shí)器 1 中斷*/pcon=0;/*/et2=0;/*禁止定時(shí)器 2 溢出中斷,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 4000噸年無(wú)機(jī)碘化物生產(chǎn)項(xiàng)目可行性研究報(bào)告寫(xiě)作模板-申批備案
- 2025年全球及中國(guó)3-氨基苯磺酸行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球噪聲緩解系統(tǒng)行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國(guó)膀胱沖洗器行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球多層雙向穿梭車(chē)行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025-2030全球斗提機(jī)畚斗行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025-2030全球汽車(chē)雙面膠帶行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025-2030全球單立柱電動(dòng)堆垛機(jī)行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025-2030全球柔印機(jī)網(wǎng)紋輥行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025-2030全球3-溴-4-氟苯甲酸行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- Unit 7 第3課時(shí) Section A (Grammar Focus -4c)(導(dǎo)學(xué)案)-【上好課】2022-2023學(xué)年八年級(jí)英語(yǔ)下冊(cè)同步備課系列(人教新目標(biāo)Go For It!)
- 2025年上半年長(zhǎng)沙市公安局招考警務(wù)輔助人員(500名)易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025河北邯鄲世紀(jì)建設(shè)投資集團(tuán)招聘專(zhuān)業(yè)技術(shù)人才30人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 慈溪高一期末數(shù)學(xué)試卷
- 《基于新課程標(biāo)準(zhǔn)的初中數(shù)學(xué)課堂教學(xué)評(píng)價(jià)研究》
- 貴州省黔東南州2024年七年級(jí)上學(xué)期數(shù)學(xué)期末考試試卷【附答案】
- 醫(yī)院廉潔自律承諾書(shū)
- 胚胎移植術(shù)前術(shù)后護(hù)理
- 企業(yè)招聘技巧培訓(xùn)
- 學(xué)校校本課程《英文電影鑒賞》文本
- 華為HCSA-Presales-IT售前認(rèn)證備考試題及答案
評(píng)論
0/150
提交評(píng)論