模可变计数器设计_第1页
模可变计数器设计_第2页
模可变计数器设计_第3页
模可变计数器设计_第4页
模可变计数器设计_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、模可变计数器设计 (一) 实验目的1、 进一步熟悉实验装置和Quartus软件的使用;2、 进一步熟悉和掌握EDA设计流程;3、 学习简单组合、时序电路的EDA设计;4、 学习计数器中二进制码到BCD码的转换技巧;5、 学习实验装置上数码管的输出方法。(二) 设计要求完成设计、仿真、调试、下载、硬件测试等环节,在EDA实验装置上实现模可变计数器功能,具体要求如下:1、 设置一个按键控制改变模值,按键按下时模为10-99之间(具体数值自行确定)的数,没按下时模为100-199之间(具体数值自行确定)的数;2、 计数结果用三位数码管十进制显示。(三) 主要仪器设备3、 微机1台4、 Quartus

2、II集成开发软件1套5、 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:0a; reg 11:0 q; reg

3、11:0 model; reg 7:0 cnt,SG; reg 2:0 sel;reg 0:0d;output 0:0d; always (posedge clk) begin cnt=cnt+1; if (cnt=200) begin clk1=1'b1; cnt=0; end else clk1=1'b0; /200分频,CLK为数码管扫描频率,CLK1为计数频率 if (sel<2) sel=sel+1; else sel=0; end /sel为数码管选择 always (sel) begin case (sel) 0: a=bw; /0数码管为百位 1: a=s

4、w; /1数码管为十位 2: a=gw; /2数码管为个位 default: a=0; endcase case (a) 0:SG<=8'b00111111; 1:SG<=8'b00000110; 2:SG<=8'b01011011; 3:SG<=8'b01001111; 4:SG<=8'b01100110; 5:SG<=8'b01101101; 6:SG<=8'b01111101; 7:SG<=8'b00000111; 8:SG<=8'b01111111; 9:SG&

5、lt;=8'b01101111; /8段译码值 default: SG=8'b11111111; endcase end always (m) if (m) model=12'b000000100000; /模值20 else model=12'b000100011001; /模值119 assign gw=q3:0; assign sw=q7:4; assign bw=q11:8; always (posedge clk1,negedge rst) begin if (!rst) q=0; else if (en) begin if (q<model)

6、begin if (gw=9) begin q=q+7; if (sw=9) q=q+96; end /BCD调整 else q=q+1; end else q=0; end endalways (q) if(q<model) d<=0; else d<=1; endmodule波形仿真:Clk1是计数频率,每来一个clk1信号q计数一次如图所示:rst=1有效时开始计数 clk为扫描频率sel=0时数码管显示百位a=0sel=1时数码管显示十位a=1sel=2时数码管显示个位a=3m=1 模20计数器m=0 模119计数器管脚分配:SG0PIN_F13SG1PIN_F14S

7、G2PIN_F15SG3PIN_E15SG4PIN_F16SG5PIN_F17SG6PIN_E18SG7PIN_F18clkPIN_C13enPIN_H8mPIN_J9rstPIN_C5sel0PIN_G18sel1PIN_G17sel2PIN_G16d0PIN_G13(五) 实验心得本实验主要是三大模块的编写,第一次的实验在老师给的参考代码下进行的,不过错误依然很多,主要有几个重点药掌握,一是首先要编写出能够计数的模块,用m来控制模值的变化m=1时模值为20 m=0时模值为119;二是计数模块都是二进制计数的,而要在数码管上显示计数的话就必须进行BCD调整,并且q是一个是十二位的寄存器,通过

8、把gw=q3:0; sw=q7:4; bw=q11:8赋值的方法;一个个的显示在数码管上,由于clk的频率比较快,所以可以看到三位数码管显示的值,我觉得管脚分配也是比较关键的!一开始我就把个位和百位显示的值搞反了序列信号发生和检测器设计(一) 实验目的1、 进一步熟悉EDA实验装置和Quartus软件的使用方法;2、 学习有限状态机法进行数字系统设计;3、 学习使用原理图输入法进行设计。(二) 设计要求完成设计、仿真、调试、下载、硬件测试等环节,在EDA实验装置上实现一个串行序列信号发生器和一个序列信号检测器的功能,具体要求如下:1、 先用设计0111010011011010序列信号发生器,其

9、最后6BIT数据用LED显示出来;2、 再设计一个序列信号检测器,检测上述序列信号,若检测到串行序列“11101”则输出为“1”,否则输出为“0”;(三) 主要仪器设备1、 微机1台2、 QuartusII集成开发软件1套3、 EDA实验装置 1套(四) 实验步骤主要两部分 1:序列信号发生器 设置q<=16'b0111010011011010; q0<=q15; Q<=q15; q15:1<=q14:0 ;通过循环移位串行输出2:序列信号检测器状转移态图 一共有六个状态分别为S = 5'd00000, A = 5'd00001, B = 5&#

10、39;d00011, C = 5'd00110, D = 5'd01101, E = 5'd11010;源程序:module xulie(clk,rst,z,Q,led);input clk,rst;output Q,z;output 4:0 led;reg 4:0 led;reg 4:0 state;reg Q,z;reg 4:0 a;reg 15:0 q;parameter S = 5'd00000, A = 5'd00001, B = 5'd00011, C = 5'd00110, D = 5'd01101, E = 5&#

11、39;d11010;always (posedge clk) begin if(rst=0) begin q<=16'b0111010011011010; end else begin q0<=q15; Q<=q15; q15:1<=q14:0 ; end endalways (posedge clk)begin if(state=D && Q=1) begin z<=1; led<=5'b11101;endelse begin z<=0;led<=5'b00000;endendalways (posedg

12、e clk or negedge rst) if(!rst) begin state<=S;end else casex(state) S: if(Q=1) state<=A; else state<=S; A: if (Q=1) state<=B; else state<= S; B: if (Q=1) state<=C; else state<=S; C: if(Q=0) state<=D; else state<=C; D: if(Q=1) state<=E; else state<=S; E: if(Q=0) state<=S; else state<=A; default: state<=S; endcaseendmodule波形仿真当rst=1是序列信号发生器循环发出0111010011011010 当检测到11101是z=1输出高电平,并且同时使11101序列显示在五个led灯上(五) 实验心得做实验之前准备了很多

温馨提示

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

评论

0/150

提交评论