毕业论文三相电参数测量仪的软件设计说明_第1页
毕业论文三相电参数测量仪的软件设计说明_第2页
毕业论文三相电参数测量仪的软件设计说明_第3页
毕业论文三相电参数测量仪的软件设计说明_第4页
毕业论文三相电参数测量仪的软件设计说明_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

.33/37论文题目:三相电参数测量仪的软件设计专业:测控技术与仪器本科生:强伟〔签名指导老师:黄梦涛〔签名摘要本系统使用一种电能计量芯片ATT7022C,结合DS1302实时钟芯片及LCD12864液晶模块,通过STC89C54RD+单片机进行控制,具体研究和设计了一款三相电参数测量仪。相对于传统的三相电参数测量仪,它具有精度高、可靠性强、功能强大及智能化等诸多优点。本测量仪表可以实时、准确测量电压有效值、电流有效值、功率因数、有功功率、无功功率、视在功率、有功电能、无功电能、频率及相角等各项三相电参数。测量参数值可以通过按键控制切换实时显示在液晶屏上。此外,该测量仪表还可以在液晶屏上显示年份、月份、日期、星期、时、分、秒,并且可以随时通过按键设置时间。研究、设计此类仪表有利于减少企业、工厂及家庭用电浪费,更好的节约资源、保护环境,从而真正实现环境友好型社会。关键词:三相电参数,测量仪,ATT7022C,STC89C54RD+研究类型:应用研究Subject:Multi-purposethree-phaseelectricalparametersofinstrumentsMajor:MeasureandcontroltechnologyandinstrumentName:QiangWei〔SignatureInstructor:HuangMengtao〔SignatureABSTRACTThissystemusingakindofelectricpowermeasureATT7022Cchip,combinedwithDS1302realclockchipandLCD12864LCDmodule,throughtheSTC89C54RD+MCUcontrol,concreteresearchanddesignathree-phaseelectricparametersmeasurementinstrument. Comparedwiththetraditionalmeasuringapparatus,theparametersofthethree-phaseithashighaccuracy,reliability,powerfulandintelligent,andmanyotheradvantages.Themeasurementinstrumentcanreal-timeandaccuratemeasuringvoltage,currentRMS,RMSpowerfactor,activepower,reactivepower,electricity,power,activeandinstalledreactivepower,frequencyandphaseAngleoftheparametersofthethreephase.Themeasuringparametersvaluecanthroughthebuttoncontrolswitchinreal-timedisplayontheLCDpanel.Inaddition,themeasuringinstrumentcanalsobedisplayedontheLCDpanelyear,month,date,week,when,minutesandseconds,andcanatanytimethroughthekeyssetatime.Researchinganddesignsuchinstrumentscanreduceelectricityresourcewasteofenterprise,factoriesandfamily,protecttheenvironment,soastorealizeenvironmentalfriendlysociety.KEYWORDS:three-phaseelectricalparameters,intelligentinstrument,ATT7022C,STC89C54RD+THESIS:applicationresearch 目录TOC\o"1-4"\h\z\u摘要IABSTRACTII1绪论11.1课题研究的目的和意义11.2电参数测量仪的发展状况与趋势2电参数测量仪的发展历程2国内外研究状况21.3本设计的主要任务42系统总体设计52.1系统总体设计5总体结构框图5主要功能52.2系统测量原理63硬件系统设计133.1ATT7022C电能计量芯片13芯片简介133.1.2内部结构133.1.3电能计量芯片ATT7022C的引脚介绍143.1.4外围设计163.2LCD12864液晶模块173.2.1芯片简介173.2.2外围接口183.34*4矩阵式键盘193.3.1电路原理193.3.2接线图193.4DS1302时钟模块203.4.1芯片简介203.4.2外部接线213.5单片机STC89C54RD+介绍224软件方案234.1系统软件总体流程234.1.1软件总体设计思想234.1.2具体程序流程设计234.2ATT7022C模块244.2.1读写时序244.2.2软件校表及设置参数254.3LCD12864液晶模块264.3.1软件资源26时序操作图274.3.3液晶显示284.44*4矩阵式键盘294.4.1软件原理294.4.2按键说明304.4.3软件流程图304.5DS1302时钟模块314.5.1内部资源介绍314.5.2时序图324.5.3时间显示流程335总结34致谢35参考文献36附录1ATT7022C系统原理图及系统原理图37附录2主程序39附录3调校表后测量误差表48附录4毕业设计成品照片49.1绪论1.1课题研究的目的和意义电能为用途最广泛的能源之一,现代工业的发展无法离开电能的使用,对电能的使用程度直接衡量一个国家工业的发展水平,电网经济、可靠、高效的运行与国民总体经济和人民日常生活密切相关。近几年,中国的社会用电量迅速增长,全国联网,特高压电网建设,百万千瓦级发电机并网,家居网络化进程,电网经营管理改进和计量新技术应用等要素,推进电表应用领域的扩展,主要是:从用电计量计费扩大到配电变压器、变电站的经济管理和用电需求侧管理的计量;从用户计费扩大到发电厂上网电量、跨省电网联络线交换电量的计费;从315千伏安及以上的大工业用户计费扩大到100千伏安及以上的商业、非工业、普通工业户的计费,以上电表应用领域的扩大,引起计量点总量估计由60万个扩大到400万个,电表应用需求量前景看好。三相多功能表技术要跟踪应用需求的不断变化,也就明示了今后产品技术的发展趋向。电表多门类:由单一的计费产品发展到关口计量、配电变压器计量、变电站计量、大工业户计量、中等容量户计量、用电需求侧管理系统及终端6类产品,分别制订产品技术规范;关口电能表,要发展高精度、高稳定性、高可靠性、快速测量、0-360°计量、多通信方式和协议,经国际、国内同类电表的比较,提出量化指标和测试方法;计费用三相多功能表要计量准确、简单可靠、讲求实用,逐步发展三相SOC单芯片,开发具有谐波电压、电流总含量和谐波污染程度的测量技术,研究温度、电压、频率、相位改变的自适应计量;谐波有功、无功、视在功率电能计量实用化产品,改进谐波下的功率因数计算方法,推进电能质量市场建立与发展,也为提高冶炼企业、电气化铁路的计量准确度做准备最后是研究制订三相多功能表质量评价标准与测试方法,提高在电网上运行电表的整体技术品质。而无法实时、准确及有效的测量用电网络的各项参数,对电网的安全运行极为不利,而且会对用户用电设备的运行造成极为不利的影响,最重要的是造成电能的极大浪费。因此,监控三相电用电的电压、电流的有效值、有功功率、无功功率和功率因数、相角频率及电能等参数,对用电安全和减少用电浪费具有十分重要的意义。1.2电参数测量仪的发展状况与趋势1.2.1电参数测量仪的发展历程传统的电参数测量方法,一般通过对模拟电压信号的采样和计算来完成测量。主要经历了几个阶段:第一阶段,以模拟测量为主,通过基于电磁通量原理的指针式。但其机械结构和电磁通量结构一般比较复杂,测量的精度也很难提高。第二阶段,以直流采样为主,将被测量整流成直流量,通过测量平均值来测量点参数的有效值。该方法软件设计简单,计算速度快。但是,其测量准确度直接受到整流电路的准确度和稳定性的影响,整流电路参数调整困难。第三阶段,以交流采样为主,先将电压、电流信号经高精度的电压、电流互感器变成数字系统可测量的交流小信号,然后在送入微处理器进行计算。该方法可以通过不同的算法获取关心的各种信息〔如有效值、相位等,实时性好,精度高。随着微机技术的不断发展以及电力参数实时测量要求的提高,交流采样技术已经逐步取代了直流采样方法。并且大量电子器件的相继出现,对电力参数的测量由传统的电能表,逐渐被数字乘法器型电子式电能表取代。尤其是电能计量专用芯片出现以后,大大简化了测量电路的复杂性。1.2.2国内外研究状况自从20XX以来,即中国城市和农村电网进行大规模改造、建设后,电力系统对三相多功能表的需求量迅速增长,到20XX产量估计约70万台,以不足全国电能表总产量1%的份额,创造了11%的电能表总产值。由此,国际、国内电表企业纷纷看好商机,抓紧新技术开发,不断推出三相多功能表的新产品,以满足电能表市场的应用需求。与传统的机械表相比,采用电子计量原理的三相多功能表,具有高精度、多参数测量、谐波功率电能计量等优势。从总体评价,三相多功能表还是稳态电力负荷计量产品,由于其应用领域扩大,电力系统对电表不断提出新的技术要求。现有的三相多功能表性能和品质,都不能完全适应电力系统的需求。因此,如何正确把握产品技术发展趋势,改进产品设计,将三相多功能表技术水准推向一个新的高度,无疑是电表行业和电力系统共同关注的课题。引进的三相多功能表新技术,代表目前国际上电能表技术的最高水平:高精度、长寿命计量,准确度为0.1%的有功电能计量,超过IEC在线计量的最高准确度要求,其误差曲线的带宽为+/-0.05%;0.2S级三相基波表,具有分相的2—50次谐波有功功率计量;0.2S级长寿命的电网关口表,具有电能质量计量模块。高速率、实时测量,交流采样速率为256点/周波,记录周期最短为10毫秒;电能质量计量:63次谐波、电压闪变、故障录波78微秒的瞬变,供电可靠性指标的记录为99.9999999%。开放式通信协议IEC62056-61/62/53/46/42,抄表、费率、负荷控制数据交换;互联网通信,自动发送E-mail报警信号、系统运行状态刷新、数据记录,通过以太网连接到某些国际知名的电量计费系统的关口表,Web服务器可直接读取电表各种实际数据、电能质量参数,无需任何专用软件。利用三相电能计量专用芯片,采用低频滤波法计量谐波无功功率的三相计量芯片,高位∑-△A/D,负荷动态范围1000:1,线性度0.1%,具有温度测量功能,片上接口可直接与微分电流互感器连接;精度优于0.1%的三相SOC单芯片,21位2阶∑-△A/D,32位可编程的电能量计算引擎,负荷动态范围2000:1,片内集成:高速8051单片机、硬实时钟、LCD驱动电路、看门狗电路、定时器、多种存储器、多种通信接口等。在我国,国产的三相多功能电能表夜出现一些新技术,国产电子式三相多功能表技术开发起步较晚,近几年,注重吸收国际计量技术与管理经验,强化自主开发,取得了许多新的技术成果:三相多功能表,0.2S级有功功率计量,16位∑-△A/D,160MIPS的DSP,交流采样速率256点/周波,运行和备用两套费率时段,负荷曲线记录和容量为4M字节的存储器,宽电源电压范围,互感器合成误差补偿,变压器铜损、铁损计算;0.5S级三相基波有功表,采用三相SOC单芯片或三相有功、无功计量芯片的低端三相多功能表设计,从技术上适应电表量大、面广的市场需求;高压电能表,采用电子式传感器,悬浮式电源设计,有功电能计量准确度为0.5级,用于10千伏中压电网直接计量电能量。三相电能计量专用芯片,具有基波/谐波电能计量的三相多功能计量芯片,16位∑-△A/D、24位DSP,负荷动态范围1000:1,线性度0.1%,测量带宽21次谐波,集成温度传感器;采用Hilbert数字滤波器计量谐波无功功率的三相计量芯片;采用数字并行算法和降低晶振频率技术的低功耗三相有功功率计量芯片。综上所述,经过十几年的发展,中国的三相多功能表门类比较齐全,中、低端电表技术开发水平较高,特别是冲击负荷电能计量理论与算法、谐波无功功率计量、具有谐波功率计量的三相专用芯片、高压电能表、GPRS通信技术应用、电能远程校准等技术项目具有创新意义。但是也应该看到,高端电表技术没有完全过关,电网关口计量仍以进口电表为主导产品,这是一个值得深思的问题。正视现状,展望未来,需要超前预测电表应用领域和技术要求的不断变化,才能正确把握今后产品技术的走向。1.3本设计的主要任务本系统用于设计测量各相以及合相的有功功率、无功功率、视在功率、有功能量以及无功能量,同时还要求能测量各相电流、电压有效值、功率因数、相角、频率等参数。用电能计量芯片ATT7022B作为主要的测量芯片,它是一颗精度高且功能强的多功能防窃电基波谐波三相电能专用计量芯片。用液晶显示器12864作为显示单元来显示各项实测参数;用矩阵键盘的切换来转换显示各实测参数;适用于三相三线制和三相四线制应用,能够充分满足三相复费率多功能电能表的需求。2系统总体设计2.1系统总体设计2.1.1总体结构框图本系统是基于专用电能计量芯片ATT7022C,通过单片机控制设计的一款多功能三相电参数测量装置。将三相电电压、电流信号通过电压互感器及电流互感器转换成电能计量芯片ATT7022C可以处理的小信号并输入ATT7022C,经过 ATT7022C信号调理、采样、A/D转换并计算得到各种三相电电气参数。STC89C54单片机通过异步串行通信方式与ATT7022C电能芯片通信,读取或者写入数据,从而进行软件较表并获得各项电气参数值。并通过按键控制输出各项三相电参数〔电压、电流有效值、有功、无功、视在电能、功率因数、相角、线频率、相序检测等,显示在12864液晶显示屏上,供工作人员实时查看及控制。另外,系统加入了实时钟芯片1302,可准确计时,通过STC89C54单片机微控制器及按键控制、液晶显示可以显示年份、月份、日期、星期、时、分、秒,并可以通过按键准确设置时间,具体结构框图如图2.1所示图2.1系统总框图2.1.2主要功能系统主要功能是实时监测三相电负载上的功率因数、电能、有功功率、有功功率、相角、频率及电压有效值、电流有效值,并通过液晶显示出来。并且可以随时监测并显示芯片温度值。除此之外,还可以时刻显示年、月、日、时、分、秒、及星期,附带按键设置时间功能,可设置年份、月份、日期、时分秒及星期。另外,有专用电源为DS1302时钟芯片供电,即使微控制器〔单片机断电,DS1302可以正常工作,再次进入不需要重新设置时间。功能选择页面、时间设置页面及各项参数显示页面之间可以通过按键切换不断显示,系统操作菜单流程图如图2.2所示图2.2操作菜单流程图2.2系统测量原理系统主要用ATT7022C芯片实现对三相电各项参数的测量。ATT7022C是一种高精度三相电能专用计量芯片,该芯片集成了七路sigma-deltaADC、参考电压电路以及所有功率、有效值、功率因数、能量等的数字信号处理电路。它具有能测量电压、电流有效值、有功、无功、视在电能、功率因数、相角、线频率、相序检测等的功能,具体介绍如下:ATT7022C片内包含一个电源监控电路,连续对模拟电源〔AVCC进行监控。电源电压低于4V±5%时,芯片将被复位。这有利于电路上电和掉电时芯片的正确启动和正常工作。电源监控电路被安排在延时和滤波环节中,这在最大程度上防止了由电源噪声引发的错误,如图2.3所示图2.3片内电源监控特性ATT7022C硬件复位通过外部引脚RESET完成,RESET引脚内部有47K电阻上拉,所以正常工作时为高电平,当RESET出现大于20us的低电平时,ATT7022C进入复位状态,当RESET变为高电平时ATT7022C软件复位通过SPI口完成,当往SPI口写入0xD3命令后,系统进行一次复位,复位之后ATT7022C从初始状ATT7022C在复位状态下SIG为高电平,当ATT7022C从复位到工作状态之后,大约经过500us左右,SIG将从高电平变为低电平,此时芯片开始进入正常工作状态,方可写入校表数据,一旦写入校表数据之后,ATT7022C片内集成了6路16位的ADC,采用双端差分信号输入。输入最大的正弦信号有效值是1v。建议将电压通道Un对应到ADC的输入选在0.5v左右,而电流通道Ib时的ADC输入选在0.1v左右。参考电压电能计量芯片ATT7022C有功功率测量原理:各相的有功功率是通过对去直流分量后的电流、电压信号进行乘法、加法、数字滤波等一系列数字信号处理后得到的。所以依据公式〔2.1计算得到的有功功率。合相有功功率Pt=Pa+Pb+Pc〔2.2有功功率的测量原理如图2.4所示图2.4有功功率测量电能计量芯片ATT7022C有功能量测量原理:有功能量通过瞬时有功功率对时间的积分得到。单相有功能量的计算公式为〔2.3合相有功能量可以根据设置按照代数或者绝对值的模式进行累加代数加模式Ept=Epa+Epb+Epc〔2.4而绝对值加模Ept=|Epa|+|Epb|+|Epc|〔2.5测量原理如图2.5所示图2.5有功能量测量电能计量芯片ATT7022C无功功率测量原理:根据真无功功率<正弦式无功功率>定义公式无功功率〔2.6无功功率计量算法与有功类似,只是电压信号采用移相90度之后的。测量原理如图2.6所示图2.6无功功率测量电能计量芯片ATT7022C无功能量测量原理:无功能量通过瞬时无功功率对时间的积分得到。单相无功能量的计算公式〔2.7合相无功能量可以根据设置按照代数或者绝对值的模式进行累加。代数加Eqt=Eqa+Eqb+Eqc〔2.8而绝对值加模式Eqt=|Eqa|+|Eqb|+|Eqc|〔2.9如图2.7所示图2.7无功能量测量电能计量芯片ATT7022C视在功率测量原理:视在功率有两类计算公式PQS视在功率公式一:〔2.10RMS视在功率公式二:S=Urms×Irms〔2.11由于ATT7022C可以直接提供电流和电压的有效值,RMS视在功率公式二可以在外部MCU很方便地实现,所以ATT7022C仅提供采用PQS视在功率公式一实现的视在功率值,如图2.8所示图2.8视在功率测量对于合相视在功率,ATT7022C按照公式一,根据合相有功功率和合相功功率计算得到,如图2.9所示图2.9合相视在功率测量电能计量芯片ATT7022C视在能量测量原理:视在能量定义视在功率对时间的积分,由于视在功率存在两类计算公式,所以ATT7022C提供这两类的视在能量,按照公式一计算PQS视在能量,如图2.10所示图2.10合相视在能量测量电能计量芯片ATT7022C电压有效值测量原理:通过对电压采样值进行平方、开方以及数字滤波等一系列运算得到。电压通道输入1000mv到10mv的信号时电流有效值的误差小于0.5%,如图2.11所示图2.11电压有效值测量电能计量芯片ATT7022C电流有效值测量原理:通过对电流采样值进行平方、开方以及数字滤波等一系列运算得到。电流通道输入1000mv到2mv的信号时电流有效值的误差小于0.5%,如图2.12所示图2.12电流有效值测量电能计量芯片ATT7022C功率因数测量原理:功率因数的符号由无功功率的符号来确定,功率因数计算公式:〔2.12电能计量芯片ATT7022C电压电流相角测量原理:根据电工原理功率因数Pf=cos<Pg>〔2.13其中Pg为电压与电流的相角。在ATT7022C中定义电压与电流的相角为Pg=sign<Q>*acos<|Pf|>〔2.14根据这一方法,ATT7022C同时可以提供由合相功率因数折算为合相相角参数,也就是Pgt=sign<Q>*acos<|Pft|>〔2.15ATT7022C相角Pg只能表示为±90°,符号与功率因数一致。如果要用0°~360°表示在不同的象限相角需要做如下转换即可:当有功功率为正时,无功功率为正,实际相角就是是Pg;当有功功率为正时,无功功率为负,实际相角是360°+Pg;当有功功率为负时,实际角度是80°-Pg,如图2.13所示图2.13电压电流相角计算电能计量芯片ATT7022C功率方向判断:ATT7022C实时提供功率的方向指示,方便实现四象限功率计量。负功率指示REVP:当检测到三相中任意一相的有功功率为负,则REVP输出高电平,直到下次检测到所有相的有功功率都为正时,REVP才恢复为低电平。功率方向指示寄存器PFlag;用于指示A/B/C/合相的有功以及无功功率的方向。Bit0-3:分别表示A、B、C、合相的有功功率的方向,0表示为正,1表示为负。Bit4-7:分别表示A、B、C、合相的无功功率的方向,0表示为正,1表示为负。3硬件系统设计3.1ATT7022C电能计量芯片3.1.1芯片简介ATT7022C是一种高精度三相电能专用计量芯片,该芯片集成了七路sigma-deltaADC、参考电压电路以及所有功率、有效值、功率因数、能量等的数字信号处理电路。它具有能测量电压、电流有效值、有功、无功、视在电能、功率因数、相角、线频率、相序检测等的功能。内置温度测量传感器,提供基波有功、基波无功校表脉冲输出。芯片还具有ADC采样数据缓存功能,缓存长度为240,可以实时保存原始采样数据。同时芯片还支持单通道、双通道、及三通道的同步采样功能,供用户进行采样数据的分析。用户不需要对采样的数据进行计算处理,由内部集成的DSP模块来进行快速计算处理,然后把计算的各个电参数存储到对应的寄存器中,芯片同时提供一个SPI接口与外部MCU进行数据的传递,外部控制器只需要通过SPI总线对各寄存器进行读写操作就可以得到三相电参数的值。为了得到精确的电参数数值,必须进行校表操作,芯片支持纯软件校表,经过校正的仪表,有功精度可高达0.5s,无功精度可达2s。3.1.2内部结构ATT7022C片内包含一个电源监控电路,连续对模拟电源进行监控。电源电压低于4V±5%时,芯片会自动复位。这有利于电路上电和掉电时芯片的正确启动和正常工作。为保证芯片正常工作,应对电源进行去耦,使模拟电源波动不超过5V±5%片内还集成了6路16位的ADC,采用双端差分信号输入。输入最大的正弦信号有效值是1v。而且总电能、视在电能测量;提供正向和反向有功、无功电能测量;提供有功、无功、视在功率测量;提供功率因数、相角、线频率参数;提供电压和电流有效值参数,有效值精度优于0.5%;提供电压夹角测量功能;提供失压判断功能;具有反向功率指示;提供有功、无功、视在校表脉冲输出;另外电表常数可调;起动电流可调;支持增益和相位补偿,小电流非线性补偿;具有SPI接口,方便与外部MCU通讯;单+5V供电,具体结构如图3.1所示图3.1ATT7022C硬件框图3.1.3电能计量芯片ATT7022C的引脚介绍ATT7022C共有44个引脚。5个控制引脚,分别为RESET、SIG、DOUT、DIN、SCLK,三相电压、电流信号输入引脚及电源引脚等,其引脚图如图3.2所示图3.2ATT7022C引脚说明表3.1ATT7022C的管脚说明引脚标识特性功能描述1RESET输入ATT7022C复位管脚低电平有效内部有47K上拉电阻2SIG输出ATT7022C上电复位或者异常原因重新启动时,SIG将变为低电平.当外部MCU通过SPI写入较表数据后,SIG将立即变为高电平3,4V1P/V1N输入A相电流信道正,负模拟输入引脚。完全差动输入方式,正常工作最大输入Vpp为±1.5V,两个引脚内部都有ESD保护电路,最大承受电压为±6V5REF/CAP输出基准2.4V,可以外接;该引脚应使用10uF电容并联0.1uF电容进行去耦6,7V3P/V3N输入B相电流信道正,负模拟输入引脚。完全差动输入方式,正常工作最大输入Vpp为±1.5V,两个引脚内部都有ESD保护电路,最大承受电压为±6V8AGND电源模拟电路<即ADC和基准源>的接地参考点9,10V5P/V5N输入C相电流信道正,负模拟输入引脚。完全差动输入方式,正常工作最大输入Vpp为±1.5V,两个引脚内部都有ESD保护电路,最大承受电压为±6V11REFOUT输出基准电压输出,用作外部信号的直流偏置12AVCC电源该引脚提供ATT7022C模拟电路的电源,正常工作电源电压应保持在5V±5%,为使电源的纹波和噪声减小至最低程度,该引脚应使用10uF电容并联0.1uF电容进行去耦13,14V2P/V2N输入A相电压信道的正、负模拟输入引脚。完全差动输入方式,正常工作最大输入Vpp为±1.5V,两个引脚内部都有ESD保护电路,最大承受电压为±6V15AGND电源模拟电路<即ADC和基准源>的接地参考点16,17V4P/V4N输入B相电压信道的正、负模拟输入引脚。完全差动输入方式,正常工作最大输入Vpp为±1.5V,两个引脚内部都有ESD保护电路,最大承受电压为±6V18AVCC电源该引脚提供ATT7022C模拟电路的电源,正常工作电源电压应保持在5V±5%,为使电源的纹波和噪声减小至最低程度,该引脚应使用10uF电容并联0.1uF电容进行去耦19,20V6P/V6N输入C相电压信道的正、负模拟输入引脚。完全差动输入方式正常工作最大输入Vpp为±1.5V,两个引脚内部都有ESD保护电路,最大承受电压为±6V21,22V7P/V7N输入第七路ADC的正、负模拟输入引脚。完全差动输入方式,正常工作最大输入Vpp为±1.5V,两个引脚内部都有ESD保护电路,最大承受电压为±6V23GND电源数字地引脚24TEST输入测试管脚,正常应用接地。内有47K下拉电阻25NC--不连接26SEL输入三相三线低电平,三相四线高电平选择。内部300K上拉电阻27CF1输出有功电能脉冲输出,其频率反映合相平均有功功率的大小,常用于仪表有功功率的校验,也可以用作有功电能计量28CF2输出无功电能脉冲输出,其频率反映合相平均无功功率的大小,常用于仪表无功功率的校验也可以用作无功电能计量29NC--不连接30CF3输出CF3:基波有功电能脉冲输出,其频率反映基波的合相平均有功功率的大小,常用于仪表基波有功功率的校验,也可以用作基波有功电能计量CF3也可配置为RMS视在电能脉冲输出31CF4输出CF4:基波无功电能脉冲输出,其频率反映基波的合相平均无功功率的大小,常用于仪表基波无功功率的校验,也可以用作基波无功电能计量。CF4也可配置为PQS视在电能脉冲输出32NC--不连接33VDD电源内核电源输出3.0V。外接10F电容并联0.1uF电容进行去耦34VCC电源数字电源引脚;正常工作电源电压应保持在5V±5%,该引脚应使用10uF电容并联0.1uF电容进行去耦35CS输入SPI片选信号,低电平有效,内部上拉200K电阻36SCLK输入SPI串行时钟输入〔施密特,注意:上升沿放数据,下降沿取数据37DIN输入SPI串行数据输入〔施密特,内部下拉200K电阻38DOUT输出SPI串行数据输出,CS为高时高阻输出39VDD电源内核电源输出3.0V。外接10uF电容并联0.1uF电容进行去耦40REVP输出当检测到任意一相的有功功率为负时,输出高电平;当检测到各相有功功率都为正时,该引脚的输出又将复位到低电平41VCC电源数字电源引脚;正常工作电源电压应保持在5V±5%,该引脚应使用10uF电容并联0.1uF电容进行去耦42OSCI输入系统晶振的输入端或是外灌系统时钟输入晶振频率为24.576MHz43OSCO输出晶振的输出端44GND电源数字地引脚3.1.4外围设计ATT7022C是通过电压互感器、电流互感器获得工作电压、电流信号,经过内部处理器处理后将各种参数数据存储在相应寄存器中。设计时可以用微控制器〔如单片机通过异步串行方式读取相应参数值,并通过扫描键盘控制液晶显示相应参数值。ATT7022C内部集成了一个SPI串行通讯接口。ATT7022C的SPI接口采用从属方式工作,使用2条控制线和2条数据线:CS、SCLK、DIN和硬件接线图如图3.3所示图3.3ATT7022C3.2LCD12864液晶模块3.2.1芯片简介汉字图形点阵液晶显示模块可以显示汉字及图形,可以满足一些复杂图形、曲线和汉字的显示,也可以实现动画功能。在科学技术发展越来越快的今天,汉字图形点阵液晶显示的应用越来越广泛。它可以使要显示的数据更加直观,是一种很好的人机接口。本设计中我们采用的TJDM12864M1是一款采用ST7920-0B作为控制器的128X64LCD液晶显示模块。基本特性如下:〔1提供8位、4位并行接口及串行接口可选,并行接口适配M6800时序.〔2自动电源启动复位功能,内部自动震荡源.〔364×16位字符显示RAM〔DDRAM最多16字符×4行,LCD显示范围16×2行.〔42M位中文字形ROM〔CGROM,总共提供8192个简体中文字型〔16×16点阵.〔516K位半宽字型ROM<HCGROM>,总共提供126个西文字型〔16×8点阵.〔664×16位字符产生RAM<CGRAM>.〔715×16位总共240点的〔ICONRAM.具体引脚说明表3.2LCD12864管脚功能引脚号引脚名称方向功能说明1VSS-模块的电源地2VDD-模块的电源正端3V0-LCD驱动电压输入端4RS<CS>H/L并行的指令/数据选择信号;串行的片选信号5R/W<SID>H/L并行的读写选择信号;串行的数据口6E<CLK>H/L并行的使能信号;串行的同步时钟7~14DB0~DB7H/L数据15PSBH/L并/串行接口选择:H-并行;L-串行16NC空脚17RETH/L复位,底电平有效18VEELCD驱动负电压输出19LED_A-背光源正极〔LED+5V20LED_K-背光源负极〔LED-0V3.2.2外围接口TJDM12864M1与单片机的连接方式有两种,一种是总线方式,一种是模拟接口线方式。在设计的系统中,选用模拟接口线的方式。其外部硬件连接电路如图3.4所示图3.4液晶显示模块外部连接电路3.34*4矩阵式键盘3.3.1电路原理键盘可分为两类:编码键盘和非编码键盘。编码键盘具有较多的按键〔20个以上和专用驱动芯片的组合,当按下某个按键时,它能够处理按键抖动、连击等问题,直接输出按键的编码,无需系统软件干预。当按键的数目较少时,可以采用非编码键盘。非编码键盘又可以分为独立式和矩阵式。当按键的数目很少时,可将各个按键直接连接在单片机或者其它接口芯片的多口和地之间。由于每个按键单独占有一个端口,故这种键盘称为独立式键盘。在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口〔如P1口就可以构成4×4=16个按键,比直接将端口线用于键盘多出了一倍,而且线数越多,区别就越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键。由此可见,在需要的键盘数较多时,采用矩阵法来做键盘是很科学的。3.3.2接线图4*4矩阵式键盘硬件电路如图3.5所示图3.54*4矩阵式键盘硬件电路图3.4DS1302时钟模块3.4.1芯片简介〔1时钟芯片DS1302的选择现在流行的串行时钟电路很多,如DS1302、DS1307、PCF8485等。这些电路的接口简单、价格低廉、使用方便,被广泛地采用。实时时钟电路DS1302是DALLAS公司的一种具有涓细电流充电能力的电路,主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。采用普通32.768kHz晶振。〔2时钟芯片DS1302的简介DS1302是美国DALLAS公司推出的一种高性能、低功耗的涓流充电实时时钟芯片,内含一个实时时钟/日历和31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟/日历电路可提供秒、分、时、日、星期、月和年,一个月小于31天时可以自动调整,且具有闰年补偿功能,时钟操作可通过AM/PM标志位决定采用24或12小时时间格式。工作电压宽达2.5~5.5V。采用双电源供电〔主电源和备用电源,可设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力。DS1302的外部引脚分配积及内部结构分别如图3.6所示图3.6DS1302的外部引脚〔3时钟芯片DS1302的引脚功能及结构DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。上电运行时,在Vcc>2.0V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端<双向>,SCLK为时钟输入端,DS1302的引脚功能如表3.3所示表3.3DS1302管脚功能说明引脚编号引脚说明说明1VCC2主电源2、3X1、X232.768KHz晶振管脚4GND电源地5RST复位6I/O数据输入/输出引脚7SCLK串行时钟8VCC1备用电源3.4.2外部接线DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需三根I/O线:复位〔RST、I/O数据线、串行时钟〔SCLK。Vcc2为备用电源,外接32.768kHz晶振,为芯片提供计时脉冲。时钟/RAM的读/写数据以一字节或多达31字节的字符组方式通信。DS1302工作时功耗很低,保持数据和时钟信息时,功耗小于1mW。实际上,在调试程序时可以不加电容器,只加一个32.768kHz的晶振即可。只是选择晶振时,不同的晶振,误差也较大。硬件接口电路如图3.7所示图3.8DS1302外部接线图3.5单片机STC89C54RD+介绍单片机的种类很多,按其功能来分,有通用型单片机和专用型单片机两大类。我们通常所说的单片机是指通用型单片机。从基本操作处理的数据来分,有4位单片机、8位单片机、16位单片机及32位单片机。但是现在仍然以8051为核心的单片机占主流,占据了单片机的半壁江山。STC89C54RD+单片机是一款以8051单片机为核心的单片机,主要包含:中央处理器CPU、16KB片内程序存储器、1280B片内数据存储器、4个8位并行接口、串行接口、2个16位定时器/计数器,以及内部中断控制系统等。STC89C54RD+单片机的结构如图3.9所示中央处中央处理器CPU16KB片内FFROMRAM128016位定时/计数器并行接口串行接口中断系统8KEEPROM图3.9STC89C54RD+单片机结构图4软件方案4.1系统软件总体流程4.1.1软件总体设计思想多功能三相电参数测量仪主要实现电压有效值、电流有效值、功率因数、有功功率、无功功率、视在功率、有功电能、无功电能及相角频率的实时测量监控并显示。本设计是基于专用电能计量芯片ATT7022C,通过单片机微控制器控制设计的一款多功能三相电参数测量装置。将三相电电压、电流信号通过电压互感器及电流互感器转换成电能计量芯片ATT7022C可以处理的小信号并输入ATT7022C,经过 ATT7022C信号调理、采样、A/D转换并计算得到各种三相电电气参数。STC89C54单片机微控制器通过异步串行通信方式与ATT7022C电能芯片通信,读取或者写入数据,从而进行软件较表并获得各项电气参数值。通过按键控制液晶LCD12864实时显示各项三相电参数,并且外加DS1302时钟芯片可以准确显示年份、月份、日期、星期、时、分、秒,并能设置时间,供工作人员参考,减少用电浪费。为调试和维护方便,软件设计遵循结构化、模块化、自顶向下、逐步细化的编程思想。4.1.2具体程序流程设计在系统开始运行后,先进行系统初始化,包括单片机初始化、电能计量芯片初始化、液晶初始化及DS1302初始化,接着就需要软件校表,利用STC89C54通过异步串行通信方式向ATT7022C写入交表数据。可以通过按键操作、单片机控制、液晶LCD12864显示时间和各项电量参数,系统软件功能框图如图4.1所示图4.1系统软件功能框图4.2ATT7022C模块4.2.1读写时序〔1SPI写时序图如图4.2所示图4.2SPI写时序图〔2SPI读时序图如图4.3所示图4.3SPI读时序图4.2.2软件校表及设置参数〔1校表步骤如图4.4所示图4.4校表步骤流程〔2A相校表如图4.5所示图4.〔3三相校表如图4.6所示图4.6三相校表流程4.3LCD12864液晶模块4.3.1软件资源〔1RS,R/W的配合选择决定控制界面的4种模式,如表4.1所示表4.1R/W的4种控制模式RSR/W功能说明LLMPU写指令到指令暂存器〔IRLH读出忙标志〔BF及地址记数器〔AC的状态HLMPU写入数据到数据暂存器〔DRHHMPU从数据暂存器〔DR中读出数据〔2E信号的不同状态可以产生三种不同结果,如表4.2所示表4.2E信号E状态执行动作结果高—>低I/O缓冲—>DR配合W进行写数据或指令高DR—>I/O缓冲配合R进行读数据或指令低/低—>高无动作4.3.2时序操作图〔18位并口读操作时序图如图4.7所示图4.78位并口读操作时序图〔28位并口写操作时序图如图4.8所示图4.88位并口写操作时序图〔3串口时序图如图4.9所示图4.9串口时序图〔4外部复位时序图如图4.10所示图4.10外部复位时序图4.3.3液晶显示〔1显示数字 在指定位置显示一个长整形数据需要确定数据位数,程序流程图如图4.11所示图4.11显示数字流程图〔2显示字符串在指定位置显示字符串,可以是ASCⅡ码值或汉字,汉字最多8个,ASCⅡ码最多16个,程序流程图如图4.12所示图4.12显示字符串流程图4.44*4矩阵式键盘4.4.1软件原理矩阵键盘又称为行列式键盘,它是用4条I/O线作为行线,4条I/O线作为列线组成的键盘。在行线和列线的每一个交叉点上,设置一个按键。这样键盘中按键的个数是16个。这种行列式键盘结构能够有效地提高单片机系统中I/O口的利用率,通常有行扫描发和高低电平翻转发:〔1行扫描发行扫描法行扫描法又称为逐行〔或列扫描查询法,是一种最常用的按键识别方法,首先判断键盘中有无键按下将全部行线Y0-Y3置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下;然后断闭合键所在的位置,在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。〔2高低电平翻转发首先让P1口高四位为1,低四位为0,。若有按键按下,则高四位中会有一个1翻转为0,低四位不会变,此时即可确定被按下的键的行位置;然后让P1口高四位为0,低四位为1,。若有按键按下,则低四位中会有一个1翻转为0,高四位不会变,此时即可确定被按下的键的列位置;最后将上述两者进行或运算即可确定被按下的键的位置。本设计采用行扫描法。4.4.2按键说明 如图4.13所示为案件操作说明图图4.13按键操作说明图4.4.3软件流程图 如图4.14所示为按键扫描流程图图4.14按键扫描流程图4.5DS1302时钟模块4.5.1内部资源介绍DS1302工作时为了对任何数据传送进行初始化,需要将复位脚〔RST置为高电平且将8位地址和命令信息装入移位寄存器。数据在时钟〔SCLK的上升沿串行输入,前8位指定访问地址,命令字装入移位寄存器后,在之后的时钟周期,读操作时输出数据,写操作时输出数据。时钟脉冲的个数在单字节方式下为8位地址+8位数据,在多字节方式下为8加最多可达248的数据。对DS1302的操作就是对其内部寄存器的操作,DS1302内部共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器以外的寄存器。DS1302有下列几组寄存器:DS1302有关日历、时间的寄存器共有12个,其中有7个寄存器〔读时81h~8Dh,写时80h~8Ch,存放的数据格式为BCD码形式。小时寄存器〔85h、84h的位7用于定义DS1302是运行于12小时模式还是24小时模式。当为高时,选择12小时模式。在12小时模式时,位5是,当为1时,表示PM。在24小时模式时,位5是第二个10小时位。秒寄存器〔81h、80h的位7定义为时钟暂停标志〔CH。当该位置为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位置为0时,时钟开始运行。控制寄存器〔8Fh、8Eh的位7是写保护位〔WP,其它7位均置为0。在任何的对时钟和RAM的写操作之前,WP位必须为0。当WP位为1时,写保护位防止对任一寄存器的写操作。表4.3日历、时间寄存器另外,DS1302中附加31字节静态RAM的地址如表4.4所示表4.4静态RAM地址DS1302的工作模式寄存器:所谓突发模式是指一次传送多个字节的时钟信号和RAM数据。突发模式寄存器如表4.5所示表4.5突发模式寄存器4.5.2时序图〔1读时序图如图4.15所示图4.15读时序图〔2写时序图如图4.16所示图4.16写时序图4.5.3时间显示流程〔1读取DS1302当前时间并存储,格式为:年、月、日、星期、时、分、秒,都为BCD码,其程序流程图如图4.17所示图4.17读DS1302流程图〔2初始化DS1302,包括设置初始时间和启动DS1302时钟,格式为:年、月、日、星期、时、分、秒,都为BCD码,其程序流程图如图4.18所示图4.18初始化DS1302流程图5总结本设计利用专用电能计量芯片ATT7022C、STC89C54RD+、LCD12864显示、时钟芯片DS1302及4*4矩阵键盘结合设计的一款多功能三相电参数测量系统。它具有采样精度高,功能齐全,显示直观等高性价比的优点。本设计遵循结构化、模块化、自顶向下、逐步细化的设计思想,便于调试,控制,检测。现对本设计作如下总结:〔1以专用电能计量芯片ATT7022C为基础进行设计,充分利用了该芯片的高度集成化,简化了系统硬件电路的设计复杂性,使得性能更加稳定。〔2结合单片机STC89C54RD+进行控制,充分利用了其内部资源,尤其是其I/O口资源,通过矩阵式键盘控制外连液晶显示。〔3利用液晶LCD12864显示各项三相电参数,可以达到准确、清晰的显示效果。〔4利用外部专用电池为DS1302供电,可以在系统断电情况让DS1302正常工作,再次进入不需要重新设置时间。在此次毕业设计过程中,使我进一步感受了书本知识和实际应用能力之间的关系。书上讲的只是最基本的原理性理论基础。运用到实际中往往要根据实际状况进行变通和深入理解才能实现预期效果。毕业设计要的不仅仅是结果,更重要的是过程。在这个过程中,我们有成功也有失败。成功的喜悦固然珍贵,但失败的教训更加难得。这些经历会在我将来的学习生活和工作中会有不可忽视的作用。由于时间所限,本设计还未能做到尽善尽美,功能还待继续扩展。若能在软件中简化程序,结合汇编语言,则提高运行速度、缩减程序使用空间。对于设计,还需要大量的实验来验证。致谢在此谨向我的导师黄梦涛老师致以最诚挚的感谢,黄老师待人真诚,作风严谨,在整个设计中对我进行精心指导,每次与导师见面,她都会热情询问任务完成情况及在完成中所遇到的问题,并且耐心、认真的给与解答,让我清除知道接下来应该做什么,同时他会针对我的设计提出关键性问题,并认真解释。从理论学习到硬件电路设计及其软件编程设计,再到后来的软硬件联合调试,一直到最终完成课题设计,是我真正感受到理论与实际结合的妙处,感受到黄老师知识的渊博在整个设计过程中,王涛涛学长很热心地与我一起探讨设计中遇到的问题,在部分关键问题上,给予极大帮助,在此我也真心感谢他们。还有邓莉洁同学也给我很大帮助,在此表示衷心感谢。通过这次毕业设计,使我活跃了思维,提高了动手能力,为以后工作打下了坚实的基础。衷心感谢我的家人,是他们辛劳的付出给予了我巨大的精神动力,使我时刻以坚强的意志去迎接生活中的每一个挑战。最后,感谢每一位关心和帮助过我的老师、同学和朋友!参考文献[1]于海生,潘松峰,吴贺荣.基于复序列FFT和锁相原理的电参数测量[J].电网术,2003[2]郭松林,付家才,卜树波.三相工频电参数测量系统的设计[J].电测与仪表,2005[3]李春彪.功率因数分析方法新探[J].XX经贸职业技术学院学报,2003[4]章军.多功能电参数测量仪的设计[J].中国优秀博硕士学位论文全文数据库,2004[5]陈洁.三相交流电量采集算法的研究[J].中国优秀博硕士学位论文全文数据库,2006[6]刘钺.交流电压的数字采集测量方法研究[J].中国优秀硕士学位论文全文数库,2007[7]陆以彪.交流电量参数现场综合测试仪的研制[J].中国优秀博硕士学位论文全文数据库<硕士>,2004[8]刘树林.低频电子线路[M].XX工业出版社,2006.1[9]孙树朴.电力电子技术[M].中国矿业大学出版社,2000.3[10]何希才.常用集成电路应用实例[M].电子工业出版社,2007.6[11]阎石.数字电子技术基础[M].高等教育出版社,2002.3[12]赵继民,杨世凤,李军超.基于CS5460A的三相电参数检测仪的设计[J].天津科技大学学报,2008[13]李风军,王国保,任建广.提高电力系统用电功率因数方法[J].科技信息,2008[14]高赟.电路[M].XX电子科技大学出版社,2007[15]周航慈.智能仪器原理与设计[M].北京航空航天大学出版社,2005[16]龚尚福.C/C++语言程序设计[M].XX:中国矿业大学,2007.2[17]TIXX中文网.http;[18]电子开发网.附录1ATT7022C系统原理图及系统原理图附录2主程序#include<reg52.h>#include<stdio.h>#include<math.h>#include<intrins.h>#define ucharunsignedchar#define uintunsignedint#defineuint32unsignedlongvoidhuanyiye<>;voidmainpage1<>;voidhaunyinye2<>;voidzhuye<>;voidshowcanshu1<>;voidshowcanshu2<>;voidshowcanshu3<>;voidUall<>;voidIall<>;voidPcos<>;voidyougongP<>;voidwugongP<>;voidshizaiP<>;voidyougongNeng<>;voidwugongNeng<>;voidxiangjiao<>;voidxiangF<>;voidqita<>;voidwugongNeng<>;voidcheck<>;/*1302变量*/sbitACC0=ACC^0;sbitACC7=ACC^7;sbitT_CLK=P2^5;sbitT_IO=P2^6;sbitT_RST=P2^7;ucharsettime[7]={0x00,0x47,0x20,0x11,0x05,0x03,0x11};//存放时间:秒分时日月星期年ucharucCurtime[8]={0};/*LCD变量*/sbit LCD_RS=P2^0;sbit LCD_RW=P2^1;sbit LCD_EN=P2^2;longintlongwan;uinti;bit Lcd_result;/*ATT70922变量*/sbitcs=P3^0;sbitsclk=P3^1;sbitdin=P3^2;sbitdout=P3^3; sbitsig=P3^4;sbitreset=P3^5;voidlcd_init<>{ lcd_wcmd<0x30>;; lcd_wcmd<0x30>; lcd_wcmd<0x0c>; lcd_wcmd<0x01>; lcd_wcmd<0x06>;}voidlcd_disnum<longintnumber,ucharweishu>{ uchar n,a; longwan=0; a=0; for<n=0;n<weishu;n++> { longwan=longwan*10+number%10; number=number/10; } for<n=0;n<weishu;n++> { a=longwan%10+48; longwan=longwan/10; lcd_wdat<a>; }}/************************************************函数名:lcd_diswords<ucharwords[16]>;功能:显示字符串**********************************************/voidlcd_diswords<unsignedcharcode*s>{ while<*s>0>{ lcd_wdat<*s>; s++;}}/************************************************函数名:keyscan<>功能:键盘扫描说明:键值存储于key************************************************/voidkeyscan<>{ key=16; P0=0xff; P0=0xfe; wan=P0; wan&=0xf0; if<wan!=0xf0> { wan=P0; if<wan!=0xf0> { wan=P0; wan&=0xf0; switch<wan> { case0xe0:key=1;break; case0xd0:key=2;break; case0xb0:key=3;break; case0x70:key=10;break; } } } P0=0xff; P0=0xfd; wan=P0; wan&=0xf0; if<wan!=0xf0> { wan=P0; if<wan!=0xf0> { wan=P0; wan&=0xf0; switch<wan> { case0xe0:key=4;break; case0xd0:key=5;break; case0xb0:key=6;break; case0x70:key=14;break; } } } P0=0xff; P0=0xfb; wan=P0; wan&=0xf0; if<wan!=0xf0> { wan=P0; if<wan!=0xf0> { wan=P0; wan&=0xf0; switch<wan> { case0xe0:key=7;break; case0xd0:key=8;break; case0xb0:key=9;break; case0x70:key=11;break; } } } P0=0xff; P0=0xf7; wan=P0; wan&=0xf0; if<wan!=0xf0> { wan=P0; if<wan!=0xf0> { wan=P0; wan&=0xf0; switch<wan> { case0xe0:key=13;break; case0xd0:key=0;break; case0xb0:key=12;break; case0x70:key=15;break; } } } }/************************************ATT7022子程序*************************************/voidwrite_att7022<ucharcom,uint32dat>{ dat=dat<<8;//使24位数据左移8位 cs=1; sclk=0; cs=0; for<i=8;i>0;i--> { sclk=1; if<<com&0x80>==0x80> din=1; elsedin=0; sclk=0; com=com<<1; } for<j=24;j>0;j--> { sclk=1; if<<dat&0x80000000>==0x80000000> din=1; elsedin=0; sclk=0; dat=dat<<1; } cs=1;}uint32read_att7022<ucharcom>{ uint32dat=0; dout=1;//释放总线 cs=1; sclk=0; cs=0; for<i=8;i>0;i--> { sclk=1;//下降沿att7022芯片获取数据 if<<com&0x80>==0x80> din=1; elsedin=0; sclk=0; com=com<<1; } for<j=24;j>0;j--> { dat=dat<<1

温馨提示

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

评论

0/150

提交评论