电能表课程设计八户电子单相电能表设计与调试_第1页
电能表课程设计八户电子单相电能表设计与调试_第2页
电能表课程设计八户电子单相电能表设计与调试_第3页
电能表课程设计八户电子单相电能表设计与调试_第4页
电能表课程设计八户电子单相电能表设计与调试_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、山东科技大学信息与电气工程学院单片机在电力系统中的应用八户电子单相电能表设计与调试姓名 刘昌奇 学号 200901100814 专业 电气工程及其自动化 班级 09-2班 指导教师及职称 公茂法 (教授)开课学期 2011 至 2012 学年 2 学期提交时间 2012 年 6 月 日摘要本文介绍了一种以AD7755 的电能脉冲发生器模拟用户用电情况,应用单片机C8051F360编制程序完成脉冲的读取、计数、计算、存储、显示等功能,用74HC164及八段译码显示器完成数据的显示,使用E2PROM 24C16芯片来实现单片机的掉电数据保护,使用74HC175和键盘搭配实现对每户用电情况清零,并提

2、供了其硬件和软件设计结构,该电能表可实现电能计量、数码管显示、掉电存储、清零等功能。在本电子电能表的前面板上有8位数码管显示器,前两位为分户号,后6位为分户用电量,所显示的用电量与分户号相对应,分户循环显示,每隔2秒切换一次用户。八户电子电能表采用单片机C8051F36作为中央处理器,每块电能表可对8户的用电情况进行集中检测、循环显示并具有掉电保护的功能。该电能表与传统感应式电能表相比,有效地提高了电能计量的准确性,且具有体积小、质量轻、安装方便等优点。关键词:C8051F360;电量;电能表;电能转化脉冲芯片有AD7755;硬件设计;软件设计ABSTRACTEight electronic

3、energy meter with a microcontroller C8051F36 as the central processor, each energy meter eight electricity centralized testing, recycling and power-down protection function. Compared with the traditional induction meter to the power meter, and to improve the accuracy of energy metering, and has a sm

4、all size, light weight, easy to install. This article describes the function of an AD7755 power pulse generator that simulates user of electricity in the application MCU C8051F360 programming to complete the pulse reading, counting, computing, storage, display, complete data using the 74HC164 and ei

5、ght out of decoding display, to achieve single-chip power-down data protection of E2PROM 24C16 chip, 74HC175 and keyboard with the household electricity consumption is cleared, and provides hardware and software design structure, the energy meter energy metering, the digital control display, power-d

6、own storage, cleared and functions.8 digital display of the electronic energy meter front panel, behind the household electricity consumption of household electricity consumption, shown in the last six corresponding to the household, household cycle display every 2 seconds to switch a user.Keywords:

7、 C8051F360 microcontroller; AD7755; power; energy meter目录1 前言12 设计任务及要求23 设计原理33.1 系统方案33.2 设计总论33.3 方案设计框图44 硬件电路设计54.1 单片机电路部分54.2 稳压电源84.3 AD7755相关电路85 软件电路设计135.1 各模块流程图设计136 参考文献167 致谢178 附录181 前言电能表自诞生至今已有100多年的历史,随着电力系统及其相关产业的发展以及电能管理系统的不断完善,电能表的结构和性能也经历了不断更新、优化的发展过程:由最初的感应电能表,发展到后来的感应系脉冲电能表,

8、直至现在的纯电子式电能表。感应系电能表是利用处于交变磁场的金属圆盘中的感应电流与有关磁场形成力的原理制成的。感应系脉冲电能表仍采用感应系电能表的测量机构作为工作元件,由光电传感器完成电能脉冲转换,然后经电子电路对脉冲进行处理,从而实现对电能的测量。纯电子式电能表的原理是采用电子电路来实现电能计量,所以电子式电能表的共同特点是采用乘法器,根据所依托的乘法器为模拟的还是数字的分为模拟乘法器型电子电能表和数字乘法器型电子电能表。微电子技术和计算机技术的高速发展是电子式电能表迅速进步、日益成熟的主要技术支撑。准确度高、可靠性高的元器件以及大规模集成电路等的采用,使电子式电能表的使用寿命、准确度、稳定度

