数字逻辑实验报告(马钊+袁泉+杨晨笛+罗亚群)解析

上传人:我** 文档编号:114588730 上传时间:2019-11-11 格式:DOC 页数:36 大小:909KB
返回 下载 相关 举报
数字逻辑实验报告(马钊+袁泉+杨晨笛+罗亚群)解析_第1页
第1页 / 共36页
数字逻辑实验报告(马钊+袁泉+杨晨笛+罗亚群)解析_第2页
第2页 / 共36页
数字逻辑实验报告(马钊+袁泉+杨晨笛+罗亚群)解析_第3页
第3页 / 共36页
数字逻辑实验报告(马钊+袁泉+杨晨笛+罗亚群)解析_第4页
第4页 / 共36页
数字逻辑实验报告(马钊+袁泉+杨晨笛+罗亚群)解析_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《数字逻辑实验报告(马钊+袁泉+杨晨笛+罗亚群)解析》由会员分享,可在线阅读,更多相关《数字逻辑实验报告(马钊+袁泉+杨晨笛+罗亚群)解析(36页珍藏版)》请在金锄头文库上搜索。

1、数字逻辑与数字系统课程设计北京邮电大学课程设计报告课程设计名称数字逻辑与数字系统学 院计算机指导教师班 级班内序号学 号学生姓名成绩0740706071147马 钊0740714071155袁 泉0740721071162杨晨笛0740729071170罗亚群课程设计内容教学目的:掌握isp LEVER 软件的使用方法,掌握isp器件的使用方法,用VHDL进行较复杂逻辑电路的设计和调试,熟练掌握isp器件的下载方法。基本内容: 1.简易电子琴 2.简易频率计 3.交通灯控制 4.电子钟显示 5.药片装瓶系统实验方法:先用VHDL进行软件编程,然后下载到ISP器件,进行硬件仿真实验。组员分工:详

2、见各实验报告实验分工。学生课程设计报告(附页)课程设计成绩评定遵照实践教学大纲并根据以下四方面综合评定成绩:1、课程设计目的任务明确,选题符合教学要求,份量及难易程度2、团队分工是否恰当与合理3、综合运用所学知识,提高分析问题、解决问题及实践动手能力的效果4、是否认真、独立完成属于自己的课程设计内容,课程设计报告是否思路清晰、文字通顺、书写规范评语: 成绩:指导教师签名: 年 月 日注:评语要体现每个学生的工作情况,可以加页。目录实验一:简易电子琴3实验二:简易频率计6实验三:交通灯控制器设计11实验四:电子钟设计17实验五:药片装瓶系统设计26附:数字逻辑与数字系统课程设计心得体会34实验一

3、:简易电子琴一、实验目的掌握较复杂逻辑的设计和调试。掌握用VHDL语言设计数字逻辑电路。掌握ispLEVER软件的使用方法。掌握ISP器件的使用。用途: 有电子琴的基本功能,可弹奏出简单的乐曲。二、实验所用器件和设备在系统可编程逻辑器件ISP1032一片示波器一台万用表或逻辑笔一只TEC-5实验系统,或TDS-2B数字电路实验系统一台三、实验原理 用VHDL设计一个简易电子琴。有8个按键,每键代表一个音符, 1、2、3、4、5、6、7、i各音符按一定的顺序排列,须符合电子琴的按键排列顺序。每个音符对应特定的频率的方波信号。方波信号由多模计数器产生。方波信号占空比可改变音量大小。图1-1 简易电

4、子琴原理图四、设计方案输入的主频=50KHz,不同的键产生不同频率的输出,输出由多模计数器产生。多模计数器:M(模)=50000/f 音符 (C)1234567i频率(Hz)262294330349392440494523模19117015114312811410197多模计数器输出波形: 二分频计数器:音符 (C)1234567i模9584757163565047(改变音量使输出信号占空比为50%)五、代码实现LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_unsigned.all;ENTITY piano is por

5、t(clk:in std_logic;-时钟源为50kHz k:in std_logic_vector(7 downto 0);-从高位到低位对应1,2,3,4,5,6,7,i dout:out std_logic);-输出至喇叭end piano;ARCHITECTURE art of piano is signal temp,m:integer range 0 to 127;-temp为计数值,m为计数器模值begin process(clk,k)-模m计数器 variable a:std_logic; begin case k is when 10000000 = m m m m m m

6、 m m m=0; end case; if(clkevent and clk=1) then -对50kHz原始信号进行m分频,再进行2分频 if (temp=m) then temp=0; a:=not a; -“翻转”信号,实现信号占空比50% else temp=temp+1; end if; end if; dout=a; end process;end ARCHITECTURE;六、实验中出现的问题及解决方法由于学习VHDL编程已经过去一个学期,很多东西都已经不太清楚了。第一个实验比较基础也比较简单,所以过程中并没有遇到什么大问题,主要是一些小细节上的问题。比方说,首先是VHDL的

