定时器设计Word文档下载推荐.docx
- 文档编号:19950890
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:12
- 大小:263.36KB
定时器设计Word文档下载推荐.docx
《定时器设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《定时器设计Word文档下载推荐.docx(12页珍藏版)》请在冰豆网上搜索。
2.2要求:
系统由分频器(将1kHz时钟变为1Hz)、减法计数器(秒的倒计时)、LED刷新时钟(刷新时间为10毫秒)、显示码译码器(将时间的BCD码转换成LED显示码)。
要求给出系统总体组成框图,设计思路,完成以上模块的VHDL实现及功能仿真,顶层文件及整体仿真。
3系统总体组成框图
4减法计数器模块
4.1减法计数器功能:
从输入数值减1直到0为止。
4.2模块的源程序:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYSUBBIS
PORT(CLKS:
INSTD_LOGIC;
RETS:
INSTD_LOGIC;
EN:
A:
INSTD_LOGIC_VECTOR(6DOWNTO0);
Q:
OUTSTD_LOGIC_VECTOR(6DOWNTO0));
ENDENTITY;
ARCHITECTUREONEOFSUBBIS
SIGNALQI:
STD_LOGIC_VECTOR(6DOWNTO0);
BEGIN
PROCESS(CLKS,RETS)
BEGIN
IFRETS='
0'
THEN
QI<
=A;
ELSIFEN='
1'
IFCLKS'
EVENTANDCLKS='
IFQI="
0000000"
THEN
QI<
="
;
ELSEQI<
=QI-'
ENDIF;
ENDIF;
ENDIF;
ENDPROCESS;
Q<
=QI;
ENDARCHITECTURE;
4.3仿真波形
周期设置为10纳秒
仿真波形输出
4.4RTL电路
5译码器模块
5.1译码器功能:
译码器模块的显示方式为动态显示,刷新时间为10ms。
5.2译码器源程序:
ENTITYyimaqiIS
PORT(
CLOCK:
RET:
input:
INSTD_LOGIC_VECTOR(7DOWNTO0);
--------输入显示数据
DIV10FLAG:
OUTSTD_LOGIC;
-----------------------10ms方波数码管扫描周期
LEDDIPLY:
OUTSTD_LOGIC_VECTOR(6DOWNTO0);
------数码管段选
SELECCT:
OUTSTD_LOGIC_VECTOR(1DOWNTO0)-------数码管位选
);
ARCHITECTUREONEOFyimaqiIS
SIGNALCNT2:
STD_LOGIC_VECTOR(2DOWNTO0);
SIGNALDIV10:
STD_LOGIC;
SIGNALWX:
STD_LOGIC_VECTOR(1DOWNTO0);
PROCESS(CLOCK,RET)
BEGIN
IFRET='
THEN
CNT2<
000"
ELSIFCLOCK'
EVENTANDCLOCK='
IFCNT2="
101"
CNT2<
DIV10<
=NOTDIV10;
ELSECNT2<
=CNT2+'
ENDIF;
DIV10FLAG<
=DIV10;
PROCESS(DIV10,RET)
THEN
WX<
01"
ELSIFDIV10'
EVENTANDDIV10='
IFWX="
10"
WX<
ELSEWX<
SELECCT<
=WX;
PROCESS(WX,RET)
LEDDIPLY<
ELSE
CASEWXIS
WHEN"
=>
CASEinput(3DOWNTO0)IS
WHEN"
0000"
LEDDIPLY<
0111111"
0001"
0000110"
0010"
1011011"
0011"
1001111"
0100"
1100110"
0101"
1101101"
0110"
1111101"
0111"
0000111"
1000"
1111111"
1001"
1101111"
WHENOTHERS=>
ENDCASE;
CASEinput(7DOWNTO4)IS
WHENOTHERS=>
NULL;
ENDCASE;
5.3仿真波形
周期设置为1微秒
5.4RTL电路
6分频器模块
6.1分频器功能:
把1kHZ的频率分为1HZ的频率
6.2分频器源程序
ENTITYFENPINIS
PORT(CLKF:
INSTD_LOGIC;
RSTF:
DIVOUT:
OUTSTD_LOGIC);
ARCHITECTUREONEOFFENPINIS
SIGNALDIV:
PROCESS(CLKF,RSTF)
VARIABLECNT1:
STD_LOGIC_VECTOR(0TO8);
IFRSTF='
CNT1:
000000000"
DIV<
='
ELSIFCLKF'
EVENTANDCLKF='
IFCNT1="
111110100"
CNT1:
DIV<
=NOTDIV;
ELSECNT1:
=CNT1+1;
DIVOUT<
=DIV;
6.3仿真波形
6.4RTL电路
7总体设计
7.1顶层文件
ENTITYWJQIS
PORT(
CLK:
RST:
START:
--使能信号
INTEMP:
--输入数据
SELETOUT:
OUTSTD_LOGIC_VECTOR(1DOWNTO0);
--位选信号
OUTDADA:
OUTSTD_LOGIC_VECTOR(7DOWNTO0);
--段选信号
FLAG:
--分频输出1HZ
FLAGHZ:
OUTSTD_LOGIC--数码管扫描周期10ms
ARCHITECTUREONEOFWJQIS
COMPONENTFENPIN
PORT(CLKF:
RETF:
DIVOUT:
OUTSTD_LOGIC);
ENDCOMPONENT;
COMPONENTSUBB
OUTSTD_LOGIC_VECTOR(7DOWNTO0));
COMPONENTyimaqi
PORT(CLOCK:
DIV10FLAG:
LEDDIPLY:
OUTSTD_LOGIC_VECTOR(7DOWNTO0);
SELECCT:
OUTSTD_LOGIC_VECTOR(1DOWNTO0));
SIGNALHF1:
SIGNALDATADA:
STD_LOGIC_VECTOR(6DOWNTO0);
SIGNALREN:
STD_LOGIC;
SIGNALHX:
U1:
FENPINPORTMAP(CLKF=>
CLK,RETF=>
RST,DIVOUT=>
HF1);
U2:
SUBBPORTMAP(CLKS=>
HF1,RETS=>
RST,EN=>
REN,A=>
INTEMP,Q=>
DATADA);
U3:
yimaqiPORTMAP(CLOCK=>
CLK,RET=>
RST,input=>
DATADA,DIV10FLAG=>
HX,LEDDIPLY=>
OUTDADA,SELECCT=>
SELETOUT);
FLAGHZ<
=HX;
FLAG<
=HF1;
REN<
=START;
7.2总体电路图
7.3总体电路仿真结果
8设计总结
通过这次课程设计,我了解到了进行课程设计的方法,有关定时器的结构和基本原理。
本设计通过了仿真软件的测试,或者说就是基于仿真软件设计的。
这也让我们学会了一种解决问题的方法。
本方案之前也讨论更改过很多方案。
特别是在进制问题和参数设置问题上研究了很久,但是基本的思维是不变的。
本次课程设计还使我们熟悉了quartus2软件的操作使用,这是我们最大的受益所在。
参考文献
[1]潘松,黄继业.EDA技术与VHDL
[2]EDA实验指导书
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 定时器 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)