模可变计数器设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
模可变计数器设计 实验目的 进一步熟悉实验装置和QuartusⅡ软件的使用; 进一步熟悉和掌握EDA设计流程; 学习简单组合、时序电路的EDA设计; 学习计数器中二进制码到BCD码的转换技巧; 学习实验装置上数码管的输出方法。 设计要求 完成设计、仿真、调试、下载、硬件测试等环节,在EDA实验装置上实现模可变计数器功能,具体要求如下: 设置一个按键控制改变模值,按键按下时模为10-99之间(具体数值自行确定)的数,没按下时模为100-199之间(具体数值自行确定)的数; 计数结果用三位数码管十进制显示。 主要仪器设备 微机1台 QuartusII集成开发软件1套 EDA实验装置1套 实验步骤 主要有三个模块 1:一个模20和模119的计数器 2:数码管的显示 3:BCD的调整 源程序: module count clk,m,en,rst,a,sel,SG,d;input clk,m,en,rst;output [7:0] SG;output [2:0] sel;output a; * synthesis, keep * reg clk1; * synthesis, keep * wire [3:0] gw,sw,bw;/** synthesis, keep * */reg [3:0]a;reg [11:0] q;reg [11:0] model;reg [7:0] cnt,SG;reg [2:0] sel; reg [0:0]d; output [0:0]d; always @posedge clkbegin cntcnt+1;if cnt200 begin clk11b1; cnt0; endelse clk11b0; //200分频,CLK为数码管扫描频率,CLK1为计数频率if sel2 selsel+1; else sel0; end //sel为数码管选择always @sel begincase sel0: abw; //0数码管为百位1: asw; //1数码管为十位2: agw; //2数码管为个位default: a0;endcasecase a0:SG8 1:SG82:SG8 3:SG84:SG8 5:SG86:SG8 7:SG88:SG8 9:SG8 //8段译码值default: SG8endcase end always @mif m model12b000000100000; //模值20else model12b000100011001;//模值119 assign gwq[3:0]; assign swq[7:4];assign bwq[11:8]; always @posedge clk1,negedge rstbeginif !rst q0;else if enbeginif qmodelbeginif gw9 begin qq+7; if sw9 qq+96; end //BCD调整else qq+1;endelse q0;endend always @q ifqmodel d0; else d1; endmodule 波形仿真: Clk1是计数频率,每来一个clk1信号q计数一次 如图所示:rst1有效时开始计数 clk为扫描频率 sel0时数码管显示百位a0 sel1时数码管显示十位a1 sel2时数码管显示个位a3 m1 模20计数器 m0 模119计数器 管脚分配: SG[0] PIN_F13 SG[1] PIN_F14 SG[2] PIN_F15 SG[3] PIN_E15 SG[4] PIN_F16 SG[5] PIN_F17 SG[6] PIN_E18 SG[7] PIN_F18 clk PIN_C13 en PIN_H8 m PIN_J9 rst PIN_C5 sel[0] PIN_G18 sel[1] PIN_G17 sel[2] PIN_G16 d[0] PIN_G13 实验心得 本实验主要是三大模块的编写,第一次的实验在老师给的参考代码下进行的,不过错误依然很多,主要有几个重点药掌握,一是首先要编写出能够计数的模块,用m来控制模值的变化m1时模值为20 m0时模值为119;二是计数模块都是二进制计数的,而要在数码管上显示计数的话就必须进行BCD调整,并且q是一个是十二位的寄存器,通过把

文档评论(0)

cc880559 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档