中国高校课件下载中心 》 教学资源 》 大学文库

《数字电路与逻辑设计》课程实验指导(可编程逻辑实验)实验八 计数器设计

文档信息
资源类别:文库
文档格式:DOC
文档页数:3
文件大小:19KB
团购合买:点击进入团购
内容简介
《数字电路与逻辑设计》课程实验指导(可编程逻辑实验)实验八 计数器设计
刷新页面文档预览

4.8实验八计数器设计 1.实验目的 (@)掌握计数器电路设计的方法 )通过开发CLD来实现时序逻辑电路的功能。 2.计数器原理 2.1,同步计数器 在时钟脉冲(计数脉冲)的控制下,构成计数器的各触发器状态同时发生变化的计数 器,叫做同步计数器。 例1同步十进制加法计数器(74160)的设计。 源程序: Library ieee; Use ieee.std logic_1164.all; use ieee.std logic_unsigned all: Entity Is160 is Port(clk Rd Sd,ep.et:in std logic: d:in std_logic_vector(3 downto0). q:out std_logic_vector(3 downto); co:out std_logic) End; Architecture rtl of Is160 is Signal dly:std logic vector(3 downto 0): Begin ocess(cIk.rd.sd.ep.et) Begin dl=d3&d2&d1&d0」 if Rd=0'then v=0000* elsif(clk'event and clk=1)then if(sd='0')then v<=d: elsif (ep='0'and et="1)then y-y, c0<='0': elsif (ep='1'and et='1)then if (y=9)then y*0000

4.8 实验八 计数器设计 1.实验目的 (a) 掌握计数器电路设计的方法。 (b) 通过开发 CPLD 来实现时序逻辑电路的功能。 2.计数器原理 2.1.同步计数器 在时钟脉冲(计数脉冲)的控制下,构成计数器的各触发器状态同时发生变化的计数 器,叫做同步计数器。 例 1 同步十进制加法计数器(74160)的设计。 源程序: Library ieee; Use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; Entity ls160 is Port(clk,Rd,Sd,ep,et:in std_logic; d:in std_logic_vector(3 downto 0); q:out std_logic_vector(3 downto 0); co:out std_logic); End; Architecture rtl of ls160 is Signal dl,y: std_logic_vector(3 downto 0); Begin Process(clk,rd,sd,ep,et) Begin dl<=d3&d2&d1&d0 ; if Rd='0' then y<=”0000”; co<=’0’; elsif( clk'event and clk='1')then if (sd=’0’)then y<=d; elsif (ep=’0’ and et=’1’) then y<=y; elsif (en=’0’)then y<=y; co<=’0’; elsif (ep=’1’ and et=’1’) then if (y=9) then y<=”0000”; co<=’1’;

else y<y+1 end if. end if, end process 2.2异步计数器 异步计数器又称行波计数器,它的下一位计数器的输出作为上一位计数器的时钟信号, 这一级一级串行连接起来就构成了一个异步计数器。 例2带同步清零、下降沿触发的异步四位二进制加法计数器的设计 Library ieee. Use ieee.std logic 1164.all: use iece.std_logic_unsigned.all; Entity ybeount is Port(clk.Rd:instd_logie q:out std _logic_vector(3 downto 0): co:out std_logic), End; Architecture rtl of ybcount is Signal y:std_logic_vector(3 downto0). Begin Process(clk,rd.sd.ep.et) Begin if(levent and clk-0)ther if Rd='the y=0000” else if0=”1 111")then y0000, else y<=y+l; end if. end if end if: end process <-y; End 3.实验内容

else y<=y+1 co:=’0’; end if; end if; end if; end process; q<=y; End; 2.2 异步计数器 异步计数器又称行波计数器,它的下一位计数器的输出作为上一位计数器的时钟信号, 这一级一级串行连接起来就构成了一个异步计数器。 例 2 带同步清零、下降沿触发的异步四位二进制加法计数器的设计 Library ieee; Use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; Entity ybcount is Port(clk,Rd:in std_logic; q:out std_logic_vector(3 downto 0); co:out std_logic); End; Architecture rtl of ybcount is Signal y: std_logic_vector(3 downto 0); Begin Process(clk,rd,sd,ep,et) Begin if( clk'event and clk='0')then if Rd='0' then y<=”0000”; else if (y=”1111”)then y<=”0000”; else y<=y+1; end if; end if; end if; end process; q<=y; End; 3.实验内容

3.1设计一个同步带清零、带有进位输出端的二十四进制(8421BCD码)计数器,且 能够自启动及具有进位输出端。方法按下列要求设计编程实现。 要求 (1),用原理图输入法,元件采用74160设计上述计数器,并硬件下载实现,结果用 数码管显示: (2),用文本输入法即VHDL语言设计编程,并硬件下载实现,结果用数码管显示。 3.2用综合的方法设计一个计数器,要求如下:用一片74160及将本实验的第3.1(2) 内容编程政 为 值为十进制的计数器(并建立一个图形符号),完成一个模为四十八(十进 制显示)的计数 4.注意*项 电路工作之前应进行初始化。 5.预习要求 (1)完成实验内容。的电路设计任务 (2)预习环行计数器的自启动问愿,弄清楚怎样使环型计数器正常工作 (3)进制计数器应在最后加入数码吗管显示电路。 (4)自制各电路的状态转换表,在实验过程中填写数据。 6.实验报告 (1)总结同步、异步计数器的作结占 (2)写出以上实验内容的设计程序、程序分析报告、仿真波形图及其分析报告、硬件 测试和实验过程报告

3.1 设计一个同步带清零、带有进位输出端的二十四进制(8421BCD 码)计数器,且 能够自启动及具有进位输出端。方法按下列要求设计编程实现。 要求: (1). 用原理图输入法,元件采用 74160 设计上述计数器,并硬件下载实现,结果用 数码管显示; (2). 用文本输入法即 VHDL 语言设计编程,并硬件下载实现,结果用数码管显示。 3.2 用综合的方法设计一个计数器,要求如下:用一片 74160 及将本实验的第 3。1(2) 内容编程改为模值为十进制的计数器(并建立一个图形符号),完成一个模为四十八(十进 制显示)的计数器。 4.注意事项 电路工作之前应进行初始化。 5.预习要求 (1)完成实验内容。的电路设计任务。 (2)预习环行计数器的自启动问题,弄清楚怎样使环型计数器正常工作。 (3)进制计数器应在最后加入数码管显示电路。 (4)自制各电路的状态转换表,在实验过程中填写数据。 6.实验报告 (1)总结同步、异步计数器的工作特点。 (2)写出以上实验内容的设计程序、程序分析报告、仿真波形图及其分析报告、硬件 测试和实验过程报告

已到末页,全文结束
刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档