网站大量收购独家精品文档,联系QQ:2885784924

电子表设计实验报告.docx

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
电子表设计实验报告

电子表设计实验报告 精仪94 王誉超 2009010592 电路原理 利用两个74LS90连接成为一个60进制的计数器,用1Hz的脉冲作为时钟源,实现电子表“秒”的功能。“秒”的部分每隔60秒产生一个进位信号,作为另一个60进制计数器的输入信号,实现“分”的功能。“分”的部分每隔60个进位信号即60分钟又产生一个进位信号,作为由两个74LS90组成的24进制计数器的输入信号,实现“时”的功能。用数码管可显示出三个计数器当前的数值,实现时间的输出显示。 利用74LS153可以实现选择进位信号或是校时脉冲作为下一级的输入信号,实现“校时—正常”模式之间的切换。为了保证校时信号的准确稳定,加入了去抖模块。 电路实现 60进制计数器 首先将二-五计数器74LS90连接成为十进制计数器,即将二进制的输出QA连接到五进制的输入CLKB。然后将一个十进制计数器的输出端连接到另一个十进制计数器的输入端组成一百进制计数器,前者进行个位的计数,后者进行十位的计数。由于要实现在计数到60时立即归零,所以将十位计数到6作为清零信号,即QB、QC同时输出“1”时清零,使用与门实现。清零信号同时作为进位信号。 图 SEQ 图 \* ARABIC 1 60进制计数器 24进制计数器 首先将二-五计数器74LS90连接成为十进制计数器,即将二进制的输出QA连接到五进制的输入CLKB。然后将一个十进制计数器的输出端连接到另一个十进制计数器的输入端组成一百进制的计数器,前者进行个位的计数,后者进行十位的计数。由于要实现在计数到24时立即归零,所以将十位计数到2且个位计数到4作为清零信号,即十位的QB和个位的QC同时输出“1”时清零,同样使用与门实现。清零信号同时可作为进位信号。 图 SEQ 图 \* ARABIC 2 24进制计数器 模式选择 使用数据选择器74LS153,将B端置“0”,进位信号接到C0端,校时信号接到C1端, 当75LS153的A端输入为“0”时,Y端输出为C0,即进位信号,属于正常模式,此时校时信号对下一级无影响;当A端输入为“1”时,Y端输出为C1,即校时信号,属于校时模式,此时进位信号对下一级无影响。校时模式下,每一个校时脉冲都使相应的分或者时的计数加1。 “分”计数“ “分”计数 “秒”计数 “时 “时”计数 图 SEQ 图 \* ARABIC 3 完整的电子表电路 三、去抖模块的工作原理 下面是去抖模块的部分代码。 ARCHITECTURE BEHAVIOR OF ANTI_SHAKE IS BEGIN P1: PROCESS (CLK, RESET, INPUT) VARIABLE cnt : integer range 0 to 2047:=1000; BEGIN if (RESET = 0) then cnt := 1000; OUTPUT = 1; elsif (rising_edge(CLK)) then if (INPUT = 0) then cnt := cnt - 1; elsif (INPUT = 1) then cnt := cnt + 1; end if; if (cnt 1500) then OUTPUT = 1; cnt := 1500; elsif (cnt 500) then OUTPUT = 0; cnt := 500; end if; end if; END PROCESS P1; END BEHAVIOR; 当按动按钮时,按钮的机械动作常伴有抖动的现象,使得在按动的过程(指开始按动到停止不动)中输出并不是理想的,而是由很多个小脉冲组成的,所以若输出为单脉冲的情况可能实际上在脉冲开始和结束的时候是输出了很多个脉冲。 去抖模块定义了整数“cnt”,使用“cnt”控制输出为高电平或是低电平。接入47KHz的脉冲作为时钟信号,每隔1/47ms进行一次判定(在时钟信号的上升沿):若输入为“0”,则cnt减1;若输入为“1”,则cnt加1。当cnt1500时,输出“1”,同时cnt保持为1500;当cnt500时,输出“0”,同时cnt保持为500。所以要实现输出信号的改变则必须在较长的时间内(大于1000个周期)进行判定时输入保持不变,这样就不会因为几次或者十几个脉冲的出现而使输出信号发生改变,除去了“抖动”的影响。最终信号的输出决定于稳定后的输入信号,也不会受到影响。由于时钟信号的频率很大,所以当信号稳定下来后,最多只需要1000/47=21ms即可实现信号输出,不会有太大影响。

文档评论(0)

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

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

1亿VIP精品文档

相关文档