- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
电子设计自动化技术实验报告推荐
电子设计自动化技术实验报告设计思路整体设计:由两位数码管显示,初始值为0,实现每隔一秒钟累加计数,定义一个独立键盘按键为异步复位按键。具体设计思路:确定端口数量,一个时钟源和一个独立按键共两个输入端,输出端使能信号为8位,数码管显示为8位。为了每隔一秒进行累加,需要定义一个全局变量进行分频,由于晶振为40MHz,约为2^25,因此将该变量定义为26位的数组,当其第25位为‘1’时,时钟分频信号反转一次,获得约为1秒的分频时钟信号。设计一个异步复位信号,当其有效时,将数据复位。将数码管每一位要显示的数单独用一个变量表示出来,由于是十进制,只显示0~9,因此只需要4位数组即可。十进制中满十进一,因此当分频时钟信号的上升沿到来时,需要先判断个位是否为9,如果小于9,则直接累加1,如果等于9,而十位小于9,则个位清零,十位累加1,若此时十位也为9,则全部清零,相当于重新累加。每一位数码管亮,都需要将其使能端置成有效,然后将这一位的要显示的数值经过译码送到输出端,由于这是一个两位的数码管,因此需要再独立进行分频,进行使能端扫描,交替点亮,但是频率要大于人视觉暂停频率。源代码library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity timer is port (clk,rst:in std_logic;enable:out std_logic_vector(7 downto 0);output:out std_logic_vector(7 downto 0));end timer;architecture art of timer issignal data0:std_logic_vector(3 downto 0);signal data1:std_logic_vector(3 downto 0);signal count:std_logic_vector(25 downto 0);signal clk_div:std_logic;begin process(clk,rst)beginif(rst=0) then data1=0000;data0=0000;clk_div=0;count=0000;elsif (clkevent and clk=1) thencount=count+1;if (count(24)=1) thenclk_div=not clk_div;count=0000; else clk_div= clk_div;end if;end if;end process;process(clk_div)begin if (clk_divevent and clk_div=1) then if(data0=1001) then data0=0000;if (data1=1001) then data1=0000;else data1=data1+1;end if;else data0=data0+1;end if;end if;end process;process(count,data0,data1)begin if(count(15)=0) then enable=; case(data0) iswhen 0000=output=;when 0001=output=;when 0010=output=;when 0011=output=;when 0100=output=; when 0101=output=; when 0110=output=; when 0111=output=;when 1000=output=;when 1001=output=;when others=output=; end case;else enable=; case(data1) iswhen 0000=output=;when 0001=output=;when 0010=output=;when 0011=output=;when 0100=output=; when 0101=output=; when 0110=output=; when 0111=output=;when 1000=output=;when 1001=output=;when others=output=;end case;end if;end process;end art;仿真为了便于仿真和波形显示,将时钟源信号进行10分频,且时钟源频率为100Hz。仿真结果如下:总结最终的结果是实现了由两位数码管显示,初始值为0,每隔一秒钟累加计数,定义一个独立键盘按键为异步复位按键
您可能关注的文档
最近下载
- 【交通运输类】浙江省汽车维修行业工时定额和收费标准浙江省交通厅浙江省物价局精编.pdf VIP
- TD-JZ2006-6001西南设计院预埋件图集.pdf
- 01J925 1 压型板屋面.PDF VIP
- 视听语言 镜头运动.pptx VIP
- 广州市白云区广大附中实验中学2022-2023学年上学期期中调研八年级物理问卷.docx VIP
- JB∕T 5317-2016 环链电动葫芦.pdf VIP
- 广东省广州市白云区广大附中实验中学2022-2023学年八年级上学期期末线上考试语文试卷.doc VIP
- 风电机组专项隐患排查治理记录表.doc VIP
- 风电机组专项隐患排查治理记录表自查.pdf VIP
- 工厂生产管理制度(3篇).docx VIP
文档评论(0)