9、等技术指标均显著改善。电子式多功能多用户电能表由于准确度高、功能扩展性强、易于实现多费率和通信等一系列优点,较好解决了机械表长期以来难以解决的诸多问题,将会在现代化电能计量与管理中逐步占据主导地位。本文给出基于AT89C52单片机的一种新型单相多用户电能表设计,电能计量准确。该电能表具有八段数码管显示,功耗低,掉电后自动存储数据的特点。2 设计任务及要求设计任务:8户电子单相电能表设计与调试设计内容:硬件设计与软件设计。硬件设计包括:C8051F360 单片机整体电路设计、+5V 稳压电源电路设计、基于 AD7755 的电能脉冲发生器电路设计;软件设计包括:用 C8051F360 单片机及 C

10、 语言编写具有掉电保存功能的用户电量显示程序。设计要求:AD7755 电能脉冲发生器电路仅作电路硬件设计,其电能脉冲由C8051F360 单片机 P2 口所接拨码开关产生的脉冲模拟。用户电量显示要求精确到小数点后 2 位,100 个电量脉冲为 1 度电,每个用户显示时间为 3S 左右。为防止突然停电而使用户电量数据丢失,要求能将电量数据保存,需要设计单片机24C16 模块,使其具有掉电保存功能。3 设计原理3.1 系统方案根据设计题目要求,以及原始资料的精度要求,电能转化脉冲芯片有AD7755可供选择 ,因为它是一种高准确度电能测量集成电路,稳定性强并且价格不贵;单片机芯片选择C8051F36

11、x器件,它具有片内上电复位电路、VDD监视器、看门狗定时器和时钟振荡器,是真正独立工作的片上系统;数据保护电路芯片可选FM24C16 ,用先进的铁电技术制造的16K位的非易失忆的记忆体;另外要求为LED显示,使用74HC164串入并出8位移位记存器进行存储数据;因为各芯片需提供直流电源,我们要进行设计交直流变化和降压电路。3.2 设计总论该系统主要由前端电路调理模块、电能转换模块、MCU模块、显示模块、存储器模块部分组成。前端电路调理模块采用变比1:1 的电流型电压互感器,电流模块采用变比2000:1 的电流互感器,利用取样电阻采样信号,经变换后的信号以差模电压的形式接到AD7755芯片,取样

12、电阻的阻值由被测信号的最大值决定,然后经AD7755转换后将电压、电流、电能等信号传给单片机C8051F360,C8051F360组成的MCU模块控制所有芯片的工作、截止及计算和模块的显示,显示模块采用液晶模块,液晶正常显示当前测量的用户号、用电量;存储模块采用AT24C16,为系统提供数据存储,可以做到掉电不丢失数据。3.3 方案设计框图图3.1 方案总体设计框图4 硬件电路设计4.1 单片机电路部分系统主要由电量计量采集电路、微处理器、非易失存储器电路、显示电路、供电控制电路等部分组成。计量电路用户电能计量采用专用集成电路设计,每一户的计量脉冲信号,经IO接口电路连接到系统总线,在微处理器

13、的控制下,轮流采集并计数其脉冲信号,达到001 kWh时,将电量存储到非易失存储器中,以防电量丢失。整个电表采用分时方式,轮流显示用户使用的电量数据。本设计采用的是C8051F360单片机为核心的电路板。C8051F360单片机整体电路板包含:C8051F360单片机、LED/FMQ报警、RS-232通信、USB接口、电源接口、LM336-2.5、下载/复位、外接器件、5V-3.3V、两路AD输入、信号输入、PCF8563、24C16、74HC165、74HC164显示等模块。本次设计中主要用到的部分有C8051F360单片机、PCF8563、24C16、74HC165和 74HC164显示等

