基于STC12LE5A60S2的低壓電能表檢測儀畢業(yè)論文_第1頁
基于STC12LE5A60S2的低壓電能表檢測儀畢業(yè)論文_第2頁
基于STC12LE5A60S2的低壓電能表檢測儀畢業(yè)論文_第3頁
基于STC12LE5A60S2的低壓電能表檢測儀畢業(yè)論文_第4頁
基于STC12LE5A60S2的低壓電能表檢測儀畢業(yè)論文_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 目錄1 引言11.1 研究背景11.2 研究現(xiàn)狀12 總體設(shè)計(jì)方案22.1 技術(shù)要求22.2 方案論證33 硬件電路設(shè)計(jì)43.1 單片機(jī)的選擇與外圍電路設(shè)計(jì)43.2 電流互感器的選擇與連接73.3 電能計(jì)量芯片的選擇73.4 LCD顯示接口電路設(shè)計(jì)123.5 鍵盤接口電路設(shè)計(jì)133.6 電源電路設(shè)計(jì)154 軟件設(shè)計(jì)154.1 主程序設(shè)計(jì)主程序的主要功能164.2 中斷服務(wù)程序設(shè)計(jì)174.3 LCD1602程序設(shè)計(jì)194.4 CS5490程序設(shè)計(jì)214.5 鍵盤掃描程序設(shè)計(jì)27結(jié)論29致30附錄:電路原理圖321 引言1.1 研究背景隨著社會(huì)的發(fā)展,人們的生活水平不斷提高,家用電器越來越普與,

2、人人用電、家家用電,使用電量大大增加。同時(shí)即將實(shí)行的分段電費(fèi)計(jì)費(fèi)制,將使用電大戶的電費(fèi)支出大幅度地增長,各種各樣的竊電行為不可避免,對此,供電部門采取多種方法對用戶的電能表進(jìn)行定期校驗(yàn)或不定期的抽查。通常校驗(yàn)用戶電能表的方法為:1.1.1、使用鉗形電流表和秒表,現(xiàn)場檢測電能表:用秒表實(shí)測電能表每轉(zhuǎn)時(shí)間T1;查看電能表上標(biāo)明的參數(shù),算出電能表每轉(zhuǎn)一轉(zhuǎn)所需的電能,然后用鉗形電流表測量電流求出有功功率,電能表每轉(zhuǎn)1轉(zhuǎn)所需電能與有功功率之比得到的時(shí)間即為電能表每轉(zhuǎn)所需時(shí)間T2。通過T1與T2的比較,就可以判斷電能表是否正常工作,從而達(dá)到檢測目的。但這種方法的誤差很大,主要產(chǎn)生自秒表的掐表誤差。1.1.

3、2、通過檢驗(yàn)電能表的外觀,確定電能表有無破壞痕跡。這種方法包括:1) 檢查電能表外殼、封鉛與封條是否完好,外殼是否有變形、微小孔洞與鐵絲等;2) 檢查電能表接線盒是否封閉完好,進(jìn)出線是否緊固,電壓連接片是否壓緊。3)核對電能表銘牌上的型號、出廠編號與所計(jì)量負(fù)荷性質(zhì)等是否與抄表卡一樣,若不符即有竊電行為。1.1.3、在被測電能表電路中接入標(biāo)準(zhǔn)電能表,然后對被測表和標(biāo)準(zhǔn)表同時(shí)采樣進(jìn)行比對。1.1.4、采用專門的檢測儀器對電能表進(jìn)行校驗(yàn)。這種方法分為兩種形式,一種方法是將電能表從供電線路上拆下,利用實(shí)驗(yàn)室的電能表校驗(yàn)臺(tái)對電能表進(jìn)行校驗(yàn),另一種方法是不拆下電能表,利用電能表現(xiàn)場檢測儀器對電能表進(jìn)行現(xiàn)場

4、校驗(yàn)。電能表的現(xiàn)場檢驗(yàn)因不影響用戶用電而被供電部門廣泛采用,隨著電子技術(shù)的發(fā)展,供電部門迫切需要一種攜帶方便,操作簡單,計(jì)量準(zhǔn)確的單項(xiàng)電表檢測儀,用于用戶低壓電能表的現(xiàn)場檢驗(yàn)。1.2 研究現(xiàn)狀電能表的校驗(yàn)是否準(zhǔn)確,取決于有功功率的測量是否準(zhǔn)確,有功功率的測量屬于電氣測量疇,在電氣測量方面,國外已有大量的研究成果,就測量方法和采用的技術(shù)手段綜述如下。采用的技術(shù)手段上,一是采用微機(jī)加數(shù)據(jù)采集卡,二是采用微處理器結(jié)合自行設(shè)計(jì)的數(shù)據(jù)采集通道。在互感器的選擇上,一是在供電電路中接入固定式的電壓互感器和電流互感器。二是電壓互感器采用固定式,接線端使用線夾,電流互感器采用鉗形互感器6。固定式互感器中磁路是封

5、閉的,因而具有較好的線形和較小的相移,可以得到較高的精度。但需要停電接線,不便于現(xiàn)場檢測。電壓互感器采用固定式,接線端使用線夾,電流互感器采用鉗形互感器,現(xiàn)場不用接線。固定式互感器的優(yōu)點(diǎn)是顯而易見的,采用線夾后可直接加在供電線路的母線上,避免了現(xiàn)場檢測需要停電接線的麻煩。但鉗形電流互感器的接觸面存在空氣間隙,使互感器磁路的磁阻顯著增大,且隨工況不同呈現(xiàn)非線形,使互感器的線形變差,且相移較大,給功率因數(shù)的測量帶來影響,為了彌補(bǔ)這一缺陷,對結(jié)果采用分段線性化處理,可以提高測量精度。在有功功率的測量方面,一是采用有效值轉(zhuǎn)換,分別測量出電壓、電流和功率因數(shù),利用微處理器計(jì)算出功率;二是采用有功功率專用

