《脉冲式电表数据采集系统的程序设计 .doc》由会员分享,可在线阅读,更多相关《脉冲式电表数据采集系统的程序设计 .doc(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、中国地质大学(武汉)远程与继续教育学院毕业设计(论文)远程与继续教育学院本科毕业论文(设计)题目: 脉冲式电表数据采集系统的程序设计 学习中心: 内蒙古学习中心 学 号: 090F31131085 姓 名: 李卓燃 专 业: 电气工程及其自动化 指导教师: 苏娜 2015 年 9 月 22 日 中国地质大学(武汉)远程与继续教育学院本科毕业论文(设计)指导教师指导意见表学生姓名: 学号: 专业: 毕业设计(论文)题目: 指导教师意见:(请对论文的学术水平做出简要评述。包括选题意义;文献资料的掌握;所用资料、实验结果和计算数据的可靠性;写作规范和逻辑性;文献引用的规范性等。还须明确指出论文中存在
2、的问题和不足之处。)填写要求:1.请指导教师按以上要求填写意见,2.学生在上传论文时不得将以上括号内的内容删除。3.当学生论文评阅成绩不及格重写时,指导教师要重新填写意见及新的指导日期。(指导教师填写指导意见时请将填写要求删除)指导教师结论: (合格、不合格)指导教师姓名所在单位指导时间中国地质大学(武汉)远程与继续教育学院 本科毕业设计(论文)评阅教师评阅意见表 学生姓名: 学号: 专业: 毕业设计(论文)题目: 评阅意见:(请对论文的学术水平做出简要评述。包括选题意义;文献资料的掌握;所用资料、实验结果和计算数据的可靠性;写作规范和逻辑性;文献引用的规范性等。还须明确指出论文中存在的问题和
3、不足之处。)填写要求:1.请评阅教师按以上要求填写意见,2.上传论文时不得将以上括号内的内容删除。3.当学生论文评阅成绩不及格重写时,评阅教师要重新填写意见及新的评阅日期。 (评阅教师填写指导意见时请将填写要求删除)修改意见:(针对上面提出的问题和不足之处提出具体修改意见。评阅成绩合格,并可不用修改直接参加答辩的不必填此意见。)毕业设计(论文)评阅成绩 (百分制): 评阅结论: (同意答辩、不同意答辩、修改后答辩)评阅人姓名所在单位评阅时间论文原创性声明本人郑重声明:本人所呈交的本科毕业论文脉冲式电表数据采集系统的硬件设计和软件设计,是本人在导师的指导下独立进行研究工作所取得的成果。论文中引用
4、他人的文献、资料均已明确注出,论文中的结论和结果为本人独立完成,不包含他人成果及使用过的材料。对论文的完成提供过帮助的有关人员已在文中说明并致以谢意。本人所呈交的本科毕业论文没有违反学术道德和学术规范,没有侵权行为,并愿意承担由此而产生的法律责任和法律后果。 论文作者(签字): 李卓燃日期:2015年9月22日4中国地质大学(武汉)远程与继续教育学院毕业设计(论文)摘 要目前在我国电力抄表基本都是人工完成。由抄表员挨家逐户查抄电表。这种落后的方式,与当今高度发展的科技水平不相称,特别随着一户一表制度的推广,抄表人员的劳动繁重性可想而知,不仅浪费大量的人力、物力,同时到居民住宅内抄表也可能引发诸
5、多问题。随着电网改造的进行,目前市场对电力自动化管理系统的需求正进一步增大。但现有的系统或自动化程度不高,或抗干扰能力差,不能满足世界使用的要求,因此迫切需要提高系统性能。本论文研究的对象就是针对这种自动抄表系统,设计其中的一套脉冲式电表数据采集系统,包括了对数据的采集,存储,查询,显示以及与上位机通讯等主要功能,从而实现对电表度数采集的“零”错误,并能通过电力系统的电力线载波系统传到系统主机。本文的研究内容为脉冲式电表数据采集系统,是作为整个自动化抄表系统的子系统,如果把整个系统比做一幢大楼,那么本系统就是整个大楼的根基,一来是基础,二来也是它的一部分。本课题的成功实现对于整个抄表系统的实现
6、有着重要的意义。本论文涉及了一套完整的单片机系统,用于实现数据的采集,度数的计算,存储和查询,并且能够保证与上位机的正确通信,还对系统的程序设计部分进行了详细的介绍,能做为一种比较典型的单片机设计系统。 关键词:1、脉冲式电表 2、AT89C52单片机 3、液晶显示器 中国地质大学(武汉)远程与继续教育学院毕业设计(论文)目 录一、绪论1(一)课题背景及研究目的和意义1(二)国内外研究现状1(三)研究的主要内容1(四)本章小结2二、脉冲式电表数据采集系统的硬件电路设计3(一)系统方案的确定31、系统的组成32、单片机的选取3(二)系统子模块电路设计41、信号采样及整形电路42、数据保存电路63
7、、日历时钟电路74、跳闸控制电路85、掉电保护电路96、键盘输入电路117、液晶显示模块电路158、看门狗电路16(三)本章小结17三、脉冲式电表数据采集系统的程序设计18(一)主程序设计181、各子电路及芯片的片选、控制的口地址分配182、主程序的设计20(二)各子模块程序设计211、日历时钟芯片的程序设计212、键盘输入电路程序设计233、液晶显示器DMF5001程序设计23(三)本章小结24结 论26致 谢27参考文献2817一、绪论(一) 课题背景及研究目的和意义 当今,我国电力抄表基本上都是人工完成的,即由抄表人员挨家逐户查抄电表。这种落后的方式,是与当今高度发展的科技水平不相称的,
8、特别是随着一户一表制的推广,抄表人员的劳动繁重性可想而知,不仅需要大量的人力、物力,同时到居民住宅内抄表也可能引发诸多的问题,给用户带来的不便,此外人工抄表还容易产生人员的腐败问题。而且由于采集数据的时间跨度很大、采集数据的准确性也较低,使得电力管理部门无法做到同时集中抄表,从而不能准确反映实际线损,无法将线损和公共用电公平分摊到每一用户;不能做到电网负荷实时监测、预测及控制。当前先用电后交费的不合理制度在人工抄表阶段也无法得到有效解决,以上这些方面严重阻碍了电力行业经济效益和管理水平的提高。为此,国家有关部门决定在城市电网改造的同时,对城镇居民住宅供点系统实施一户一表改造,并要求对传统的抄表
9、、收费方式同时进行改造,使用质量可靠、经有关部门检验合格的自动抄表系统抄表。本论文研究的对象就是针对这种自动抄表系统,设计其中的一套脉冲式电表数据采集系统,包括了对数据的采集,存储,查询,显示以及与上位机通讯等主要功能,从而实现对电表度数采集的“零”错误,并能通过电力系统的电力线载波系统传到系统主机,后者不属本文的研究范围。本次设计的对象不是整个抄表系统,只是抄表系统中的一个脉冲式电表数据采集子系统,如果把整个系统比做一幢大楼,那么本系统就是整个大楼的根基,一来是基础,二来也是它的一部分。本课题的成功实现对于整个抄表系统的实现有着重要的意义。(二)国内外研究的现状目前随着社会的进步和科技的发展
10、,人们为了提高劳动生产率,产品质量,改善劳动条件,实现生产过程的自动化,以及为科研提供准确可靠的数据,对电表的要求越来越高。电能计量自动抄表系统可分为直接本地抄表系统,本地抄表系统和远程自动抄表系统三种。仪表是数字化了的电能表,它主要分为两类:一类是智能电能表;另一类是由脉冲电能表与脉冲采集器组成。二者基本上都能应付当今电能计量自动抄表的需要,但采用脉冲电能表只是一种过渡方案,不是长久之计。当然现代电能表的发展,人们对它的认识以及市场培育都需要一定的时间。所以,在今后相当长的一段时间内,采集器与脉冲电能表的组合方式,甚至机电脉冲式电能表仍将和智能电子电能表平分秋色。(三)研究的主要内容本文研究
11、的主要内容是设计一个单片机系统,能够完成对脉冲式电表进行数据的采集并计算脉冲数量,换算成为度数。通过扩充存储器,使度数存储起来。利用时钟芯片,产生时间,包括年、月、日、时、分、秒、星期等。时钟芯片必须具有后备电源,在微型控制器保存当前度数进入外扩存储器时,把时钟信息和当前用户的用电量一起存储起来。本次设计的单片机系统具有键盘输入设置和液晶显示功能。管理人员和用户可以通过键盘来控制单片机的某些初始设置,键盘具有密码保护功能。用户可以通过键盘,液晶显示器来查看当前的剩余度数,以做到及时交费。当用户的用电量为零时,本系统可以在远程机的控制下,跳闸断电,交费后,可以通过远程机控制电源的导通。此外,本系
12、统还具有一些保护电路,如跳闸保护电路,断电保护电路,看门狗看路等,保证了整个单片机系统的正常运行。(四)本章小结本章主要介绍了这次课题研究的来源,研究目的及其意义。早期的电力系统计量表为ABC三相各安装一块脉冲式电表,本毕业设计是设计一个单片机系统,将这些脉冲表的电能数据采集到,然后通过串口输出,为自动抄表系统提供数据,具体包括:脉冲式电表数据采集系统方案的确定与论证;脉冲式电表数据采集系统硬件电路的设计;脉冲式电表数据采集系统的程序设计和上位机查询模块程序设计。本次课题将会应用到单片机、电子电工技术、汇编语言、C及C51语言、protel99等多门学科的知识,是一个全面的具有挑战性的课题。现
13、在国内自动抄表系统还没有全面的推广,设计自动抄表系统的人及单位也很多,所以本课题的另外一个主旨在于能尽量的降低成本的情况下实现自动抄表。二、脉冲式电表数据采集系统的硬件电路设计(一)系统方案的确定1、系统的组成按照系统的设计要求,本系统应该有脉冲采集整形、单片机、日历时钟、数据保存、与上位机通信、跳闸保护、断电保护、键盘、液晶显示等模块组成4。单片机整 形电 路电 表脉 冲 掉电保护电路跳闸控制电路日历时钟电路串行通讯线 接 口上位机数据保存扩充电路键盘输入电路液晶显示电路图2-1 脉冲式电表数据采集系统的组成2、单片机的选取考虑到本系统所用到的单片机资源相对较多,并且在液晶显示器的编程会占用
14、较大的程序存储器的空间,因此采用功能相对比较强大的AT89C52单片机。AT89C52是美国ATMEL公司生产的低电压,高性能CMOS 、8位单片机,片内含8K BYTES的可反复擦写的只读程序存储器(PEROM)和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和FLASH存储单元,功能强大的AT89C52单片机适合于许多诸如此类的复杂控制应用场合。AT89C52具有32个I/O口线,3个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片
15、内震荡器及时钟电路。同时,AT89C52可降至0Hz的静态逻辑操作,并支持两种软件可选节电模式。空闲方式停止CPU工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但震荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。(二)系统子模块电路设计1、信号采样及整形电路目前,市场上的电表基本上为脉冲电表,即输出标准脉冲信号。电表输出的脉冲信号送到采集模块,经过光电耦合器开关,进行信号隔离,然后再以整形。由于脉冲式电表的输出脉冲是一个80ms左右的低电平,而单片机的采集周期远远低于ms等量级,所以,在连接电路的时候,为了避免一个电表输入脉冲产生多次记数,把
16、脉冲采集端接到AT89C52的p3.4口,即AT89c52的定时/计数器0口,这是因为,单片机的计数器是由信号脉冲的负跳变触发的,所以,能够保证电表的每次脉冲在单片机内部产生一次记数。电表输出的波形不是理想的方波,由于受到电源或者其它干扰信号的影响,波形会有抖动。对于简单的比较器,输入电压与输出电压之间存在直接联系,使得这种电路存在严重缺陷。对于输出电压带有严重毛刺,电路容易造成误动作,使输出电压错误翻转。这显然对电量度量是不允许出现的,对用户也是不公平的。因此,我们采用迟滞比较器,通过调整上下限VH和VL可尽量抑制由于电压抖动引起的影响。图2-2 迟滞电路对脉冲整形脉冲采集电路输出进入迟滞比
17、较器,具有内部迟滞的比较器,能够很好地消除噪声等的干扰。迟滞比较器一般都具有正反馈,使得这类比较器响应速度很快。迟滞比较器采用LM358、电位器R19和电位器R20构成,同时采用LM358、电位器R21和电阻R22为迟滞比较器提供参考电压。如图2-3所示。图2-3 迟滞比较器及参考电压发生电路图2-4 迟滞比较器的输出特性参考电压Vref由R21和R22提供,其表达式为 (2.1)所设计的迟滞比较器的传输特性如图2.4所示,它的传输函数为 (2.2)比较器上限触发电平VH为 (2.3)比较器下限触发电平VL为 (2.4)有式(2.3)和式(2.4)可得迟滞比较器的门限宽度(也称回差电压或迟滞宽
18、度)Va为 (2.5)根据门限宽度VH的需要可改变R19的值,Va反映了比较器抗噪声的能力。迟滞比较器的输出可以直接输出到AT89C52,单片机对此输入脉冲进行计数,经过数值变换就可以得到相应的电度数。2、数据保存电路(1)芯片的选用闪速存储器(Flash memory)又称PEROM(Programmable and Erasable Read Only Memory),具有掉电后信息保留的特点,又可以在线写入(写入前自动擦除),并且可以按页连续字节写入,读出速度高。目前,它比EEPROM具有更优越的性能和更低的价格。本次设计中采用的是美国ATMEL公司生产的闪速存储器AT29LV040A。
19、AT29LV040A的主要性能有:1) 快速读取时间:200ns;2) 单一电压下在线编程(编程前自动擦除)电压:3.3V0.3V;3) 大存储容量:4Mbit(512kB8);4) 以256字节为一页的页写入操作,片内带256字节的地址数据锁存;5) 单页写入时间20ms,芯片擦除时间20ms;6) 低功耗:读写电流15mA,维持电流20nA;7) CMOS工艺,10000次擦除写入寿命,数据可保存10年;8) 输入/输出与TTL、CMOS电平兼容;9) 温度范围:商用为070, 工业用为4085。(2)闪存与单片机的连接本次系统设计,由于要十分钟保存一下当前的度数和时钟信息,度数占4个字节
20、,每条时钟信息要占10个字节,所以,每次保存要占用14字节的闪存空间。由于要保存时间较长,大概在两年左右,于是采用四片AT29LV040A闪速存储器。四片闪存的片选端分别由P1.0、P1.1、P1.2、P1.3口控制,地址线A0A15由P0口和P2口提供,A16A18由P1.4、P1.5、P1.6控制。这样,相当于把这四个512K的片子分成了32页,每一页的寻址范围为64K,每一页的选择由片选端和A16A18地址线决定。现以第一个AT29LV040A芯片为例,其片选和页选及其地址分配如下表表2-1 第一块AT29LV040A地址分配表片选(P1.0)选择的页码P1.7 P1.6 P1.5地址范
21、围0123456780000010100111001011101110X0000-0XFFFF0X0000-0XFFFF0X0000-0XFFFF0X0000-0XFFFF0X0000-0XFFFF0X0000-0XFFFF0X0000-0XFFFF0X0000-0XFFFF3、日历时钟电路采样模块需要对系统进行分时计数功能,所以需要实时时钟,以完成定时产生中断、分时显示、获取时间和日期等功能,具体选用美国Dallas公司生产的实时时钟芯片DS1302。DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟芯片,它可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补
22、偿功能,工作电压宽达2.55.5v。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行充电能力。DS1302与CPU的连接仅需要三条线,即SCLK、I/O、RST。在单电源与电池供电的系统中提供低电源并提供低功率的电池备份。在双电源系统中Vcc2提供主电源,在这种运行方式下Vcc1连接到备份电源,以便在没有主电源的情况下能保存时间信息以及数据。DS1302由Vcc1和Vcc2两者的较大者供电。实时时钟具有能计算2100 年之前的秒分时日日
23、期星期月年的能力,还有闰年调整的能力。DS1302在与单片机通讯的时候,一次发送十个字节的日历时钟信息,包括秒、分、时、日、月、星期、年、控制字字节、以及两字节的保护字节。图2-5 DS1302引脚图各管脚的功能如下:X1 X2-32.768KHz 晶振管脚GND-地RST-复位脚I/O-数据输入/输出引脚SCLK-串行时钟Vcc1,Vcc2-电源供电管脚4、跳闸控制电路当用户购买电量已用完或出现逆差时,对该用户断电,当用户缴纳一定的费用后可重新接通对该用户供电。电路图如下:图中,relay为单片机发出的控制信号,当单片机接收到接通或断开命令时,通过relay来实现继电器的断开或接通。rela
24、y为高电平时,光藕光电三极管和Q1饱和导通,则继电器开关吸合。若relay为低电平,则光耦光电三极管和Q1截止,继电器断开。D5对继电器起保护作用。显然,此电路在正常供电时,要消耗电能,因此可采用常开、常闭触点的继电器,正常供电时处于常闭状态,此时12v电源未接通,不消耗电能;对用户断电时,继电器开关吸合,将用户电源断开,此时12v电源才消耗电能。图2-6 跳闸控制电路采用光耦器件,可将应用电路与电力线隔离,从而防止电力线上干扰进入智能电表的单片机系统,防止系统误操作,此外,还可以防止瞬间高压损害器件。5、掉电保护电路为了当掉电时,能够及时保存现场数据,必须有掉电保护。当电压下降到一定的值时,
25、单片机应及时保存数据。电路原理图设计如下: 图2-7 掉电保护电路原理图如图所示,交流10V电压经D13和滤波电容C31组成的单相半波整流电路后再经过限流电阻R12后使稳压管WD2稳压为+5V,供电正常时,可近似将C31两端的直流电压看为14V,则稳压管电压为+5V,由于比较器U1A同相端电压高于反向端电压,U1A输出高电平+5V,通过D14给C29、C30充电可达4.3V,因此U1B的输出电压为0V,三极管T2截止,因此TEST为高电平,当掉电时,C31从14V开始放电到U1A同相端输入下降到2.5V的时间计算如下:在R14两端电压高于5V时,WD2稳压管中有放电电流,其最大值为 (2.6)
26、以此最大电流计算稳压管WD2的等效电阻为 (2.7)则C31的放电等效电阻为 (2.8)放电时间常数可由下式计算 (2.9)现在计算t,由下式计算,最后算得t为43.5ms。类似地也可以计算得U3B反相端输入下降到2.5V的时间约为1.4ms。可见从掉电到TEST输出为低电平的时间约为44.9ms。假定单片机在电源中从+5V下降到+4.6V过程中都可正常工作,显然要使单片机有足够的时间保存数据,则要求图2.7 中的掉电保护电路从掉电到输出TEST变为低电平的时间应该小于单片机电源下降到4.6V的时间,并要留有足够的余量。用图2.8的供电电路时,电源从+5V下降到+4.6V的时间根据以上类似的方
27、法算得约66.6ms,大于44.9ms,此时间差足够单片机保存数据。一开关连接到一输入端和一输出端之间。一判定电路检测输出端的电压,判定输出端的电压是否为一预定电压或其以下。判定装置产生一输出,用于当输出端电压为一预定电压或其以下时断开该开关,当该电压高于预定电压时接通该开关。一组抗线路连接到输入端和输出端,以便旁通该开关,当由于开关动作断开电源供电时,从输入端经过阻抗线路向负载装置流过电流。一种电源供电电路,含:一输入端,用于输入功率;一输出端,用于输出功率;开关装置,连接在输入端和输出端之间;一判定电路,其检测输出端的电压,以判别输出端的电压是否 为一预定电压或其以下,所述判定电路所产生一
28、个输出,用于当输出端电压为该预定电压或其以下时断开开关装置,以及当输出端电压高于预定电压时接通该开关,以及一阻抗线路,其连接到输入和输出端,以便旁通开关装置,当由于开关装置动 作中断供电时,所述阻抗线路经过输出端向连接到输出端上的负载装置供电。 图2-8 电源供电电路6、键盘输入电路1.可编程并行I/O口扩展芯片8155Intel8155芯片内包含有256个字节RAM、2个8位、1个6位的可编程并行I/O和1个14位的定时器/计数器。由于8155既具有RAM又有I/O口,因而是MCS-51单片机系统中最常用的外围接口芯片之一。图2-9 8155芯片内部结构及其管脚图(1)8155各引脚功能说明
29、如下:RST:复位信号输入端,高电平有效。复位后,3个I/O口均为输入方式。AD0AD7:三态的地址/数据总线。与单片机的低8位地址/数据总线(P0口)相连。单片机与8155之间的地址、数据、命令与状态信息都是通过这个总线口传送的。:读选通信号,控制对8155的读操作,低电平有效。:写选通信号,控制对8155的写操作,低电平有效。:片选信号线,低电平有效。IO/:8155的RAM存储器或I/O口选择线。当IO/0时,则选择8155的片内RAM,AD0AD7上地址为8155中RAM单元的地址(00HFFH); 当IO/1时,选择 8155的I/O口,AD0AD7上的地址为8155 I/O口的地址
30、。ALE:地址锁存信号。8155内部设有地址锁存器,在ALE的下降沿将单片机P0口输出的低8位地址信息及,IO/的状态都锁存到8155内部锁存器。因此,P0口输出的低8位地址信号不需外接锁存器。PA0PA7:8位通用I/O口,其输入、输出的流向可由程序控制。PB0PB7:8位通用I/O口,功能同A口。PC0PC5:有两个作用,既可作为通用的I/O口,也可作为PA口和PB口的控制信号线,这些可通过程序控制。TIMER IN:定时/计数器脉冲输入端。TIMER OUT:定时/计数器脉冲输出端。VCC:5V电源。(2)8155的地址编码及工作方式 在单片机应用系统中,8155是按外部数据存储器统一编
31、址的,为16位地址,其高8位由片选线提供,0,选中该片。当0,IO/0时,选中8155片内RAM,这时8155只能作片外RAM使用,其RAM的低8位编址为00HFFH;当0,IO/1时,选中8155的I/O口,其端口地址的低8位由AD7AD0确定,如表2-2所示。这时,A、B、C口的口地址低8位分别为01H、02H、03H(设地址无关位为0)。表2-2 8155芯片的I/O口地址AD7AD0选择I/O口A7A6A5A4A3A2A1A0000011001100010101命令/状态寄存器A口B口C口定时器低8位定时器高6位及方式8155的A口、B口可工作于基本I/O方式或选通I/O方式。C口可工
32、作于基本I/O方式,也可作为A口、B口在选通工作方式时的状态控制信号线。当C口作为状态控制信号时,其每位线的作用如下:PC0:AINTR(A口中断请求线)PC1:ABF(A口缓冲器满信号)PC2:(A口选通信号)PC3:BINTR(B口中断请求线)PC4:BBF(B口缓冲器满信号)PC5:(B口选通信号)8155的I/O工作方式选择是通过对8155内部命令寄存器设定控制字实现的。命令寄存器只能写入,不能读出,命令寄存器的格式如图6-16所示。在ALT1ALT4的不同方式下,A口、B口及C口的各位工作方式如下:ALT1:A口,B口为基本输入/输出,C口为输入方式。ALT2:A口,B口为基本输入/
33、输出,C口为输出方式。ALT3:A口为选通输入/输出,B口为基本输入/输出。PC0为AINTR,PC1为ABF,PC2为,PC3PC5为输出。ALT4:A口、B口为选通输入/输出。PC0为AINTR,PC1为ABF,PC2为,PC3为BINTR,PC4为BBF,PC5为。图2-10 8155命令寄存器格式8155内还有一个状态寄存器,用于锁存输入/输出口和定时/计数器的当前状态,供CPU查询用。状态寄存器的端口地址与命令寄存器相同,低8位也是00H,状态寄存器的内容只能读出不能写入。所以可以认为8155的I/O口地址00H是命令/状态寄存器,对其写入时作为命令寄存器;而对其读出时,则作为状态寄
34、存器。状态寄存器的格式如图2.10所示。图2-11 8155状态寄存器格式(3)8155的定时/计数器8155内部的定时/计数器实际上是一个14位的减法计数器,它对TIMER IN端输入脉冲进行减1计数,当计数结束(即减1计数“回0”)时,由TIMER OUT端输出方波或脉冲。当TIMER IN接外部脉冲时,为计数方式;接系统时钟时,可作为定时方式。定时/计数器由两个8位寄存器构成,其中的低14位组成计数器,剩下的两个高位(M2,M1)用于定义输出方式。2、利用8155的I/O口扩展的键盘利用8155的PA口和PB口的低四位,PA口作为输入口,PB口作为输出口,构成4X4行列式键盘。键盘的硬件
35、电路图如下所示:图2-12 行列式键盘具体键盘的原理和编程将在第三章的软件设计中做详细说明。7、液晶显示模块电路液晶显示模块主要是配合键盘来使用,用于显示当前的温度,设置单片机的相关参数,在线查询历史用电量,也可以在液晶显示器上显示历史某个阶段的用电量波形图。本次设计用的液晶显示器是日本东芝公司生产的集控制、驱动、显示为一体的薄板式点阵图形显示器,可用来显示各种字符和图形。也可以直接显示ASCII字符。图2-13 DMF5001原理框图DMF5001的内部电路如图2-13所示,它由一片160*128点的单屏结构液晶显示器NRD7353、两片行驱动器T6961B、两片列驱动器T7778A、一片控
36、制器T6963C及8K的RAM和相关配套电路组成。由图2-13可以看出,外部电路与DMF5001的接口实际上就是与控制器T6963C内部命令来控制8K RAM的读写和显示板的显示。DMF5001在显示屏上显示的内容,取决于8K RAM中预置的数据。8K RAM可以分为文本缓冲区和图形缓冲区。其中文本缓冲区的每一个存贮单元对应于显示屏上的一个字符,全屏可以显示16行20列,需要占用320个存贮单元;而图形缓冲区的每一个存贮电源对应显示屏上的一个81点阵,其全屏图象为160240点阵,需要用2560个存贮单元。当用户向缓冲区内输入显示数据时,控制器T6963C立即从缓冲区内读出这些数据,然后将其变
37、换为显示驱动码送到行、列显示驱动器,并在显示屏相应的位置显示字符和图形。8、看门狗电路在由于单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称“看门狗”工控系统在运行时,通常都会遇到各种各样的现场干扰,抗干扰能力是衡量工控系统性能的一个重要指标。看门狗(Watchdog)电路是自行监测系统运行的重要保证,几乎所有的工控系统都包含看门狗电路
38、。看门狗电路一般有软件看门狗和硬件看门狗两种。软件看门狗不需外接硬件电路,但系统需要出让一个定时器资源,这在许多系统中很难办到,而且若系统软件运行不正常,可能导致看门狗系统也瘫痪。硬件看门狗是真正意义上的“程序运行监视器”,如计数型的看门狗电路通常由555多谐振荡器、计数器以及一些电阻、电容等组成,分立元件组成的系统电路较为复杂,运行不够可靠。本次设计采用的X25045看门狗。X25045是美国Xicor公司的生产的标准化8脚集成电路,它将EEPROM、看门狗定时器、电压监控三种功能组合在单个芯片之内,大大的简化了硬件设计,提高了系统的可靠性,减少了对印制电路板的空间要求,降低了成本和系统功耗
39、,是一种理想的单片机外围芯片。X25045引脚如图2-14所示。 图2-14 X25045引脚图(三)本章小结本章主要介绍了脉冲式单片机数据采集系统的硬件设计部分。系统的硬件部分主要包括脉冲采集整形电路、日历时钟电路、数据保存电路、跳闸保护电路、断电保护电路、键盘输入电路、液晶显示电路、看门狗电路等几个部分。各个部分相互独立又互为联系。如键盘输入和液晶显示器部分,液晶显示部分要和键盘的输入相对应,在不同的液晶显示模式下,同一个键的输入可能有不同的功能。又如日历时钟电路和数据保存电路,数据的每一次保存都要从日历时钟电路里面输出若干个字节的数据,然后再用于保存到闪速存储器里面。硬件的连接部分,以及
40、单片机的P口资源的分配,各个芯片的片选端和控制端等问题,由于和软件编程部分联系较大,包括与上位机通讯部分,都将在第三章软件设计里面详加说明。中国地质大学(武汉)远程与继续教育学院毕业设计(论文)三、脉冲式电表数据采集系统的程序设计(一)主程序设计1、各子电路及芯片的片选、控制的口地址分配(1)扩展数据存储器6264由于6264只占用13根地址线,即A0A12,剩下A13、A14、A15三根地址线,也就是AT89C52单片机的P2.5、P2.6、P2.7三口。利用三八译码器74LS138,其功能表如下:表3-1 3-8译码器功能表6264的片选端接Y0。因此6264的地址范围为0000H-1FF
41、FH,寻址范围8K。(2)闪速存储器AT29LV040A闪速存储器AT29LV040A一共有四片,片选端分别有P1口的低四位控制,即分别由P1.0、P1.1、P1.2、P1.3口控制,地址线A0A15由P0口和P2口提供,A16A18由P1.4、P1.5、P1.6控制。这样,相当于把这四个512K的片子分成了32页,每一页的寻址范围为64K,每一页的选择由片选端和A16A18地址线决定。下面给出AT29LV040A地址分配表:其中包含:闪速存储器AT29LV040A端口连接表 AT29LV040A单片页码选择表 X25045与AT89C52管脚的对应连接表3-2 闪速存储器AT29LV040A
42、端口连接表AT29LV040A序 号片 选CE地址线A0A15高三位地址线A16 A17 A181234 P1.0 P1.1 P1.2 P1.3P0、P2口线P1.5 P1.6 P1.7 选择的页码P1.7 P1.6 P1.5地址范围123456780000010100111001011101110X0000-0XFFFF0X0000-0XFFFF0X0000-0XFFFF0X0000-0XFFFF0X0000-0XFFFF0X0000-0XFFFF0X0000-0XFFFF0X0000-0XFFFF表3-3 AT29LV040A单片页码选择表(3)可编程并行I/O扩展芯片8155 片选端CE
43、接Y1,接P2.4。由此可以看出,8155的控制端口地址为0X3F00;PA口地址为0X3F01;PB口地址为0X3F02;PC口地址为0X3F03。(4)液晶显示器DMF5001DMF5001的片选端CS接P2.3,接P2.2,液晶显示器DMF5001的命令端地址为0XFC00,数据端地址为0XF800。(5) 日历时钟DS1302芯片DS1302时钟芯片一共有三个管脚要与单片机连接。串行时钟口SCLK,复位脚RST,数据输入/输出引脚I/O。在设计电路时,把SCLK引脚接到PC.0上,RST引脚接到PC.1上,I/O引脚接到P1.7口。(6) 看门狗电路X25045看门狗电路X25045与单片机有四个连接接口。具体的端口连接关系如下表:表3-4 X25045与AT89C52管脚的对应连接X25045引脚单片机引脚SIPC.2S