7、语法已经不太熟练了,因此在复习VHDL硬件编程的基础上着重对语法进行了复习和记忆。例如case-is-when语句和if-then-elsif语句等。然后,此实验中主要涉及的两个知识:模m计数器和二分频计数器。m的值是由k来决定的,也就是由开关来控制。而对信号二分频的时候,需要设定一个变量,在计数值加到m的时候对信号进行翻转,从而达到分频目的。另外,是在对ISP器件的使用上。以前只有一次实验实践操作过ISP器件,那时是在老师一步一步指导下进行操作,了解得并不是很全面很深入。这次完全是自己来操作了,所以对每一个步骤都会很留意。对该软件的使用上也出现过一些错误,多次重来后解决。七、本次实验的收获作

8、为小学期数字逻辑课程设计的第一个实验,充分体现了其基础性和概括性。为了对程序有更好地把握,不仅复习了一学期前所学习的VHDL的知识,更在此基础上扩宽了对VHDL的理解和认识,学到了更多的知识。最重要的,是体会到了学以致用的乐趣。另外,对在系统编程了设计流程也有了一定的掌握,对ISP器件的使用也有一定的熟悉。作为一个开始的基础实验,学到的东西还是挺多的。实验二:简易频率计一、实验目的掌握较复杂逻辑的设计和调试。掌握用VHDL语言设计数字逻辑电路。掌握ispLEVER软件的使用方法。掌握ISP器件的使用。了解频率计的初步知识。二、实验所用器件和设备在系统可编程逻辑器件ISP1032一片示波器一台万

9、用表或逻辑笔一只TEC-5实验系统,或TDS-2B数字电路实验系统一台三、实验内容设计一个简易频率计,用于测量1MHz以下数字脉冲信号的频率。闸门只有1s一档。测量结果在数码管上显示出来。不测信号脉宽。用一片ISP芯片实现此设计,并在实验台上完成调试,建议设计采用VHDL语言编写。四、设计思路频率计的基本工作原理如下:首先产生一系列准确闸门信号,例如1ms,0.1s和1s等。然后用这些闸门信号控制一个计数器对被测脉冲信号进行计数,最后将结果显示出来。如果闸门信号是1s,那么1s内计数的结果就是被测信号的频率。如果闸门信号是1ms,那么计数结果是被测信号频率的千分之一,或者说结果是以kHz为单位

10、的频率值。频率计中,最原始的时基信号准确度一定要高。建议用实验台上的5kHz时钟信号做原始时基信号。1s的闸门信号,由5kHz时钟经5K分频后,再经2分频产生。这样产生的闸门信号脉宽是1s,占空比是50%。在2s的时间内,1s用于计数,1s用于显示结果。用于被测信号计数的计数器应采用十进制。测得的结果可直接送实验台上的6个数码管显示。每次对被测信号计数前,计数器应被清零。 图2-1 简易频率计原理图 图2-2 简易频率计模块设计五、设计方案模块:顶层模块LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_unsigned.al

11、l;ENTITY frequency is port(clk1,clk2:in std_logic; -clk1为5kHz的原始时基信号,clk2为被测信号 dout:out std_logic_vector(19 downto 0); -输出至低5位数码管 dec:out std_logic_vector(6 downto 0); -译码结果送最高位数码管end frequency;ARCHITECTURE art of frequency is component counter10 -十进制计数器元件声明 port (clk,cd,en:in std_logic; -clk时钟,cd清零

12、,en使能 qout:out std_logic_vector(3 downto 0); -计数输出 cout:out std_logic); -进位输出 end component; signal temp:std_logic_vector(19 downto 0); -十进制计数结果的低5位 signal dec_temp:std_logic_vector(3 downto 0); -十进制计数结果的最高位 signal c:std_logic_vector(5 downto 0); -计数器每一位的进位信号 signal gate_sig,clr:std_logic; -闸门信号,清零信号 signal count:integer range 0 to 4999; -用于产生闸门信号时计数begin u1:counter10 PORT MAP (clk2,clr,gate_sig,temp(3 downto 0),c(0); -6个十进制计数器 u2:counter10 PORT MAP (c(0),clr,gate_sig,temp(7 downto 4),c(1); -低位计数器进位信号作 u3:counter10 PORT MAP (c(1),clr,gate_sig,temp(11 downto 8),c(2); -为高位计数器时钟信号 u4:counter10

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号