6、測量集成電路,直接測量出有功功率;三是利用各種電量的傳感器,測量出電壓、電流、功率因數(shù)或直接測量有功功率。采用專用電能計(jì)量芯片,直接測量出有功功率,測量方便,硬件電路簡單,軟件開銷小。2 總體設(shè)計(jì)方案2.1 技術(shù)要求由于目前使用的低壓電能表多為電子式電能表,機(jī)械式電能表基本已淘汰,所以本設(shè)計(jì)以電子式電能表為檢測對象。本設(shè)計(jì)以STC公司的MCU為核心,采用電流互感器與電能計(jì)量專用芯片對電能進(jìn)行實(shí)時(shí)計(jì)量,計(jì)算出被測電能表的誤差,檢驗(yàn)電能表計(jì)量的準(zhǔn)確性。具體要求如下:(1).電量測量圍:電壓220VAC,電流040A,單相;(2).檢驗(yàn)對象:電子式電能表;(3).測量誤差:0.5%FS;(4).測量

7、方式:不拆線不斷電;(5).方便野外使用,強(qiáng)下可清晰顯示;(6).220VAC供電。2.2 方案論證按照上述技術(shù)要求,系統(tǒng)由電流電壓互感器、有功功率測量芯片、單片機(jī)、顯示器、鍵盤和SD卡幾部分組成。系統(tǒng)組成圖如圖2.1所示。圖2.1系統(tǒng)組成圖利用互感器將供電電路的電壓、電流轉(zhuǎn)換為弱電信號,單片機(jī)通過有功功率測量芯片對電參數(shù)進(jìn)行實(shí)時(shí)采集并計(jì)算出電能,通過與被測電能表的顯示進(jìn)行比對,從而計(jì)算出被測電能表的相對誤差。2.2.1互感器方案一:在供電電路中接入固定式的電壓互感器和電流互感器。固定式互感器中磁路是封閉的,因而具有較好的線形和較小的相移,可以得到較高的精度。但需要停電接線,不便于現(xiàn)場檢測。方

8、案二:電壓采樣使用線夾,電流采樣使用鉗形電流互感器,現(xiàn)場不接線。線夾可直接加在供電線路的母線上,避免了現(xiàn)場檢測需要停電接線的麻煩。但鉗形電流互感器的接觸面存在空氣間隙,使互感器磁路的磁阻顯著增大,且隨工況不同呈現(xiàn)一定的非線形,使互感器的線形變差,且相移較大,給功率因數(shù)的測量帶來影響。綜上分析,結(jié)合低壓電能表進(jìn)行現(xiàn)場檢驗(yàn)的特點(diǎn),確定采用方案二。2.2.2有功功率測量通道方案一:采用有功功率專用測量集成電路。專用電能計(jì)量芯片,直接測量出有功功率。測量方便,硬件電路簡單,軟件開銷小。方案二:采用有效值轉(zhuǎn)換電路,分別測量出電壓、電流和功率因數(shù),利用微處理器計(jì)算出功率。便于對鉗形互感器帶來的相移進(jìn)行修正

9、或補(bǔ)償,但硬件電路較為繁瑣,軟件開銷大。綜上分析,確定采用方案一,有功功率測量通道由既是專用電能計(jì)量芯片。2.2.3顯示器方案一:采用LED數(shù)碼管顯示器。傳統(tǒng)的數(shù)碼管具有:低功耗、低損耗、低壓、壽命長、耐老化、防曬、防潮、防火、防高(低)溫,對外界環(huán)境要求低,易于維護(hù),同時(shí)其精度要求比較高,顯示速度快,精確可靠,操作簡單。數(shù)碼管是采用BCD編碼顯示數(shù)字,程序編譯容易,資源占用較少。方案二:使用LCD液晶顯示器。液晶顯示器具有輕薄短小、超低耗電量、無輻射危險(xiǎn),平面直角顯示以與影像穩(wěn)定不閃爍等優(yōu)勢,可視面積大,畫面效果好,分辨率高,抗干擾能力強(qiáng)等優(yōu)點(diǎn)。LCD符合本設(shè)計(jì)系統(tǒng)的要求,利用其自帶的字符庫

10、,進(jìn)行編程還可以實(shí)現(xiàn)各信息的顯示,即節(jié)省資源又省去了大量編程任務(wù),且在強(qiáng)光照射下的戶外進(jìn)行檢測時(shí),LCD可清晰地顯示數(shù)值。綜上分析,本設(shè)計(jì)系統(tǒng)采用方案二。3 硬件電路設(shè)計(jì)3.1 單片機(jī)的選擇與外圍電路設(shè)計(jì)3.1.1單片機(jī)的選擇本系統(tǒng)主要從編程方式,IO口數(shù)量,功耗等方面選擇MCU。編程方式簡潔,硬件投資小,與PC連接方式簡單。IO口分配:電量測量芯片6個(gè),鍵盤8個(gè),RS232接口2個(gè),并口1602LCD 11個(gè)。共需至少27個(gè)IO口。目前8位單片機(jī)已有百十個(gè)系列,上千個(gè)種類,市場上可見到的如Intel公司的MCS-51系列產(chǎn)品,Motorola公司的6800、68000系列產(chǎn)品,Zilog公司

11、的Z8、Supper8、Z86系列產(chǎn)品,Rockwell公司的6500系列產(chǎn)品,Philips公司的80C51系列產(chǎn)品,Microchip公司的PIC系列,Ateml公司的AT89、AVR系列,華邦公司、松下公司、三星公司、國產(chǎn)的STC等等?;谝陨戏治觯驹O(shè)計(jì)采用STC公司的STC12LE5A60S2可以滿足設(shè)計(jì)要求。3.1.2 STC系列單片機(jī)STC12LE5A60S2的簡介STC12LE5A60S2單片機(jī)是STC宏晶科技(.stcmcu.)生產(chǎn)的單時(shí)鐘/機(jī)器周期(1T)的單片機(jī),是高速/低功耗/超強(qiáng)抗干擾的新一代8051單片機(jī),指令代碼完全兼容傳統(tǒng)8051,但速度快8-12倍。部集成MA