14、模块。C8051F360单片机为主要部件,它具有片内上电复位电路、VDD监视器、看门狗定时器和时钟振荡器器件,是真正能独立工作的片上系统。FLASH 存储器还具有在系统重新编程能力,可用于非易失性数据存储,并允许现场更新 8051 固件。用户软件对所有外设具有完全的控制,可以关断任何一个或所有外设以节省功耗。其P1.0,P1.1口产生的脉冲向74HC164显示输送数据,使其显示相关信息,P2口接拨码开关,模拟AD7755电量脉冲,PCF8563、24C16部件实时存储用户电量信息,并在掉电后保存,单片机上电复位后能够从中读取数据。图4.1 主控模块原理图FM24C16是用先进的铁电技术制造的1

15、6K位的非易失性的记忆体铁电随机存储器 FRAM具有非易失性并且可以象RAM一样快速读写数据在掉电可以保存10年且比EEPROM或其他非易失性存储器可靠性更高系统更简单不象EEPROM FM24C16以总线速度进行写操作无延时数据送到FM24C16直接写到具体的单元地址下可以立即执行 FM24C16可以承受超过100亿次的读写或者是比EEPROM高一万倍的写操作 FM24C16的写能力使得它在需要对非易失性记忆体快速读写的状况下非常理想举例说数据采集系统中对写入数据的频率要求高即速度要求非常快使用EEPROM可能丢失数据这种优势合并使得系统可以更可靠的实时采集数据 FM24C16为使用串EEP

16、ROM的用户提供了便利它在硬件上可以直接替换EEPROM。以下是电路板的相关电路图。图4.2 掉电保护模块电路设计中74HC164是比较典型的移位寄存器,该移位寄存器有一个数据输入端口、一个时钟信号端口和八个输出端口。如图1-4所示。当时钟信号从低电平变为高电平的时候将输出一个数据到输出端D0,当时钟第二次由低电平变为高电平的时候将输出第二个数据到D0,而第一个数据将转移到D1端口。依此类推,每一个时钟周期中都有一个串行数据输出到D0,而其他的数据则不断往高位移动直到所有数据传输结束。如果不再有时钟周期输入,则这些数据将暂存在输出端。图3.3 循环显示模块考虑到实用性,本文设计了按键清零模块。

17、八个按键分别控制八个用户的电量显示,当按键被按下时与之相对应用户的电量被清零。该模块通过相关管脚与主控模块通信,主控模块不停的对八个按键进行扫描以判断哪一个按键被按下,获取八个按键的状态并对其进行编码。主控模块根据获取的信息对电量显示模块发出相应指令。图4.3 按键清零模块4.2 稳压电源电源是电能表设计的重要部分,其设计的好坏对整个系统的性能有较大影响。本设计使用的稳压电源是由MC7805实现的,输入电压220V,输出电压+5V 。集成三端稳压器稳压精度高、工作稳定可靠、外围电路简单、容易设计和制作、体积小、重量轻、成本低、维修简单。7805集成三端稳压器的典型应用电路如图2所示,这是一个输

18、出 +5 V直流电压的稳压电路。IC采用集成三端稳压器7805,C1、C 2分别为输入端和输出端滤波电容,RL为负载电阻。电路如下图。图4.4 稳压电压电源电路4.3 AD7755相关电路 AD7755电能脉冲发生器的选择: AD7755是美国AD公司生产的专用于功率/电能测量的低成本集成电路。它的技术指标满足GB/T17215-1998标准规定的准确度等要求。 AD7755有24条引脚,以DIP和SSOP形式封装。AD7755在电子电能表中的连接如图1所示。管脚功能如下:P1 DVDD,数字电路电源,5(5%)V;P2AC/DC,高通滤波选择脚,逻辑高,高通滤滤器使能;P3 AVDD,模拟电

19、路电源,5(5%)V;P4、P19 NC,未接;P5-P6 V1P-V1N,通道1(电流通道)模拟输入,最大差动输入电压为470mV;P7-P8 V2N-V2P,通道2(电压通道)模拟输入,最大差动输入电压为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,外接时钟

