ImageVerifierCode 换一换
格式:DOCX , 页数:59 ,大小:381.74KB ,
资源ID:15961259      下载积分:5 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-15961259.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(多功能电子钟设计报告.docx)为本站会员(b****6)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

多功能电子钟设计报告.docx

1、多功能电子钟设计报告电子技术综合训练设计报告 题目: 多功能电子钟设计 毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设

2、计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解

3、学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名: 日期: 年 月 日导师签名: 日期: 年 月 日注 意 事 项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词 5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时

4、)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。4.文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画3)毕业论文须用A4单面打印,论文50页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5.装订顺序1)设计(论

5、文)2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订摘要通过CPLD/FPGA可编程逻辑器件实现多功能电子钟。电子钟的主要功能有计时功能、校正功能、整点报时功能及定时闹叫功能。针对功能要求利用硬件描述语言设计程序,通过Quartus软件进行仿真分析,将程序下载到电路中,观察数码管可知实现其逻辑功能。利用可编程逻辑器件可简化电路,实现功能的多样性。 关键字:多功能电子钟 硬件描述语言 可编程逻辑器件 1 设计任务和要求4 1.1设计任务4 1.2设计要求42 系统设计5 2.1系统要求5 2.2方案设计6 2.3系统工作原理63 电子钟功能模块及仿真.73.1分频模块及其仿真

6、73.2计时模块及其仿真93.3定时模块及其仿真11 3.4按键消抖模块及其仿真14 3.5译码显示模块及其仿真15 3.6例化模块184 元件的选择445 电路安装、调试与测试.45 5.1电路安装.45 5.2电路调试.46 5.3系统功能及性能测试.465.3.1测试方法设计.465.3.2测试结果及分析.476 结论.487 参考文献.488 总结、体会和建议.49 附录:电路原理图.50 元器件清单.53 1设计任务及要求1.1设计任务 设计任务是进行设计的基础,根据对设计任务的分析和理解进行设计电路及相应元器件的选择,从而进行电路仿真和调试。所以对设计任务的理解和分析是进行设计的关

7、键。本设计的设计任务为:利用CPLD/FPGA设计一个多功能电子钟。数字电子钟是一种用数字显示秒、分、时的计时装置,由于十足集成电路技术的发展,使数字钟走时准确、多功能化且性能稳定等优点。利用CPLD/FPGA设计一个可实现计时、校时、整点报时、定时闹叫多功能的电子钟,需要分两步走。首先,通过Verilog HDL 硬件描述语言进行代码的编写,利用Quartus进行编译和仿真。其次,根据设计任务和要求选择器件进行电路的焊接。1.2设计要求 设计要求是完成设计指标的导航,只有很好的分析和了解设计的要求,才可以完成相应的设计。设计要求: 利用实验室EDA实验箱上的CPLD/FPGA、LED显示器、

8、扬声器、拨码开关等资源,设计一个多功能电子钟,要求具有以下功能:1、 数字形式显示月、日、时、分、秒,在分和秒之间显示“:”,并按1次/秒的速度闪烁;2、 日以24小时为一个记时周期;3、 有校正功能,能够在任何时刻对电子钟进行方便的校正;4、 有定时闹叫功能,能够按照任意预先设置的时间闹叫,驱动小型扬声器工作,并要求在闹叫状态能够手动消除闹叫;5、 整点时刻通过扬声器给出提示;6、 采用CPLD/FPGA可编程逻辑器件实现;针对设计要求可做简单分析:所设计的多功能电子钟需要实现计时、整点报时、定时闹叫和校正功能。计时需要有相应的计时器实现,整点报时需要相应的报时电路和小功率扬声器,定时闹叫需

9、要通过编写的Verilog HDL 程序实现定时和在时间到时驱动小功率扬声器报时,校正电路需要有拨码开关和其他电路实现。对设计要求的理解:2 系统设计 2.1系统要求通过FPGA/CPLD实现多功能电子钟的设计。电子钟要实现计时、校时、定时闹叫等功能。通过对设计要求的每条的详细分析可得出如下结果:1、 要实现显示月、日、时、分、秒,需要十个LED数码管;要在分和秒之间显示“:”,可以利用两个发光二极管,也可以选择含有“:”的LED数码管;要按1次/秒的速度闪烁,则需要1Hz的输入脉冲控制,所以需要通过晶振产生方波,经过分频产生1Hz的方波。2、 要实现24小时为一个计时周期,则需要一个24进制

10、计时器控制其计数。3、 要实现校正功能,则需要一个校正电路(含校正开关)和相应的校正程序。4、 要实现定时闹叫功能,则需要一个时钟脉冲来控制,使其在设定的时刻报时。外接一个小型扬声器,在设定时刻闹叫,并通过开关消除闹叫,同时也需要相应的程序控制。5、 通过分频电路实现整点报时所需时钟信号,需设计相应的程序段使其在59分,59秒时报时。6、 根性要求设计Verilog HDL程序,并在Quartus 软件上进行编译和仿真,从而根据资源的需求选择CPLD/FPGA可编程逻辑器件。 要实现系统要求,需要Verilog HDL程序和Quartus 软件的支持。下面对其进行简单介绍:(1)利用Veril