12、X810專用復(fù)位電路,2路PWM,8路高速10位A/D轉(zhuǎn)換(250K/S),針對電機(jī)控制,強(qiáng)干擾場合。3.1.3功能特性概述1.增強(qiáng)型8051 CPU,1T,單時(shí)鐘/機(jī)器周期,指令代碼完全兼容傳統(tǒng)80512.工作電壓: 5.5V- 3.3V(5V單片機(jī))3.工作頻率圍:0 - 35MHz,相當(dāng)于普通8051的 0420MHz4.用戶應(yīng)用程序空間62K字節(jié)5.片上集成1280字節(jié)RAM6.通用I/O口(36/40/44個(gè)),復(fù)位后為:準(zhǔn)雙向口/弱上拉(普通8051傳統(tǒng)I/O口),可設(shè)置成四種模式:準(zhǔn)雙向口/弱上拉,推挽/強(qiáng)上拉,僅為輸入/高阻,開漏 每個(gè)I/O口驅(qū)動(dòng)能力均可達(dá)到20mA,但整個(gè)芯

13、片最大不要超過55mA7. ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無需專用編程器,無需專用仿真器 可通過串口(P3.0/P3.1)直接下載用戶程序,數(shù)秒即可完成一片8.有EEPROM功能9. 看門狗10.部集成MAX810專用復(fù)位電路(外部晶體12M以下時(shí),復(fù)位腳可直接1K電阻到地)11.外部掉電檢測電路:在P4.6口有一個(gè)低壓門檻比較器,5V單片機(jī)為1.32V,誤差為+/-5%12.時(shí)鐘源:外部高精度晶體/時(shí)鐘,部R/C振蕩器(溫漂為+/-5%到+/-10%以) 1用戶在下載用戶程序時(shí),可選擇是使用部R/C振蕩器還是外部晶體/時(shí)鐘13.共4個(gè)16位定時(shí)器:兩個(gè)與傳統(tǒng)8051兼容的定

14、時(shí)器/計(jì)數(shù)器,16位定時(shí)器T0和T1,沒有定時(shí)器2,但有獨(dú)立波特率發(fā)生器做串行通訊的波特率發(fā)生器再加上2路PCA模塊可再實(shí)現(xiàn)2個(gè)16位定時(shí)器14. 2個(gè)時(shí)鐘輸出口,可由T0的溢出在P3.4/T0輸出時(shí)鐘,可由T1的溢出在P3.5/T1輸出時(shí)鐘15.外部中斷I/O口7路,傳統(tǒng)的下降沿中斷或低電平觸發(fā)中斷,并新增支持上升沿中斷的PCA模塊,Power Down模式可由外部中斷喚醒,INT0/P3.2,INT1/P3.3,T0/P3.4, T1/P3.5,RxD/P3.0,CCP0/P1.3(也可通過寄存器設(shè)置到P4.2 ),CCP1/P1.4 (也可通過寄存器設(shè)置到P4.3)16. PWM(2路)

15、/PCA(可編程計(jì)數(shù)器陣列,2路) -也可用來當(dāng)2路D/A使用 -也可用來再實(shí)現(xiàn)2個(gè)定時(shí)器 -也可用來再實(shí)現(xiàn)2個(gè)外部中斷(上升沿中斷/下降沿中斷均可分別或同時(shí)支持)17.A/D轉(zhuǎn)換, 10位精度ADC,共8路,轉(zhuǎn)換速度可達(dá)250K/S(每秒鐘25萬次)18.通用全雙工異步串行口(UART),由于STC12系列是高速的8051,可再用定時(shí)器或PCA軟件實(shí)現(xiàn)多串口19. STC12LE5A60S2系列有雙串口,后綴有S2標(biāo)志的才有雙串口,RxD2/P1.2(可通過寄存器設(shè)置到P4.2),TxD2/P1.3(可通過寄存器設(shè)置到P4.3)20.工作溫度圍:-40 - +85(工業(yè)級) / 0 - 75

16、(商業(yè)級)21.封裝:PDIP-40,LQFP-44,LQFP-48 I/O口不夠時(shí),可用2到3根普通I/O口線外接 74HC164/165/595(均可級聯(lián))來擴(kuò)展I/O口, 還可用A/D做按鍵掃描來節(jié)省I/O口,或用雙CPU,三線通信,還多了串口。3.1.4單片機(jī)外圍電路設(shè)計(jì)本設(shè)計(jì)選擇STC12LE5A60S2的外部時(shí)鐘方式,在引腳XTAL1和XTAL2兩端跨接11.0592MHz晶體,以方便和PC編程和采集測量數(shù)據(jù)。復(fù)位采用片復(fù)位電路,外接一個(gè)1K下拉電阻。單片機(jī)外圍電路如圖3.1圖3.1 單片機(jī)STC12LE5A60S2外圍電路設(shè)計(jì)圖3.2 電流互感器的選擇與連接3.2.1 電流互感器

17、的選擇在測量中,一般規(guī)定它的二次繞組的額定電流為5A。其主要特點(diǎn)是:它的一次繞組的匝數(shù)比二次繞組少得多,并且串于一次電路中。有些電流互感器僅有鐵芯和二次繞組,測量時(shí)將被測電路的導(dǎo)線直接穿過鐵芯。這些電流互感器稱為穿心式互感器。一次繞組中的電流幾完全取決于一次電路中的負(fù)載電流,而與二次側(cè)無關(guān)。電流互感器有固定式與鉗形供電互感器幾種。在供電電路中接入固定式的電流互感器,其優(yōu)點(diǎn)是固定式互感器中磁路是封閉的,因而具有較好的線形和較小的相移,可以得到較高的精度,但需要停電穿線,不便于現(xiàn)場檢測。若采用鉗形互感器,則現(xiàn)場不用停電接線,避免了現(xiàn)場檢測需要停電接線的麻煩。考慮到方便檢測這一要求,可選擇鉗形電流互

