《多用户电能表的应用设计_课程设计报告(30页).doc》由会员分享,可在线阅读,更多相关《多用户电能表的应用设计_课程设计报告(30页).doc(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-多用户电能表的应用设计_课程设计报告-第 25 页多用户电能表的应用设计课程设计报告姓 名: 学 号:200901101026 专 业:电气工程及其自动化 班 级:09-2班 邮 箱: 指导教师: 摘要电子式电能表是通过对用户供电电压和电流实时采样,采用专用的电能表集成电路,对采样电压电流信号进行处理并相乘转换成与电能成正比的脉冲输出,通过计度器或数字显示器显示用户使用的电量。本文将设计一个以C8051F360芯片为核心,配有电能转换模块、LED显示模块、掉电存储模块等功能模块,实现对八户的用电状况进行采集检测。本次设计用户数为八户,即实现八位用户循环显示电能量。同时,基于E2PROM 24
2、C16芯片实现单片机的掉电数据保护,基于74HC165芯片实现单片机的清零。基于AD7755芯片实现电能脉冲的发生;应用单片机C8051F360编制程序完成脉冲的读取、计数、计算、存储、送显示等功能;应用74HC164及八段译码显示器完成数据的显示;应用74HC165及键盘控制对脉冲清零;应用E2PROM 24C16完成数据的定时写入以防停电时数据丢失。关键词:8用户电能表;AD7755;24C16;C8051F360ABSTRACTElectrical meter is through user power supply voltage and current real-time sampl
3、ing, using special integrated circuit of electric energy meter, the sampling voltage current signal processing and multiplication convert to electric proportional to the pulse output, through the JiDuQi or digital display shows users with the use of the power. This paper will design a C8051F360 chip
4、s as the core, equipped with electric energy conversion module, LED display module, power lost storage module function module, realizes to eight of the power consumption and the collection detection. The design for the eight users at home, which realize the eight users cyclic display electric energy
5、. At the same time, based on the single chip microcomputer chip realize 24 y E2PROM chips was the power lost data protection, based on the 74 HC165 chip microcontroller cleared of realization. Based on AD7755 chip realize the energy pulsing occur; C8051F360 single chip microcomputer application prog
6、ram to complete pulse to read, counting, computation, storage, send display function; Application HC164 and eight section 74 decoding display finish data display; 74 HC165 keyboard control and application of pulse reset; Application E2PROM chips was complete data of the timing 24 y write in case of
7、power data is lost. 意见与反馈 参加有道翻译用户满意度调查! Keywords:electric energy meter; 8 the user watt-hour meter; AD7755;24C16;C8051F360目录1 设计目的及要求11.1设计目的11.2设计要求12 设计内容12.1设计系统方案12.2设计系统框图23 硬件电路设计23.1 24C16功能介绍23.2 六段数码管显示电路33.3 C8051F360功能介绍43.4 5V稳压电源的设计53.5 光电隔离电路53.6 AD7755电路设计64 软件电路设计124.1 主程序流程图设计124.2
8、显示用户及相应电能子程序框图134.3 读24C16子程序框图144.4 写24C16子程序流程图154.5 查询键盘流程图164.6 中断子程序流程图175 结束语18致谢:18参考文献19附录201 设计目的及要求1.1设计目的设计多用户电能表,掌握单片机在电力系统中的应用,并且可以通过计算机的编程实现对户的用电状况进行显示,进一步熟练单片机编程,了解24C16的功能实用。完成系统的硬件设计及软件设计。本次设计用户数为八户,即实现八位用户循环显示电能量。同时,基于24C16芯片实现单片机的掉电数据保护,基于74HC165芯片实现单片机的清零。1.2设计要求1.3.1户数:8户。1.3.2精
9、度:0.001。1.3.3脉冲数:每1000个脉冲为1度电 。1.3.4循环显示:8户电能循环显示,每隔3S显示一户。1.3.5掉电保护:掉电时不能丢失数据,24C16掉电保护电路的设计。1.3.6数据显示:实现交流电表对单相交流电能的测量并显示。基于AD7755芯片实现电能脉冲的发生;应用单片机C8051F360编制程序完成脉冲的读取、计数、计算、存储、送显示等功能;应用74HC164及八段译码显示器完成数据的显示;应用74HC165及键盘控制对脉冲清零;应用E2PROM 24C16完成数据的定时写入以防停电时数据丢失。2 设计内容2.1设计系统方案根据设计题目要求,以及原始资料的精度要求,
10、电能转化脉冲芯片有AD7755可供选择 ,因为它是一种高准确度电能测量集成电路,稳定性强并且价格不贵;单片机芯片选择C8051F36x器件,它具有片内上电复位电路、VDD监视器、看门狗定时器和时钟振荡器,是真正独立工作的片上系统;数据保护电路芯片可选FM24C16 ,用先进的铁电技术制造的16K位的非易失忆的记忆体;另外要求为LED显示,使用74LS164串入并出8位移位记存器进行存储数据;因为各芯片需提供直流电源,我们要进行设计交直流变化和降压电路,大体的设计选择框架思路就是这些。电能变换电路采用AD7755芯片,工作时AD7755芯片将电流采样信号和电压采样信号送入缓冲放大器,经模拟乘法器
11、相乘,再经V/F转换器转换将电压信号转换为脉冲信号,AD7755芯片的快速脉冲输出为3200脉冲/KWh,与用户使用电能相对应。 输出的快速脉冲信号经光电隔离送给单片机,我们采用C8051F36x单片机对脉冲信号进行采集和计数,P2口(8位)同时工作即可对8户电能脉冲进行采集与计数,我们将为每户开辟2个字节的内存计数。2.2设计系统框图稳压电源稳压电源电压信号电流型电压互感 器电流信号电流互感器电 能 转换 脉 冲芯 片 AD7755光电耦 合LED显示单机芯片C8051F360E2PROM24C16图2.1 设计总体框图3 硬件电路设计3.1 24C16功能介绍图3.1 24C16管脚图CA
12、T24WC16支持是一个16位串行CMOS EEPROM,功耗小,有一个16字节页写缓存区,通过I2C总线接口进行操作,有专门的写保护功能。其中I2C总线协议规定,任何数据传送到总线的器件作为发送器,任何从总线接收数据的器件为接收器。SCL是一个输入管脚,产生器件所有数据发送和接收的时钟,SDA是一个开漏输出管脚,用于器件所有数据的发送和接收, A0、A1、A2为器件地址输入端,WP接到VCC所有内容被写保护(只能读),WP管脚接到VSS或悬空,允许器件进行正常的读/写操作。CAT24WC16使用铁电技术制造的16K位的非易失性的记忆体,并且可以快速读写数据被可以长时间掉电保存,并且其非易失性
13、存储器可靠性更高,系统更简单,并且24C16可以承受超过100亿次的速写或者是比EPROM高一万倍的写操作,当数据采集系统对写入数据的频率要求比较高即速度要求快的时候E2PROM 24C16也可以可靠的实时采集数据。3.2 六段数码管显示电路图3.2 74HC164与LED数码管显示电路图 数码管显示电路采用74HC164,本次设计使用六个共阳极LED数码管,其数码管段码值如表3.1:表3.1段码值88HEBH4CH49H2BH19H18H0CBH08H09H7FH数值0123456789-74HC164芯片是一个8位移位寄存器,串行输入,并行输出,当时钟信号端(CLOCK)出现上升沿时,开始
14、向164中写入数据,串行数据输入端为A,B的线与,当A、B中任意一个为低电平时,禁止新数据输入,但本设计可以直接向164送数据,因P1.0管脚为A、B的线与,当P1.0管脚为1,则向164送1,若P1.0为0,则向164送0。如若想送一个数据49H,需先把数据送给寄存器A,将寄存器A中的数据带进位循环右移,此时C中的数据为1,先将时钟输入端CLOCK清零,再将时钟输入端CLOCK置一,读入C中的数据送给164的Q0,再将寄存器A中的数据右移一位,此时C中的数为0,然后寻找时钟输入端的上升沿,将0写入,此时164的Q0管脚变为0,Q1管脚变为1,照此规律依次将八位二进制数存入164中,最后Q0Q
15、1Q2Q3Q4Q5Q6Q7中的数据分别为01001001,即49H。因本设计所使用的电路板有10个74HC164,6个LED数码管前后各有两个与二极管连接的164,数据传输时会先将第一个数据传给第一个74HC164,这样如果传送6位数据,则会出现最后两个LED数码管不显示数据的现象,因此应在调用两次显示子程序,将两个存在与二极管连接的164中的数据移到LED数码管中,显示全部数据。本次设计使用的共阳极LED数码管的管脚设置图如下:图3.2 LED数码管管脚设置图其显示原理为公共阳极接高电平,管脚接电平,二极管导通,则相应的笔画段亮,由发亮的笔画段组合得到各种显示字符,上图使用的数码管阴极各段接
16、10001000时,显示器显示“0”字符,即对于共阳极LED显示器,“0”字符的字形码是88H。很多产品为方便接线,常不按规则的方法去对应字段与位的关系,这时字形码就必须根据接线自行设计了。 3.3 C8051F360功能介绍C8051F360单片机为主要部件,它具有片内上电复位电路、VDD监视器、看门狗定时器和时钟振荡器器件,是真正能独立工作的片上系统。FLASH 存储器还具有在系统重新编程能力,可用于非易失性数据存储,并允许现场更新 8051 固件。用户软件对所有外设具有完全的控制,可以关断任何一个或所有外设以节省功耗。其P1.0,P1.1口产生的脉冲向74HC164显示输送数据,使其显示
17、相关信息,P2口接拨码开关,模拟AD7755电量脉冲,PCF8563、24C16部件实时存储用户电量信息,并在掉电后保存,单片机上电复位后能够从中读取数据。图3.3 C8051F360电路图3.4 5V稳压电源的设计电源电路设计是整个电路设计中的重要部分,其性能的好坏对整个电路的影响极大,是整个系统能稳定工作的前提和关键,系统的各个单元电路都需要使用直流电源供电。本设计将220V交流市电通过电源变压器换成交流低压,再经过桥式整流电路整流和滤波,在固定式三端稳压器两端形成一个并不是很稳定的直流电压,然后再经过W7805的稳压和电容的频率补偿,形成精度高,稳定性好的直流输出电压,并且集成三端稳压器
18、精度高、外围电路简单,体积小、容易设计和制作、维修简单。图3.4 稳压电源电路的设计220V5V的共两套,一套给AD7755,另一套给显示模块和5V3.3V电源。5V3.3V电源供给C8051F360和24C16。220V5V转换电路中,相关参数如下:C1=330uf,为滤波电容;C2=0.33uf,用于抵消输入线较长时的电感效应,以防止电路产生自激震荡;C3=1uf,用于消除输出电压中的高频噪声。3.5 光电隔离电路在许多应用中,许多电路链接之间需要非直接的连接,从而在提供数据的同时避免来自系统某一部分的危险电压或电流对另一部分造成破坏,造成这种破坏的可能是电源质量低劣、接地故障等各种故障。
19、电路隔离的主要目的是通过隔离元件把干扰的路径切断,从而达到抑制干扰的目的,保护电子设备。在两点间避免电流流过,而允许有数据或功率传送时需要使用隔离技术。电路隔离主要有:模拟电路的隔离、数字电路的隔离、数字电路与模拟电路之间的隔离。所使用的隔离方法有:脉冲变压器隔离法、继电器隔离法、光电耦合器隔离法、直流电压隔离法、A/D转换器隔离法。传统的光耦隔离电路虽然也能实现很高的线性度, 不过这些电路需要的电源种类较多, 线路比较复杂, 设计成本比较高。为了解决这些问题, 本次设计中一种新的光电耦合结构, 由它组成的光耦隔离电路具有很高的线性度, 且只需采用普通的光电耦合器和简单的电路结构。应用这个电路
20、解决了弹载黑匣子的电压采样信号的光电隔离问题。光电耦合器的工作原理和特性如下:光电耦合器件是把发光器件(如发光二极管)和光敏器件(如光敏三极管)组装在一起, 通过光线实现耦合构成电) 光 ) 电的转换器件。当电信号送入光电耦合器的输入端时, 发光器件将电信号转换为光信号。光信号经光敏器件感应接收, 再还原成电信号。图3.5是一种典型反相应用电路, 当输入端有电流流过时, 发光二极管发光,使光电三极管导通, 其集电极就有电流I C 流过。光电耦合器其主要特点为:1) 输入、 输出之间在电气上相互绝缘;2) 信号传输是单方向的, 输出端的噪声不影响输入端;3) 体积小、 寿命长、 无触点,功耗低;
21、4) 光电耦合器的传输特性具有非线性和随温度变化性;图3.5 光电隔离电路3.6 AD7755电路设计图3.6.1 AD7755内部功能图3.6.1 AD7755电路只在ADC和基准电源中使用模拟电路,所有其它信号处理(如相乘和滤波)都是用数字电路,这使AD7755在恶劣环境环境条件下仍能保持极高的准确度和长期的稳定性。3.6.2 设计参数:基准电压: 220V10%基准电流:Ib=5A最大电流:Imax=4Ib=20A计量精度:1%最小电流:Imin=2%Ib=0.1脉冲数:3200/kw.h3.6.3 参数计算:3.6.3.1 以AD7755设计的电能表的相关参数计算:配合C8051F36
22、0芯片的16进制算法与课程设计的参数要求,参考基本电流与脉冲的建议数,选定基准电流Ib=5A,每kw.h计度需要的脉冲数为3200,即CF的输出为3200imp/ kw.h。线路电压220V,基本电流Ib为5A,动态范围400(规定准确度的电流范围为2%IbImax,即100mA40A);计度器的电表常数C为3200imp/ kw.h,即AD7755发3200个脉冲,单片机记录1 kw.h电。为满足电流通道的动态范围且留有充分的余量,选用350的分流器;以其将负载电流转换为电压,接V1P和V1N。线路电压经电压分压器分压,也降到允许的最大电压范围之内,接V2P和V2N。负载电流为基本电流(5A
23、)时,线路的功耗为P=2205=1.1 kw。选择f1-4=3.4Hz,SCF=0,S1=0,=S0=1,此时CF频率为f1的32倍,所要求的频率恰为f1,f2段的脉冲计数标准为100imp/ kw.h。3.6.3.2 乘以此常数得Ib情况下的输出频率:fF1=PC=1.13200/3600=0.9777778Hz查AD7755数据表,所选择f1-4=3.4Hz,满足最大电流为40A和再留有足够余量的要求。fF1=8.06U1U2Gf1-4U2REFU1=5350=1750V=1.75mV并以最大电流产生的压降和表1,选择G=16U2=fF1U2REF8.06U1Gf1-4=0.0305552
24、.528.061.75163.4=248.9mV原理图中R1、C1,R2、C2,R3、C3,R4(R5R16)、C4为抗混叠滤波器。因为AD7755以900kHz过采样速率采样,故大大简化了抗混叠滤波器的设计。不过,两个通道之间的相位匹配非常重要。例如,当cos=0.5时,0.2的外部相位误差将产生0.6%的测量误差。为使两个通道的相位匹配,电阻、电容的取值分别为R1=R2=R3=R4=1k(精度为1%);C1=C2=C3=C4=33nF;R5= 300k,R6= 150k,R7= 75k,R8=39k,R9=18k,R10=9.1k,R11=5.1k,R12=2.2k,R13=1.2k,R1
25、4=560,R15=R16=330k。考虑到选用的分流器和基准源都存在允差,原理图中设置了校准网络,通过短接或断开J1J10,可在30%范围内进行调节。因为R15+R16=660k,大于大于R4(1k),因此,即使R5R14全部短接,这条支路的-3dB频率仍由R4和C4的值决定。据厂家介绍,从J1J10全部接通变化到J1J10全部断开,50Hz处产生的相移仅为0.0004。考虑到分流器存在寄生电感,较大时需要进行补偿。当分滤器阻值很小时,如,小于200,特别要注意此问题。AD7755的供电电压由电容分压器分压、二极管整流、RC滤波和7805 IC稳压产生。7805的输出以C13(10F)和C1
26、2(100nF)退耦,接AD7755的DVDD。VDD再经R22(10)、C10(100nF)和C11 (220F)滤波,接AD7755的模拟电路电源管脚AVDD。AD7755的CLKIN和CLKOUT管脚接3.579545MHz晶体和2只22pF陶瓷电容。考虑抗电磁干扰,除原有的滤波电路外,原理图电流输入通道中增加了Z3、Z4铁氧体,电源电路部分增加了由Z1铁氧体、C16电容和MOV1金属氧化物压敏电阻组成的滤波网络等。3.6.3.3 C8051F360单片机部分管脚及参数由原理图知:P1.0P1.7分配给八个用户,作为脉冲输入端口。P2.0和P2.1分配给LED显示部分作为时钟信号和数据输
27、入。P2.4和P2.5分配给24C16作为SCL和SDA信号脚。此外,C8051F360功能强大,结构复杂,其余端口与本设计无关,故其分配情况不再详述。晶振采用11.0592MHz,电源使用3.3V。3.6.3.4 电源参数220V5V的共两套,一套给AD7755,另一套给显示模块和5V3.3V电源。5V3.3V电源供给C8051F360和24C16。220V5V转换电路中,相关参数如下:C1=330uf,为滤波电容;C2=0.33uf,用于抵消输入线较长时的电感效应,以防止电路产生自激震荡;C3=1uf,用于消除输出电压中的高频噪声。图3.6.2 AD7755性能测试电路3.6.4 器件选择
28、:AD7755电能脉冲发生器的选择:AD7755是美国AD公司生产的专用于功率/电能测量的低成本集成电路。它的技术指标满足GB/T17215-1998标准规定的准确度等要求。AD7755有24条引脚,以DIP和SSOP形式封装。AD7755在电子电能表中的连接如图1所示。管脚功能如下:P1 DVDD,数字电路电源,5(5%)V;P2AC/DC,高通滤波选择脚,逻辑高,高通滤滤器使能;P3 AVDD,模拟电路电源,5(5%)V;P4、P19 NC,未接;P5-P6 V1P-V1N,通道1(电流通道)模拟输入,最大差动输入电压为470mV;P7-P8 V2N-V2P,通道2(电压通道)模拟输入,最
29、大差动输入电压为660mV; P9 RESET,复位引脚,逻辑低使ADC和数字电路保持复位状态,清内部寄存器;P10 REFIN/OUT,电压基准脚,片上基准为5(8%)V,可接外部基准源;P11 AGND,模拟电路参考地;P12 SCF,校准频率选择脚;P13、P14 S1、S0,数-频转换频率选择脚;P15、P16 G1、G0,通道1增益选择脚;P17 - P18 CLKIN- CLKOUT,外接时钟,钟频3.579545MHz;P20 REVP,负功率指示脚,电压信号和电流信号之间的相位差90时变为逻辑高;P21DGND,数字电路参考地;P22 CF,校准频率输出;P23、P24 F2、
30、F1,低频输出。它由模拟电路(模数转换电路、基准电路与电源电压监测电路)和数字信号处理电路两部分组成。被测电压、电流转换为数字量后,接下来的信号处理都在数字域实现;AD7755内部的相位校正电路、高通滤波器、乘法器、低通滤波器、数字-频率转换器等都为数字电路。AD7755内有两个以900kHz过采样速率采样的16位2阶-模数转换器(ADC)。被测电流经可编程增益放大器(PGA)放大后接电流通道的ADC,并由此ADC转换为对应的数字信号。再经相位校正和高通滤波,进入乘法器。乘法器的另一路输入是由电压通道ADC转换而来的、与被测电压对应的数字信号。相乘后产生瞬时功率信号。此信号经低通滤波器滤除其中
31、的交流分量,提取出负载消耗的瞬时有功功率。AD7755对这个瞬时有功功率信号进行一段时间的累计、平均,求得平均有功功率,以较短时间对瞬时有功功率进行累计,求得与瞬时有功功率成正比的高频频率并经CF输出,用于校准或送微控制器累加计数,实现对电能的计量。电流通道的PGA的增益受管脚G1、G0控制。 高通滤波器是否接入受管脚AC/DC控制。逻辑高,HPF使能。用来去除电流通道的直流偏移和由此引起的误差。高通滤波器接入或断开造成的相移,由相位校正电路校正,使电压通道和电流通道的相位匹配。如前所述,管脚F1、F2输出与平均有功功率成正上的电压有效值具有下列关系:fF1=fF2=8.06U1U2Gf1-4
32、U2REF(1)式中,U1、U2分别为电流通道和电压通道输入端的rms差动电压(V),G为电流通道的增益,选择方法见表1;UREF为基准电压值(V);f1-4为以S1、S0逻辑输入选择的频率(Hz),选择方法见表2。表3.6.1f1-4等选择表表3.6.1第7列是与两个通道都输入最大电压所对应的最高输出频率(Hz)。考虑到实际电网电压存在波动和负载电流可能超载,设计电能表时,两个模拟通道的输入电压一般都留有足够的超量程余地。比如,取允许的最大值的一半。表2第5列是用管脚SCF、S1、S0逻辑输入选择的转换系数,CF脚输出的频率为fCF=KfF1(2)由表2知,CF端输出的频率能高达fF1的20
33、48倍。设计参数如下基准电压: 220V20%基准电流:Ib=A最大电流:Imax=4Ib=20A计量精度:0.001最小电流:Imin=0.001脉冲数:1000/KW.H图3.6.3 AD7755电能脉冲发生器3.7 键盘设计电路图3.7 键盘设计电路键值1234键码F7HEFHDFHFDH键值5678键码FBHBFH7FHFEH表3.7 键值键码对应表38 采样电路图3.8 电流采样电路使用分流器的电流采样电路如图2.6所示,其中F1为分流器,R1、R2为采样电阻,C1、C2为采样电容,他们为电流采样通道提供采样电压信号,采样电压信号的大小由分流器的阻值和流过其上的电流决定。4 软件电路
34、设计4.1 主程序流程图设计单片机初始化读取E2PROM 24C16存储值利用定时器T0设置中断读取P2口状态开始调用显示用户及相应电能子程序向E2PROM中写脉冲数循环结束图4.1 主程序流程图设计4.2显示用户及相应电能子程序框图开始结束调用查询键盘程序处理脉冲数据调用显示程序显示,并延时一秒八户是否显示完否是图4.2 显示用户及相应电能子程序框图4.3 读24C16子程序框图开始发送起始地址送写控制字向24C16送入一个字节串行数据发送字节地址结束写失败否是将字节地址送入24C16重新发起始条件将24C16里的数据读出发控制字应答则传送读最后一个数据前发非应答信号发终止条件图4.3 读2
35、4C16子程序框图4.4 写24C16子程序流程图开始发送起始地址送写控制字向24C16送入一个字节串行数据发送字节地址结束写失败否是将字节地址送到24C16写数据到24C16并发应答信号发数据否是8个字节发送完否数据接收错误是4.4 写24C16子程序流程图4.5 查询键盘流程图将键盘状态存入74HC165读出一个键盘状态键盘是否按下对相应用户进行清零键盘状态是否已全部移出结束是是否开始图4.5 查询键盘流程图4.6 中断子程序流程图开始将新的脉冲状态存入20H单元新旧脉冲状态进行比较是否有脉冲来相应用户的脉冲个数加一是否结束4.6 中断子程序流程图5 结束语两个星期的课程设计结束了,从中我
36、学到了很多东西且感悟良多体会到了课本联系实际、设计思想、实际动手能力都有所提高。初学单片机时觉得它深奥难懂枯燥无味,通过课程设计我体会到了编程的灵活性。巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。课程设计从设计电路到调试结束失败很多次也修改很多次可谓是屡败屡战,可我们并未气馁我们坚持到了最后虽然最后做出的电路不太让人满足但总算完成了总算看到我们的成果了总算可以激动兴奋一番了。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正弄明白,从而提高自己的实际动手能力和独立思考的能力。在设
37、计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对单片机汇编语言掌握得不好在老师和学长的辛勤的指导下,最后我们顺利地完成了这次的课程设计。这次课程设计让我的实际动手能力得到了大大的锻炼让我解决实际问题的能力得到了大大的提高并对本专业的课程布满了浓厚的兴趣及对以后的学习充满了信心;决定在以后的学习生活中加强练习端正心态迎接新的挑战。同时,对给过我帮助的所有同学和各位指导老师再次表示衷心的感谢!在设计中借鉴了往届同学以及网上的一些资料,才知
38、道自己还有很多的不足之处,在编写程序上以及实际运用知识上还很欠缺,所以以后要更多的理论联系实际,这样才会对知识有更深的了解。致谢:通过这次的实验,我深刻认识到自己在理论与实际动手方面结合的不足之处,对单片机了解和认识的程度不高。在实验中,通过听取学长们的讲解和同学的互相探讨,终于对实验的基本原理和方法有了一定程度的了解。最后终于得出了实验程序和结果。最后,感谢公老师和学长对我们的悉心教导,让我们增长了知识,使实验圆满做成功。参考文献1 公茂法、黄鹤松、杨学慰等,MCS-51/52单片机原理与实践2罗旭、张彦斌等,单相电子式电能表的特点及其原理,第1期:10-17,2003.3邬宽明,单片机外围
39、器件实用手册数据传输接口器件分册, 北京:北京航空航天大学出版社,1999年.4张毅坤、陈善久、裘雪红等编著, 单片微型计算机原理及应用, 西安电子科技大学出版社,1998.5马彪 ,基于ADE7757 的公寓电能计量管理系统设计, 第2期:5-8,2001. 6邱关源,电路第四版 ,高等教育出版社,2002. 7公茂法、马宝甫、孙晨等编著,单片机人机接口实例集,北京:北京航空航天大学出版 ,1998.附录$NOMOD51 $include (c8051f360.inc) CLK EQU P1.1 ;LED显示部分的时钟信号DATE EQU P1.0 ;LED显示部分的数据输入SCL EQU
40、P1.6 ;24C16的串行时钟信号SDA EQU P1.3 ;24C16的串行数据信号PB0 EQU P2.0 ;P2口八路信号输入PB1 EQU P2.1 PB2 EQU P2.2 PB3 EQU P2.3 PB4 EQU P2.4 PB5 EQU P2.5 PB6 EQU P2.6 PB7 EQU P2.7 PD0 EQU P1.4 ;74HC165的串行输出信号CLK165 EQU P1.5 ;74HC165的时钟信号PL EQU P1.2 ;74HC165的移位控制端ORG 00H LJMP MAIN ORG 0BH ;中断入口地址LJMP T0_INT ORG 0100H /主程序
41、/ MAIN :LCALL CHUSHI ;调用初始化子程序LCALL I2C_RD ;调用I2C总线读子程序MAIN1: MOV 20H,P2 ; 读取外部P2口状态 MOV TMOD,#01H ; 利用定时器T0读取外部脉冲MOV TH0,#0D5H ;定时器定时50msMOV TL0,#0A0H SETB ET0 ;开中断SETB EA SETB TR0 LCALL CLEAR ;调用全部清零子程序LCALL I2C_RDBEGIN: MOV R0, #60H ;脉冲计数存储首地址MOV R7, #1 ;初始户名LOOP : MOV A,R0 LCALL XSYUSHU ;调用显示子程序
42、,显示第六位 LCALL XSYUSHU ;调用显示子程序,显示第五位 MOV B,#10 DIV AB PUSH ACC MOV A,B LCALL XSYUSHU ;调用显示子程序,显示第四位 POP ACC LCALL XSD ;调用显示小数点子程序,显示第三位 MOV A,#10 LCALL XS ;调用显示子程序,显示- MOV A, R7 LCALL XS ;调用显示子程序,显示户名MOV A,0FFH ;输入两个灭码CALL XSMOV A,0FFH CALL XS LCALL DELAY INC R7INC R0 INC R0 CJNE R7, #9, LOOP ;判断是否显示
43、完八户,显示完顺序执行 LCALL I2C_WR ;启动24C16写数据 LJMP BEGIN/初始化程序/ CHUSHI: MOV SFRPAGE,#0FH MOV P1MDIN,#0FFH ;数字输入 MOV P1MDOUT,#0EFH ;推挽输出 MOV XBR1,#40H ;交叉开关使能 MOV PCA0MD,#00H ;关闭看门狗clear MOV PSCTL,#13H MOV OSCICN,#83H ;内部振荡器允许,不分频 MOV DPTR,#TAB RET /中断子程序/ T0_INT: MOV TH0, #0D5H ;定时器重新赋初值MOV TL0, #0A0H MOV R1,#60H ;脉冲计数首地址PUSH ACC ;堆栈保护MOV A, 20H ;读取P2口状态MOV 20H, P2 JNB ACC.0, BJ1NEXT1: JNB ACC.1, BJ2 ;判断外部脉冲的状态,为低电平则跳转NEXT2: JNB ACC.2, BJ3 NEXT3: JNB ACC.3, BJ4 NEXT4: JNB ACC.4, BJ5 NEXT5: JNB ACC.5, BJ6 NEXT6: JNB ACC.6, BJ7 NEXT7: JNB ACC.7, BJ
限制150内