20、,钟频3.579545MHz;P20 REVP,负功率指示脚,电压信号和电流信号之间的相位差90时变为逻辑高;P21DGND,数字电路参考地;P22 CF,校准频率输出;P23、P24 F2、F1,低频输出。图4.5 AD7755的内部功能框图图4.6 AD7755电路原理图它由模拟电路(模数转换电路、基准电路与电源电压监测电路)和数字信号处理电路两部分组成。被测电压、电流转换为数字量后,接下来的信号处理都在数字域实现;AD7755内部的相位校正电路、高通滤波器、乘法器、低通滤波器、数字-频率转换器等都为数字电路。AD7755内有两个以900kHz过采样速率采样的16位2阶-模数转换器(ADC

21、)。被测电流经可编程增益放大器(PGA)放大后接电流通道的ADC,并由此ADC转换为对应的数字信号。再经相位校正和高通滤波,进入乘法器。乘法器的另一路输入是由电压通道ADC转换而来的、与被测电压对应的数字信号。相乘后产生瞬时功率信号。此信号经低通滤波器滤除其中的交流分量,提取出负载消耗的瞬时有功功率。AD7755对这个瞬时有功功率信号进行一段时间的累计、平均,求得平均有功功率,以较短时间对瞬时有功功率进行累计,求得与瞬时有功功率成正比的高频频率并经CF输出,用于校准或送微控制器累加计数,实现对电能的计量。电流通道的PGA的增益受管脚G1、G0控制。参数计算:以AD7755设计的电能表的相关参数

22、计算配合C8051F360芯片的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。

23、负载电流为基本电流(5A)时,线路的功耗为P=2205=1.1 kw。选择f1-4=3.4Hz,SCF=0,S1=0,=S0=1,此时CF频率为f1的32倍,所要求的频率恰为f1,f2段的脉冲计数标准为100imp/ kw.h。乘以此常数得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.030

24、5552.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.2

25、k,R14=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

26、)和C12(100nF)退耦,接AD7755的DVDD。VDD再经R22(10)、C10(100nF)和C11 (220F)滤波,接AD7755的模拟电路电源管脚AVDD。AD7755的CLKIN和CLKOUT管脚接3.579545MHz晶体和2只22pF陶瓷电容。考虑抗电磁干扰,除原有的滤波电路外,原理图电流输入通道中增加了Z3、Z4铁氧体,电源电路部分增加了由Z1铁氧体、C16电容和MOV1金属氧化物压敏电阻组成的滤波网络等。5 软件电路设计5.1 各模块流程图设计图5.1 主函数流程图图5.2 AT24C16读写函数流程图图5.3 用户扫描函数6 参考文献1邱关源,电路第四版 ,高等教育

27、出版社,2002. 2 公茂法,黄鹤松.单片机原理与实践.北京:北京航空航天大学出版社 2009 3罗旭,张彦斌等.单相电子式电能表的特点及其原理,第1期:10-17,2003.7 致谢本次课程设计的完成,首先要感谢公老师和研究生学长的耐心讲解和悉心指导,使我受益匪浅。两个星期来,我学到了很多在书本上所没有学到过的知识, 我不仅进一步熟悉了单片机的原理和应用,也对汇编语言编程有了更进一步的了解,并在调试程序的同时锻炼了动手能力和分析问题的能力,体会到了课本联系实际、学以致用的重要性,懂得了只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才是正确的理论,才能真正

28、提高自己实际动手能力和独立思索的能力。我在设计的过程中碰到问题,但是我并没有放弃,经过老师的讲解和自己的查找资料,并发挥对所学知识的理解思考,自己耐心的亲手设计调试程序,一步步克服难关最终完成了目标。这次课程设计为自己今后进一步深化学习,积累了一定宝贵的经验。通过这次课程设计我深刻的认识到,只有理论水平提高了,才能够将课本知识与实践相整合,理论知识服务于教学实践,以增强自己的动手能力。这是一次知识转化为能力的实际训练,培养了我运用所学知识解决实际问题的能力。并对本专业的课程充满了浓厚的兴趣及对以后的学习充满了信心,决定在以后的学习生活中加强练习,端正心态迎接新的挑战。最后,再次向公老师和研究生

