EDA模可变计数器设计Word文档格式.doc

上传人:wj 文档编号:472389 上传时间:2023-04-29 格式:DOC 页数:8 大小:393KB
下载 相关 举报
EDA模可变计数器设计Word文档格式.doc_第1页
第1页 / 共8页
EDA模可变计数器设计Word文档格式.doc_第2页
第2页 / 共8页
EDA模可变计数器设计Word文档格式.doc_第3页
第3页 / 共8页
EDA模可变计数器设计Word文档格式.doc_第4页
第4页 / 共8页
EDA模可变计数器设计Word文档格式.doc_第5页
第5页 / 共8页
EDA模可变计数器设计Word文档格式.doc_第6页
第6页 / 共8页
EDA模可变计数器设计Word文档格式.doc_第7页
第7页 / 共8页
EDA模可变计数器设计Word文档格式.doc_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

EDA模可变计数器设计Word文档格式.doc

《EDA模可变计数器设计Word文档格式.doc》由会员分享,可在线阅读,更多相关《EDA模可变计数器设计Word文档格式.doc(8页珍藏版)》请在冰点文库上搜索。

EDA模可变计数器设计Word文档格式.doc

学生姓名:

邱永洪学号:

专业班级:

中兴101班

实验类型:

□验证□综合■设计□创新实验日期:

2012.10.19

实验二模可变计数器的设计

一、实验目的

1、学习设计脉冲分频程序的设计,掌握分频的作用。

2、学会利用控制位M来控制计数器的模值。

二、实验内容与要求

1、计设置一位控制模的位M,要求M=0,模23计数;

当M=1,模109计数;

2、计数结果用三位数码管显示,显示BCD码;

3、利用Quartus软件实现波形仿真;

4、应用实验箱验证此计数器的功能。

三、实验思路

1、要求分别实现模23和模109的计数,因些我分别用GW、SW、BW代表个位,十位和百位。

还有一个控制模的位M,当M为0时实现模23计数,只用到GW和SW分别为个位和十位;

当M为1时实现模109计数,用GW、SW、BW分别为个位,十位和百位计数。

2、由于要求用三个数码管显示,由于每次只能只能选中一个数码管显示管,因此我使用了数码管的动态扫描来实现视觉上多个数码管显示管同时显示的效果,这个步骤中分频计的作用很重要。

我使用了一个可变的R作为分频计的初值。

3、计数时分两种情况

1)、当M为0时,实现模23计数,当个位为9则向十位进位,并个位清0,当个位小于9,则个位自身加1;

计数到22时当下一个时钟上升沿到来时就清0重计。

2)、当M为1时,实现模109计数,当个位为9则向十位进位,并个位清0,当个位小于9,则个位自身加1;

当个位和十位均为9时,就向百位进位,同时个位和十位自身清0;

计数到108时当下一个时钟上升沿到来时就清0重计。

四、实验程序

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYcountIS

PORT(CLK,M,EN,RST:

INSTD_LOGIC;

R:

INSTD_LOGIC_VECTOR(7DOWNTO0);

---分频计数初值

sel0,sel1,sel2:

bufferSTD_LOGIC;

SG:

OUTSTD_LOGIC_VECTOR(7DOWNTO0);

--数码管八段

CLK1:

GW,SW,BW:

bufferSTD_LOGIC_VECTOR(3DOWNTO0);

--计数器的个,十,百位

COUT:

OUTSTD_LOGIC;

--溢出信号

SEL:

OUTSTD_LOGIC_VECTOR(7DOWNTO0)--位选信号

);

ENDcount;

ARCHITECTUREbehavOFcountIS

SIGNALCNT,X:

STD_LOGIC_VECTOR(7DOWNTO0);

--数码管分频计数

SIGNALJ:

STD_LOGIC_VECTOR(11DOWNTO0);

--12位BCD计数值

SIGNALCNT8:

STD_LOGIC_VECTOR(2DOWNTO0);

--数码管选择

SIGNALA:

STD_LOGIC_VECTOR(3DOWNTO0);

--数码管显示值

SIGNALMODEL:

--模长信号

BEGIN

P1:

PROCESS(CLK,R)--进程P1分出的频率用来数码管的位

BEGIN

X<

=R;

IFCLK'

EVENTANDCLK='

1'

THENCNT<

=CNT+1;

IFCNT=X-1THENCLK1<

='

;

CNT<

="

"

--R分频:

R是一个八位的二进制数

ELSECLK1<

0'

ENDIF;

ENDIF;

ENDPROCESS;

P2:

PROCESS(EN,RST,M,CLK1)--计数

BEGIN

CASEMIS

WHEN'

=>

MODEL<

0"

--23

--109

ENDCASE;

GW<

=J(3downto0);

SW<

=J(7downto4);

BW<

=J(11downto8);

IFRST='

THENJ<

=(others=>

'

);

ELSIFCLK1'

EVENTANDCLK1='

THEN

IFEN='

THEN

IFJ<

MODELTHEN

IFGW=9THEN--个位为9时加7调整

J<

=J+7;

IFSW=9THEN--十位为9时加103调整

=J+103;

ENDIF;

ELSEJ<

=J+1;

ENDIF;

ELSEJ<

ENDIF;

ENDIF;

ENDPROCESS;

P3:

PROCESS(CLK)--数码管控制

BEGIN

IFCLK'

EVENTANDCLK='

IFCNT8<

010"

THENCNT8<

=CNT8+1;

ELSECNT8<

=(OTHERS=>

ENDI

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 工作总结汇报

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

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