智能电度表控制系统的设计_第1页
智能电度表控制系统的设计_第2页
智能电度表控制系统的设计_第3页
智能电度表控制系统的设计_第4页
智能电度表控制系统的设计_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

题目:智能电度表控制系统的设计

一、大作业摘要

关于我设计的智能电度表控制系统,是我基于简化电费缴纳程序以及便利日常生活的理念,运用自动化、无线传输等技术所进行的一次革新设计。其自动化主要体现在两个方面。一即自动计费\报警功能,根据用户的用电情况自动计算本月费用,并对用电量及剩余费用进行显示,使用户随时清楚用电状况。并且,在此基础上增加报警功能,及时提醒用户剩余费用不足,避免突然停电带来的不便。二即自动断电功能,当用户用电额度超过设定额度一定数值后,系统将会自动停止供电。此功能能够减少人工使用,进而降低成本,达到利益的最大化。再者,为了开发出智能电度表控制系统更大的使用价值,当剩余费用低于某个预先设定值时,系统开起自动报警功能,同时,它会自动给用户预留手机号码发送缴费提醒短信。脱离了一般电度表需要人工主动查阅用电情况的局限,进入了高度自动化,彻底摆脱人工成分的革新领域。二、设计的背景、目的和意义1、不需要人工抄表,有利于现代化管理。IC卡电表的使用避免人工抄表上门收费给客户带来的诸多不便,且历史购电数据均可以保存,便于客户查询。2、充分体现了电力的商品属性。实行先买电后用电,客户可以根据自己的实际需要有计划地购电、用电,不会因欠费而发生滞纳金,增加不必要的开支。3、解决了收费难的问题。能很好地解决零散居民客户、临时用电客户、经常欠费客户的收费问题。4、预购电量;IC卡传递数据,实现数据回读,包括:回读总电量,剩余电量,表内累积购电量,总购电次数等信息。5、超负荷报警断电、剩余电量报警,提醒用户及时购电。四、确定输入和输出变量输入信号:clock时钟,reset复位,shuaka刷卡输出信号:baojing报警,smg_out数码管8位输出,smg_en数码管四位输出4位使能数码管控制选择四个数码管哪个输出,8位数码管控制输出数据,选通时,该位就显示出字形,没有选通的数码管就不会亮。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。三、设计任务及要求接受到输入信号后,能够自动开始计费。在余额不足10元时,能够报警通知用户。在已经欠费10元时,会自动切断电源停止供电。按下复位键时,自动回归初始状态。六、输入和输出变量对应部件说明inputclk;//时钟信号inputreset;//复位信号,接可以按下去的按键inputshuaka;//刷卡信号,接上下扳动的按键outputbaojing;//报警信号,0--报警,1--不报警output[7:0]smg_out;//数码管8位段选输出output[3:0]smg_en;//数码管4位片选输出数码管为共阳极动态数码管五、确定输入状态clock时钟接时钟振荡器shuaka高电平开始工作reset低电平需恢复时才接高电平七、整体设计框图state1:初始状态(断电)state2:工作状态,计费state3:余额不足10报警状态state4:余额为-10停止工作state5:刷卡重新进入工作,接上次度数记录八、状态机设计(状态转换图)input1:刷卡state1:断电状态input2:余额小于10state2:计费工作状态others:按下reset键state3:报警状态input1丨input2:余额小于-10元九、方案论证方案1:基于verilog原理实现方案2:基于单片机原理实现确定选择方案1,理由是verilog语言简便,使用Verilog描述硬件的基本设计单元是模块,将复杂的功能模块划分为低层次的模块,提高效率。十、状态机设计(状态编码)modulecontrol(clk,reset,shuaka,smg_out,smg_en,baojing);inputclk;//时钟信号inputreset;//复位信号,接特别高的按键inputshuaka;//刷卡信号,接扁一点的按键outputbaojing;//报警信号,0--报警,1--不报警output[7:0]smg_out;//数码管8位段选输出output[3:0]smg_en;//数码管4位片选输出regr_baojing;//报警寄存器regis_en;//内部使能信号parametert1ms=50000;//计时1ms,50Mhz时钟下,,,,(1/50M乘上t1ms=0.001)parametert1s=500;//计时500ms,50Mhz时钟下parametersmg_en1=4'b0111;//使能数码管1parametersmg_en2=4'b1011;//使能数码管2parametersmg_en3=4'b1101;//使能数码管3十、状态机设计(状态编码)reg[15:0]count_1ms;//1ms计时always@(posedgeclkornegedgeresetornegedgeshuaka)beginif(!reset||!shuaka)count_1ms<=0;elseif(count_1ms==t1ms)count_1ms<=0;elsecount_1ms<=count_1ms+1'b1;endreg[9:0]count_1s;regclk_ge;//500ms计时always@(posedgeclkornegedgeresetornegedgeshuaka)beginif(!reset||!shuaka)十、状态机设计(状态编码)parametersmg_en4=4'b1110;//使能数码管4parametersmg_xiaoying=4'b1111;//让数码管消影reg[7:0]smg_data[9:0];//将4位1转换成数码管的8位1.initialbeginsmg_data[0]=8'h03;//数码管的编码,对应数字0-9,和小数点(代表负号)smg_data[1]=8'h9f;smg_data[2]=8'h25;smg_data[3]=8'h0d;smg_data[4]=8'h99;smg_data[5]=8'h49;smg_data[6]=8'h41;smg_data[7]=8'h1f;smg_data[8]=8'h01;smg_data[9]=8'h09;smg_data[10]=8'h02;smg_data[11]=8'h9e;end十、状态机设计(状态编码)ge<=0;clk_shi<=1;endelseif(is_en)beginge<=ge+1'b1;clk_shi<=0;endcase(ge)4'b0000,4'b0010,4'b0100,4'b0110,4'b1000:clk_bai<=0;4'b0001,4'b0011,4'b0101,4'b0111,4'b1001:clk_bai<=1;endcaseendendreg[3:0]ge;//计时器的个位显示用电量显示十、状态机设计(状态编码)begincount_1s<=0;clk_ge<=0;endelseif(count_1s==t1s)begincount_1s<=0;clk_ge<=1;endelseif(count_1ms==t1ms)begincount_1s<=count_1s+1'b1;clk_ge<=0;end十、状态机设计(状态编码)regclk_bai;always@(posedgeclk_shiornegedgereset)beginif(!reset)shi<=0;elseif(shi==4'd9&&is_en)shi<=0;elseif(is_en)shi<=shi+1'b1;endreg[3:0]bai;//计时器的百位显示余额显示regclk_qian;always@(posedgeclk_baiornegedgeresetornegedgeshuaka)begin十、状态机设计(状态编码)endreg[3:0]ge;regclk_shi;//计时器的十位显示用电量显示always@(posedgeclk_geornegedgereset)beginif(!reset)beginge<=0;clk_shi<=0;clk_bai<=0;endelsebeginif(ge==4'd9&&is_en)begin十、状态机设计(状态编码)if(!reset||!shuaka)beginbai<=4'd0;clk_qian<=0;endelseif(bai==4'd0)beginif(qian==4'd0)bai<=4'd1;elsebai<=4'd9;clk_qian<=1;endelsebegin十、状态机设计(状态编码)clk_qian<=0;if(qian==4'd10)bai<=bai+1'b1;elsebai<=bai-1'b1;endendreg[3:0]qian;//计时器的千位显示余额显示always@(posedgeclk_qianornegedgeresetornegedgeshuaka)beginif(!reset||!shuaka)qian<=4'd6;elseif(qian==4'd0)qian<=4'd10;else十、状态机设计(状态编码)if(qian==4'd10)qian<=4'd11;elseif(qian==4'd11)qian<=4'd6;elsebeginqian<=qian-1'b1;endendreg[7:0]r_smg_out;//数码管显示程序reg[3:0]i;reg[3:0]rsmg_en;reg[9:0]count;regis_en2;always@(posedgeclkornegedgereset)十、状态机设计(状态编码)beginif(!reset)count<=0;elseif(is_en2)count<=count+1'b1;elsecount<=0;endalways@(posedgeclkornegedgereset)beginif(!reset)beginrsmg_en<=4'hf;r_smg_out<=8'hff;i<=0;十、状态机设计(状态编码)is_en2<=0;endelsecase(i)//每一个数码管的扫描都分为4步,1.消影,2.输出数据位,3.使能对应的数码管,4.延迟,消影4'd0:beginrsmg_en<=smg_xiaoying;i<=i+1'b1;end4'd1:if(count==10'd50)beginr_smg_out<=smg_data[ge];i<=i+1'b1;is_en2<=0;endelseis_en2<=1;4'd2:beginrsmg_en<=smg_en1;i<=i+1'b1;end4'd3:if(count==10'd1023)beginr_smg_out<=8'hff;i<=i+1'b1;is_en2<=0;endelseis_en2<=1;4'd4:beginrsmg_en<=smg_xiaoying;i<=i+1'b1;end十、状态机设计(状态编码)4'd5:if(count==10'd50)beginr_smg_out<=smg_data[shi];i<=i+1'b1;is_en2<=0;endelseis_en2<=1;4'd6:beginrsmg_en<=smg_en2;i<=i+1'b1;end4'd7:if(count==10'd1023)beginr_smg_out<=8'hff;i<=i+1'b1;is_en2<=0;endelseis_en2<=1;4'd8:beginrsmg_en<=smg_xiaoying;i<=i+1'b1;end4'd9:if(count==10'd50)beginr_smg_out<=smg_data[bai]-1'b1;i<=i+1'b1;is_en2<=0;endelseis_en2<=1;4'd10:beginrsmg_en<=smg_en3;i<=i+1'b1;end4'd11:if(count==10'd1023)begin十、状态机设计(状态编码)elseis_en2<=1;4'd12:beginrsmg_en<=smg_xiaoying;i<=i+1'b1;end4'd13:if(count==10'd50)beginr_smg_out<=smg_data[qian];i<=i+1'b1;is_en2<=0;endelseis_en2<=1;4'd14:beginrsmg_en<=smg_en4;i<=i+1'b1;end4'd15:if(count==10'd1023)beginr_smg_out<=8'hff;i<=i+1'b1;is_en2<=0;endelseis_en2<=1;endcaseend十、状态机设计(状态编码)regis_en3;

温馨提示

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

评论

0/150

提交评论