毕业设计(论文)-基于stc12le5a60s2的低压电能表检测仪设计.doc_第1页
毕业设计(论文)-基于stc12le5a60s2的低压电能表检测仪设计.doc_第2页
毕业设计(论文)-基于stc12le5a60s2的低压电能表检测仪设计.doc_第3页
毕业设计(论文)-基于stc12le5a60s2的低压电能表检测仪设计.doc_第4页
毕业设计(论文)-基于stc12le5a60s2的低压电能表检测仪设计.doc_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

(此文档为word格式,下载后您可任意编辑修改!)目录1 引言11.1 研究背景11.2 研究现状12 总体设计方案22.1 技术要求22.2 方案论证33 硬件电路设计43.1 单片机的选择及外围电路设计43.2 电流互感器的选择与连接73.3 电能计量芯片的选择73.4 LCD显示接口电路设计123.5 键盘接口电路设计133.6 电源电路设计154 软件设计154.1 主程序设计主程序的主要功能164.2 中断服务程序设计174.3 LCD1602程序设计194.4 CS5490程序设计214.5 键盘扫描程序设计27结 论29致 谢30附录:电路原理图321 引言1.1 研究背景随着社会的发展,人们的生活水平不断提高,家用电器越来越普及,人人用电、家家用电,使用电量大大增加。同时即将实行的分段电费计费制,将使用电大户的电费支出大幅度地增长,各种各样的窃电行为不可避免,对此,供电部门采取多种方法对用户的电能表进行定期校验或不定期的抽查。通常校验用户电能表的方法为:1.1.1、使用钳形电流表和秒表,现场检测电能表:用秒表实测电能表每转时间T1;查看电能表上标明的参数,算出电能表每转一转所需的电能,然后用钳形电流表测量电流求出有功功率,电能表每转1转所需电能与有功功率之比得到的时间即为电能表每转所需时间T2。通过T1与T2的比较,就可以判断电能表是否正常工作,从而达到检测目的。但这种方法的误差很大,主要产生自秒表的掐表误差。1.1.2、通过检验电能表的外观,确定电能表有无破坏痕迹。这种方法包括:1) 检查电能表外壳、封铅及封条是否完好,外壳是否有变形、微小孔洞及铁丝等;2) 检查电能表接线盒是否封闭完好,进出线是否紧固,电压连接片是否压紧。3) 核对电能表铭牌上的型号、出厂编号及所计量负荷性质等是否与抄表卡相同,若不符即有窃电行为。1.1.3、在被测电能表电路中接入标准电能表,然后对被测表和标准表同时采样进行比对。1.1.4、采用专门的检测仪器对电能表进行校验。这种方法分为两种形式,一种方法是将电能表从供电线路上拆下,利用实验室的电能表校验台对电能表进行校验,另一种方法是不拆下电能表,利用电能表现场检测仪器对电能表进行现场校验。电能表的现场检验因不影响用户用电而被供电部门广泛采用,随着电子技术的发展,供电部门迫切需要一种携带方便,操作简单,计量准确的单项电表检测仪,用于用户低压电能表的现场检验。1.2 研究现状电能表的校验是否准确,取决于有功功率的测量是否准确,有功功率的测量属于电气测量范畴,在电气测量方面,国内外已有大量的研究成果,就测量方法和采用的技术手段综述如下。采用的技术手段上,一是采用微机加数据采集卡,二是采用微处理器结合自行设计的数据采集通道。在互感器的选择上,一是在供电电路中接入固定式的电压互感器和电流互感器。二是电压互感器采用固定式,接线端使用线夹,电流互感器采用钳形互感器6。固定式互感器中磁路是封闭的,因而具有较好的线形和较小的相移,可以得到较高的精度。但需要停电接线,不便于现场检测。电压互感器采用固定式,接线端使用线夹,电流互感器采用钳形互感器,现场不用接线。固定式互感器的优点是显而易见的,采用线夹后可直接加在供电线路的母线上,避免了现场检测需要停电接线的麻烦。但钳形电流互感器的接触面存在空气间隙,使互感器磁路的磁阻显著增大,且随工况不同呈现非线形,使互感器的线形变差,且相移较大,给功率因数的测量带来影响,为了弥补这一缺陷,对结果采用分段线性化处理,可以提高测量精度。在有功功率的测量方面,一是采用有效值转换,分别测量出电压、电流和功率因数,利用微处理器计算出功率;二是采用有功功率专用测量集成电路,直接测量出有功功率;三是利用各种电量的传感器,测量出电压、电流、功率因数或直接测量有功功率。采用专用电能计量芯片,直接测量出有功功率,测量方便,硬件电路简单,软件开销小。 2 总体设计方案2.1 技术要求由于目前使用的低压电能表多为电子式电能表,机械式电能表基本已淘汰,所以本设计以电子式电能表为检测对象。本设计以STC公司的MCU为核心,采用电流互感器及电能计量专用芯片对电能进行实时计量,计算出被测电能表的误差,检验电能表计量的准确性。具体要求如下:(1).电量测量范围:电压220VAC,电流040A,单相;(2).检验对象:电子式电能表;(3).测量误差:0.5%FS;(4).测量方式:不拆线不断电;(5).方便野外使用,强阳光下可清晰显示;(6).220VAC供电。2.2 方案论证按照上述技术要求,系统由电流电压互感器、有功功率测量芯片、单片机、显示器、键盘和SD卡几部分组成。系统组成图如图2.1所示。图2.1系统组成图利用互感器将供电电路的电压、电流转换为弱电信号,单片机通过有功功率测量芯片对电参数进行实时采集并计算出电能,通过与被测电能表的显示进行比对,从而计算出被测电能表的相对误差。2.2.1 互感器方案一:在供电电路中接入固定式的电压互感器和电流互感器。固定式互感器中磁路是封闭的,因而具有较好的线形和较小的相移,可以得到较高的精度。但需要停电接线,不便于现场检测。方案二:电压采样使用线夹,电流采样使用钳形电流互感器,现场不接线。线夹可直接加在供电线路的母线上,避免了现场检测需要停电接线的麻烦。但钳形电流互感器的接触面存在空气间隙,使互感器磁路的磁阻显著增大,且随工况不同呈现一定的非线形,使互感器的线形变差,且相移较大,给功率因数的测量带来影响。综上分析,结合低压电能表进行现场检验的特点,确定采用方案二。2.2.2 有功功率测量通道方案一:采用有功功率专用测量集成电路。专用电能计量芯片,直接测量出有功功率。测量方便,硬件电路简单,软件开销小。方案二:采用有效值转换电路,分别测量出电压、电流和功率因数,利用微处理器计算出功率。便于对钳形互感器带来的相移进行修正或补偿,但硬件电路较为繁琐,软件开销大。综上分析,确定采用方案一,有功功率测量通道由既是专用电能计量芯片。2.2.3 显示器方案一:采用LED数码管显示器。传统的数码管具有:低功耗、低损耗、低压、寿命长、耐老化、防晒、防潮、防火、防高(低)温,对外界环境要求低,易于维护,同时其精度要求比较高,显示速度快,精确可靠,操作简单。数码管是采用BCD编码显示数字,程序编译容易,资源占用较少。方案二:使用LCD液晶显示器。液晶显示器具有轻薄短小、超低耗电量、无辐射危险,平面直角显示以及影像稳定不闪烁等优势,可视面积大,画面效果好,分辨率高,抗干扰能力强等优点。LCD符合本设计系统的要求,利用其自带的字符库,进行编程还可以实现各信息的显示,即节省资源又省去了大量编程任务,且在强光照射下的户外进行检测时,LCD可清晰地显示数值。综上分析,本设计系统采用方案二。3 硬件电路设计3.1 单片机的选择及外围电路设计3.1.1 单片机的选择本系统主要从编程方式,IO口数量,功耗等方面选择MCU。编程方式简洁,硬件投资小,与PC连接方式简单。IO口分配:电量测量芯片6个,键盘8个,RS232接口2个,并口1602LCD 11个。共需至少27个IO口。目前8位单片机已有百十个系列,上千个种类,市场上可见到的如Intel公司的MCS-51系列产品,Motorola公司的6800、68000系列产品,Zilog公司的Z8、Supper8、Z86系列产品,Rockwell公司的6500系列产品,Philips公司的80C51系列产品,Microchip公司的PIC系列,Ateml公司的AT89、AVR系列,华邦公司、松下公司、三星公司、国产的STC等等。基于以上分析,本设计采用STC公司的STC12LE5A60S2可以满足设计要求。3.1.2 STC系列单片机STC12LE5A60S2的简介STC12LE5A60S2单片机是STC宏晶科技()生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。3.1.3功能特性概述1.增强型8051 CPU,1T,单时钟/机器周期,指令代码完全兼容传统80512.工作电压: 5.5V- 3.3V(5V单片机)3.工作频率范围:0 - 35MHz,相当于普通8051的 0420MHz4.用户应用程序空间62K字节5.片上集成1280字节RAM6.通用I/O口(36/40/44个),复位后为:准双向口/弱上拉(普通8051传统I/O口),可设置成四种模式:准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏 每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过55mA7. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器 可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片8.有EEPROM功能9. 看门狗10.内部集成MAX810专用复位电路(外部晶体12M以下时,复位脚可直接1K电阻到地)11.外部掉电检测电路:在P4.6口有一个低压门槛比较器,5V单片机为1.32V,误差为+/-5%12.时钟源:外部高精度晶体/时钟,内部R/C振荡器(温漂为+/-5%到+/-10%以内) 1用户在下载用户程序时,可选择是使用内部R/C振荡器还是外部晶体/时钟13.共4个16位定时器:两个与传统8051兼容的定时器/计数器,16位定时器T0和T1,没有定时器2,但有独立波特率发生器做串行通讯的波特率发生器再加上2路PCA模块可再实现2个16位定时器14. 2个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟15.外部中断I/O口7路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的PCA模块,Power Down模式可由外部中断唤醒,INT0/P3.2,INT1/P3.3,T0/P3.4, T1/P3.5,RxD/P3.0,CCP0/P1.3(也可通过寄存器设置到P4.2 ),CCP1/P1.4 (也可通过寄存器设置到P4.3)16. PWM(2路)/PCA(可编程计数器阵列,2路) 也可用来当2路D/A使用 也可用来再实现2个定时器 也可用来再实现2个外部中断(上升沿中断/下降沿中断均可分别或同时支持)17.A/D转换, 10位精度ADC,共8路,转换速度可达250K/S(每秒钟25万次)18.通用全双工异步串行口(UART),由于STC12系列是高速的8051,可再用定时器或PCA软件实现多串口19. STC12LE5A60S2系列有双串口,后缀有S2标志的才有双串口,RxD2/P1.2(可通过寄存器设置到P4.2),TxD2/P1.3(可通过寄存器设置到P4.3)20.工作温度范围:-40 - +85(工业级) / 0 - 75(商业级)21.封装:PDIP-40,LQFP-44,LQFP-48 I/O口不够时,可用2到3根普通I/O口线外接 74HC164/165/595(均可级联)来扩展I/O口, 还可用A/D做按键扫描来节省I/O口,或用双CPU,三线通信,还多了串口。3.1.4 单片机外围电路设计本设计选择STC12LE5A60S2的外部时钟方式,在引脚XTAL1和XTAL2两端跨接11.0592MHz晶体,以方便和PC编程和采集测量数据。复位采用片内复位电路,外接一个1K下拉电阻。单片机外围电路如图3.1图3.1 单片机STC12LE5A60S2外围电路设计图3.2 电流互感器的选择与连接3.2.1 电流互感器的选择在测量中,一般规定它的二次绕组的额定电流为5A。其主要特点是:它的一次绕组的匝数比二次绕组少得多,并且串于一次电路中。有些电流互感器仅有铁芯和二次绕组,测量时将被测电路的导线直接穿过铁芯。这些电流互感器称为穿心式互感器。一次绕组中的电流几完全取决于一次电路中的负载电流,而与二次侧无关。电流互感器有固定式与钳形供电互感器几种。在供电电路中接入固定式的电流互感器,其优点是固定式互感器中磁路是封闭的,因而具有较好的线形和较小的相移,可以得到较高的精度,但需要停电穿线,不便于现场检测。若采用钳形互感器,则现场不用停电接线,避免了现场检测需要停电接线的麻烦。考虑到方便检测这一要求,可选择钳形电流互感器。本设计中,采用淄博元星电子有限公司()生产的CTC0080N钳形电流互感器,外型如图3.6所示。图3.2 CTC0080N钳形电流互感器3.2.2 电流互感器主要参数1) 一次电流: 1-50A;2) 匝比: 1:1000,1:2000,1:2500;3) 等级: 0.1级;4) 负载: 50。5) 频率: 50-400Hz3.3 电能计量芯片的选择CS5490是Cirrus Logic公司()新近推出的带有RS232接口的单相双通道电能计量芯片。3.3.1 CS5490芯片有如下功能特点(1) 在4000:1动态范围内,有功和无功电能的测量精度都为0.1%。(2) 具有两个独立通道24位-的AD转换器,可精确测量瞬时电压、电流、功率以及电压、电流有效值。(3) 计算视在、有功和无功功率,基波有功、谐波功率和功率因数。(4) 具有瞬时电流、瞬时电压、瞬时功率、电流有效值、电压有效值、功率有效值测量及电能计量功能;(5) 具有片内看门狗定时器(Watch Dog Timer)与内部电源监视器;(6) 提供了外部复位引脚;(7) 带有温度传感器;(8) RS232串行接口与内部寄存器阵列可以方便地与单片机相连接;(9) 低能耗13mW。(10) 具有功率方向输出指示。(11) 极高的信噪比和超低的噪声。(12) 简单的2线RS232串行接口。3.3.2 基本结构与技术指标(1) 内部结构CS5490内部集成了两个-A/D转换器、高、低通数字滤波器、能量计算单元、串行接口、数字-频率转换器、寄存器阵列和看门狗定时器等模拟、数字信号处理单元。CS5463 的内部结构框图如图3.3所示,图3.3 CS5490芯片结构框图它由2个放大器、2个-调制器、配套的高速滤波器、功率计算引擎、偏置和增益校正、功率监测、串行接口及相应功能寄存器等组成。2个可编程放大器采集电压和电流数据,-调制器对模拟量采样处理,高速数字低通或可选的高通滤波器滤取可用电压电流数字信号,功率计算引擎计算各类型的功率、电压、电流,并将计算的功率值通过RS232接口对外输出,也可以接微控制器。该电路还有可编程数字输出信号。(2) 引脚排列及功能CS5490的引脚排列如图3.4所示。图3.4 CS5490芯片引脚排列图XOUT(Pin 1):晶体振荡器输出;XIN(Pin 2):晶体振荡器输入。 RESET(Pin 3):复位输入;IIN-(Pin 4):差分电流负输入端;IIN+(Pin 5):差分电流正输入端;VIN+(Pin 6):差分电压正输入端;VIN-(Pin 7):差分电压负输入端;VREFIN(Pin 8):参考电压输入;VREFOUT(Pin 9):参考电压输出;GNDA(Pin 10):模拟地电源;VDDA(Pin 11):模拟电路电源正极;DO(Pin 12):数据输出;TX(Pin 13):串行232发送;RX(Pin 14):串行232接收;MODE(Pin 15):操作模式选择;VDDD(Pin 16):数字电路电源正极; 3.3.3 串行接口及其操作(1) 串行接口CS5490的RS232串行口包括2条控制线:TX/RX,可以直接连接到STC12LE5A60S2的第二串口。串行口的默认波特率为600,可以通过设置串口控制寄存器来改变波特率。CS5490可以通过RS232接口接收单片机的4种命令:读寄存器操作、写寄存器操作、寄存器页选择操作、指令操作。 (2) 内部寄存器CS5490共有64页,每页64个地址的寄存器。其地址设定为12Bit,高6位为页码,低6位为该页的地址码: P5P4P3P2P1P0A5A4A3A2A1A0。 (3) 命令解释及操作寄存器页选择操作:10 P5P4P3P2P1P0;读寄存器操作:00 A5A4A3A2A1A0,CS5490回传3个字节的数据;写寄存器操作:01 A5A4A3A2A1A0+DATA2+DATA1+DATA0;指令操作:11 C5C4C3C2C1C0 (4) CS5490与STC12LE5A60S2的连接电路如图3.5所示。图3.5 CS5490与STC12LE5A60S2的连接电路3.3.4 电源线接口的设计VIN通过电阻直接夹到L和N,IIN通过互感器CT卡在Line导线上。电源检测输入电路如图3.6。CS5490端口的最大输入电压为250mVp 。图3.6 CS5490的电源检测电路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,ADDRESS:37,DEFAULT:000000H电压峰值(Vpeak)寄存器:PAGE:0,ADDRESS:36,DEFAULT:000000H视在功率(S)寄存器:PAGE:16,ADDRESS:20,DEFAULT:000000H功率因数(PF)寄存器:PAGE:16,ADDRESS:21,DEFAULT:000000H实时温度(Temp)寄存器:PAGE:16,ADDRESS:27,DEFAULT:000000H总有功功率(Psum)寄存器:PAGE:16,ADDRESS:29,DEFAULT:000000H总视在功率(Ssum)寄存器:PAGE:16,ADDRESS:30,DEFAULT:000000H总无功功率(Qsum)寄存器:PAGE:16,ADDRESS:31,DEFAULT:000000H电流增益寄存器:PAGE:16,ADDRESS:33,DEFAULT:1.0电压增益寄存器:PAGE:16,ADDRESS:35,DEFAULT:1.03.4 LCD显示接口电路设计3.4.1 LCD显示器的选择LCD一般分为3类,即段码型液晶模块、点阵字符液晶模块、点阵图形液晶模块。本系统选择LCD1602液晶显示模块,它可以显示两行,每行16个字符,采用3V3电源供电,外围电路配置简单,价格便宜,具有较高的性价比,很长的寿命。LCD的控制方法如表3.1所示。表3.1 LCD602的控制表RSR/WEDB0-DB7功能00下降沿输入写指令代码011输出读标志和AC码10下降沿输入写数据111输出读数据主要管脚介绍:V0:液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高。RS:寄存器选择,高电平时选择数据寄存器;低电平时选择指令寄存器。R/W:读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址;当RS为高电平R/W为低电平时可以写入数据。E:使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。LCD1602的操作指令共11条,如表3.2表3.2 LCD602的操作指令表3.4.2 显示器接口电路设计LCD12864在设计时采用3.3V的驱动电源电压。通过显示屏幕,将所测得的各种数据显示出来。LCD1602显示接口电路设计如图3.7所示。图3.7 LCD1602显示接口电路3.5 键盘接口电路设计3.5.1 键盘的数目及功能确定在该应用系统中,具有人机对话功能。它包括人对应用系统状态的干预、数据的输入以及应用系统向人报告运行状态与运行结果。键盘电路的设计应使CPU不仅能识别是否有键按下,还要能识别是哪一个键按下,而且能把此键所代表的信息翻译成计算机所能接受的形式,计算机所用的键盘有编码键盘和非编码键盘两种。编码键盘能够由硬件逻辑自动提供与按键对应的编码。本系统选择4*4的矩阵式键盘,该键盘一部分为数字按键,另一部分为功能按键。为了识别键盘上的闭合键,常用的键码识别方法有行扫描法、行反转法及行列扫描法等。本设计采用行扫描方法。行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,行扫描法识别按键的基本原理是:先将所有的行线置0,读列线的值,若此时列线上的值全为1,说明无键按下。若有某位为0,则说明对应这一列上有键按下,这时改变行扫描码,使行线逐行为0,依次扫描。当读到某一列线的值为0时,就可根据此时的行扫描码和列线的值唯一地确定按键的位置,同时也就确定了该键的扫描码。3.5.2 键盘电路设计在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图3.8所示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键开关加以连接。这样,一个8IO口就可以构成4*4=16个按键。并且列线通过内部上拉电阻接1,而将行线所接的单片机的I/O口作为输出0端,列线所接的I/O口作为输入。如果所有的8个端口都是高电平,则表示没有按键开关按下;一旦有键按下,则输入线就会被拉低,这样,通过读入P2口的状态就可得知是否有键按下了。图3.8 矩阵式键盘此矩阵式键盘根据设计要求,设置了功能键与数字键。功能键主要是启动键、手动按键、自动按键。启动按键要单片机处于待命状态;手动按键要人自己控制时间,计算出误差值;自动按键在设定时间内完成误差计算。数字键用于所测电能表型号选择。各按键所代表的具体功能如下:S1S10:数字键;S11:启动测量键;S12:停止测量键;S13:确认键; S14:功能键;S15:参数查看键;S16:被测表数据输入键。3.6 电源电路设计本系统使用的是3.3V直流电源,供MCU、CS5490、LCD1602等电路使用。如图3.9所示电路为输出电压+3.3V的稳压电源。它由电源变压器B,桥式整流电路D1D4,滤波电容C1、C3,防止自激电容C2、C4和一只固定式三端稳压器(1117-3.3)。220V交流市电通过电源变压器变换成交流低压,再经过桥式整流电路D1D4和滤波电容C1的整流和滤波,在固定式三端稳压器1117-3.3的输入和GND两端形成一个并不十分稳定的直流电压。此直流电压经过1117-3.3的稳压和C3的滤波便在稳压电源的输出端产生了精度高、稳定度好的3.3V直流输出电压。图3.9电源电路图4 软件设计软件是系统的灵魂,软件的灵活性和强大性将在系统中明显的体现出来,是判断系统的优良与否的主要标准之一。设计软件采用模块化设计方法。系统按照不同的功能予以划分,然后按一定的用途分别编写、调试,最终将所有模块调试成功后,将其各个模块拼接构成为单项电表检测仪系统的软件部分。模块化编程方式有利于程序代码的优化,而且便于设计、调试和维护。4.1 主程序设计主程序的主要功能(1) 对单片机系统进行初始化;(2) 内存单元清零; (3) LCD显示器初始化; (4) CS5490初始化;(5) 进行键盘扫描,检测各功能键的闭合情况,并执行相应的子程序;(6) 检测PC机的RS232,用以交换数据。主程序流程图如图4.1所示。4.1.1 主程序;=ORG0000HJMPMAINORG000BHJMPINT_T0ORG0023HJMPINT_RS232;=ORG0030HMAIN:MOVTMOD,#21H;T1产生波特率MOVTH1,#0FDH;960011.0592MOVTL1,#0FDH MOVTL0,#0;T0方式1,50MS定时MOVTH0,#4CH MOVSCON,#50H;设定串行口方式1 ANLPCON,#0EFH;波特率不倍增SETBTR0;打开定时器T0 SETBTR1;启动定时器1 图4.1 主程序流程图SETBET0;T0中断使能MOVIP,#10H;设定串行1口为最高中断级别MOVIE,#92H;1001 0010B,开启所有中断,允许串行1口、定时器0中断MOVS2CON,#50H;设定串行2口方式1,MOVBRT,#0D0H;60011.0592MHz,12TMOVAUXR,#10H;串行2口使用独立波特率发生器,12TMOVA,#00HMOVR0,#20H;将 20H-7FH 单元清零MOVR4,#60HMAIN1:MOVR0,AINCR0DJNZR4,MAIN14.1.2 LCD1602初始化子程序:CALL DELAY5MS;LCD1602上电后需要延时稳定CALL DELAY5MSCALL DELAY5MSMOV A,#38H;LCD,设置8位数据格式,16*2,5*7点阵CALL LCD_CMD_NC ;第一次写指令,不进行LCD忙检测CALL DELAY5MS;延时5MSMOV A,#38H;LCD,设置8位数据格式,16*2,5*7点阵CALL LCD_CMD_NC ;第一次写指令,不进行LCD忙检测CALL DELAY5MSMOV A,#38H;LCD,设置8位数据格式,16*2,5*7点阵CALL LCD_CMD_NC ;第一次写指令,不进行LCD忙检测MOV A,#08H ;显示关,无光标CALL LCD_CMD ;写指令,进行LCD忙检测MOV A,#01H ;清除屏幕内容CALL LCD_CMD ;写指令,进行LCD忙检测MOV A,#06H ;AC自动加一CALL LCD_CMD ;写指令,进行LCD忙检测MOV A,#0CH ;显示开,关光标CALL LCD_CMD ;写指令,进行LCD忙检测RET4.1.3 CS5490初始化子程序:CALL DELAY5MS; CS5490上电后需要延时稳定CLRP1.4CALL DELAY5MSSETBP1.4CALL DELAY5MSRET4.2 中断服务程序设计中断是通过硬件来改变CPU程序运行的方向。程序在执行过程中由于外界的原因而被中间打断的情况称为中断。中断之后所执行的处理程序,称为中断服务程序。本设计主要是定时器的时间中断和串口中断。流程图如图4.2所示。图4.2中断服务程序流程图4.2.1 定时器中断程序定时器中断程序让工作状态指示灯每一秒闪烁一次。INT_T0:PUSHACCPUSHPSWMOVTL0,#00HMOVTH0,#4CH;50MS定时值,11.0592INCM_COUNTMOVA,M_ COUNTCJNEA,#10,INT_END;10*50ms=0.5sMOVM_ COUNT,#0CPLWORKING;工作状态灯闪烁INT_END:POPPSWPOPACCRETI4.2.2 串口中断程序串口中断程序用于接收PC机的8位命令数据,可调取测量仪的测量历史数据。INT_RS232:CLREAPUSHACCPUSHPSWJBRI,INT_RS0;RI=0,返回POPPSWPOPACCSETBEARETIINT_RS0:CLRRIMOVA,SBUFCJNEA,#0F0H,INT_RS9;检测第一个F0,由通讯协议确定MOVR1,#40H;第一个F0时,赋接收数据区R1=40HMOVR1,A;保存接收数据F0INT_RS2:MOVR4,#0FFHMOVR5,#0FFHINT_RS3:JBRI,INT_RS4 ;等待,接收数据NOPDJNZR4,INT_RS3DJNZR5,INT_RS3JMPINT_RS9; 发送的数据错INT_RS4:CLRRI ;收到,清除RI,以接收下一个MOVA,SBUFINCR1MOVR1,ACJNER1,#48H,INT_RS2;够8位数据?SETBB_REV_OK;有8位数据接收POPPSWPOPACCSETBEARETIINT_RS9:SETBB_REV_ERR;数据不正确,报错CALLBEEP_2MSINT_RS232_END:POPPSWPOPACCSETBEARETI4.3 LCD1602程序设计4.3.1 写指令数据到LCD;RS=L,RW=L,D0-D7=指令码,E=高脉冲LCD_CMD:CALL CHECKBUSYLCD_CMD_NC:CLR LCD_RSCLR LCD_RWMOV P0,ASETB LCD_ENNOPNOPNOPNOPCLR LCD_ENRET4.3.2 写显示数据到LCD;RS=H,RW=L,D0-D7=数据,E=高脉冲LCD_WDATA:ACALL CHECKBUSYSETB LCD_RSCLR LCD_RWMOV P0,ASETB LCD_ENNOPNOPNOPNOPCLR LCD_ENRET4.3.3 检测LCD控制器忙状态;读数据;RS=L,RW=H,E=H,输出:D0-D7=数据;P0.7=1,LCD忙,等待。P0.7=0,LCD闲,可以进行读写操作。CHECKBUSY:PUSHACCMOVP0,#0FFHCLR LCD_RSSETB LCD_RWSETB LCD_ENBUSYLOOP:NOPJB P0.7,BUSYLOOPCLR LCD_ENPOP ACCRET4.3.4 发送字符串子程序WRITE:PUSH ACCWRITE1:CLR AMOVC A,A+DPTRJZ WRITE2INC DPTRACALL LCD_WDATAJMP WRITE1WRITE2:POP ACCRET4.4 CS5490程序设计4.4.1 读取温度值MOVR0,#TEMPMOVA,#10010110B;PAGE:16MOVSBUF,AJNBTI,$;等待数据发送CLRTI;清除数据传送标志MOVA,#00100111B;REG ADDRESS:27MOVSBUF,AJNBTI,$CLRTICALL DELAY5MSJNBRI,$;等待数据CLRRI ;收到,清除RI,以接收下一个MOVA,SBUFMOVR0,A;保存温度值,共3个字节INCR0JNBRI,$CLRRI MOVA,SBUFMOVR0,AINCR0JNBRI,$CLRRI MOVA,SBUFMOVR0,ARET4.4.2 读取有功功率值MOVR0,#PavgMOVA,#10010110B;PAGE:16MOVSBUF,AJNBTI,$;等待数据发送CLRTI;清除数据传送标志MOVA,#00000101B;REG ADDRESS:5MOVSBUF,AJNBTI,$CLRTICALL DELAY5MSJNBRI,$;等待数据CLRRI ;收到,清除RI,以接收下一个MOVA,SBUFMOVR0,A;保存,共3个字节INCR0JNBRI,$CLRRI MOVA,SBUFMOVR0,AINCR0JNBRI,$CLRRI MOVA,SBUFMOVR0,ARET4.4.3 读取无功功率值MOVR0,#QavgMOVA,#10010110B;PAGE:16MOVSBUF,AJNBTI,$;等待数据发送CLRTI;清除数据传送标志MOVA,#00010100B;REG ADDRESS:14MOVSBUF,AJNBTI,$CLRTICALL DELAY5MSJNBRI,$;等待数据CLRRI ;收到,清除RI,以接收下一个MOVA,SBUFMOVR0,A;保存,共3个字节INCR0JNBRI,$CLRRI MOVA,SBUFMOVR0,AINCR0JNBRI,$CLRRI MOVA,SBUFMOVR0,ARET4.4.4 读取视在功率值MOVR0,#SavgMOVA,#10010110B;PAGE:16MOVSBUF,AJNBTI,$;等待数据发送CLRTI;清除数据传送标志MOVA,#00100000B;REG ADDRESS:20MOVSBUF,AJNBTI,$CLRTICALL DELAY5MSJNBRI,$;等待数据CLRRI ;收到,清除RI,以接收下一个MOVA,SBUFMOVR0,A;保存,共3个字节INCR0JNBRI,$CLRRI MOVA,SBUFMOVR0,AINCR0JNBRI,$CLRRI MOVA,SBUFMOVR0,ARET4.4.5 读取功率因数值MOVR0,#PFMOVA,#10010110B;PAGE:16MOVSBUF,AJNBTI,$;等待数据发送CLRTI;清除数据传送标志MOVA,#00100001B;REG ADDRESS:21MOVSBUF,AJNBTI,$CLRTICALL DELAY5MSJNBRI,$;等待数据CLRRI ;收到,清除RI,以接收下一个MOVA,SBUFMOVR0,A;保存,共3个字节INCR0JNBRI,$CLRRI MOVA,SBUFMOVR0,AINCR0JNBRI,$CLRRI MOVA,SBUFMOVR0,ARET4.4.6 读取电流有效值MOVR0,#IrmsMOVA,#10010110B;PAGE:16MOVSBUF,AJNBTI,$;等待数据发送CLRTI;清除数据传送标志MOVA,#00000110B;REG ADDRESS:6MOVSBUF,AJNBTI,$CLRTICALL DELAY5MSJNBRI,$;等待数据CLRRI ;收到,清除RI,以接收下一个MOVA,SBUFMOVR0,A;保存,共3个字节INCR0JNBRI,$CLRRI MOVA,SBUFMOVR0,AINCR0JNBRI,$CLRRI MOVA,SBUFMOVR0,ARET4.4.7 读取电压有效值MOVR0,#VrmsMOVA,#10010110B;PAGE:16MOVSBUF,AJNBTI,$;等待数据发送CLRTI;清除数据传送标志MOVA,#00000111B;REG ADDRESS:7MOVSBUF,AJNBTI,$CLRTICALL DELAY5MSJNBRI,$;等待数据CLRRI ;收到,清除RI,以接收下一个MOVA,SBUFMOVR0,A;保存,共3个字节INCR0JNBRI,$CLRRI MOVA,SBUFMOVR0,AINCR0JNBRI,$CLRRI MOVA,SBUFMOVR0,ARET4.4.8 读取总有功功率值MOVR0,#PSUMMOVA,#10010110B;PAGE:16MOVSBUF,AJNBTI,$;等待数据发送CLRTI;清除数据传送标志MOVA,#00101001B;REG ADDRESS:29MOVSBUF,AJNBTI,$CLRTICALL DELAY5MSJNBRI,$;等待数据CLRRI ;收到,清除RI,以接收下一个MOVA,SBUFMOVR0,A;保存,共3个字节INCR0JNBRI,$CLRRI MOVA,SBUFMOVR0,AINCR0JNBRI,$CLRRI MOVA,SBUFMOVR0,ARET4.4.9 读取总视在功率值MOVR0,#SSUMMOVA,#10010110B;PAGE:16MOVSBUF,AJNBTI,$;等待数据发送CLRTI;清除数据传送标志MOVA,#00110000B;REG ADDRESS:30MOVSBUF,AJNBTI,$CLRTICALL DELAY5MSJNBRI,$;等待数据CLRRI ;收到,清除RI,以接收下一个MOVA,SBUFMOVR0,A;保存,共3个字节INCR0JNBRI,$CLRRI MOVA,SBUFMOVR0,AINCR0JNBRI,$CLRRI MOVA,SBUFMOVR0,ARET4.4.10 读取总无功功率值MOVR0,#QSUMMOVA,#10010110B;PAGE:16MOVSBUF,AJNBTI,$;等待数据发送CLRTI;清除数据传送标志MOVA,#00110001B;REG ADDRESS:31MOVSBUF,AJNBTI,$CLRTICALL DELAY5MSJNBRI,$;等待数据CLRRI ;收到,清除RI,以接收下一个MOVA,SBUFMOVR0,A;保存,共3个字节INCR0JNBRI,$CLRRI MOVA,SBUFMOVR0,AINCR0JNBRI,$CLRRI MOVA,SBUFMOVR0,ARET4.5 键盘扫描程序设计LSCAN:MOVP1,#0F0H;列线置高电平,行线置高电平L1:JBP1.4,L2;逐行扫描LCALLDELAYJBP1.4,L2MOVLINE,#00H;存行号LJMPRSCANL2:JBP1.5,L3LCALLDELAYJBP1.5,L3MOVLINE,#01H;存行号LJMPRSCANL3:JBP1.6,L4LCALLDELAYJBP1.6,L4MOVLINE,#02H;存行号LJMPRSCANL4:JBP1.7,L1LCALLDELAYJBP1.7,L1MOVLINE,#03H;存行号RSCAN:MOVP1,#0FH;行线列线电平互换C1:JNBP1.0,C2;逐列扫描MOVROW,#00H;存列号LJMPCALCUC2:JNBP1.1,C3MOVROW,#01H;存列号LJMPCALCUC3:JNBP1.2,C4MOVROW,#02H;存列号LJMPCALCUC4:JNBP1.3,C1MOVROW,#03H;存列号CALCU:MOVA,LINE;根据行号和列号计算键值MOVB,#04HMULABADDA,ROWMOVVAL,A;存键值RET结 论 经过一个学期的努力,毕业设计终于完成了。在作毕业设计的过程中,我真正的了解到了自己掌握所学知识的情况,通过这段时间毕业设计的锻炼,我的理论知识得到了很大的改进。本次毕业设计的内容涵盖了电子、控制、软件等几方面的知识。这期间,我完成了的基本硬件设计及软件程序设计,基本实现了预期的目标。基于系统实现的主要内容有:(1) 对低压单相电能表进行现场采样,使用了电流互感器,把采样值输入电能计量芯片,然后由单片机计算分析被测电表是否准确,若电表计量不准确计算其相对误差;(2) 对用电线路进行检测,主要是电压互感器和电流互感器对其实施检测;(3) 通过LCD显示判断结果和相对误差,判断其精度是否达到要求,即电能表是否正常工作;(4) 在本设计中大量使用了单片机的知识。本次毕业设计,我感到收获很大,在设计过程中,遇到了很多在没有遇到过的问题,在老师与同学的帮助下,都得到了妥善解决。致 谢本学位论文是在我的指导老师郭广颂老师的亲切关怀与细心指导下完成的。从课题的选择到论文的最终完成,郭广颂老师始终都给予了细心的指导和不懈的支持,并且在耐心指导论文之余,郭广颂老师仍不忘拓展我们的文化视野,让我们感受到了文学的美妙与乐趣。特别是郭广颂老师借给我的周易美学一书,让我对周易中神奇瑰丽的殿堂多了一份盼望与神往,虽然与论文不甚相关,却为我将来步入学术研究的殿堂打开了不可多得的方便法门。值得一提的是,郭广颂老师宅心仁厚,闲静少言,不慕荣利,对学生认真负责,在他的身上,我们可以感受到一个学者的严谨和务实,这些都让我们获益菲浅,并且将终生受用无穷。毕竟“经师易得,人师难求”,希望借此机会向郭广颂老师表示最衷心的感谢! 最后要感谢的是我的父母,他们不仅培养了我对中国传统文化的浓厚的兴趣,让我在漫长的人生旅途中使心灵有了虔敬的归依,而且也为我能够顺利的完成毕业论文提供了巨大的支持与帮助。在未来的日子里,我会更加努力的学习和工作,不辜负父母对我的殷殷期望!我一定会好好孝敬和报答他们!参考文献1 李文方单片机原理与应用M哈尔滨:哈尔滨大学出版社,20102 徐爱钧单片机原理应用教程M北京:电子工业出版社,20113 康华光电子技术基础-模拟部分(第四版)M北京:高等教育出版社,20004 康华光电子技术基础-数字部分(第四版)M北京:高等教育出版社,20005 任致程单相电能表检测仪J农村电工,2005(4):40416 杨秀英电能表在线检测装置技术研究J计测技术,2007,27(B11):28317 臧海河,关德群单项电表检测仪的设计J电测与仪表,2002,39(435):2123 8 Cirrus Logic CS5490 DATA SHEETDB/OL. /9 STC 12LE5A60S2 DATA SHEETDB/OL. /10 LCD1602 中文资料DB/OL /view/01b9e7eb856a561252d 36fa5.html?from=rec&pos=1&weight=1209&lastweight=664&count=5附录:电路原理图以下免费送您一百个优秀毕业论文题目,供参考。1.企业集团激励与绩效评价问题研究2.XXX地区中小企业财务管理现状问题研究3.XXX地区上市公司盈利质量实证研究4.XXX地区企业集团整合过程中的财务问题研究5.XXX地区中小企业的信用担保体系问题研究6.XXX地区上市公司财务预警问题研究7.企业并购前后财务状况变化问题研究8.以平衡计分卡为核心的绩效评价体系研究9.EVA在企业绩效评价中的作用研究10.关于我区中小企业引入风险投资问题研究11.我国上市公司经营目标的实证分析12.对内含报酬率法的再思考13.利用平衡计分卡落实战略的案例分析14.基于EVA的企业业绩评价指标体系的构建与实施研究15.基于不同发展周期的企业财务战略选择研究16.集团公司全面预算目标的制定与分解17.现金流量折现法在评估公司战略中的应用分析18.财务指标与非财务指标在评估管理者业绩中的应用拟合19.我国企业财务管理目标的现实选择20.财务管理目标与企业财务核心能力问题研究21.企业财务管理中运用税收筹划的探讨22.建立以财务管理为核心的资源配置制度23.财务预警系统在财务管理中应用评价24.基于Excel的财务预警模型研究25.中西部地区中小企业财务战略选择问题研究26.中小企业纳税筹划问题研究27.企业投资过程中的纳税筹划问题研究28.企业集团纳税筹划问题研究29.企业纳税筹划中的风险规避问题研究30.从公司治理结构透视财务管理目标31.作业成本管理模式及其应用研究32.论管理层并购在我国的运用33.企业并购中的财务风险与防范34.跨国公司财务管理策略及其在我国的实践35.关于上市公司并购的财务分析36.跨国公司财务管理体制的比较与选择37.跨国公司财务管理策略及其在中国的实践38.全球化与财务管理发展趋势及其模式选择39.财务治理与财务管理之异同40.EVA对传统财务管理的冲击41.企业财务管理机制重塑问题探讨42.财务管理发展的文化分析43.利益相关者合作模式下的财务管理目标选择44.行为财务管理探索以价值管理为中心45.上市公司股利政策实证研究46.公司治理结构与财务管理目标问题研究47.产权理论分析与财务管理目标的现实选择48.金融工具创新与企业财务管理49.对价值链财务管理目标的探讨50.IT信息产业企业的财务管理51.期权在财务管理中的运用52.论创业投资在我国所面临的财务问题53.风险投资退出机制问题研究54.企业可持续发展与财务管理问题研究55.企业集团资金链构造问题研究56.内蒙古地区上市公司融资效率实证研究57.预算管理在ERP系统中的运用问题研究58.发展中小企业信贷融资的思考59.中小企业在不同发展阶段战略选择问题研究60.连锁经营企业财务管理创新61.对我国中小企业风险投

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论