18、感器。本設(shè)計(jì)中,采用元星電子()生產(chǎn)的CTC0080N鉗形電流互感器,外型如圖3.6所示。圖3.2 CTC0080N鉗形電流互感器3.2.2 電流互感器主要參數(shù)1) 一次電流: 1-50A;2) 匝比: 1:1000,1:2000,1:2500;3) 等級: 0.1級;4) 負(fù)載: 50。5) 頻率: 50-400Hz3.3 電能計(jì)量芯片的選擇CS5490是Cirrus Logic公司(.cirrus.)新近推出的帶有RS232接口的單相雙通道電能計(jì)量芯片。3.3.1 CS5490芯片有如下功能特點(diǎn)(1) 在4000:1動(dòng)態(tài)圍,有功和無功電能的測量精度都為0.1%。(2) 具有兩個(gè)獨(dú)立通道24

19、位-的AD轉(zhuǎn)換器,可精確測量瞬時(shí)電壓、電流、功率以與電壓、電流有效值。(3) 計(jì)算視在、有功和無功功率,基波有功、諧波功率和功率因數(shù)。(4) 具有瞬時(shí)電流、瞬時(shí)電壓、瞬時(shí)功率、電流有效值、電壓有效值、功率有效值測量與電能計(jì)量功能;(5) 具有片看門狗定時(shí)器(Watch Dog Timer)與部電源監(jiān)視器;(6) 提供了外部復(fù)位引腳;(7) 帶有溫度傳感器;(8) RS232串行接口與部寄存器陣列可以方便地與單片機(jī)相連接;(9) 低能耗13mW。(10) 具有功率方向輸出指示。(11) 極高的信噪比和超低的噪聲。(12) 簡單的2線RS232串行接口。3.3.2 基本結(jié)構(gòu)與技術(shù)指標(biāo)(1) 部結(jié)構(gòu)

20、CS5490部集成了兩個(gè)-A/D轉(zhuǎn)換器、高、低通數(shù)字濾波器、能量計(jì)算單元、串行接口、數(shù)字-頻率轉(zhuǎn)換器、寄存器陣列和看門狗定時(shí)器等模擬、數(shù)字信號處理單元。CS5463 的部結(jié)構(gòu)框圖如圖3.3所示,圖3.3 CS5490芯片結(jié)構(gòu)框圖它由2個(gè)放大器、2個(gè)-調(diào)制器、配套的高速濾波器、功率計(jì)算引擎、偏置和增益校正、功率監(jiān)測、串行接口與相應(yīng)功能寄存器等組成。2個(gè)可編程放大器采集電壓和電流數(shù)據(jù),-調(diào)制器對模擬量采樣處理,高速數(shù)字低通或可選的高通濾波器濾取可用電壓電流數(shù)字信號,功率計(jì)算引擎計(jì)算各類型的功率、電壓、電流,并將計(jì)算的功率值通過RS232接口對外輸出,也可以接微控制器。該電路還有可編程數(shù)字輸出信號。

21、(2) 引腳排列與功能CS5490的引腳排列如圖3.4所示。圖3.4 CS5490芯片引腳排列圖XOUT(Pin 1):晶體振蕩器輸出;XIN(Pin 2):晶體振蕩器輸入。 RESET(Pin 3):復(fù)位輸入;IIN-(Pin 4):差分電流負(fù)輸入端;IIN+(Pin 5):差分電流正輸入端;VIN+(Pin 6):差分電壓正輸入端;VIN-(Pin 7):差分電壓負(fù)輸入端;VREFIN(Pin 8):參考電壓輸入;VREFOUT(Pin 9):參考電壓輸出;GNDA(Pin 10):模擬地電源;VDDA(Pin 11):模擬電路電源正極;DO(Pin 12):數(shù)據(jù)輸出;TX(Pin 13)

22、:串行232發(fā)送;RX(Pin 14):串行232接收;MODE(Pin 15):操作模式選擇;VDDD(Pin 16):數(shù)字電路電源正極; 3.3.3 串行接口與其操作(1) 串行接口CS5490的RS232串行口包括2條控制線:TX/RX,可以直接連接到STC12LE5A60S2的第二串口。串行口的默認(rèn)波特率為600,可以通過設(shè)置串口控制寄存器來改變波特率。CS5490可以通過RS232接口接收單片機(jī)的4種命令:讀寄存器操作、寫寄存器操作、寄存器頁選擇操作、指令操作。 (2) 部寄存器CS5490共有64頁,每頁64個(gè)地址的寄存器。其地址設(shè)定為12Bit,高6位為頁碼,低6位為該頁的地址碼

23、: P5P4P3P2P1P0A5A4A3A2A1A0。 (3)命令解釋與操作寄存器頁選擇操作:10 P5P4P3P2P1P0;讀寄存器操作:00 A5A4A3A2A1A0,CS5490回傳3個(gè)字節(jié)的數(shù)據(jù);寫寄存器操作:01 A5A4A3A2A1A0+DATA2+DATA1+DATA0;指令操作:11 C5C4C3C2C1C0 (4) CS5490與STC12LE5A60S2的連接電路如圖3.5所示。圖3.5CS5490與STC12LE5A60S2的連接電路3.3.4 電源線接口的設(shè)計(jì)VIN通過電阻直接夾到L和N,IIN通過互感器CT卡在Line導(dǎo)線上。電源檢測輸入電路如圖3.6。CS5490端

24、口的最大輸入電壓為250mVp 。圖3.6CS5490的電源檢測電路3.3.5 常用寄存器定義串口控制寄存器:PAGE:0,ADDRESS:7,DEFAULT:02004DH有功功率寄(Pavg)存器:PAGE:16,ADDRESS:5,DEFAULT:000000H電流有效值(Irms)寄存器:PAGE:16,ADDRESS:6,DEFAULT:000000H電壓有效值(Vrms)寄存器:PAGE:16,ADDRESS:7,DEFAULT:000000H無功功率(Qavg)寄存器:PAGE:16,ADDRESS:14,DEFAULT:000000H電流峰值(Ipeak)寄存器:PAGE:0,

