可控计数器的设计.docx
- 文档编号:7020021
- 上传时间:2023-01-16
- 格式:DOCX
- 页数:12
- 大小:67.44KB
可控计数器的设计.docx
《可控计数器的设计.docx》由会员分享,可在线阅读,更多相关《可控计数器的设计.docx(12页珍藏版)》请在冰豆网上搜索。
可控计数器的设计
《可编程器件》课程设计报告
课题:
可控计数器的设计
班级学号
学生姓名
专业电子科学与技术
系别电子信息工程系
指导老师
淮阴工学院
电子与电气工程学院
2014年11月
可控计数器的设计
一、设计目的
《可编程器件》课程设计是一项重要的实践性教育环节,是学生在校期间必须接受的一项工程训练。
在课程设计过程中,在教师指导下,运用工程的方法,通过一个简单课题的设计练习,可是学生通过综合的系统设计,熟悉应用系统的是设计过程、设计要求、完成的工作内容和具体的设计方法,了解必须提交的各项工程文件,也达到巩固、充实和综合运用所学知识解决实际问题的目的。
通过课程设计,应能加强学生如下能力的培养:
(1)独立工作能力和创造力;
(2)综合运用专业及基础知识,解决实际工程技术问题的能力;
(3)查阅图书资料、产品手册和各种工具书的能力;
(4)工程绘图的能力;
(5)编写技术报告和编制技术资料的能力。
二、设计要求
11、设计一个五进制的计数器,由两个控制键SEL控制不同的计数方式
22、当SEL=O0寸,按0、1、2、3、4、0、1、2,3、4…顺序计数
33、当SEL=01时,按0、2、4、68、0、2、4、6、8…顺序计数
44、当SEL=10时,按1、3、5、7、9、1、3、5、7、9…顺序计数
55、当SEL=11时,按5、4、3、2、1、5、4、3、2、1…顺序计数
66由数码管分别译码显示控制信号和计数状态,分别用3位数码管动态显示
77、给出VHDL语言的源程序
三、一般设计要求
(1)独立完成设计任务;
(2)绘制系统硬件总框图;
(3)绘制系统原理电路图;
(4)制定编写设计方案,编制软件框图,完成详细完整的程序清单和注释;
(5)制定编写调试方案,编写用户操作使用说明书;
(6)写出设计工作小结。
对在完成以上文件过程所进行的有关步骤如设计思想、指标论证、方案确定、参数计算、元器件选择、原理分析等作出说明,并对所完成得设计作出评价,对自己整个设计工作中经验教训,总结收获和今后研修方向。
四、设计的具体实现
1、实验原理
计数器是一种多功能的电子测量仪器。
它利用电子学的方法测出一定时间内输入的脉冲数目,并将结果以数字形式显示出来。
可控五进制计数器是每五个脉冲信号向前进一位,且当控制端不同时,产生的进位输出不同。
再利用数码管显示相应的数值。
首先利用进程p1来实现4种模式的计数功能,由信号sel来控制选择具体是哪种模式;再利用进程p2来扫描3个数码管,而其中1个用来显示计数值,2个用来显示控制信号的值;最后通过进程p3来对数码管进行驱动译码,将相应的五进制数值利用数码管体现出来。
图1.实验原理图
2、模拟框图
elk
duan
图2•模拟结构框图
3、可控计数器设计流程
图3.设计流程
4、各个模块
(1)计数器单元模块
SHENGHAO
CLK
图4•计数器单元模块
CLK是计时时钟,也是扫描时钟,SEL计数模式控制信号,丫接收ent的计数值。
它利用电子学的方法测出一定时间内输入的脉冲数目,并将结果以数字形式显示出来。
可控五进制计数器是每五个脉冲信号向前进一位,且当控制端不同时,产生的进位输出不同。
(2)扫描单元
SHEJI3
CLK
CLKDUAN[5…0]
图5•扫描单元模块
CLK是计时时钟,也是扫描时钟,SEL计数模式控制信号,DUAN代表3个数码管。
利用扫描脉冲扫描3个数码管,而其中1个用来显示计数值,2个用来显示控制信号的值。
(3)数码管译码
SHEJI3
CLKSM[6…0]
CLKDUAN[5…0]
图6.数码管译码模块
CLK是计时时钟,也是扫描时钟,SEL计数模式控制信号,DUAN代表3个数码管,SM是数码管的七段是数码管数字七段,它主要用来对数码管进行驱动译码,将相应的五进制数值利用数码管体现出来。
5、管脚分配
1
£
■
yJ
1
_
_
To
AssignmentName
阳tie
Enabled
❖l
PartitionHierarchy
rootpartition
Yes
Welk
Location
P1NJ11
Yes
<^diian[O]
Locatiion
PIND2O
Yes
duen[l]
LoMtion
PINjCl?
Ves
Loc^tnn
PINjCl?
Yes
Lowticn
PINAC13
Yes
肌陨]
Location
PINAD13
Yes
”赢]
Locatio仃
PINJ1I
Yes
Location
MNJ17
Yes
劲smEI
LoMtion
PIFdH16
Ves
La»tk?
n
P1MJC17
Yes
LocaUon
PINJH
Yes
4>smp]
Location
PINJI6
Yes
±>sm[5]
Location
PINJie
Ves
i^duan
Location
Ves
国誚
Location
■es
Lac^ticn
Yes
]<
<
五、系统的源程序(VHDL)
1•计数环节
libraryieee;
use
useentityLQis
port(clk,ck:
instd_logic;--clk是计数时钟,ck是扫描时钟sel:
instd_logic_vector(1downto0);--计数模式控制信号sm:
outstd_logic_vector(6downto0);---数码管的七段duan:
outstd_logic_vector(2downto0));--3个数码管endLQ;
architectureartofLQis
signalcnt:
std_logic_vector(3downto0);--信号cnt用来计数signaltemp:
integerrange0to2;
signalx:
std_logic_vector(3downto0);--数码管动态显示的值signaly:
std_logic_vector(3downto0);--接收cnt的计数值begin
p1:
process(clk)--进程p1主要用来实现4种模式的计数功能,由信号sel来控制选择具体是哪种模式
begin
if(clk'eventandclk='1')then
caseselis
when"00"=>if(cnt>="0100")thencnt<="0000";
elsecnt<=cnt+1;endif;
when"01"=>if(cnt>="1000"orcnt="0001"orcnt="0011"orcnt="0101"
cnt<="0000";
orcnt="0111")thenelsecnt<=cnt+2;
endif;
when"10"=>if(cnt>="1001"orcnt="0000"orcnt="0010"orcnt="0100"orcnt="0110"orcnt="1000")then
cnt<="0001";
elsecnt<=cnt+2;endif;
When"11"=>if(cnt>"0101"orcnt="0001"orcnt="0000")thencnt<="0101";
elsecnt<=cnt-1;
endif;
whenothers=>cnt<="1111";
endcase;
y<=cnt;
endif;endprocessp1;
2.扫描单元
p2:
process(clk)--进程p2主要用来扫描3个数码管,其中1个用来显示计数值,2个用来显示控制信号的值
begin
if(clk'eventandclk='1')then
casetempis
when0=>duan<="001";
caseselis
when"00"=>x<=(4-y);
when"01"=>x<=(8-y);
when"10"=>x<=(10-y);
when"11"=>x<=(6-y);
endcase;
whenothers=>duan<="010"or"100";
x<="00"&sel;
endcase;
temp<=temp+1;
endif;
endprocessp2;
3.数码管译码部分
p3:
process(x)--进程p3主要用来对数码管进行驱动译码
begin
casexis
when"0000"=>sm<="1111110";
when"0001"=>sm<="0110000";
when"0010"=>sm<="1101101";
when"0011"=>sm<="1111001";
when"0100"=>sm<="0110011";
when"0101"=>sm<二"1011011";
when"0110"=>sm<="1011111";
when"0111"=>sm<="1110000";
when"1000"=>sm<="1111111";
when"1001"=>sm<="1111011";
whenothers=>sm<二"0000000";
endcase;
endprocessp3;
endart;
六、程序的调试分析与仿真
1、SEL=00
fR】
-埼
Fl
弼】
2、SEL=01
tlh
a]
bai
-2J
D1
11
直i
L..c:
i
sei.
B[
■.u.1]
国i
L「;
D
1Illi
-si'[4]
耳
-TlCS]
a
-mLU
耳
B
-71切
3
-^[1]
甘
L^dji
a
]LQ
LJ.
1JU
YooTY
L10
llu
U1JJJU.
-LDJJl工L.UJJOU为1”L:
r
■>jW?
3、SEL=10
UTL_rLrLn_rLT"Ln_rLrLn_n_rm_n_rT_n_rLn_run_n_rL
邑■
3090|
■fin[6]
-mMp[31
==n[2]
r1
»[D1
-?
1
r■-»1]
■0)
■a
■i]
-01
:
WHE_加卫00:
MD|:
创.$“。
民
.11
B1
.11
£1
-.■».0】
E
%1
.11
b
Lcj
B
iLOli
E
f【引
BI
沁创
t
B
E
«[11
E
B
丸込£>Ui
dkB
4、SEL=11
七、总结
为期两周的课程设计结束了,从程序的编写,到编译调试和仿真,最后得出实验结果,在这一过程中,我学到了许多,可以说是收获颇丰。
首先,我便发现我学习中的一大陋习,那就是基础知识不够牢固,而原因就是我上课的时候不太认真听讲,所以在刚开始编写代码的时候,我一头雾水,根本不
知该从何处下手。
还好我通过上网查找资料,去图书馆翻阅书籍,还有询问指导老师不懂的地方,我渐渐的补充了基础知识,也对本次实习内容有所了解,并且对我们小组的实验课题--可控计数器的设计有了明确认识。
于是我和同组的一些成员一起研究,翻阅相关书记查找资料,找寻相似的例题,通过对比和排查,初步仿照着设计出了代码,然后再通过检查核实,最终编写出满足设计要求的代码。
接着我们就带着编写好的代码来到了实验室,对它进行编译,
八、参考文献
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可控 计数器 设计