29、学长表示诚挚的感谢!8 附录程序清单#include#include #include #define AT24C16 0xa0 /AT24C16 地址sbit DIN=P10; /*定义P1口*/sbit CLK=P11;sbit YH1=P20; /*定义P2口*/sbit YH2=P21;sbit YH3=P22;sbit YH4=P23;sbit YH5=P24;sbit YH6=P25;sbit YH7=P26;sbit YH8=P27;sbit HC165_nPL=P12;/165键盘管脚定义sbit HC165_CK=P15;sbit HC165_OUT=P14;unsigned

30、 char HC165(void);/键盘扫描函数unsigned char Temp;unsigned char lu=0xff;void qingling(unsigned char a);/判断哪个个键盘按下,并对相应用户清零unsigned char a,m,i,j,k,n,z;unsigned char zf=0x88,0xeb,0x4c,0x49,0x2b,0x19,0x18,0xcb,0x08,0x09,0xff,0x7f;/数码管编码(0-9),后两位分别是灭码、显示一unsigned char yh88=0x00,0x00,0x00,0x00,0xb,0x1,0x00,0x0

31、0, 0x00,0x00,0x00,0x00,0xb,0x2,0x00,0x00, 0x00,0x00,0x00,0x00,0xb,0x3,0x00,0x00, 0x00,0x00,0x00,0x00,0xb,0x4,0x00,0x00, 0x00,0x00,0x00,0x00,0xb,0x5,0x00,0x00, 0x00,0x00,0x00,0x00,0xb,0x6,0x00,0x00, 0x00,0x00,0x00,0x00,0xb,0x7,0x00,0x00, 0x00,0x00,0x00,0x00,0xb,0x8,0x00,0x00;#define _Nop() _nop_() /*

32、 定义空指令 */sbit SCL=P16; /I2C 时钟 sbit SDA=P13; /I2C 数据 bit ack; /*应答标志位*/void Start_I2c() SDA=1; /*发送起始条件的数据信号*/ _Nop(); SCL=1; _Nop(); /*起始条件建立时间大于4.7us,延时*/ _Nop(); _Nop(); _Nop(); _Nop(); SDA=0; /*发送起始信号*/ _Nop(); /* 起始条件锁定时间大于4s*/ _Nop(); _Nop(); _Nop(); _Nop(); SCL=0; /*锁住I2C总线,准备发送或接收数据 */ _Nop(

33、); _Nop();void Stop_I2c() SDA=0; /*发送结束条件的数据信号*/ _Nop(); /*发送结束条件的时钟信号*/ SCL=1; _Nop(); _Nop(); /*结束条件建立时间大于4s*/ _Nop(); _Nop(); _Nop(); SDA=1; /*发送I2C总线结束信号*/ _Nop(); _Nop(); _Nop(); _Nop();void SendByte(unsigned char c) unsigned char BitCnt; for(BitCnt=0;BitCnt8;BitCnt+) /*要传送的数据长度为8位*/ if(cBitCnt

34、)&0x80)SDA=1; /*判断发送位*/ else SDA=0; _Nop(); SCL=1; /*置时钟线为高,通知被控器开始接收数据位*/ _Nop(); _Nop(); /*保证时钟高电平周期大于4s*/ _Nop(); _Nop(); _Nop(); SCL=0; _Nop(); _Nop(); SDA=1; /*8位发送完后释放数据线,准备接收应答位*/ _Nop(); _Nop(); SCL=1; _Nop(); _Nop(); _Nop(); if(SDA=1)ack=0; else ack=1; /*判断是否接收到应答信号*/ SCL=0; _Nop(); _Nop();

