EDA课程设计定时器.doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

xingyuxiaxiang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档