下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/模可变计数器设计实验目的进一步熟悉实验装置和QuartusⅡ软件的使用;进一步熟悉和掌握EDA设计流程;学习简单组合、时序电路的EDA设计;学习计数器中二进制码到BCD码的转换技巧;学习实验装置上数码管的输出方法。设计要求完成设计、仿真、调试、下载、硬件测试等环节.在EDA实验装置上实现模可变计数器功能.具体要求如下:设置一个按键控制改变模值.按键按下时模为10-99之间〔具体数值自行确定的数.没按下时模为100-199之间〔具体数值自行确定的数;计数结果用三位数码管十进制显示。主要仪器设备微机 1台QuartusII集成开发软件 1套EDA实验装置 1套实验步骤主要有三个模块1:一个模20和模119的计数器2:数码管的显示3:BCD的调整源程序:modulecount<clk,m,en,rst,a,sel,SG,d>;inputclk,m,en,rst;output[7:0]SG;output[2:0]sel;outputa;<*synthesis,keep*>regclk1;<*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@<posedgeclk>begincnt=cnt+1;if<cnt==200>beginclk1=1'b1;cnt=0;endelseclk1=1'b0;//200分频.CLK为数码管扫描频率.CLK1为计数频率if<sel<2>sel=sel+1;elsesel=0;end//sel为数码管选择always@<sel>begincase<sel>0:a=bw;//0数码管为百位1:a=sw;//1数码管为十位2:a=gw;//2数码管为个位default:a=0;endcasecase<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<=8'b01101111;//8段译码值default:SG=8'b11111111;endcaseendalways@<m>if<m>model=12'b000000100000;//模值20elsemodel=12'b000100011001;//模值119assigngw=q[3:0];assignsw=q[7:4];assignbw=q[11:8];always@<posedgeclk1,negedgerst>beginif<!rst>q=0;elseif<en>beginif<q<model>beginif<gw==9>beginq=q+7;if<sw==9>q=q+96;end//BCD调整elseq=q+1;endelseq=0;endendalways@<q>if<q<model>d<=0;elsed<=1;endmodule波形仿真:Clk1是计数频率.每来一个clk1信号q计数一次如图所示:rst=1有效时开始计数clk为扫描频率sel=0时数码管显示百位a=0sel=1时数码管显示十位a=1sel=2时数码管显示个位a=3m=1模20计数器m=0模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来控制模值的变化m=1时模值为20m=0时模值为119;二是计数模块都是二进制计数的.而要在数码管上显示计数的话就必须进行BCD调整.并且q是一个是十二位的寄存器.通过把gw=q[3:0];sw=q[7:4];bw=q[11:8]赋值的方法;一个个的显示在数码管上.由于clk的频率比较快.所以可以看到三位数码管显示的值.我觉得管脚分配也是比较关键的!一开始我就把个位和百位显示的值搞反了序列信号发生和检测器设计实验目的进一步熟悉EDA实验装置和QuartusⅡ软件的使用方法;学习有限状态机法进行数字系统设计;学习使用原理图输入法进行设计。设计要求完成设计、仿真、调试、下载、硬件测试等环节.在EDA实验装置上实现一个串行序列信号发生器和一个序列信号检测器的功能.具体要求如下:.其最后6BIT数据用LED显示出来;再设计一个序列信号检测器.检测上述序列信号.若检测到串行序列"11101"则输出为"1".否则输出为"0";主要仪器设备微机 1台QuartusII集成开发软件 1套EDA实验装置 1套实验步骤主要两部分1:序列信号发生器设置q[0]<=q[15];Q<=q[15];q[15:1]<=q[14:0];通过循环移位串行输出2:序列信号检测器状转移态图一共有六个状态分别为S=5'd00000,A=5'd00001,B=5'd00011,C=5'd00110,D=5'd01101,E=5'd11010;源程序:modulexulie<clk,rst,z,Q,led>;inputclk,rst;outputQ,z;output[4:0]led;reg[4:0]led;reg[4:0]state;regQ,z;reg[4:0]a;reg[15:0]q;parameterS=5'd00000,A=5'd00001,B=5'd00011,C=5'd00110,D=5'd01101,E=5'd11010;always@<posedgeclk>beginif<rst==0>beginendelsebeginq[0]<=q[15];Q<=q[15];q[15:1]<=q[14:0];endendalways@<posedgeclk>beginif<state==D&&Q==1>beginz<=1;led<=5'b11101;endelsebeginz<=0;led<=5'b00000;endendalways@<posedgeclkornegedgerst>if<!rst>beginstate<=S;endelsecasex<state>S:if<Q==1>state<=A;elsestate<=S;A:if<Q==1>state<=B;elsestate<=S;B:if<Q==1>state<=C;elsestate<=S;C:if<Q==0>state<=D;elsestate<=C;D:if<Q==1>state<=E;elsestate<=S;E:if<Q==0>state<=S;elsestate<=A;default:state<=S;endcaseendmodule波形仿真当rst=1是序列信号发生器循环发出当检测到11101
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 出售电厂锅炉合同范例
- 人员转公司合同范例
- 2023九年级数学上册 第四章 图形的相似1 成比例线段第2课时 等比性质说课稿 (新版)北师大版
- 公司变更地址合同范例
- 借款合同补充合同范例
- 买车签订合同范例
- 太阳能光伏电站布建构想
- 剪草机采购合同范例
- 客户关系维护与服务匹配策略
- 业余球员合同范本
- 催收质检报告范文
- 2024山东一卡通文化旅游一卡通合作协议3篇
- 2024-2025年江苏专转本英语历年真题(含答案)
- 投标废标培训
- 脑卒中课件完整版本
- 药房保洁流程规范
- 电子信息工程基础知识单选题100道及答案解析
- 血液透析器课件
- 吊车司机雇佣合同协议书
- 新华师大版八年级下册初中数学全册课时练(课后作业设计)
- 致命性大出血急救专家共识
评论
0/150
提交评论