35、unsigned char RcvByte() unsigned char retc; unsigned char BitCnt; retc=0; SDA=1; /*置数据线为输入方式*/ for(BitCnt=0;BitCnt8;BitCnt+) _Nop(); SCL=0; /*置时钟线为低,准备接收数据位*/ _Nop(); _Nop(); /*时钟低电平周期大于4.7s*/ _Nop(); _Nop(); _Nop(); SCL=1; /*置时钟线为高使数据线上数据有效*/ _Nop(); _Nop(); retc=retc1; if(SDA=1)retc=retc+1; /*读数据位

36、,接收的数据位放入retc中 */ _Nop(); _Nop(); SCL=0; _Nop(); _Nop(); return(retc);void Ack_I2c(bit a) if(a=0)SDA=0; /*在此发出应答或非应答信号 */ else SDA=1; _Nop(); _Nop(); _Nop(); SCL=1; _Nop(); _Nop(); /*时钟低电平周期大于4s*/ _Nop(); _Nop(); _Nop(); SCL=0; /*清时钟线,钳住I2C总线以便继续接收*/ _Nop(); _Nop(); bit ISendStr(unsigned char sla,un

37、signed char suba,unsigned char *s,unsigned char no) unsigned char i; Start_I2c(); /*启动总线*/ SendByte(sla); /*发送器件地址*/ if(ack=0)return(0); SendByte(suba); /*发送器件子地址*/ if(ack=0)return(0); for(i=0;ino;i+) SendByte(*s); /*发送数据*/ if(ack=0)return(0); s+; Stop_I2c(); /*结束总线*/ return(1);bit IRcvStr(unsigned

38、char sla,unsigned char suba,unsigned char *s,unsigned char no) unsigned char i; Start_I2c(); /*启动总线*/ SendByte(sla); /*发送器件地址*/ if(ack=0)return(0); SendByte(suba); /*发送器件子地址*/ if(ack=0)return(0); Start_I2c(); /*重新启动总线*/ SendByte(sla+1); if(ack=0)return(0); for(i=0;i0;m-) for(n=512;n0;n-); void Read2

39、4()IRcvStr(AT24C16, 0 , &yh00, 4);delay();IRcvStr(AT24C16, 4 , &yh10, 4);delay();IRcvStr(AT24C16, 8 , &yh20, 4);delay();IRcvStr(AT24C16, 12 , &yh30, 4);delay();IRcvStr(AT24C16, 16 , &yh40, 4);delay();IRcvStr(AT24C16, 20 , &yh50, 4);delay();IRcvStr(AT24C16, 24 , &yh60, 4);delay();IRcvStr(AT24C16, 28

40、, &yh70, 4);delay();void Write24()ISendStr(AT24C16, 0 , &yh00, 4);delay();ISendStr(AT24C16, 4 , &yh10, 4);delay();ISendStr(AT24C16, 8 , &yh20, 4);delay();ISendStr(AT24C16, 12 , &yh30, 4);delay();ISendStr(AT24C16, 16 , &yh40, 4);delay();ISendStr(AT24C16, 20 , &yh50, 4);delay();ISendStr(AT24C16, 24 ,

41、&yh60, 4);delay();ISendStr(AT24C16, 28 , &yh70, 4);delay();void jinwei (unsigned char z) yhz0+;if(yhz0=0xa)/判断是否为10,满十向前进位yhz0=0x0;yhz1+;if (yhz1=0xa)yhz1=0x0;yhz2+;if (yhz2=0xa)yhz2=0x0;yhz3+;if (yhz3=0xa)yhz0=0x0;yhz1=0x0;yhz2=0x0;yhz3=0x0;/记满4位数全部清零void saomiao(unsigned char p2)if(p2&0x01)=0)if(lu&0x01)=1)z=0;jinwei(z);if(p2&0x02)=0)if(lu&0x02)=2)z=1;jinwei(z);if(p2&0x04)=0)if(lu&0x04)=4)z=2; jinwei(z);if(p2&0x08)=0)if(lu&0x08)=0x08)z=3;jinwei(z);if(p2&0x10)

温馨提示

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

评论

0/150

提交评论