25、ADDRESS:37,DEFAULT:000000H電壓峰值(Vpeak)寄存器:PAGE:0,ADDRESS:36,DEFAULT:000000H視在功率(S)寄存器:PAGE:16,ADDRESS:20,DEFAULT:000000H功率因數(shù)(PF)寄存器:PAGE:16,ADDRESS:21,DEFAULT:000000H實(shí)時(shí)溫度(Temp)寄存器:PAGE:16,ADDRESS:27,DEFAULT:000000H總有功功率(Psum)寄存器:PAGE:16,ADDRESS:29,DEFAULT:000000H總視在功率(Ssum)寄存器:PAGE:16,ADDRESS:30,DEFA

26、ULT:000000H總無功功率(Qsum)寄存器:PAGE:16,ADDRESS:31,DEFAULT:000000H電流增益寄存器:PAGE:16,ADDRESS:33,DEFAULT:1.0電壓增益寄存器:PAGE:16,ADDRESS:35,DEFAULT:1.03.4 LCD顯示接口電路設(shè)計(jì)3.4.1 LCD顯示器的選擇LCD一般分為3類,即段碼型液晶模塊、點(diǎn)陣字符液晶模塊、點(diǎn)陣圖形液晶模塊。本系統(tǒng)選擇LCD1602液晶顯示模塊,它可以顯示兩行,每行16個(gè)字符,采用3V3電源供電,外圍電路配置簡單,價(jià)格便宜,具有較高的性價(jià)比,很長的壽命。LCD的控制方法如表3.1所示。表3.1 LC

27、D602的控制表RSR/WEDB0-DB7功能00下降沿輸入寫指令代碼011輸出讀標(biāo)志和AC碼10下降沿輸入寫數(shù)據(jù)111輸出讀數(shù)據(jù)主要管腳介紹:V0:液晶顯示器對比度調(diào)整端,接正電源時(shí)對比度最弱,接地時(shí)對比度最高。RS:寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器;低電平時(shí)選擇指令寄存器。R/W:讀寫信號線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)RS和R/W共同為低電平時(shí)可以寫入指令或者顯示地址;當(dāng)RS為高電平R/W為低電平時(shí)可以寫入數(shù)據(jù)。E:使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。LCD1602的操作指令共11條,如表3.2表3.2 LCD602的操作指令表3.4.2 顯示器接口電

28、路設(shè)計(jì)LCD12864在設(shè)計(jì)時(shí)采用3.3V的驅(qū)動(dòng)電源電壓。通過顯示屏幕,將所測得的各種數(shù)據(jù)顯示出來。LCD1602顯示接口電路設(shè)計(jì)如圖3.7所示。圖3.7 LCD1602顯示接口電路3.5 鍵盤接口電路設(shè)計(jì)3.5.1 鍵盤的數(shù)目與功能確定在該應(yīng)用系統(tǒng)中,具有人機(jī)對話功能。它包括人對應(yīng)用系統(tǒng)狀態(tài)的干預(yù)、數(shù)據(jù)的輸入以與應(yīng)用系統(tǒng)向人報(bào)告運(yùn)行狀態(tài)與運(yùn)行結(jié)果。鍵盤電路的設(shè)計(jì)應(yīng)使CPU不僅能識(shí)別是否有鍵按下,還要能識(shí)別是哪一個(gè)鍵按下,而且能把此鍵所代表的信息翻譯成計(jì)算機(jī)所能接受的形式,計(jì)算機(jī)所用的鍵盤有編碼鍵盤和非編碼鍵盤兩種。編碼鍵盤能夠由硬件邏輯自動(dòng)提供與按鍵對應(yīng)的編碼。本系統(tǒng)選擇4*4的矩陣式鍵盤,

29、該鍵盤一部分為數(shù)字按鍵,另一部分為功能按鍵。為了識(shí)別鍵盤上的閉合鍵,常用的鍵碼識(shí)別方法有行掃描法、行反轉(zhuǎn)法與行列掃描法等。本設(shè)計(jì)采用行掃描方法。行掃描法又稱為逐行(或列)掃描查詢法,是一種最常用的按鍵識(shí)別方法,行掃描法識(shí)別按鍵的基本原理是:先將所有的行線置0,讀列線的值,若此時(shí)列線上的值全為1,說明無鍵按下。若有某位為0,則說明對應(yīng)這一列上有鍵按下,這時(shí)改變行掃描碼,使行線逐行為0,依次掃描。當(dāng)讀到某一列線的值為0時(shí),就可根據(jù)此時(shí)的行掃描碼和列線的值唯一地確定按鍵的位置,同時(shí)也就確定了該鍵的掃描碼。3.5.2 鍵盤電路設(shè)計(jì)在鍵盤中按鍵數(shù)量較多時(shí),為了減少I/O口的占用,通常將按鍵排列成矩陣形式

30、,如圖3.8所示。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個(gè)按鍵開關(guān)加以連接。這樣,一個(gè)8IO口就可以構(gòu)成4*4=16個(gè)按鍵。并且列線通過部上拉電阻接1,而將行線所接的單片機(jī)的I/O口作為輸出0端,列線所接的I/O口作為輸入。如果所有的8個(gè)端口都是高電平,則表示沒有按鍵開關(guān)按下;一旦有鍵按下,則輸入線就會(huì)被拉低,這樣,通過讀入P2口的狀態(tài)就可得知是否有鍵按下了。圖3.8 矩陣式鍵盤此矩陣式鍵盤根據(jù)設(shè)計(jì)要求,設(shè)置了功能鍵與數(shù)字鍵。功能鍵主要是啟動(dòng)鍵、手動(dòng)按鍵、自動(dòng)按鍵。啟動(dòng)按鍵要單片機(jī)處于待命狀態(tài);手動(dòng)按鍵要人自己控制時(shí)間,計(jì)算出誤差值;自動(dòng)按鍵在設(shè)定時(shí)間完成誤差計(jì)算。數(shù)