11、og HDL硬件描述语言实现功能程序。Verilog HDL是广泛应用的硬件描述语言,可以用在硬件设计流程的建模、综合和模拟等多个阶段。通过应用Verilog HDL对多功能电子钟的设计,可实现系统的设计要求。Verilog HDL硬件描述语是一种实用性很强的编程语言,可以实现软件程序和硬件程序的结合,即将所编写的程序在仿真通过后利用下载器下载到电路板上,通过程序控制器件的工作。模块是Verilog 的基本描述单位,用于描述某个设计的功能或结构及其与其他模块通信的外部端口。一个设计的结构可使用开关级原语、门级原语和用户定义的原语方式描述; 设计的数据流行为使用连续赋值语句进行描述; 时序行为使

12、用过程结构描述。一个模块可以在另一个模块中使用。(2)Quartus是Alterat提供的FPGA/CPLD开发集成环境,支持Verilog HDL 的设计流程。其包括模块化的编辑器,也可以利用第三方的综合工具,具有仿真功能。Quartus的设计流程为:设计输入,综合或编译,适配器件,仿真,下载。通过Quartus可实现对程序的仿真和下载,从而实现系统的要求。2.2方案设计 根据系统要求,将设计程序分为计时模块、整点报时模块、定时闹叫模块、校正模块四大模块,通过模块的例化实现所有功能。所对应的硬件连接可分为集成芯片、复位电路、校正电路、晶振电路、响铃电路、译码显示电路几个模块。 对可编程逻辑器

13、件的选择是实现硬件电路的基础。根据要求本设计可选择芯片EPM7023或者芯片EP2C5T144 C8。但通过查阅资料可知EPM7023只有44个引脚,可能会导致资源不足,即引脚不够用,驱动能力不足,所以选择altera公司的cyclone 系列的EP2C5T144 C8芯片。下面对芯片做简要介绍: 拥有丰富的User IO(用户IO引脚),即144个IO接口可供使用。开发板通过2.54mm标准排针,引出了所有的用户IO引脚。芯片引脚分为四组(Bank),每组(每个Bank)的IO引脚供电是独立的,因此可以采用不同的电平标准。 内部需要三个电压:5V、3.3V、1.2V,其中3.3V给IO接口供

14、电,1.2V给内核供电。含有2个PLL。PLL的作用是产生各种频率的时钟,在FPGA中拥有重要的地位。2.3系统工作原理通过晶振产生一个时钟脉冲,成为主时钟。在通过分频电路输出所需要的时钟脉冲,即1Hz的计时脉冲。计时时,当秒计数器计到59时,向分计时器进1;当分钟计数器计到59,秒计数器计到59时,向小时计时器进1;当小时计时器计到23,分钟计数器计到59,秒计数器计到59时,向日期计时器进1;当日期计时器计到29,小时计时器计到23,分钟计数器计到59,秒计数器计到59时,向月份计数器进1。将所计时间通过LED数码管显示出来。定时闹叫时,设置闹铃的分钟和小时,设置的时候由转换按键控制调整分

15、钟及调整小时之间的切换,每按一次调整键,所调整的计数器加1,分钟计数器计满60就清0,小时计时器计满24就清0。当到所定时间时,驱动小功率扬声器工作,发出响铃声。整点报时的工作原理为当秒计数器为0,分计时器为0时,驱动小功率扬声器发出报时声。校时为修正日期、月份、小时和分钟的时间以及秒钟的精确调整清零。由转换按键控制调整分钟和调整小时之间的切换,每按一下调整键所调整的计数器加1,分钟计数器满60清零,小时计数器满24清零;秒种的精确调整清零具体为在正常计时的情况下,长时间按住转换按键,即可使秒钟清零,进行精确调时。秒表工作原理为进行手动计时,按一下计数按键为计时,再按一次计数按键为停止计时,保

16、存计数数值,依此类推;按一次清零键为计数清零,停止计数。3电子钟功能模块及仿真3.1分频模块分频模块的程序: timescale 1ns/100ps module count32 ( asyn_clr_n , /input, 异步清零信号 syn_clr , /input, 同步清零信号 clk , /input, 全局时钟信号 en , /input, 计数使能信号, 计数器的门控开关,计数器关闭后,保持数值不变。 counter /output,计数器计数值 );/* 参数声明 */parameter U_DLY = 1 ; / Unit delay input asyn_clr_n ;

