- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
电子课程设计
——定时器
学院:
专业:
姓名:
学号:
指导老师:
2009年12月
目录
设计任务与要求……………………………………3
总体框图……………………………………………3
功能模块……………………………………………4
总体设计电路图……………………………………12
心得体会……………………………………………14
定时器
一、设计任务与要求
1.设计任务与要求:
通过设计,定时器可以整体清零;可以定时最高到99MIN;以秒速度递增至预定时间,以分速度递减至零。
2.设计目的
(1)了解并掌握电路的一般设计方法,具备初步的独立设计能力。
(2)进一步熟悉常用电子模块的设计思路和功能,并掌握合理选用的原则。
(3)提高综合运用所学的理论知识。独立分析和解决问题的能力。
(4)进一步熟悉电子仪器的正确使用方法。
二、总体框图
图1
设计思路:通过记数器控制中心输入秒信号,并输出两个四位的BCD码,可分别来表示各位与十位,也可整体复位清零。通过该记数器实现以秒速度递增至清零,该记数器以秒的速度递增至99来实现置位,而以分的速度递减至零以实现定时功能。通过二选一选择器对个位和十位进行扫描输出,并将输出送到译码器,通过译码器对输入的四位BCD码进行七段码编译,然后输出到数码管。
三、功能模块
1、ctrl记数模块
模块器件图:
图2
模块逻辑功能:ctrl计数模块是该定时器的核心部分.res为复位端,用来清零,采用异步复位方式;cn用于置位,高电平有效。cout端将在定时结束时产生高电平。Low和high为四位BCD码输出端口,可用于显示。当cn有效时,clk脉冲上升沿到来,计数加1;当cn为低电平时,置位结束,进入计时阶段,每60个时钟周期(相当于一分钟)LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_unsigned.all;
ENTITY ctrl IS
PORT
(
cn,res,clk : IN STD_LOGIC;
cout : out STD_LOGIC;
low,high: OUT std_logic_vector(3 downto 0)
);
END ctrl;
ARCHITECTURE rtl OF ctrl IS
SIGNAL displow,disphigh : std_logic_vector(3 downto 0);
BEGIN
a:PROCESS (clk,cn,res)
variable cnt: integer range 0 to 59;
BEGIN
IF (res = 0) THEN
displow=0000;
disphigh=0000;
cnt:=0;
cout=0;
ELSIF (clkEVENT AND clk = 1) THEN
IF cn = 1 THEN
cnt:=0;
if displow1001 then
displow=displow+1;
ELSE
displow=0000;
if disphigh1001 then
disphigh=disphigh+1;
else
disphigh=0000;
end if;
end if;
ELSE
if cnt59 then
cnt:=cnt+1;
else
cnt:=0;
if displow0000 then
displow=displow-1;
--elsif displow=1 then
-- displow=
文档评论(0)