31、字鍵用于所測電能表型號選擇。各按鍵所代表的具體功能如下:S1S10:數(shù)字鍵;S11:啟動(dòng)測量鍵;S12:停止測量鍵;S13:確認(rèn)鍵; S14:功能鍵;S15:參數(shù)查看鍵;S16:被測表數(shù)據(jù)輸入鍵。3.6 電源電路設(shè)計(jì)本系統(tǒng)使用的是3.3V直流電源,供MCU、CS5490、LCD1602等電路使用。如圖3.9所示電路為輸出電壓+3.3V的穩(wěn)壓電源。它由電源變壓器B,橋式整流電路D1D4,濾波電容C1、C3,防止自激電容C2、C4和一只固定式三端穩(wěn)壓器(1117-3.3)。220V交流市電通過電源變壓器變換成交流低壓,再經(jīng)過橋式整流電路D1D4和濾波電容C1的整流和濾波,在固定式三端穩(wěn)壓器1117

32、-3.3的輸入和GND兩端形成一個(gè)并不十分穩(wěn)定的直流電壓。此直流電壓經(jīng)過1117-3.3的穩(wěn)壓和C3的濾波便在穩(wěn)壓電源的輸出端產(chǎn)生了精度高、穩(wěn)定度好的3.3V直流輸出電壓。圖3.9電源電路圖4 軟件設(shè)計(jì)軟件是系統(tǒng)的靈魂,軟件的靈活性和強(qiáng)大性將在系統(tǒng)中明顯的體現(xiàn)出來,是判斷系統(tǒng)的優(yōu)良與否的主要標(biāo)準(zhǔn)之一。設(shè)計(jì)軟件采用模塊化設(shè)計(jì)方法。系統(tǒng)按照不同的功能予以劃分,然后按一定的用途分別編寫、調(diào)試,最終將所有模塊調(diào)試成功后,將其各個(gè)模塊拼接構(gòu)成為單項(xiàng)電表檢測儀系統(tǒng)的軟件部分。模塊化編程方式有利于程序代碼的優(yōu)化,而且便于設(shè)計(jì)、調(diào)試和維護(hù)。4.1 主程序設(shè)計(jì)主程序的主要功能(1) 對單片機(jī)系統(tǒng)進(jìn)行初始化;(2

33、) 存單元清零; (3) LCD顯示器初始化;(4) CS5490初始化;(5) 進(jìn)行鍵盤掃描,檢測各功能鍵的閉合情況,并執(zhí)行相應(yīng)的子程序;(6) 檢測PC機(jī)的RS232,用以交換數(shù)據(jù)。主程序流程圖如圖4.1所示。4.1.1 主程序;=ORG0000HJMPMAINORG000BHJMPINT_T0ORG0023HJMPINT_RS232;=ORG0030HMAIN:MOVTMOD,#21H;T1產(chǎn)生波特率MOVTH1,#0FDH;960011.0592MOVTL1,#0FDHMOVTL0,#0;T0方式1,50MS定時(shí)MOVTH0,#4CH MOVSCON,#50H;設(shè)定串行口方式1 ANL

34、PCON,#0EFH;波特率不倍增SETBTR0;打開定時(shí)器T0 SETBTR1;啟動(dòng)定時(shí)器1 圖4.1 主程序流程圖SETBET0;T0中斷使能MOVIP,#10H;設(shè)定串行1口為最高中斷級別MOVIE,#92H;1001 0010B,開啟所有中斷,允許串行1口、定時(shí)器0中斷MOVS2CON,#50H;設(shè)定串行2口方式1,MOVBRT,#0D0H;60011.0592MHz,12TMOVAUXR,#10H;串行2口使用獨(dú)立波特率發(fā)生器,12TMOVA,#00HMOVR0,#20H;將 20H-7FH 單元清零MOVR4,#60HMAIN1:MOVR0,AINCR0DJNZR4,MAIN14.

35、1.2 LCD1602初始化子程序:CALL DELAY5MS;LCD1602上電后需要延時(shí)穩(wěn)定CALL DELAY5MSCALL DELAY5MSMOV A,#38H;LCD,設(shè)置8位數(shù)據(jù)格式,16*2,5*7點(diǎn)陣CALL LCD_CMD_NC ;第一次寫指令,不進(jìn)行LCD忙檢測CALL DELAY5MS;延時(shí)5MSMOV A,#38H;LCD,設(shè)置8位數(shù)據(jù)格式,16*2,5*7點(diǎn)陣CALL LCD_CMD_NC ;第一次寫指令,不進(jìn)行LCD忙檢測CALL DELAY5MSMOV A,#38H;LCD,設(shè)置8位數(shù)據(jù)格式,16*2,5*7點(diǎn)陣CALL LCD_CMD_NC ;第一次寫指令,不進(jìn)

36、行LCD忙檢測MOV A,#08H ;顯示關(guān),無光標(biāo)CALL LCD_CMD ;寫指令,進(jìn)行LCD忙檢測MOV A,#01H ;清除屏幕容CALL LCD_CMD ;寫指令,進(jìn)行LCD忙檢測MOV A,#06H ;AC自動(dòng)加一CALL LCD_CMD ;寫指令,進(jìn)行LCD忙檢測MOV A,#0CH ;顯示開,關(guān)光標(biāo)CALL LCD_CMD ;寫指令,進(jìn)行LCD忙檢測RET4.1.3 CS5490初始化子程序:CALL DELAY5MS; CS5490上電后需要延時(shí)穩(wěn)定CLRP1.4CALL DELAY5MSSETBP1.4CALL DELAY5MSRET4.2 中斷服務(wù)程序設(shè)計(jì)中斷是通過硬件來