17、/0-clear counter;input syn_clr ; /1-clear counter;input clk ; input en ; /1-enable; 0-disable.output 31:0 counter ;reg 15:0 cnt_high ; /计数器高16位reg 15:0 cnt_low ; /计数器低16位reg cnt_low_max ; /cnt_low达到最大值的标志assign counter = cnt_high, cnt_low;/32位计数器由2个16位计数器拼接而成。/分段计数:低16位计数器always ( posedge clk or neg

18、edge asyn_clr_n ) if (asyn_clr_n = 1b0) /异步清零 cnt_low = 16h0000; /删除时序逻辑中异步复位的单位延时 else if (syn_clr = 1b1) /同步清零 cnt_low = #U_DLY 16h0000; else if (en = 1b1) /计数器使能 cnt_low = #U_DLY cnt_low + 16h0001; else; /保持/低16位计数器的进位标志always ( posedge clk or negedge asyn_clr_n ) if (asyn_clr_n = 1b0) /异步清零,清除进位

19、 cnt_low_max = 1b0; /删除时序逻辑中异步复位的单位延时。 else if (syn_clr = 1b1) /同步清零,清除进位 cnt_low_max = #U_DLY 1b0; else if (en = 1b1 & cnt_low = 16hfffe) /计数器使能,且低16位计满则产生进位。 /因为从进位产生到cnt_high进程读到此进位需要一个时钟周期,所以计数器只计到16hfffe cnt_low_max = #U_DLY 1b1; else /否则无进位产生 cnt_low_max = #U_DLY 1b0; /分段计数:高16位计数器always ( pos

20、edge clk or negedge asyn_clr_n ) if (asyn_clr_n = 1b0) /异步清零 cnt_high = 16h0000; /删除时序逻辑中异步复位的单位延时 else if (syn_clr = 1b1) /同步清零 cnt_high = #U_DLY 16h0000; else if (en = 1b1 & cnt_low_max = 1b1) /计数器使能,且低16位计数器已计满 cnt_high = #U_DLY cnt_high + 16h0001; else; /保持endmodule仿真波形图:3.2 计时模块计数模块仿真程序:timesca

21、le 1ns/100psmodule counter(/*/输入PORT 说明 /*/ input wire clk , /输入时钟 input wire rst_n , /输入复位 input wire counter_clk_pul,/计数时钟脉冲 input wire set_add , /设定进位 input wire cin , /设定进位 /*/输出PORT 说明 /*/ output wire cout , /满进位 output wire 3:0 gewei , /输出个位 output wire 3:0 shiwei /输出十位 );parameter 6:0 MAX_NUM

22、 = 6d59; reg 6:0 current_num ;always ( posedge clk or negedge rst_n) begin if ( rst_n = 1b0) begin current_num6:0 = 7h00 ; end else if (set_add = 1b1 & cin = 1b1 & counter_clk_pul = 1b1)begin current_num6:0 = current_num6:0 + 7h03 ; end else if (set_add = 1b1 & cin = 1b1 )begin current_num6:0 = curr

23、ent_num6:0 + 7h02 ; end else if( (set_add = 1b1 | cin = 1b1 ) & counter_clk_pul = 1b1)begin current_num6:0 = current_num6:0 + 7h02 ; end else if( (set_add = 1b1 | cin = 1b1 ) )begin current_num6:0 = current_num6:0 + 7h01 ; end else if (counter_clk_pul = 1b1)begin current_num6:0 MAX_NUM ) begin curre

24、nt_num6:0 MAX_NUM) ;/只取一个时钟脉冲长度assign gewei3:0 = current_num6:0%10 ;assign shiwei3:0 = (current_num6:0/10)%10 ; endmodule仿真波形图:3.3 按键消抖模块按键消抖模块程序:timescale 1ns/100ps /表示时延单位为1ns, 时延精度为100ps module delay_filter_glitch_high ( input wire rst_n , /input, 异步清零信号 input wire clk , /input, 全局时钟信号 input wire

25、 en_cnt , /input, 计数使能信号, 可决定计数频率 input wire signal_in_n , /input, 输入信号 output reg signal_out_n /output, 处理后的信号 ); /*/ /参数声明 /*/ parameter U_DLY = 1 ; /Unit delay parameter CNT_WIDTH = 5b11111 ; /计数位宽 parameter CNT_TH = 5b11111 ; /计数门限, 可决定延时时长 /* / / 内部信号申明 /*/ reg CNT_WIDTH-1:0 cnt ; /计数器 reg sign

26、al_in_n_1dly; reg signal_in_n_2dly; reg signal_in_n_3dly; wire signal_in_edge ; /指示输入信号的上升/下降沿 /* 行为描述 */ /异步信号的同步处理 always ( posedge clk or negedge rst_n ) begin if ( rst_n = 1b0 ) begin signal_in_n_1dly = #U_DLY 1b1; signal_in_n_2dly = #U_DLY 1b1; signal_in_n_3dly = #U_DLY 1b1; end else begin signal_in_n_1dly = #U_DLY signal_in_n; signal_in_n_2dly = #U_DLY signal_in_n_1dly; si

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2