毕业设计基于STC89C52单相电度表的测量的设计

上传人:无*** 文档编号:78177077 上传时间:2022-04-21 格式:DOC 页数:38 大小:708.01KB
返回 下载 相关 举报
毕业设计基于STC89C52单相电度表的测量的设计_第1页
第1页 / 共38页
毕业设计基于STC89C52单相电度表的测量的设计_第2页
第2页 / 共38页
毕业设计基于STC89C52单相电度表的测量的设计_第3页
第3页 / 共38页
点击查看更多>>
资源描述
基于STC89C52单相电度表的测量的设计摘 要随着城农网改造的逐步深入,各种各样的计量工具不断出现在市场上。各种不同的计量工具所使用的计量方法也不一样。该系统由前端电路调理模块,电能表芯片CS5460模块,单片机STC89C52模块,显示模块,存储模块等组成。CS5460实现功率测量和用STC89C52单片机实现电能计量的方法是当下比较成熟的计算方法。CS5460是一种带有串行接口的单向双向功率电能集成电路芯片,用它可以方便的组成多功能电子式电度表和分布式电能计量管理系统。其中使用CS5460芯片设计的简单单相电度表可以用于工业现场的电量数据采集和简单的功率计算,使用CS5460芯片设计的数字电表适用于住宅用电计量的最精确,并具成本效益的电表方案,打开了电表设计的新领域,是下一代民用电表的理想产品和最好的工业解决方案。目前我国高校学生公寓普遍采用限电措施来控制学校电能利用,公寓管理社会化后,限制学生用电将改为鼓励学生安全用电,从而将采用限制安全功率、限制基本电费、超量收费的形式。 关键词:CS5460芯片;STC89C52单片机;液晶显示模块;C51程序CS5460 single-phase meter based on the 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, CS5460 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 interface 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 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 present, 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, restrict basic electricity, excess charges Form.Key words:CS5460 chips; STC89C52 SCM; LCD Module;C51 Program目 录一 引言11.1 电度表的作用11.2 电度表的发展11.3电度表的发展前景1二系统的总体设计思路2三系统硬件组成及介绍3 3.1 CS5460简介3 3.2 CS5460引脚分配及功能53.3 CS5460的功能.63.4 CS5460寄存器配置.83.5 CS5460的工作过程.10四硬件电路设计11 4.1 前端电路调理模块13 4.2电能芯片CS5460模块14 4.3单片机STC89C52模块15 4.4液晶显示模块17五程序设计19 5.1 单片机C51程序设计的优点11 5.2 程序设计思路125.3 CS5460驱动程序135.4 CS5460的设置和启动15 5.5 读写CS5460165.6 结果显示程序17六 总结23谢辞参看文献附录一引言1.1电度表的作用电能表是我国电工仪表行业中产量最大的产品。近几年,国家连续出台的多项与电能表行业发展相关的政策以及房地产产业的迅速发展,为电能表需求的上升及保持行业发展的相对稳定起到了一定的保障作用。目前我国高校学生公寓普遍采用限电措施来控制学校电能利用,公寓管理社会化后,限制学生用电将改为鼓励学生安全用电,从而将采用限制安全功率、限制基本电费、超量收费的形式。住宅用电计量的最精确,并具成本效益的电表方案,打开了电表设计的新领域,是下一代民用电表的理想产品和最好的工业解决方案。随着高新技术尤其是电子信息技术的快速发展,电子式、多功能、高精度、多费率、自动抄表等产品的优势突显,且已经逐步成为电能表发展的主流,在未来几年里,这种趋势将更加明显。1.2电度表的发展作为测量电能的专用仪表电能表,自诞生至今已有100多年的历史。随着电力系统及其相关产业的发展以及电能管理系统的不断完善,电能表的结构和性能也经历了不断更新、优化的发展过程:由最初的感应电能表,发展到后来的感应系统脉冲电能表,直至现在的纯电子式电能表。感应系电能表是利用处于交变磁场的金属圆盘中的感应电流与有关磁场形成力的原理制成的。感应系统脉冲电能表仍采用感应系电能表的测量机构作为工作援建,由光电传感器完成电能脉冲转换,然后静电子电路对脉冲进行处理,从而实现对电能的测量。纯电子式电能表的原理是采用电子电路来实现电能计量,所以电子式电能表的共同特点是采用乘法器,根据所依托的乘法器为模拟的还是数字的分为模拟乘法器型电子电能表和数字乘法器型电子电能表。随着电能管理的现代化,需要访问电能表很多信息,同事决策还要与电能表进行双向通讯,由于数字乘法器型电能表是以微处理器为核心,所以功能容易扩展,易和配电自动化系统集成,CS5460是一种带有串行接口的单相双向功率电能集成电路芯片。1.3电度表的发展前景城乡电网改造,使电工仪器仪表行业步入了快速发展的轨道,同时也为行业企业提供了一个科技创新的平台,电工仪器仪表生产企业抓住机遇,通过对国外先进技术的兼收并蓄,并高标准、高起点自主开发了一系列高技术产品。 电力用户是我国电工仪器仪表最大的用户群体,需求量占整个市场需求量的90%,对该类产品的销售起着决定性作用。国家城乡电网改造结束后,电工仪器仪表行业进入了平稳过渡期,出现了短暂的低潮,但行业的发展并未停滞,以华立集团、宁波三星、林洋电子等为代表的行业企业在低谷中不断拓宽服务领域,寻求新的发展空间,从而在竞争中提高企业的核心竞争力.经过国内外市场的净化和洗礼,产品也发生了质的变化,开始从单纯量的增长向技术创新过渡,并步入高质量、高技术、高附加值时代,生产模式逐步向集约化大规模转变,核心竞争力不断增强,产品出口主要以电能表、便携式电表为主,出口辐射到几十个国家。特别是近几年,一些企业还通过在国外建厂等形式消化国内的市场,出口创汇不断攀升二系统的整体设计思路 CS5460可用于单相2线或3线功率/电能测量中应用。本次系统主要由前端电路调理模块,电能表芯片CS5460模块,单片机STC89C52模块,液晶显示模块。前端调理模块采用由电阻R1,R2构成的电阻分压器测量作用于负载上的电压,当然该电压必须为芯片所能允许的150MV的电压范围内,故对电阻R1,R2的比值需做要求,经变换的信号以差模电压的形式直接加到电能表的芯片CS5460上,用RS测量流过负载的电流然后以差模电流的形式加到CS5460芯片端上(如图2.1),通过输入的瞬时电压值和瞬时电流值得到电压和电流的有效值,单片机从CS5460中读取的瞬时电压、瞬时电流和瞬时功率等数据经处理后存在存储器内, 上电后单片机从存储器内读数据到内存中,再通过显示模块的液晶屏正常显示所测电压,电流,功率。 引言文本框的格式。 三系统硬件组成介绍3.1 CS5460简介CS5460是CRYSTAL公司最新推出的带有串行接口的单相双向功率/电能计量集成电路芯片,该芯片比目前比较流行的电子电度表芯片如AD7750、AD7755更容易实现与微处理器的连接。用CS5460可以方便的组成多功能电子式电度表和分布电度表和分布式电能计量管理系统。CS5460是一个高度集成的数模转换器,它将两个数模转换单元,一个高速能量计算单元和一个芯片上的串行接口结合起来,他可以用于精确的测量和计算仪器,单相两线或三线电能表的应用程序的能量,瞬时功率,IRMS和VRMS。CS5460具有低成本分流或变压器测量电流接口,与测量电压的电阻分压器或变压器。该CS5460具有双向串行接口与微控制器连接和一个固定宽度的可编程频率输出同样能量。该产品初始化并完全根据电功能,并包括设施系统级控制校准用户程序的。该CS5460旨在从单一经营+5V电源或双2.5V电源供电,提供一个30mVRMS至150mV范围通道,并提供一个范围为150mVRMS电压通道。由于是单供应,CS5460适用于一般模式信号。CS5460的内部组成模块如下:一个电流通道可编程增益放大器,其增益为10和50可选;一个电压通道固定增益放大器,其增益为10;两个同时采样的模数转换器;两个高速数字滤波器;两个可选用的高通滤波器;一个功率计算引擎;一个2.5V片内电压基准;一个可以检测电力不足或电源故障的电源监视器;一个持续监视串口通讯的看门狗;一个内部时钟发生器;一个串行接口;一个电能/脉冲变换器;一个校准用其内部组成模块如图1所示。 图2.1 CS5460内部组成模块3.2 CS5460的引脚分配及功能引脚名称引脚功能1XOUT晶体振荡器输出2CPUCLK:CPU时钟输出3VD+数字电路电源正极4DGND数字地5SCLK 串行时钟输入6SDO串行数据输出7CS片选8NC空脚9VIN+差分电压正输入端10VIN-差分电压负输入端11VREFOUT参考电压输出12VREFIN参考电压输入13VA-模拟地14VA+模拟电源正极15IIN-差分电流负输入端16IIN+差分电流正输入端17PFMON电源掉电监视输出18NC空脚19RESET复位输入20INT中断输出21EOUT电能脉冲输出22EDIR功率方向指示输出23SDI:串行数据输入24XIN晶体振荡器输入CS5460的主要技术指标:差分电压输入范围:150mv;温度系数:60ppm/;功率消耗:10mW;电能计量精度:在300动态范围以上每秒读取0.1;电压测量精度:读数的0.1;电流测量精度:读数的0.1;瞬时功率测量精度:读数的0.1。3.3 CS5460的功能CS5460可以在单+5V电源或双2.5V电源下运行,电流通道输入范围可为30mVRMS或150mVRMS,电压通道输入范围150mVRMS。CS5460可以测量瞬间电流,瞬间电压,瞬间功率,能量,RMS电流和RMS电压。测量的结果是以24位有符号或无符号数据形式输出的,同满量程的百分比形式一样。当接收到一个开始转换命令时,测量开始进行。当计算周期结束时,状态和屏蔽寄存器的DRDY被置位。加电后,该芯片被初始化后开始工作,电流通道和电压通道的信号被片内放大器放大后,通过内部模数转换器转换为数字信号,再通过高通滤波器消除了信号中的直流成分,将之送到能量计算引擎中算出功率和能量值,并存入CS5460的寄存器中,然后通知CPU计算完毕,由CPU将功率和能量值取走,同时也可输出可编程的输出可编程的输出频率来。1)中断管脚用来指示转换器发生了值得注意的事件。这些事件通知系统运行的状态和内部误差状态。通过把状态寄存器与屏蔽寄存器组合产生信号。当状态寄存器的一个位有效,并且屏蔽寄存器相应的位是逻辑1,信号被激活。当状态寄存器的这一位恢复为无效时,中断状态被清除。2)清除状态寄存器与其它的寄存器不同,状态寄存器的位只能被清除(设置为逻辑0)。当向状态寄存器写入字时,字中的任何1都可以清除状态寄存器相应的位,其它位保持不变。这可以在不清楚其它位的情况下,清除特定位。这种机制方便了信号交换,并将丢失未处理事件的危险性减到最小。3)激活状态激活由配置寄存器的SI1和SI0位控制,管脚可以被置为低电平(缺省),置为高电平,恢复逻辑0(上升沿),或恢复逻辑1(下降沿)。4)看门狗看门狗(WDT)提供一种警告系统与微控制器的通讯可能崩溃的手段,通过允许WDT产生中断,微控制器可以从死机状态跳出来。超时被编程为大约5秒。每次能量寄存器被读取,递减计数都重新启动。在典型情况下,每秒能量寄存器都被读取,因此,WDT不会超时。在将看门狗用在其他方面时,必须能够保证能量寄存器至少每5秒读取一次。接地图2.2 CS5460与STC89C52单片机接口电路图CS5460可以在单+5V电源或双2.5V电源下运行,电流通道输入范围可为30mVRMS或150mVRMS,电压通道输入范围150mVRMS。CS5460可以测量瞬间电流,瞬间电压,瞬间功率,能量,RMS电流和RMS电压。测量的结果是以24位有符号或无符号数据形式输出的,同满量程的百分比形式一样。当接收到一个开始转换命令时,测量开始进行。当计算周期结束时,状态和屏蔽寄存器的DRDY被置位。加电后,该芯片被初始化后开始工作,电流通道和电压通道的信号被片内放大器放大后,通过内部模数转换器转换为数字信号,再通过高通滤波器消除了信号中的直流成分,将之送到能量计算引擎中算出功率和能量值,并存入CS5460的寄存器中,然后通知CPU计算完毕,由CPU将功率和能量值取走,同时也可输出可编程的输出可编程的输出频率来。3.4 SCS5460寄存器配置CS5460内部集成了包括偏置寄存器,增益寄存器,脉冲速率寄存器和参数寄存器等16个寄存器,还集成了串行口发送寄存器,串行口接受寄存器和一个命令解释状态机,用于完成CS5460的设置,采集数据的存储和串行输入输出的控制,图2.3为内部寄存器分配图。此命令通知状态机,一个寄存器的访问是必需的。在读取地址教育署到输出缓冲区,由SCLK时钟了。在写数据移入输入缓冲器到第24SCLK的处理登记。W/ R写入/读控制0 =读寄存器1 =写入寄存器注册地址位。二进制编码的0到31。所有寄存器都是24位地址名称的说明00000 配置寄存器00001电流偏移校准00010 电流增益校准00011 电压偏移校准00100电压增益校准00101数转换整合以上(N)00110脉冲率用于校准/规模的能量频率00111最后电压值01000 最后权价值01001 最后的总能量值01011 RMS电流值01100 RMS电压值01101定时基校正01110内部只使用01111状态寄存器10000保留10111保留11000内部只使用11001内部专用11010中断屏蔽寄存器11011内部专用11100保留11111保留3.5 CS5460的工作过程在CS5460执行的是瞬时电流,瞬时电压,瞬时电力,能量,RMS电流和RMS电压的测量。这些测量是以24位有符号和完整规模的无符号数据格式作为输出。 图2.5 写时序 图2.6读时序寄存器读写命令如下:其中,WR为0读寄存器,为1写寄存器,RA(04)寄存器地址说明如下:00000:配置寄存器,00001:电流偏移校准,00010:电流增益校准,00011:电压偏移校准,00010:电压增益校准,00101:转换次数,00110:能量,00111:最新电流,01000:最新电压,01001:最新功率,01111:状态寄存器,10000:交流电流偏移寄存器,10001:交流电压偏移寄存器CS5460 实现瞬时电压、瞬时电流、瞬时功率的测量, 电压和电流通道输入信号被送到cs5460功率计算单元,由输入的瞬时电压值和瞬时电流值计算得到瞬时功率值,同时还可以通过输入的瞬时电压值和瞬时电流值得到电压和电流的有效值。CS5460的串行接口部分集成了一个带有发送接收缓冲器的状态机,状态机在SCLK上升沿解释8位命令字。根据对命令的解码,状态机将执行相应的操作,或者,为把寻址的内部寄存器的数据传送到发送缓冲区,写操作在数据传输前要等24个SCLK周期。通过寄存器读写命令,数据可被写入或从CS5460A中读出,图2、图3为读、写时序。数据的读、写通过向串口SDI引脚写入相应的8位命令字(高位在前)来启动。需要注意的是:一些命令字在执行时受周期计数寄存器和配置寄存器内容的影响,需要先对周期计数器和配置寄存器内容进行正确设置。寄存器写指令后必须跟24位数据,先写命令字启动写操作,然后随着24个连续的串行时钟脉冲,CS5460A将从串行输入引脚SDI接收串行数据,一旦收到数据,状态机便将数据写入配置寄存器并返回到命令模式。寄存器读指令可以终止在8位的边界上。通过SDI引脚写入命令后,可从SDO引脚读出数据 电压、电流有效值可直接从电压有效值寄存器、电流有效值寄存器中读取。而由于计算周期设为1s,电能寄存器中的电能值即为有功功率值,因此有功功率值可直接从电能寄存器中读出。功率因数可由公式COS=P/(UI)得出。 频率的测量:将循环计数寄存器的N值改变为1,此时电压、电流瞬时值数据的刷新率为4000Hz,这就为通过软件进行信号过零判断创造了条件。频率测量的具体方法是:通过一个过零函数来记录电压信号正向过零次数,并同时记下读取数据次数,如果取10个周期的平均时间为实测周期时间,那么当记到第11次正向过零时,停下来算出每个周期内读取数据次数,默认两次读取数据的时间差为250,便可算出频率。四硬件电路设计4.1 单相电度表的工作原理: (1)前端电路调理模块把所输入的大电压电流信号转变成CS5460 可接受的小电压信号,以差模电压或电流的形式输入进去。(2)由VIN+ , VIN - 输入的差模电压模拟信号由模拟数字转换器进行转换,获得瞬时电压,转换后的数字信号被送入功率计算器。由VIN + , VIN- 输入的差模电流模拟信号同样由模拟数字转换器进行转换, 获得瞬时电流,转换后的信号也被送入功率计算器。 3)CS5460 根据采样电路输入的瞬时电压、瞬时电流计算出瞬时功率,然后把瞬时电压、瞬时电流及瞬时功率由双向串行接口传送给单片机STC89C52。4)单片机根据程序指令显示测量结果,也可输入程序通过累加计算出能量。该系统各个模块芯片引脚连接情况如下图所示: CS5460STC89C52 液晶显示 4.2 前端电路调理模块 CS5460的IIN+,IIN-接分流器的两端RS的两端,借助RS测量流过负载的电流。RS的选取须保证在最大允许电流负荷下,其采样电压值不超过正负150MV。CS5460的VIN+,VIN-接由R1,R2组成的电阻分压器R1的两端,将被测信号电压通过电阻R1,R2的阻值比不同,将其换算到不超过正负150MV的电压范围内,从而以差模信号的形式加到CS5460芯片的差模信号输入端。本电路图中取R1=200,R2=500K,得到其变比系数为2500。类似,取RS=110K,将电流以差模电流的形式输入到CS5460芯片中。如图4.1所示。 N L 图4.1 前端电路调理模块4.3 电能芯片CS5460模块 经调理电路的调理的电压信号,电流信号通过IIN+,IIN-,VIN+,VIN-接口送入电能表芯片CS5460,芯片被初始化后开始工作,电流电压通道的采样信号被片内放大器放大,经内部模数转换器转换为数字信号,在通过高通滤波器消除直流分量,并由计算引擎计算出瞬时功率,在此过程中也可以算出瞬时电压,瞬时电流,根据采样频率的设定值可以计算出电能值,电流有效值,电压有效值,并将其存入相应的寄存器中,然后将单片机与其相连,从而将芯片寄存器中的电能值,电压有效值,电流有效值读出,并送于液晶显示单片机与CS5460的连接图如图4.1所示: CS5460 STC89C52 图4.1 单片机STC89C52与CS5460的连接图4.4 单片机STC89C52模块 本次系统设计中采用的是C52单片机,是C51单片机的增强版,其引脚及其功能与C51单片机类似,其引脚图如下所示 STC89C524.5 液晶显示模块 本次设计的单相电度表中,单片机通过液晶的串口向液晶寄存器写命令,进而实现对液晶显示的控制,图4.2是单片机与液晶模块连接图。该模块用于显示电压,电流和功率。通过读取显示的数值再乘以变比系数则可以得到被测器件真实的电压,电流和功率值。在本次设计系统中五程序设计5.1 单片机C51程序设计的优点 因为本次系统设计中虽然采用C52单片机,但鉴于其二者引脚功能基本一致,故采用C51的编程方法即可。现在有许多可以对80C51单片机硬件进行操作的C语言,它们通常统称为C51。当系统规模较大时,设计人员都趋于采用C语言,这是因为C语言具有良好的可读性、易维护性、可移植性和硬件操作能力。采用C51进行单片机应用系统的程序开发,编译器能自动完成变量的存储单元的分配,编程者可以专注于应用程序的设计,可以对常用的接口芯片编写通用的驱动函数,对常用的功能模块和算法编写相应的函数,可以方便地进行信号处理算法和程序的移植等等,从而加快了单片机应用系统的开发速度。目前,C51的代码长度已经达到了汇编程度水平的1.2倍-1.5倍。当代码长度超过4KB以上时,C51比汇编语言具有较为明显的优势。另外,还可以借助于仿真器,对应用程序的关键代码进一步进行优化,以减少代码的长度,提高运行的速度。同时,由于单片机生产工艺的发展,单片机的运行速度和内部存储器容量都有了较大的提高,这些都为C51应用程序的应用创造了更为有利的条件。5.2程序设计思路: STC89C52的INTO接到CS5460的INT端,当有中断申请时,通过读取内部状态寄存器,以获得CS5460的工作情况,经判断执行相应的处理程序。5.3 CS5460 驱动程序 5.4CS5460的设置和启动步骤:1) 复位CS546,对CS5460的复位脚发复位脉冲,脉冲不少于10MS。2) 写同步控制命令字。3) 从外部存储器读原来保存的校准值,并将读出的值写入相应的校准寄存器。4) 写控制寄存器,设置各寄存器参数。5) 清状态寄存器。6) 启动CS5460A开始转换。7) 读CS5460A的AD转换值或计算结果。5.5 读写CS5460步骤:1) 读能量寄存器。2) 读电流有效值寄存器。3) 读电压有效值寄存器。4) 读状态寄存器,回写状态寄存器。5) 设置中断。写CS5460void wr5460(uchar command,uchar wh_byte,uchar wm_byte,uchar wl_byte)CS=0;wr5460byte(command);wr5460byte(wh_byte);wr5460byte(wm_byte);wr5460byte(wl_byte);CS=1;写CS5460一个字节void wr5460byte(uchar wrbyte)uchar i;for (i=0;i8;i+)SCLK=0;if(wrbyte & 0x80) = 0x80)SDI=1;else SDI=0;wrbyte=wrbyte 1;SCLK=1;SCLK=0;SDI=1;读CS5460void rd5460(uchar command)CS=0;wr5460byte(command);rh_byte=rd5460byte();rm_byte=rd5460byte();rl_byte=rd5460byte();CS=1;读CS5460一个字节uchar rd5460byte(void)uchar i,val;val=0;for (i=0;i8;i+)val=val1;if(SDO)val=val | 0x01;if (i=7)SDI=0;else SDI=1;SCLK=1;_nop_();SCLK=0;_nop_();return(val);5.6结果显示程序步骤:1)将显示缓存清零。2)初始化单片机。3)设置时钟。4)六位数码管显示程序。显示程序代码:void display(void) /六位数码管显示程序,disdat是要显示的内容(是09的数字),xsd是在那一位显示小数点uchar i,disa,disb,disc;disb = 0x00;/显示第n位for (i=0;i6;i+)/共显示6个数据disa = disdati;/显示数据if (disa 10)P2 = disb;disc = tabdisa; /显示段码if (xsd != 5) & (xsd = i)disc = disc | 0x80;/增加小数点显示P0 = disc;/送显示delay ();/延时P0 = 0x0;disb+;/下一个要显示的位置P2 = 0xff;总 结CS5460代表了新一代的电能专用芯片,用它设计出来的专用电度表具有成本低,精度高,调教简单,与微处理器接口方便等优点,使电量管理者能够获得更有用的数据,且用户投入费用低,具有广阔的市场前景。本文所研究的基于CS5460的单相电度表测量系统设计就是一个高精度芯片和单片机的应用。系统以89C52单片机和芯片CS5460为核心,利用该芯片及外围电路实现信号的模拟-数字转换和功率计量,并通过单片机的程序设置很好的完成了数据的累加,从而计算得到总的能量。本系统有两个主要模块组成:第一个是数据采样及功率的计算,主要由芯片CS5460和外围电路组成。外围电路将输入电压信号转换为CS5460可以接受的 小电压信号。CS5460则完成电压信号的采样及功率计算,并将结果通过串行接口输入给单片机。第二个是结果显示模块,它主要由单片机及数码管及外围电路组成。该模块将第一个模块得到的结果显示到数码管上,并存入存储器内,同时累计得到电能,再乘以相应的比例系数则可以得到所测的真实值。本设计的主要难点:1)前端调理模块中外围电路电阻阻值的选取,电阻阻值应尽量精确,且阻值的选取应很好的满足CS5460对输入电压信号大小的要求。2)程序的编写。本设计中的程序包括芯片CS5460的参数设置、CS5460内部寄存器的读写,数码管显示函数等。虽然我们系统的学习了,对51系列单片机有了一定的了解,但在实验中多数应用汇编语言进行程序的编写,现在用C语言编写程序有一定的困难,最后参考老师所给程序才能很好的完成本次设计。谢 辞时光匆匆飞逝,四年多的努力与付出,本设计的完成既为大学四年划上了一个完美的句号,也为将来的人生之路做了一个很好的铺垫。 本设计得以完成,要感谢的人实在太多了,首先要感谢龙海南老师,因为本设计是在龙老师的悉心指导下完成的。龙老师渊博的专业知识、严谨的治学态度、一丝不苟的作风、诲人不倦的高尚师德对我影响深远,一直是我工作、学习中的榜样,他的循循善诱的教导和不拘一格的思路也给予了我无尽的启迪。在整个设计过程中,龙老师每星期都定时与我们交流,听取我们的设计进展,为我们解答设计过程中遇到的各种问题,并安排布置下一步的设计任务。在我做毕业设计的三个月里,龙老师指导我完成了外文文献的翻译、开题报告、中期报告的撰写等等,每次他都认真地给我们修改,指出其中的不当之处。龙老师要指导很多同学的毕业设计,加上本来就有的教学任务,工作量之大可想而知。三个多月的毕业设计即将结束,在龙老师的悉心指导和帮助下,加上我个人的努力,完成了本课题的设计与论文撰写。在完成设计的过程中,我综合运用四年来所学的专业知识,并且翻阅了大量的参考资料。通过查资料和搜集有关的文献,培养了我的自学能力和动手能力,并且由原先的被动地接受知识转换为主动地寻求知识,这可以说是学习方法上有了很大的突破。同时,我学会了如何将学到的知识真正转化为自己的东西,怎么更好地处理理论和实践相结合的问题。四年的大学学习生活即将结束,在论文即将完成之际,向四年来辛勤培养、教育、关心和帮助过我的老师们表示最诚挚的敬意和感谢!同时,设计的顺利完成也离不开各位同学和朋友的关心和帮助,他们积极的帮助我查资料和提供有利于本设计的建议和意见,使得本设计在一定程度上得到完善。我也从各位同学身上学到了很多东西,在此也向他们表示最诚挚的谢意!参看文献 1 李全利,仲伟峰,徐军单片机原理及应用北京:清华大学出版社,2006,2 陈龙三8051单片机C语言控制与应用北京:清华大学出版社,19993 张培仁基于C语言编程:MCS-51单片机原理与应用北京:清华大学出版社,20034 谭浩强C语言程序设计北京:清华大学出版社,20005 郑文,赵伟等,电能自动抄表技术及相关思考、电测与仪表【J】、20016 赵伟,庞海波等,电能表的发展历史、电测和仪表J,19997 刘乐善,微型计算机接口技术原理及应用M,华中理工大学出版社,19998 付先学,智能电力监测系统设计方案J,电测与仪表,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 Lecture 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#include #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 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 复位delay(100);RESET=1;INT=1;SDO=1;EA=0;wr5460(0xff,0xff,0xff,0xfe); /*同步*/wr5460(0x40,0,0,1); /*配置寄存器*/wr5460(0x5e,0xff,0xff,0xff); /*清状态寄存器*/wr5460(0x74,0x80,0x00,0x00); /*写中断屏蔽寄存器*/rd5460(0x1e); /*读状态寄存器*/wr5460(0x5e,rh_byte,rm_byte,rl_byte); /*回写状态寄存器*/CS=0;wr5460byte(0xe8); /*启动转换*/ CS=1;/*写CS5460*/void wr5460(uchar command,uchar wh_byte,uchar wm_byte,uchar wl_byte)CS=0;wr5460byte(command);wr5460byte(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;/*写CS5460一个字节*/void wr5460byte(uchar wrbyte)uchar i;for (i=0;i8;i+)SCLK=0;if(wrbyte & 0x80) = 0x80)SDI=1;else SDI=0;wrbyte=wrbyte 1;SCLK=1;SCLK=0;SDI=1;/*读CS5460一个字节*/uchar rd5460byte(void)uchar i,val;val=0;for (i=0;i8;i+)val=val1;if(SDO)val=val | 0x01;if (i=7)SDI=0;else SDI=1;SCLK=1;_nop_();SCLK=0;_nop_();return(val);/*延时程序 延时时间n*15 us*/void delay(uint n)do_nop_();_nop_();_nop_();_nop_();_nop_(); /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 void 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,uchar 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 void 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;uchar 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(0x14);pyg_h=rh_byte;pyg_m=rm_byte;pyg_l=rl_byte; /*读能量寄存器*/rd5460(0x16); irms_h=rh_byte;irms
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!