37、改變CPU程序運(yùn)行的方向。程序在執(zhí)行過程中由于外界的原因而被中間打斷的情況稱為中斷。中斷之后所執(zhí)行的處理程序,稱為中斷服務(wù)程序。本設(shè)計(jì)主要是定時(shí)器的時(shí)間中斷和串口中斷。流程圖如圖4.2所示。圖4.2中斷服務(wù)程序流程圖4.2.1 定時(shí)器中斷程序定時(shí)器中斷程序讓工作狀態(tài)指示燈每一秒閃爍一次。INT_T0:PUSHACCPUSHPSWMOVTL0,#00HMOVTH0,#4CH;50MS定時(shí)值,11.0592INCM_COUNTMOVA,M_ COUNTCJNEA,#10,INT_END;10*50ms=0.5sMOVM_ COUNT,#0CPLWORKING;工作狀態(tài)燈閃爍INT_END:POPP

38、SWPOPACCRETI4.2.2 串口中斷程序串口中斷程序用于接收PC機(jī)的8位命令數(shù)據(jù),可調(diào)取測量儀的測量歷史數(shù)據(jù)。INT_RS232:CLREAPUSHACCPUSHPSWRI,INT_RS0;RI=0,返回POPPSWPOPACCSETBEARETIINT_RS0:CLRRIMOVA,SBUFCJNEA,#0F0H,INT_RS9;檢測第一個(gè)F0,由通訊協(xié)議確定MOVR1,#40H;第一個(gè)F0時(shí),賦接收數(shù)據(jù)區(qū)R1=40HMOVR1,A;保存接收數(shù)據(jù)F0INT_RS2:MOVR4,#0FFHMOVR5,#0FFHINT_RS3:RI,INT_RS4 ;等待,接收數(shù)據(jù)NOPDJNZR4,IN

39、T_RS3DJNZR5,INT_RS3JMPINT_RS9; 發(fā)送的數(shù)據(jù)錯(cuò)INT_RS4:CLRRI ;收到,清除RI,以接收下一個(gè)MOVA,SBUFINCR1MOVR1,ACJNER1,#48H,INT_RS2;夠8位數(shù)據(jù)?SETBB_REV_OK;有8位數(shù)據(jù)接收POPPSWPOPACCSETBEARETIINT_RS9:SETBB_REV_ERR;數(shù)據(jù)不正確,報(bào)錯(cuò)CALLBEEP_2MSINT_RS232_END:POPPSWPOPACCSETBEARETI4.3 LCD1602程序設(shè)計(jì)4.3.1 寫指令數(shù)據(jù)到LCD;RS=L,RW=L,D0-D7=指令碼,E=高脈沖LCD_CMD:CAL

40、L CHECKBUSYLCD_CMD_NC:CLR LCD_RSCLR LCD_RWMOV P0,ASETB LCD_ENNOPNOPNOPNOPCLR LCD_ENRET4.3.2 寫顯示數(shù)據(jù)到LCD;RS=H,RW=L,D0-D7=數(shù)據(jù),E=高脈沖LCD_WDATA:ACALL CHECKBUSYSETB LCD_RSCLR LCD_RWMOV P0,ASETB LCD_ENNOPNOPNOPNOPCLR LCD_ENRET4.3.3 檢測LCD控制器忙狀態(tài);讀數(shù)據(jù);RS=L,RW=H,E=H,輸出:D0-D7=數(shù)據(jù);P0.7=1,LCD忙,等待。P0.7=0,LCD閑,可以進(jìn)行讀寫操作。

41、CHECKBUSY:PUSHACCMOVP0,#0FFHCLR LCD_RSSETB LCD_RWSETB LCD_ENBUSYLOOP:NOPP0.7,BUSYLOOPCLR LCD_ENPOP ACCRET4.3.4 發(fā)送字符串子程序WRITE:PUSH ACCWRITE1:CLR AMOVC A,A+DPTRJZ WRITE2INC DPTRACALL LCD_WDATAJMP WRITE1WRITE2:POP ACCRET4.4 CS5490程序設(shè)計(jì)4.4.1 讀取溫度值MOVR0,#TEMPMOVA,#10010110B;PAGE:16MOVSBUF,AJNBTI,$;等待數(shù)據(jù)發(fā)送C

42、LRTI;清除數(shù)據(jù)傳送標(biāo)志MOVA,#00100111B;REG ADDRESS:27MOVSBUF,AJNBTI,$CLRTICALL DELAY5MSJNBRI,$;等待數(shù)據(jù)CLRRI ;收到,清除RI,以接收下一個(gè)MOVA,SBUFMOVR0,A;保存溫度值,共3個(gè)字節(jié)INCR0JNBRI,$CLRRI MOVA,SBUFMOVR0,AINCR0JNBRI,$CLRRI MOVA,SBUFMOVR0,ARET4.4.2 讀取有功功率值MOVR0,#PavgMOVA,#10010110B;PAGE:16MOVSBUF,AJNBTI,$;等待數(shù)據(jù)發(fā)送CLRTI;清除數(shù)據(jù)傳送標(biāo)志MOVA,#0

43、0000101B;REG ADDRESS:5MOVSBUF,AJNBTI,$CLRTICALL DELAY5MSJNBRI,$;等待數(shù)據(jù)CLRRI ;收到,清除RI,以接收下一個(gè)MOVA,SBUFMOVR0,A;保存,共3個(gè)字節(jié)INCR0JNBRI,$CLRRI MOVA,SBUFMOVR0,AINCR0JNBRI,$CLRRI MOVA,SBUFMOVR0,ARET4.4.3 讀取無功功率值MOVR0,#QavgMOVA,#10010110B;PAGE:16MOVSBUF,AJNBTI,$;等待數(shù)據(jù)發(fā)送CLRTI;清除數(shù)據(jù)傳送標(biāo)志MOVA,#00010100B;REG ADDRESS:14M

