毕业论文--基于单片机的多费率电表设计内容摘要:
断源,共 8 个中断源; 2 个读写中断口线, 3 级加密位; 低功耗空闲和掉电模式,设置睡眠和唤醒功能; 1有 PDIP、 PQFP、 TQFP 及 PLCC 等几种封装形式,以适应不同产品的需求。 显示采用 ]6x2 字符型液晶 HC1602,与单片机的接口电路如图 44 所示。 图中 c4, c5 为单片机和液晶模块 HCl602 的去耦电容。 DB0DB7 为 HCl602的数 据线,与单片机的 ~ 端子相接。 R15 为阻值可调的电位器,用来调整液晶显示的对比度;当 VO 端子对地电压为 OV 时藏晶显示最为清晰。 A、 K为 HCl602 背光灯的电源端子和接地端子,其中电源端子 K 通过跳缝 JP2 与主电源相接。 正常情况下 JP2 断开以减小电能表能耗;在电量查询时闭合 JP2,接通背光灯电源。 图 44 单片机与 HC1602 的接口电路设计 显示与按键相结合,用来实现电量参数的查询显示、异常事件记录查询显示以及时钟参数韧值输入调整结果显示。 当没有中断发生时,进行总的有功、无功电量显示;显示数据格式参考附录图 Dl 所示。 字符显示是通过 P0 口读入该字符的 ASCII 码实现,举例如下.字符‘ 1’的 ASCII 为 Ox31。 在完 成 LCD 初始化设置后,把该字荷对应的 ASCH 码“ Ox31”通过 P0 口写入 LCD 的内部寄存器 DDRAM中。 通过控制端子 Rs、 R/W 的状态组合实现指令的写入以及数据的读、写操作,操作说明参考表 32 所示。 表 41 HC1602 操作说明 RS R/W 操作说明 0 0 把指令写入寄存器初始化 LCD 0 1 读 LCD“忙”状态标志 1 0 把数据写入寄存器,显示 储AT24C02 存储芯片采用 AT24C02。 该芯片具有 1℃总线接口,具有掉电后数据不丢失特点。 AT24C02 结构图如图 45 所示 图 45AT24C02 结构图 存储主要包括电量参数的存储和异常事件的记录存储。 考虑到 AT24C02 芯片擦写次数的有限性.能量的累加在单片机的洲存储空间中完成。 采用定时方式进行电量参数的存储。 单片机不断检测时间参数,当存储时间到,则启动 12c 总线把电量参数存储到 AT24C02 中分配的地址单元。 异常事件采用中断方式进行存储。 当 ADE7758 检测到过流、过压、断相等事件时,向单片机发出中断申请。 单片机执行中断服务程序,把处理的结果,包括事件的代码、发生次数以及发生的时间,存储到 AT24C02 中分配的地址单元。 AT24C02 存 储单元配置参考表 42 所示。 表 42 AT24C02 存储器单元地址配置 变量名称 变量类型 存储单元地址分配 物理意义 E0 Long int 0x00x07 总的有功电量 R0 Long int 0x080x0f 总的无功电量 E1 Long int 0x100x17 00:0012:00 时段内有功电量 E2 Long int 0x180x1f 12:0000:00 时段内有功电量 E3 Long int 0x200x27 低负荷时的有功电量 E4 Long int 0x280x2f 正常负荷时的有功电量 H1 Char 0x300x36 电能表断相次数及时间记录 H2 Char 0x400x46 单相过流次数及时间记录 H3 Char 0x500x56 单相过压次数及时间记录 为了保证电量参数存储的可靠性.在软件设计上要有充分的冗余和纠错。 比如考虑到这种情况.在进行电量存储时突然发生掉电事故,新的数据存储尚未完成,而原有数据已经被覆盖,造成数据的丢失。 为了避免这种情况,对每一个电量参数分配两组存储单元;以朋为例, OxOOOx03 为一组存储单元。 Ox04Ox07 为另一组存储单元。 即使一组数据在存储时被损坏,另一组数据则不受影响。 口芯片 485 电能表配备通信 RS485 接口具有成熟性和性价比高的优势,硬件设计时预留出 RS485 通信接口,采用 485 接口芯片。 硬件电路设计参考图 46 所示。 圈中由 DE 端子控制 485 芯片的发送 /接收使能。 DE 端子与单片机的 口连接。 当 DE 为高电平时,单片机向 RS485 总线发送数据; DE 为低电平时单片机从 RS485 总线接收数据。 连接至 A 脚的下拉电阻 R3连接至 B 脚的上拉电阻 R30 用于提高该 RS485 网络节点的工作可靠性。 钳位于 的稳压管 DD D5 用来保护 RS485 总线,避免在受到外界雷击、浪涌等干扰时产生高压损坏 RS485 收发器。 C1 C14 用于提高电路的 EMI 性能。 图 46 RS485 通信接口电路设计 关 CD4053 采用 CD4053 芯片实现电流传感器高、低变比检测信号的选通。 CD4053 有三个控制端子 A、 B、 C。 当 ABC 000 时, ax、 bx、 cx 三个信道选通;当 ABC 111时, ay、 by、 cy 三个信道选通。 A、 B、 C 三个端子同时与单片机的 口连接。 单片机根据瞬时功率检测结果,通过对 端口状态设置,进行高低变比电流检测信号的选通控制。 二极管 LEDl 指示功率分段情况, C2 为 心的去耦电容, R2 为限流电阻。 当 为高电平时, CD4053 的 ay 端子与 a 选通, ADE7758 的电流通道小变比检测信号选通,对应小负荷计量模式,此时 LEDl 不导通; 为低电平时, ax端子与 a 选通,电流通道高变比检测信号选通,对应正常负荷计量模式, LEDl导通发光。 CONl 为 PCB 设计时对应的插接端子,作为 ADE7758 电流、电压信号的输入连接部分,其第一个引脚记为 CONl1。 CD4053 真值关系参考表 43 所示。 表 43 CD4053 真值表 控制端子 信道选择 INH C B A 0 0 0 0 cx,bx,ax 0 1 1 1 cy,by,ay 块控制 系统电源模块由主电源和后备电源两部分组成。 主电源模块由变压器、整流电路、滤波电路和稳压电路四部分组成硎,其中整流电路采用 DBl07 集成模块,稳压电路采用 780 LM7905 集成电路模块;后备电源采用可充电的 LIR2032 锂电池,电源模块设计如图 47 所示。 7805 的 +5V 输出通过 JP5 跳线与系统的 +5V 网络连接。 当 JP5 闭合时,系统处于上电工作状态,此时二极管 LED4 导通发光。 CON3 为两路 9V 正弦交流信号输入接口,中间为接地端子。 C3 C3 C3 C40 为有极性的旁路电容.作用是使 780 LM7905 的输入、输出电压保持基本稳定; C1 C1 C1 C18 为 的去耦电容,作用是滤除 780 LM7905 输入、输出信号中的尖峰脉冲成分。 图 47 主电源模块设计 5 系统硬件调试与功能函数定义 应用 ME300B 对模块电路进行在线仿真调试。 硬件调试基于 PCB 电路板进行,首先进行模块电路的分级调试,使组 成系统的各个模块电路正常工作;然后进行系统总体调试,使其达到预定的技术要求。 在调试过程中发现设计中存在的问题,判断问题的原因、位置并提出改进措施。 在对硬件电路调试的同时进行功能函数的设计与测试。 功能函数主要围绕长整型以及字符型数据的显示与存储展开,最后对功能函数仿真调试中遇到的问题进行分析说明。 电路板规格与焊接操作 电路板设计为普通双面板,尺寸大小。 在板的两面采用大面积覆铜接地,不区分数字地和模拟地。 在布线时,电源线、接地线等走线宽度设置为 40~ 60mil,推荐线宽 60mil;信号线设置为 10mil~ 20mil,推荐线宽 15mil,其中 40mil≈ lmm。 不同网络之间的安全间距设置为 12mil;采用自动布线方式,覆铜放在最后进行。 电路板设计规则一般包括电路板的布线规则、制作规则、有关高频的设计规则以及其他设计规则等几个方面。 可以按照文献 [26]的有关制版介绍,在电脑上运行 Protel 软件,从绘制简单的 PCB 电路开始,逐步熟悉设计过程。 在进行 PCB 电路设计时,在每一芯片的电源端子和地之间接入 p F的去耦电容;电源线、地线和芯片的接地线应尽可能加宽。 进行电路板设计时,在芯片的电源引脚和接地引脚之间接入一个 的去耦电容。 该电容去耦了来自电源的噪声,保证芯片有持续、稳定的电压源。 在对时钟芯片 DSl302 进行仿真调试时,并没有认识到去耦电容的重要性,芯片电源引脚没有外接 的去耦电容,没有达到预期的仿真结果,原因就出在去耦电容上。 在进行印制电路板设计时,为了利用 ME300B 的仿真头对 PCB 电路板进行在线仿真调试,单片机AT89S52 没有采用 PCB 库元件中的封装形式,而是自制一个 40 针的插接座 封装,单片机通过插接座接入 PCB 电路。 载入封装后的 PCB 电路板参考附录 B2 所示。 其他 DIP 封装的芯片也是通过插座接入电路板。 这样,当芯片损坏时,可以方便进行芯片的替换。 贴片式封装 ADE7758 焊接特点。 ADE7758 为贴片式封装,引脚排列较密。 焊接前应在电路板的焊接区域均匀涂上一层焊锡膏,然后用带有焊锡的烙铁头轻轻触及焊接区域上的金属焊接点,则焊接点上均匀的结晶一层焊锡。 然后把ADE7758 芯片引脚对准焊接位置,用烧热的烙铁头 不带焊锡 在 ADE7758 的引脚和焊接点连接处预热片刻,可以观察到一股细小的 锡流沿着焊接线展开。 结束后擦去多余的焊锡膏。 这种焊接方式不容易损坏芯片,焊接成功率高,且没有毛刺。 系统硬件电路测试 块测试 首先进行系统短路测试。 短路测试用来分析 PCB 电路各芯片电源端子与接地端子之间有无短路问题。 由于载入元器件封装时通过手工焊接,引线和元器件较多,会由于经验不足而可能导致电源端于和接地端子接成短路。 短路会造成芯片的烧坏,导致 PCB 系统不可用。 因此,应避免短路,在确保系统安全的前提下进行功能模块的仿真测试。 采用 ME300B 单片机开发系统进行功能模块的短路测试。 ME300B 是由深圳伟纳 公司推出的单片机学习开发系统,可以对片内资源和片外资源进行在线仿真调试。 当仿真对象有短路故障刊,开发板上红色的 LED 灯会不停的闪烁。 可以利用这特点判断仿真对象是否存在短路故障。 把 ME300B 的仿真头连接到 PCB 板对应的单片机插座上,打开 ME300B 主机电源,观察到开发板上的 LED 灯没有闪烁,表明系统没有短路故障。 同时用万用表测得 DSl30 48AT24C02 等芯片的电源端子对地电压。 电源模块电压输出测试。 参考图 39 主电源模块设计,闭合跳线 JP5;在两路 50Hz 正弦交流 9v 信号输入下,用万用 表测量 780 7905 输出电压分别为 +5V和 5V;在单路 50Hz 交流输入时,实际测得 7805 输出在 4v 左右,而 7905 输出保持为 5V。 这就表明, 7805 驱动负载过多会导致电源输出电压下降。 为使系统正常工作,电源模块需采用两路交流信号输入。 RS485 通信模块测试 R8485 通信。毕业论文--基于单片机的多费率电表设计
相关推荐
b/。 %JAVA_HOME%/lib/to , 确定后找到 PATH 的变量,双击或点击编辑,在变量值最前面加上 %JAVA_HOME%/bin。 注意里面的 是, 确定、确定、确定后即可。 具体如下图 22 所示: 图 22 环境变量的设置 11 然后开始 运行 cmd,输入 java 或者 javac 看看有没有效果,如果出来一大堆 其它的东西 ,那就好 了,如果出现类似 xxx不是内部
表 43 数 据 帧 各 字 段 说 明表 字段 长度 说明 补充 FrameLen 1 数 据 帧 的 长 度 , 包 含 它 自 己。 SEQ/ CmdType 1 Bit 74: 该 包 序 号 ,从 0 到 15 循 环。 可 以 用 来 作 为 通 信 间的 错 误 检查 , 从 机 接 收 到 主 机 发 来 的 信 息 , 在 应 答 信 息 中 发 出一 个同 样的 SEQ 信息
36 23 + j + j + j 37 25 + j + j + j 38 29 + j + j + j 20 19 + j + j + j 结果分析:此程序的运行结果和试验程序给出的结果是一致的。 说明程序无误,但在精确度上有微小差异,这主要是和导纳矩阵的精确度以及显示精度有关。 心得:本程序分模块进行,先是排序,再是求导纳阵,然后求雅阁比,再进行迭代运算,程序本身很简洁明了
,DATA 用于微处理器与 DHT11 之间的通讯和同步 ,一次通讯时间 4ms 左右 ,数据分小数部分和整数部分。 通讯过程如图 所示 图 通讯过程 总线空闲状态为高电平的时候主机把总线拉低等待 DHT11响应 , 7 DHT11能检测到起 始信号,主机必须把总线拉低,至少大于 18ms。 DHT11一旦接收到主机的开始信号,接着就等待开始信号的结束 ,然后发送 80us的低电平响应信号
为前面板图 图 420 历史数据显示 图 421 历史数据显示 由计算出的温度数值分为三个分支直接作为温度曲线显示显示为历史数据和通过报警模块作为温度曲线的不过多介绍由温度数值直接作温度的时间轴曲线另外数据先进行精度设置精度为 001
b1。 else r2 r1。 assign key_an1 r2 amp。 ~r1。 //有 key_r 低电平时,key_an1 产生一个时钟的高电平 always @ posedge clk or negedge rst_n if rst_n 139。 b0 t_2 2039。 b0。 else if key_an1 t_2 2039。 b0。 else t_2 t_2+2039。 b1。