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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

嵌入式秒表的设计Word下载.docx

1、数字钟计数电路的设计可用反馈归零法。当计数器正常读数时,反馈门不 起作用,只有当进位脉冲到来时, 反馈信号随即将计数电路清零, 实现相应模的 循环计数。以六十进制为例,当计数器从 00,01,02 ,,59 计数时,反馈门不起 作用,只有当第 60 个脉冲到来时,反馈信号随即将计数电路清零,实现模为 60 的循环计数。通过对设计题目的分析,我将整体电路划分为 5 个子电路来设计,及分频、 按键处理、时间计数、数据选择和显示模块,而且还设置了复位信号,随时可以 对电路进行复位。1)分频模块通过对主频信号 50MHZ的分频来得到所需的 1000HZ的时钟信 号,并将此作为之后子电路的标准时钟, 实

2、现同步电路的要求, 主要采用的是计 数的方法,当寄存器记满 50000 时产生输出脉冲;2)按键处理模块通过对 SW1按键的判别,并采用双 D 寄存器的应用,在标 准时钟的触发下产生 starop 脉冲,通过判别 starop 脉冲是否有高电平使 mode 信号发生高低电平的翻转, mode为高电平时允许计数,为低电平时停止计数;3)时间计数模块以 10 进制计数器为基础, 10 计数器设置了 en_in 的接收 进位和 en_out 产生进位,实现了全加器的功能; 然后用 10 进制的计数器产生了 100 进制的,再而产生 8 位 10 进制的计数器子电路,取其中的低 7 位完成计数 模块子

3、电路的设计;4)数据选择模块式通过安检处理模块中产生的 mode信号和 SW2按键对计 数器产生的数据进行处理,当 mode为高电平的时候将计数器的产生的结果存入 lcd_data_in 寄存器中;为低电平时, lcd_data_in 内容保持不变; SW2为高电 平时进行清零操作,使得 lcd_data_in 寄存器中的内容全部清零。5)显示模块是运用 LCD显示器的显示原理,将 lcd_data_in 寄存器中的数 据按 4 位一组的模式赋值给 lcd_data_out 8 位寄存器的低 4 位,高四位为 4b0011,选择的是数字字库,实现 LCD的数据输入,并且产生 RS,RW,en,

4、cont 这 4 位控制信号,控制 LCD的显示。三、实验程序1)顶层文件module ms_clock(clk_50M,SW1,SW2,SW3, /SW1 暂停 / 继续 SW2清零 SW3复位 lcd_data_out,RS,RW,en,cont);input clk_50M; / 系统时钟input SW1,SW2,SW3; / 按键output7:0 lcd_data_out;output RS,RW;output en,cont;wire clk_50M;wire SW1,SW2,SW3;wire clk_1000;wire 3:0 ms_1,ms_2,ms_3,s_1,s_2,s_

5、3,s_4;wire 27:0 lcd_data_in;wire 7:wire mode;wire starop;/ 分频模块 , 把 50MHZ的时钟分频为 1000HZ用于计数器计数f_div m1(clk_50M,SW3,clk_1000);/ 按键处理模块anjian m2(clk_1000,SW3,SW1,mode,starop);/ 时间计数主模块time_counter m3(mode,clk_1000,SW3, ms_1,ms_2,ms_3,s_1,s_2,s_3,s_4);/ 数据选择模块kongzhim4(clk_1000,SW3,SW2,mode,ms_1,ms_2,ms

6、_3,s_1,s_2,s_3,s_4,lcd_data_in);/ 显示模块display m5(clk_1000,SW3,lcd_data_in,lcd_data_out,RS,RW,en,cont);endmodule2)按键处理模块module anjian(clk,rst,SW1,mode,starop);input clk,rst,SW1;output mode,starop;reg 1:0 DQ1;reg mode;always (posedge clk or negedge rst) if (rst)DQ1=2b00;elseDQ1=DQ10,SW1;assign starop=

7、DQ10&DQ11; always (posedge clk or negedge rst) if (rst)mode = 1b0;else if(starop) mode = mode; endmodule 编译结果:仿真:3)分频模块module f_div(clk_50M,clr,clk_1000);input clr;output clk_1000;reg clk_1000;reg 15:0 cnt_div;always (posedge clk_50M or negedge clr)beginif(clr)begin / 复位信号 cnt_div = 16endelse if(cnt

8、_div = 49999) begin clk_1000 = clk_1000; cnt_div else begin cnt_div = cnt_div+1b1;endmodule 编译结果:4)数据选择模块module kongzhi(clk,rst,clear,mode,ms_1,ms_2,ms_3,s_1,s_2,s_3,s_4, lcd_data_in);input 3: input clear,mode,clk,rst;output 27:reg 27:always (posedge clk or negedge rst)if(rst)lcd_data_in 27:0 =28els

9、e if (clear) /clearbegin lcd_data_in 27: endelse /no actioncase(mode)1b1: /start begin lcd_data_in3:0= ms_1; lcd_data_in7:4= ms_2; lcd_data_in11:8= ms_3; lcd_data_in15:12= s_1; lcd_data_in19:16= s_2; lcd_data_in23:20= s_3; lcd_data_in27:24= s_4;b0: /stop begin lcd_data_in27:=lcd_data_in27:0;endcase5

10、)时间计数模块module time_counter(EN,clk,clr,ms_1,ms_2,ms_3,s_1,s_2,s_3,s_4);input EN,clk,clr;output 3:0ms_1,ms_2,ms_3;0s_1,s_2,s_3,s_4;wire en1,en2,en3,en4;0s_5;counter_1 U0(EN,clk,clr,ms_1,ms_2,en1); counter_1 U1(en1,clk,clr,ms_3,s_1,en2);counter_1 U2(en2,clk,clr,s_2,s_3,en3);counter_1 U3(en3,clk,clr,s_4

11、,s_5,en4); endmodulea. counter_1 子电路module counter_1(EN,clk,clr,ms_1,ms_2,EO);input clk,clr,EN;0 ms_2;0 ms_1;output EO;wire ld,en1,en2;assign ld=1assign EO=en2;cont_10 u0(clk,clr,ld,EN,ms_1,en1);cont_10 u1(clk,clr,ld,en1,ms_2,en2);b. cont_10 子电路module cont_10(clk,rst,ld,en_in,data_out,en_out);input

12、clk,rst,ld,en_in;0data_out;output en_out;reg 3:assign en_out=en_in & data_out3 & data_out0; always(posedge clk or negedge rst) if(rst)data_out=4b0000;else if(ld)else if(en_in)if(data_out3 & data_out0) data_out=data_out+1编译结果:6)显示模块module display(clk,rst,lcd_data_in,lcd_data_out,RS,RW,en,cont); input clk,rst;input 27:wire en_out;reg RS,RW;reg3:0 count;reg7:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1