44、OVSBUF,AJNBTI,$CLRTICALL DELAY5MSJNBRI,$;等待數(shù)據(jù)CLRRI ;收到,清除RI,以接收下一個(gè)MOVA,SBUFMOVR0,A;保存,共3個(gè)字節(jié)INCR0JNBRI,$CLRRI MOVA,SBUFMOVR0,AINCR0JNBRI,$CLRRI MOVA,SBUFMOVR0,ARET4.4.4 讀取視在功率值MOVR0,#SavgMOVA,#10010110B;PAGE:16MOVSBUF,AJNBTI,$;等待數(shù)據(jù)發(fā)送CLRTI;清除數(shù)據(jù)傳送標(biāo)志MOVA,#00100000B;REG ADDRESS:20MOVSBUF,AJNBTI,$CLRTICAL

45、L DELAY5MSJNBRI,$;等待數(shù)據(jù)CLRRI ;收到,清除RI,以接收下一個(gè)MOVA,SBUFMOVR0,A;保存,共3個(gè)字節(jié)INCR0JNBRI,$CLRRI MOVA,SBUFMOVR0,AINCR0JNBRI,$CLRRI MOVA,SBUFMOVR0,ARET4.4.5 讀取功率因數(shù)值MOVR0,#PFMOVA,#10010110B;PAGE:16MOVSBUF,AJNBTI,$;等待數(shù)據(jù)發(fā)送CLRTI;清除數(shù)據(jù)傳送標(biāo)志MOVA,#00100001B;REG ADDRESS:21MOVSBUF,AJNBTI,$CLRTICALL DELAY5MSJNBRI,$;等待數(shù)據(jù)CLR

46、RI ;收到,清除RI,以接收下一個(gè)MOVA,SBUFMOVR0,A;保存,共3個(gè)字節(jié)INCR0JNBRI,$CLRRI MOVA,SBUFMOVR0,AINCR0JNBRI,$CLRRI MOVA,SBUFMOVR0,ARET4.4.6 讀取電流有效值MOVR0,#IrmsMOVA,#10010110B;PAGE:16MOVSBUF,AJNBTI,$;等待數(shù)據(jù)發(fā)送CLRTI;清除數(shù)據(jù)傳送標(biāo)志MOVA,#00000110B;REG ADDRESS:6MOVSBUF,AJNBTI,$CLRTICALL DELAY5MSJNBRI,$;等待數(shù)據(jù)CLRRI ;收到,清除RI,以接收下一個(gè)MOVA,S

47、BUFMOVR0,A;保存,共3個(gè)字節(jié)INCR0JNBRI,$CLRRI MOVA,SBUFMOVR0,AINCR0JNBRI,$CLRRI MOVA,SBUFMOVR0,ARET4.4.7 讀取電壓有效值MOVR0,#VrmsMOVA,#10010110B;PAGE:16MOVSBUF,AJNBTI,$;等待數(shù)據(jù)發(fā)送CLRTI;清除數(shù)據(jù)傳送標(biāo)志MOVA,#00000111B;REG ADDRESS:7MOVSBUF,AJNBTI,$CLRTICALL DELAY5MSJNBRI,$;等待數(shù)據(jù)CLRRI ;收到,清除RI,以接收下一個(gè)MOVA,SBUFMOVR0,A;保存,共3個(gè)字節(jié)INCR0

48、JNBRI,$CLRRI MOVA,SBUFMOVR0,AINCR0JNBRI,$CLRRI MOVA,SBUFMOVR0,ARET4.4.8 讀取總有功功率值MOVR0,#PSUMMOVA,#10010110B;PAGE:16MOVSBUF,AJNBTI,$;等待數(shù)據(jù)發(fā)送CLRTI;清除數(shù)據(jù)傳送標(biāo)志MOVA,#00101001B;REG ADDRESS:29MOVSBUF,AJNBTI,$CLRTICALL DELAY5MSJNBRI,$;等待數(shù)據(jù)CLRRI ;收到,清除RI,以接收下一個(gè)MOVA,SBUFMOVR0,A;保存,共3個(gè)字節(jié)INCR0JNBRI,$CLRRI MOVA,SBUF

49、MOVR0,AINCR0JNBRI,$CLRRI MOVA,SBUFMOVR0,ARET4.4.9 讀取總視在功率值MOVR0,#SSUMMOVA,#10010110B;PAGE:16MOVSBUF,AJNBTI,$;等待數(shù)據(jù)發(fā)送CLRTI;清除數(shù)據(jù)傳送標(biāo)志MOVA,#00110000B;REG ADDRESS:30MOVSBUF,AJNBTI,$CLRTICALL DELAY5MSJNBRI,$;等待數(shù)據(jù)CLRRI ;收到,清除RI,以接收下一個(gè)MOVA,SBUFMOVR0,A;保存,共3個(gè)字節(jié)INCR0JNBRI,$CLRRI MOVA,SBUFMOVR0,AINCR0JNBRI,$CLR

50、RI MOVA,SBUFMOVR0,ARET4.4.10 讀取總無功功率值MOVR0,#QSUMMOVA,#10010110B;PAGE:16MOVSBUF,AJNBTI,$;等待數(shù)據(jù)發(fā)送CLRTI;清除數(shù)據(jù)傳送標(biāo)志MOVA,#00110001B;REG ADDRESS:31MOVSBUF,AJNBTI,$CLRTICALL DELAY5MSJNBRI,$;等待數(shù)據(jù)CLRRI ;收到,清除RI,以接收下一個(gè)MOVA,SBUFMOVR0,A;保存,共3個(gè)字節(jié)INCR0JNBRI,$CLRRI MOVA,SBUFMOVR0,AINCR0JNBRI,$CLRRI MOVA,SBUFMOVR0,ARET4.5 鍵盤掃描程序設(shè)計(jì)LSCAN:MOVP1,#0F0H;列線置高電平,行線置高電平L1:P1.4,L2;逐行掃描LCALLDELAYP1.4,L2MOVLINE,#00

溫馨提示

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

評論

0/150

提交評論