2022年数字逻辑实验报告.docx
《2022年数字逻辑实验报告.docx》由会员分享,可在线阅读,更多相关《2022年数字逻辑实验报告.docx(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选学习资料 - - - - - - - - - 北京邮电高校课程设计报告课程设计 名称班 级07407074070740707407课 程 设 计 内 容数字规律与数字系统学 院运算机指导老师班内序号学 号同学姓名成果06071147马 钊14071155袁 泉21071162杨晨笛29071170罗亚群教案目地:把握isp LEVER 软件地使用方法,把握isp 器件地使用方法,用VHDL 进行较复杂规律电路地设计和调试,娴熟把握isp 器件地下载方法.基本内容: 1.简易电子琴 2.简易频率计 3.交通灯掌握 4.电子钟显示 5.药片装瓶系统试验方法:先用VHDL进行软件编程,然后下载到
2、ISP器件,进行硬件仿真试验.组员分工:详见各试验报告试验分工.同学 课程设计 报告(附页)遵照实践教案大纲并依据以下四方面综合评定成果:1、课程设计目地任务明确,选题符合教案要求,份量及难易程度 2、团队分工是否恰当与合理 3、综合运用所学学问,提高分析问题、解决问题及实践动手才能地成效课 程 设4、是否认真、独立完成属于自己地课程设计内容,课程设计报告是否思路清 晰、文字通顺、书写规范 评语 : 计 成 绩 评 定成果 :指导老师签名:名师归纳总结 注:评语要表达每个同学地工作情形,可以加页. 年月日第 1 页,共 33 页- - - - - - -精选学习资料 - - - - - - -
3、 - - 目录试验一:简易电子琴 . 2试验二:简易频率计 . 4试验三:交通灯掌握器设计 . 9试验四:电子钟设计 . 14试验五:药片装瓶系统设计 . 23附:数字规律与数字系统课程设计心得体会 . 31试验一:简易电子琴一、试验目地 把握较复杂规律地设计和调试 . 把握用 VHDL 语言设计数字规律电路 . 把握 ispLEVER软件地使用方法 . 把握 ISP器件地使用 . 用途 : 有电子琴地基本功能,可弹奏出简洁地乐曲 . 二、试验所用器件和设备在系统可编程规律器件 ISP1032 一片示波器 一台万用表或规律笔 一只TEC-5试验系统,或 TDS-2B数字电路试验系统 一台三、试
4、验原理用 VHDL设计一个简易电子琴 . 有 8 个按键,每键代表一个音符 子琴地按键排列次序 ., 1、2、3、4、5、6、7、i 各音符按肯定地次序排列,须符合电名师归纳总结 每个音符对应特定地频率地方波信号. 第 2 页,共 33 页方波信号由多模计数器产生. 方波信号占空比可转变音量大小. - - - - - - -精选学习资料 - - - - - - - - - 图 1-1 简易电子琴原理图四、设计方案输入地主频 =50KHz,不同地键产生不同频率地输出,输出由多模计数器产生 . 多模计数器: M (模) =50000/f 音1234567i符 C频262 294 330 349 3
5、92 440 494 523 率Hz模191 170 151 143 128 114 101 97 多模计数器输出波形:二分频计数器:音符 C1234567i模95 84 75 71 63 56 50 47 (转变音量使输出信号占空比为50%)五、代码实现LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_unsigned.all;ENTITY piano is portclk:in std_logic ;-时钟源为 50kHz k:in std_logic_vector7 downto 0 ;-从高位到低位对应 1,2,3,
6、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 processclk,k-模 m 计数器 variable a:std_logic; begin case k is when 10000000 = m m m m m m m m m=0; end case; ifclkevent and clk=1 then - 对 50kHz 原始信号进行 if temp=m
7、 then temp=0; a:=not a; -“ 翻转 ”信号 ,实现信号占空比 50% else temp=temp+1; end if; end if; dout=a; end process;end ARCHITECTURE;六、试验中显现地问题及解决方法m 分频 ,再进行 2 分频由于学习 VHDL 编程已经过去一个学期,很多东西都已经不太清晰了 .第一个试验比较基础也比较简洁,所以过程中并没有遇到什么大问题,主要是一些小细节上地问题 .比方说,第一是 VHDL 地语法已经不太娴熟了,因此在复习 VHDL 硬件编程地基础上着重对语法进行了复习和记忆 .例如 case-is-when
8、 语句和 if-then-elsif 语句等 .然后,此试验中主要涉及地两个学问:模 m 计数器和二分频计数器 .m 地值是由 k 来打算地,也就是由开关来掌握 .而对信号二分频地时候,需要设定一个变量,在计数值加到 m 地时候对信号进行翻转,从而达到分频目地 .另外,是在对 ISP 器件地使用上 .以前只有一次试验实践操作过 ISP 器件,那时是在老师一步一步指导下进行操作,明白得并不是很全面很深化.这次完全是自己来操作了,所以对每一个步骤都会很留意 .对该软件地使用上也显现过一些错误,多次重来后解决 .七、本次试验地收成 作为学校期数字规律课程设计地第一个试验,充分表达了其基础性和概括性
9、.为了对程序有更好 地把握,不仅复习了一学期前所学习地 VHDL 地学问,更在此基础上扩宽了对 VHDL 地懂得和熟识,学到了更多地学问 .最重要地,是体会到了学以致用地乐趣 .另外,对在系统编程了设计流程也有了肯定地把握,对 ISP 器件地使用也有肯定地熟识 .作为一个开 始地基础试验,学到地东西仍是挺多地 .试验二:简易频率计一、试验目地名师归纳总结 - - - - - - -第 4 页,共 33 页精选学习资料 - - - - - - - - - 把握较复杂规律地设计和调试 . 把握用 VHDL语言设计数字规律电路 . 把握 ispLEVER软件地使用方法 . 把握 ISP器件地使用 .
10、 明白频率计地初步学问 . 二、试验所用器件和设备在系统可编程规律器件 ISP1032 一片示波器 一台万用表或规律笔 一只TEC-5试验系统,或 TDS-2B数字电路试验系统 一台三、试验内容设计一个简易频率计,用于测量 1MHz 以下数字脉冲信号地频率 .闸门只有 1s 一档 .测量结果在数码管上显示出来 .不测信号脉宽 .用一片 ISP 芯片实现此设计,并在试验台上完成调试,建议设计采用 VHDL语言编写 .四、设计思路频率计地基本工作原理如下:第一产生一系列精确闸门信号,例如1ms,0.1s 和 1s 等.然后用这些闸门信号掌握一个计数器对被测脉冲信号进行计数,最终将结果显示出来 .假
11、如闸门信号是 1s,那么 1s 内计数地结果就是被测信号地频率 .假如闸门信号是 1ms,那么计数结果是被测信号频率地千分之一,或者说结果是以 kHz 为单位地频率值 .频率计中,最原始地时基信号精确度肯定要高 .建议用试验台上地 5kHz 时钟信号做原始时基信号 . 1s 地闸门信号,由5kHz 时钟经 5K 分频后,再经2 分频产生 .这样产生地闸门信号脉宽是1s,占空比是 50%.在 2s 地时间内, 1s 用于计数, 1s 用于显示结果 .用于被测信号计数地计数器应采纳十进制 .测得地结果可直接送试验台上地 6 个数码管显示 .每次对被测信号计数前,计数器应被清零 .图 2-1 简易频
12、率计原理图 图 2-2 简易频率计模块设计五、设计方案模块:顶层模块LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_unsigned.all;名师归纳总结 - - - - - - -第 5 页,共 33 页精选学习资料 - - - - - - - - - ENTITY frequency is portclk1,clk2:in std_logic ; -clk1 为 5kHz 地原始时基信号 ,clk2 为被测信号 dout:out std_logic_vector19 downto 0; -输出至低 5 位数码管 dec
13、:out std_logic_vector6 downto 0 ; -译码结果送最高位数码管 end frequency ;ARCHITECTURE art of frequency is component counter10 - 十进制计数器元件声明 port clk,cd,en:in std_logic ; -clk 时钟 ,cd 清零 ,en 使能 qout:out std_logic_vector3 downto 0 ; -计数输出 cout:out std_logic; -进位输出 end component ; signal temp:std_logic_vector19 dow
14、nto 0 ; -十进制计数结果地低 5 位 signal dec_temp:std_logic_vector3 downto 0 ; -十进制计数结果地最高位 signal c:std_logic_vector5 downto 0 ; -计数器每一位地进位信号 signal gate_sig,clr:std_logic; -闸门信号 ,清零信号 signal count:integer range 0 to 4999 ; -用于产生闸门信号时计数 begin u1:counter10 PORT MAP clk2,clr,gate_sig,temp3 downto 0,c0 ; -6 个十进制
15、计数器 u2:counter10 PORT MAP c0,clr,gate_sig,temp7 downto 4,c1 ; -低位计数器进位信号作 u3:counter10 PORT MAP c1,clr,gate_sig,temp11 downto 8,c2 ; -为高位计数器时钟信号 u4:counter10 PORT MAP c2,clr,gate_sig,temp15 downto 12,c3 ; u5:counter10 PORT MAP c3,clr,gate_sig,temp19 downto 16,c4 ; u6:counter10 PORT MAP c4,clr,gate_s
16、ig,dec_temp3 downto 0,c5 ; PROCESS1:processclk1 -对 5kHz 原始信号进行 begin if clk1event and clk1=1 then if count=4999 then count=0;5000 分频 ,再进行 2 分频 ,产生闸门信号 gate_sig=not gate_sig; -“翻转 ” 闸门信号 ,实现闸门信号占空比 50% else count=count+1; end if; end if; end process PROCESS1 clr=0 when count=4999 and gate_sig=0 else
17、- 在计数前对计数器清零 1; dout dec dec dec dec dec dec dec dec dec dec dec=0000000 ; end case; end process PROCESS2end art ;模块:一位十进制计数器(8421 码)LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_unsigned.all;ENTITY counter10 is portclk,cd,en:in std_logic ; -clk 时钟 ,cd 清零 ,en 使能 qout:out std_logic_vect
18、or3 downto 0 ; -计数输出 cout:out std_logic ; -进位输出 end counter10 ;ARCHITECTURE art of counter10 is signal temp:std_logic_vector3 downto 0 ;begin processclk,en,cd begin if cd=0 then -cd 有效计数器清零 temp=0000 ; elsif clkevent and clk=0 then - 时钟下降沿触发 if temp=1001 and en=1 then - 使能有效时计数 ,无效时停止计数 temp=0000; e
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 数字 逻辑 实验 报告
限制150内