数字逻辑课程设计报告
数字逻辑综合设计实验报告
数字逻辑综合设计实验报告本次数字逻辑综合设计实验旨在通过集成数字电路设计的各项技能,实现课程中所学的数字逻辑电路的设计和应用。
本文将从实验流程、实验过程和实验结果三个方面进行详细阐述。
一、实验流程1.确定实验内容和目的。
2.设计电路,包括逻辑门、时序电路和其他数字电路。
3.将电路图转化为器件链路图。
4.验证器件是否可以直接连接,确定器件安装方式。
5.安装器件,焊接电路板。
6.进行测试和调试,确认电路是否可以正常工作。
7.完成实验报告并提交。
二、实验过程1.确定实验内容和目的本次实验的内容是建立一个多功能的数字电路,实现数字电路的常见功能,包括计数器、时序控制器等。
本次实验的目的是通过对数字电路设计的综合应用,提高学生对数字电路设计的实践能力。
2.设计电路在确定实验内容和目的之后,我们需要对电路进行设计。
为了实现功能的复杂性,我们设计了一个包含多个逻辑门、计数器和其他数字电路的复杂电路。
3.将电路图转化为器件链路图在完成电路设计后,我们需要将电路图转化为器件链路图。
我们需要根据电路设计中使用的器件类型和数量来确定器件链路图。
在转化过程中,我们需要考虑器件之间的连接方式、信号传输、电源连接等因素。
4.验证器件是否可以直接连接,确定器件安装方式对于电路板的安装和器件之间的连接问题,我们需要进行仔细的测试和验证。
只有当所有器件都可以无误地连接到电路板上并正常工作时,我们才能确定最佳的器件安装方式。
5.安装器件,焊接电路板完成以上所有的测试和验证后,我们可以开始完成电路板的安装。
在安装过程中,我们需要仔细按照器件链路图和设计图来进行布线和连接。
最后,我们需要进行焊接,确保连接性能和电路板的可靠性。
6.进行测试和调试,确认电路是否可以正常工作完成器件安装和焊接后,我们需要进行测试和调试。
我们需要检查每个部分的性能和功能,以确保电路可以正常工作。
如果我们发现任何错误或问题,我们需要进行进一步的调试和修复。
7.完成实验报告并提交。
数字逻辑设计实验报告
一、实验目的1. 理解和掌握数字逻辑设计的基本原理和方法。
2. 熟悉数字电路的基本门电路和组合逻辑电路。
3. 培养动手能力和实验技能,提高逻辑思维和解决问题的能力。
4. 熟悉数字电路实验设备和仪器。
二、实验原理数字逻辑设计是计算机科学与技术、电子工程等领域的基础课程。
本实验旨在通过实际操作,让学生掌握数字逻辑设计的基本原理和方法,熟悉数字电路的基本门电路和组合逻辑电路。
数字逻辑电路主要由逻辑门组成,逻辑门是数字电路的基本单元。
常见的逻辑门有与门、或门、非门、异或门等。
根据逻辑门的功能,可以将数字电路分为组合逻辑电路和时序逻辑电路。
组合逻辑电路的输出只与当前输入有关,而时序逻辑电路的输出不仅与当前输入有关,还与之前的输入有关。
三、实验内容1. 逻辑门实验(1)实验目的:熟悉逻辑门的功能和特性,掌握逻辑门的测试方法。
(2)实验步骤:① 将实验箱中的逻辑门连接到测试板上。
② 根据实验要求,将输入端分别连接高电平(+5V)和低电平(0V)。
③ 观察输出端的变化,记录实验数据。
④ 分析实验结果,验证逻辑门的功能。
2. 组合逻辑电路实验(1)实验目的:掌握组合逻辑电路的设计方法,熟悉常用组合逻辑电路。
(2)实验步骤:① 根据实验要求,设计组合逻辑电路。
② 将电路连接到实验箱中。
③ 根据输入端的不同组合,观察输出端的变化,记录实验数据。
④ 分析实验结果,验证电路的功能。
3. 时序逻辑电路实验(1)实验目的:掌握时序逻辑电路的设计方法,熟悉常用时序逻辑电路。
(2)实验步骤:① 根据实验要求,设计时序逻辑电路。
② 将电路连接到实验箱中。
③ 观察电路的输出变化,记录实验数据。
④ 分析实验结果,验证电路的功能。
四、实验结果与分析1. 逻辑门实验结果:通过实验,验证了逻辑门的功能和特性,掌握了逻辑门的测试方法。
2. 组合逻辑电路实验结果:通过实验,掌握了组合逻辑电路的设计方法,熟悉了常用组合逻辑电路。
3. 时序逻辑电路实验结果:通过实验,掌握了时序逻辑电路的设计方法,熟悉了常用时序逻辑电路。
数字逻辑课程设计报告(猜数字游戏)
滁州学院课程设计报告课程名称:数字逻辑课程设计设计题目:猜数字游戏的设计院部:计算机与信息工程专业:网络工程组别:第五组起止日期: 2012年5月28日~2012年6月15日****:***计算机与信息工程学院二○一二年、课程设计任务书目录1 引言 (4)2 需求分析 (4)2.1.题目 (4)2.2.设计要求与目的 (4)2.3.设计思想概述 (4)2.3.1器件选择 (4)2.3.2系统分析 (5)2.4运行环境 (5)3 概要设计 (5)4 详细设计 (6)4.1完成此实验需要的芯片及其功能 (6)4.2实验步骤 (8)5 调试与操作说明 (9)6 课程设计总结与体会 (13)7致谢 (13)8 参考文献 (14)9 附录 (14)1 引言当今社会中,数字时代已经成为一种现实,并且无时无刻不在影响着人们的日常生活,作为数字世道最基本的课程——数字电子电路,更无疑具有着基础的作用,而数字电路课程设计便是培养这种能力,掌握这门课程的一种很好的实践,更是对培养学生理论联系实际的实际动手能力,严谨的实验作风有着重要的意义。
数字游戏设计作为近年来快速发展的新兴学科,具有前沿性、交叉性等特征,具有其自身的技术要求、艺术特性和创新规律,具有成熟的学科基础和明确的学科定位,已经具备设立独立专业的基本条件。
而笔者立足于《数字逻辑》这门课程的知识体系,力求通过本学科的一些知识对猜数字游戏显示电路进行模拟和作出一些分析改进。
希望通过本次设计实践,达到三个目的,一是用已学的知识对猜数字游戏控制电路进行详尽的分析与模拟;二是锻炼自己的动手实践能力;三是在设计进行中进行模块划分,培养我们的模块化设计意识,同时加强团队合作能力。
2 需求分析2.1 题目:猜数字游戏的设计2.2 设计要求与目的:⑴猜数字游戏由若干个按键、若干个发光二极管。
⑵输入为六位二进制数,用单刀双掷开关来输入,当输入结束后,按确认键进行比较,如果与存储的数字相同则绿灯亮,如果输入比存储值大,则蓝灯亮,如果输入比存储值小,则黄灯亮,可以继续输入数字并验证。
课程设计报告:16选1选择器---数字逻辑课程设计
课程设计报告课程名称数字逻辑课程设计课题任务一 16选1选择器设计课题任务二 JK触发器的设计专业网络工程班级 1102 学号 21 姓名张宏磊指导教师刘洞波陈华光陈多2012年 12月 27日课程设计任务书课程名称数字逻辑课程设计课题任务一 16选1选择器设计课题任务二 JK触发器的设计专业班级网络工程学生姓名 1102 学号 21 指导老师刘洞波邓作杰陈多审批任务书下达日期: 2012年 12月 27日任务完成日期:2013年 01月 11日目录一、16选1选择器的功能...................................1.函数真值表.............................................2.函数电路图.............................................3.函数表达式.............................................二、详细设计..............................................1.创建项目................................................ 2.VHDL文本设计语言输入...................................3.编译功能界面............................................4.编译成功................................................5. 打开波形编辑器窗口.......................................6.对应结点查找..............................................7.综合编译形成网表..........................................三、程序功能调试............................................1.进入波形仿真功能.........................................2.给定输入信号.............................................3.进行时序仿真.............................................4.生成波形图...............................................四、心得体会...............................................------------------------------------------------------------------一、JK触发器的主要功能....................................1.特性方程................................................ 2.真植表.................................................. 3.函数逻辑电路图..........................................二、详细设计................................................. 1.创建项目..........................................2.输入文本语言程序进行编译................................. 3.编译成功,选择波形编辑器功能............................. 4.进行仿真设置............................................. 5.查找对应结点............................................ 6.形成综合后网表...........................................三、程序功能调试............................................ 1.给定输入................................................. 2.进入波形仿真............................................. 3.形成仿真波形.............................................四、心得体会................................................五、附录................................................... 1.16选1选择器设计源代码.................................. 2.JK触发器设计源代码...................................... 3.参考书目................................................ 4.课程设计评分表..........................................一、16选1选择器的主要功能数据选择器是常用的组合逻辑部件之一。
数字逻辑课程设计报告
一、对讲机的工作原理如下1、发射部分:锁相环和压控振荡器(VCO)产生发射的射频载波信号,经过缓冲放大,激励放大、功放,产生额定的射频功率,经过天线低通滤波器,抑制谐波成分,然后通过天线发射出去。
2、接收部分:接收部分为二次变频超外差方式,从天线输入的信号经过收发转换电路和带通滤波器后进行射频放大,在经过带通滤波器,进入一混频,将来自射频的放大信号与来自锁相环频率合成器电路的第一本振信号在第一混频器处混频并生成第一中频信号。
第一中频信号通过晶体滤波器进一步消除邻道的杂波信号。
滤波后的第一中频信号进入中频处理芯片,与第二本振信号再次混频生成第二中频信号,第二中频信号通过一个陶瓷滤波器滤除无用杂散信号后,被放大和鉴频,产生音频信号。
音频信号通过放大、带通滤波器、去加重等电路,进入音量控制电路和功率放大器放大,驱动扬声器,得到人们所需的信息。
3、调制信号及调制电路:人的话音通过麦克风转换成音频的电信号,音频信号通过放大电路、预加重电路及带通滤波器进入压控振荡器直接进行调制。
4、信令处理:CPU产生CTCSS/DTCSS信号经过放大调整,进入压控振荡器进行调制。
接收鉴频后得到的低频信号,一部分经过放大和亚音频的带通滤波器进行滤波整形,进入CPU,与预设值进行比较,将其结果控制音频功放和扬声器的输出。
即如果与预置值相同,则打开扬声器,若不同,则关闭扬声器。
对讲机有频率限制为保证绝大多数用户通话不受干扰以及合理地利用频率资源,国家无线台管理委员会对频率的使用进行了划分,规定不同的行业使用相应的频率范围。
用户在购买对讲机的时候,要向当地的无线电管理委员会申请频点。
二、1008型对讲机简述1008型调频对讲收音机,其原理相对比较简单,核心芯片是La1800,即收音接收专用集成电路,功放部分采用的是D2822芯片。
总体可分为发射部分和接收部分,发射部分由锁相环和压控振荡器(VCO)产生发射的射频载波信号,经过缓冲放大、激励放大、功放,产生额定的射频功率,经过天线低通滤波器,抑制谐波成分,然后通过天线TX发射出去。
数字逻辑课程设计报告(优秀版)
目录目录 (1)一、设计目的 (2)二、设计要求 (2)三、设计方案 (2)四、顶层图及相关模块说明 (3)1、顶层图 (3)2、各模块说明(1)进制模块 (3)a、二十四进制 (5)b、六十进制 (5)(1)动态扫描模块 (6)(2)分频模块 (8)(3)报时模块 (9)(4)二路选择器模块 (10)五、经验总结 (12)一、设计目的1.学会应用数字系统设计方法进行电路设计;2.进一步提高QuartusⅡ9.0软件的开发应用能力;3.培养学生书写综合实验报告的能力。
二、设计要求1、能进行正常的时、分、秒计时,用动态扫描的方式显示,需用6个数码管。
(1)用M6M5进行24进制小时的显示。
(2)用M4M3进行60进制分的显示。
(3)用M2M1进行60进制秒的显示。
2、利用按键实现“校时”、“校分”和“秒清0”功能。
(1)SA:校时键。
按下SA键时,时计数器迅速递增,按24小时循环,并且计满23时回到00。
(2)SB:校分键。
按下SB键时,分计数器迅速递增,按60小时循环,并且计满59时回到00,但不向时进位。
(3)SC:秒清零。
按下SC时,秒计数器清零。
要求按键均不产生数字跳变,因此须对“SA”、“SB”进行消抖处理。
3、能进行整点报时。
(1)在59分50、52、54、56、58秒按500Hz频率报时;(2)在59分60秒用1KHz的频率作最后一声正点报时。
4、更高要求:能进行闹时功能(1)闹时的最小时间间隙为10分钟,闹时长度为1分钟。
闹时频率可以自己设置。
(2)按下闹时按键SD后,将一个闹时时间数存入计数器内。
时钟正常运行时,闹时时间和运行的时间进行比较,当比较结果相同时输出一个启动信号,触发闹时电路工作,输出音频信号。
三、设计方案1、按自顶向下的层次化设计方法设计。
(1)顶层图(2)消抖电路用D触发器构成,SA、SB、SC为包含抖动的输入信号,而电路的输出则是一个边沿整齐的输出信号。
(3)计时(24进制计数器),计分(60进制计数器)、计秒(60进制计数器)模块可由10进制计数器连接构成,也可用VHDL语言完成。
数字逻辑课程设计完整报告(精编文档).doc
【最新整理,下载后即可编辑】一、概述智能抢答器是一种生活中常见的装置,电视节目中都可以看得到,是一种简易但又特别实用的一种装置。
本次我的课程设计的要求是设计一个智力竞赛抢答装置,可以供4人(组)使用,并且每人对应着一个开关,每个开关对应着一个发光二极管,当选手抢答成功时,所对应的发光二极管就会亮,主持人也有一个开关,当主持人按下自己开关使,选手才可以抢答,比赛才开始,并且计时器开始计时,如果在2分钟时间内没有选手抢答,那么这道题作废,主持人断开自己开关,再进行下道题。
二、方案论证设计一个智能抢答器,可以供4人比赛,每人对应一个开关和发光二极管。
主持人控制一个开关,当主持人按下开关,抢答开始并且开始计时,如果2分钟内没有选手抢答,那么本题作废,主持人断开开关,进行下题。
方案一:方案一原理框图如图1所示。
图1 智力抢答器电路的原理框图方案二:方案二原理框图如图2所示。
图2 智力抢答器电路的原理框图本设计采用的是方案二,电路简单,易懂,更具性价比。
三、电路设计 1.抢答电路抢答电路是实现抢答功能,当主持人按下开关抢答开始,当最先开始选手按下开关并且对应发光二极管发光,而且其他选手抢答无效。
为实现功能当一个开关闭合同时其它开关处于断开状态时,输出高电平对应二极管发光,同时将其它三个二极管锁定为低电平,这三个开关失效。
图3 抢答电路2.计时电路计时器电路主要由三片74LS190N 构成。
将三片计数器芯片接成120进制的加法计数器并将初始值置为000,接收脉冲信号由000开始计时。
选手按钮显示电路译码电路 控制电路主持人按钮脉冲电路计时电路 报警电路表1 同步十进制加/减计数器74LS190N功能表的控制停止计数且保持当前数据不变;当LD′=0时,计数器不受CLK的控制预置数;当CTEN′=0,LD′=1,U′/D=0时计数器加法计数,CTEN′=0,LD′=1,U′/D=1时计数器减法计数;当低位计数器U8到9时进位,高位加1。
数字逻辑课程设计报告2
第10页目录2六.实验目的———————————————————————11 七.计数器(方法及步骤)—————————————————12 八.译码器(方法及步骤)—————————————————14 九.接连—————————————————————————15 十. 实验总结——————————————————————16六.实验目的目的1.熟悉IspLEVER软件的使用方法,学习与掌握MACH器件编程方法;2.用ABEL语言或其它硬件描述语言(Verilog 或VHDL语言)编程实现一个简单的电子琴或频率计;3.在ispLEVEL软件环境下,将设计好的程序输入、编译、连接,生成JEDEC格式的文件。
4.将JEDEC格式的文件下载到器件中。
要求1.初步掌握使用ABEL语言编程的方法,使用ABEL语言设计一个4位格雷码计数器或可逆十进制计数器,并进行编译、连接,生成JEDEC文件,将JEDEC文件通过GAL编程器写入GAL16V8,将GAL16V8插入TDS实验台,将计数器的输出接到电平指示灯,验证设计结果。
2.用ABEL语言(或VHDL语言)设计一个电子琴或一个频率计;将设计好的程序输入、编译、连接生成JED格式的文件;将JED格式的文件下载到器件中;在TDS实验台上对设计进行调试,连线、验证设计结果。
第11页七.计数器实验运行实验演示图第12页下载到芯片第13页八.译码器实验运行实验演示图第14页九.接连实验运行实验演示图第15页下载到芯片十.实验总结第一次接触到ispEVLER,对它没有一丁点的经验可言,这也是这次试验的困难的地方。
本次试验由于我没有好好的阅读实验指导书,在实验过程中出现了好多不懂的地方。
而且地闹上的工具都是英文的,我一点都都不懂。
在第一次的实验演示的时候就因为不太理解老师的讲解而没有跟上老师地进度,所以我第一天的任务没有完成,找了半天错误原因也没有找到,我只好第二天又重新做了一遍,这次我吸取教训认认真真的阅读了指导书的步骤和方法,然后一步一步的按部就班,最终在上课不久之后我很顺利的完成了任务,有了第一次的经验,在完成计数器和译码器的工程中,非常顺利和快速,同学们都是用了源代码仿真,但我对于源代码的输入太慢,所以我选择了画图的方式,在最后一步的接连过程中,由于我的两个子文件在两个文件夹中,老师说也没办法一起打开,无奈的我只好使用一个文件,再将另一个文件从新画了一遍。
数字逻辑课程设计报告
数字逻辑课程设计报告数字逻辑课程设计多功能数字钟班级:学号:课程设计人:指导老师:课题:完成时间:一、设计目的:学会应用数字系统设计方法进行电路设计,熟练地运用汇编语言。
二、设计任务及要求:1.记时、记分、记秒2.校时、校分、秒清03.整点报时4.时间正常显示5.闹时功能三、设计思路:将整个闹钟分为以下几个模块,每个模块中都有详细的各部分的设计思路,源代码及仿真图像,生成的器件。
1.计时模块计小时:24进制计数器计分、计秒:60进制计数器计时间过程:计秒:1HZ计数脉冲,0~59循环计数,计数至59时产生进位信号。
计分:以秒计数器进位信号作为分计数脉冲,0~59循环计数,59时产生进位。
计时:以分计数器进位信号作为时计数脉冲,0~23循环计数,23时清0。
二十四进制计数器代码:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt24 isport (clk:in std_logic;qh,ql:out std_logic_vector(3 downto 0));end cnt24;architecture behave of cnt24 issignal q1,q0:std_logic_vector(3 downto 0);beginprocess(clk)beginif(clk'event and clk='1')thenif(q1="0010" and q0="0011")thenq1<="0000";q0<="0000";elsif(q0="1001")thenq0<="0000";q1<=q1+'1';elseq0<=q0+'1';end if;end if;qh<=q1;ql<=q0;end behave;仿真结果:图一、cnt24仿真图像六十进制计数器代码:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt60 isport (clk:in std_logic;clr:in std_logic;ql,qh:out std_logic_vector(3 downto 0);c:out std_logic);end cnt60;architecture cnt of cnt60 issignal q1,q0:std_logic_vector(3 downto 0);beginprocess(clk,clr)beginif(clr='1')thenq1<="0000";q0<="0000";c<='0';elseif(clk'event and clk='1')thenif(q1="0101" and q0="1001")then-----到59 q1<="0000";q0<="0000";c<='1';elsif(q1<"0101" and q0="1001")thenq0<="0000";q1<=q1+'1';c<='0';elsif(q0<"1001") thenq0<=q0+'1';end if;end if;end if;qh<=q1;ql<=q0;end cnt;仿真结果:图二、cnt60仿真图像clk qh[3..0]ql[3..0] cnt24instclkclrql[3..0]qh[3..0]c cnt60inst1图三、生成的计数器符号2.校时模块:思路:按下校时键,时位迅速递增,满23清0按下校分键,分位迅速递增,满59清0注意:此时应屏蔽分进位。
数字逻辑与数字系统课程设计报告
课程设计报告课程:数字逻辑与数字系统课题:多功能数字电子钟姓名:学号:学院:班级:指导老师:设计日期:一、设计要求1.具有以二十四小时制计时、显示、整点报时、时间设置和闹钟的功能。
2.精度要求为1s。
二、系统功能简介1.计时:正常工作状态下每天按24小时制计时并显示,蜂鸣器无声,逢整点报时。
2.整点报时:蜂鸣器在59分钟的51、53、55、57秒时发出频率为512hz的低音,在59秒时发出1024hz的高音,结束时为整点。
3.显示:要求采用扫描显示方式驱动8个LED数码管显示小时、分、秒、横线。
4.闹钟:闹钟定时时间到,蜂鸣器发出周期1秒的“滴、滴”声,持续时间30秒钟。
5.调时和校时:按动开关mode使计时与闹钟时间显示切换。
按下按动set键进入“小时”定时状态,同时显示小时的两位闪烁,此时如果按下k键,小时进位;然后继续按set键“分钟”的两位闪烁,按下k键,分进位;再按下set键“秒“的两位闪烁,按下k键,秒清零。
闹钟调时方法类似。
三、系统简介1.开发系统:windows xp/982.开发软件:MAX+PIUS II3.开发芯片:EP1K10TC100—3四、主要模块简介此系统由控制器(crt)、计时调时模块(time)、闹钟模块(baoshi)、定时模块(dingshi)、动显模块(dongxian1)和分频模块(fenpin)组成。
数字钟系统总体结构框图:1.控制模块:此模块主要为控制系统整体变换的模块,有f4hz,k,set,reset,mode五个控制时钟输入,f4hz驱动控制模块,mode键是让闹钟显示和计时显示两种状态互相切换的。
当set有效时,小时闪烁,当按下k键时,小时进行校时加1;当继续按下set键时,分闪烁,当按下k键时,分进行校时加1;当继续按下set键时,秒闪烁,当按下k键时,秒清零,继续按下set键,回复正常计时状态。
当按下mode键时,进行计时和闹钟时间切换。
《数字逻辑》课程设计报告
内蒙古师范大学计算机与信息工程学院《数字逻辑》课程设计报告课题三智力竞赛抢答器逻辑电路设计计算机与信息工程学院 2008级计算机科学与技术非师范班王超指导教师戚桂美讲师摘要抢答器的设计分为抢答器和显示两部分。
实际进行智力竞赛时,尤其在抢答环节,一般是有4个参赛队,每个参赛队面前分别对应一个抢答按钮,各小组对主持人提出的问题,主持人没有宣布抢答开始时,抢答不起作用;在主持人宣布抢答开始后,可以进行,首先抢到的小组,用灯指示,此时其他组抢答将计无效。
关键词抢答器;时钟脉冲;蜂鸣器;1设计任务及主要技术指标和要求1.1设计任务可同时供4名选手(或代表队)参赛,其编号分别是1到4,各用一个抢答按钮,按钮的编号与选手的编号相对应。
给节目主持人设置一个控制开关,用来控制系统的清零(编号显示数码管灭灯)。
1.2、主要技术指标和要求抢答器具有数据锁存和显示的功能。
抢答开始后,若有选手按动抢答按钮,编号立即锁存,并数码管上显示选手的编号,同时扬声器给出声音提示;同时封锁输入电路,禁止其它选手抢答。
2引言智力竞赛是一种生动活泼的教育形式和方法,通过抢答和必答两种方式能引起参赛者和观众的极大兴趣,并且能在极短时间内,使人们增加一些科学知识和生活常识。
实际进行智力竞赛时,尤其在抢答环节,一般是有几个参赛队(例如4个),每个参赛队面前分别对应一个抢答按钮,各小组对主持人提出的问题,主持人没有宣布抢答开始时,抢答不起作用;在主持人宣布抢答开始后,可以进行抢答。
首先抢到的小组,用声、光指示,并且显示该小组的编号,此时其他组抢答将计无效。
3工作原理该电路由四个D触发器,与非门及脉冲触发电路等组成。
74LS74为双D触发器,其内部具有2个独立的D触发器。
两个74LS74组成4D触发器,输入端分别为D1,D2,D3,D4,输出端相应为Q1,Q1;Q2,Q2;Q3,Q3;Q4,Q4。
将4个触发器的时钟端连在一起组成一个总的时钟端(CP),将4个清除端连在一起组成一个总的清除端(CLR)。
数字逻辑课程设计实验报告
sending:发送状态标志,初始为0,开始发送后为1,发送完毕后置0
sendbit:发送位,在固定高电平段为1,在发送有效数据态时为发送位电平
fengming:标志是否成功发送的蜂鸣
clk1000:频率为1000HZ的时钟
b.接收模块流程图:
接受模块的设计基本和发送端基本相同。用计数器1对外接CP进行16分频产生时钟cp2,clear可以实现寄存器清零操作。接收到高电平后计数器2开始计数,大于0110后接收到的字节依次移位存入寄存器中。收到最后一位校验码后对接收到的数据作偶校验后根据校验结果显示“接受错”和蜂鸣。
d.传输的过程中,接收端的校验指示灯熄灭。当接收端接收0个数据后(1位校验码和8位数据位),接收端根据相应的校验方式来判断所接收的数据是否正确。接收端的校验指示灯亮,表示传输的数据正确;校验指示灯熄灭,表示传输的数据不正确。
三.实验环境介绍
1.软件平台介绍
本次实验采用ISP(在系统编程)技术。在系统编程技术(In-System Programmabile)技术是Lattice公司率先提出的一种先进的编程技术,是指对器件、电路板或整个逻辑系统的电子功能课随时进行修改或重构,这种修改或重构可以在产品设计、制造过程中的每个环节,甚至在交付用户之后进行。采用了isp技术之后,硬件设计就可以变得像软件那样灵活而且易于修改。这不仅扩展了器件的用途,缩短了系统的调试周期,也给目标设备的现场升级和维护工作带来了极大的方便。
本次实验主要用到可编程的ispLSI1032E芯片。
四.实验设计方案
1.设计方案Biblioteka 明红外线传输系统包括发送方和接受方两端,都可以单独进行初始化清零处理。在发送端可以设置准备发送的8bits的数据信息,连同一个奇偶校验位一起发送。接收端接受到8bits的数据信息和一位奇偶校验信息后,显示收到的数据信息和校验信息,并根据偶校验判定接收到的信息是否出错。实验时若无红外发送接收元件则可以用一根导线连接两端暂时代替。
北邮数字逻辑课程设计实验报告(可编辑)
北邮数字逻辑课程设计实验报告(可编辑)(文档可以直接使用,也可根据实际需要修改使用,可编辑推荐下载)实验四:电子钟显示一、实验目的(1)掌握较复杂的逻辑设计和调试。
(2)学习用原理图+VHDL语言设计逻辑电路。
(3)学习数字电路模块层次设计。
(4)掌握ispLEVER 软件的使用方法。
(5)掌握ISP 器件的使用。
二、实验所用器件和设备在系统可编程逻辑器件ISP1032 一片示波器一台万用表或逻辑笔一只TEC-5实验系统,或TDS-2B 数字电路实验系统一台三、实验内容数字显示电子钟1、任务要求(1)、时钟的“时”要求用两位显示;上、下午用发光管作为标志;(2)、时钟的“分”、“秒”要求各用两位显示;(3)、整个系统要有校时部分(可以手动,也可以自动),校时时不能产生进位;(4)*、系统要有闹钟部分,声音要响5秒(可以是一声一声的响,也可以连续响)。
VHDL源代码:LIBRARY ieee;----主体部分-ENTITY clock isport(clk,clr,put,clk1 : in std_logic; -- clr 为清零信号,put 为置数脉冲,clk1 为响铃控制时钟choice : in std_logic; --用来选择时钟状态的脉冲信号lighthour : out std_logic_vector(10 downto 0);lightmin : out std_logic_vector(7 downto 0);lightsec : out std_logic_vector(7 downto 0); --输出显示ring : out std_logic); --响铃信号end clock;--60进制计数器模块ARCHITECTURE func of clock iscomponent counter_60port(clock : in std_logic;clk_1s : in std_logic;putust : in std_logic;clr : in std_logic;load : in std_logic;s1 : out std_logic_vector(3 downto 0);s10 : out std_logic_vector(3 downto 0);co : out std_logic);end component;--24进制计数器模块component counter_24port(clock : in std_logic;clk_1s : in std_logic;putust : in std_logic;clr : in std_logic;load : in std_logic;s1 : out std_logic_vector(3 downto 0);s10 : out std_logic_vector(6 downto 0));end component;signal sec,a:std_logic; --- 2 分频产生1s信号signal l1,l2,l3:std_logic; ---判定对时间三部分修改signal c1,c2:std_logic; ---进位信号signal load:std_logic_vector(1 downto 0);signal temp:integer range 0 to 2499;signal temp1:integer range 0 to 95; --计数信号signal sec_temp:std_logic_vector(7 downto 0);--总进程beginu1 : counter_60 port map (sec,sec,put,clr,l1,sec_temp(3 downto 0),sec_temp(7 downto 4),c1); u2 : counter_60 port map (c1,sec,put,clr,l2,lightmin(3 downto 0),lightmin(7 downto 4),c2);u3 : counter_24 port map (c2,sec,put,clr,l3,lighthour(3 downto 0),lighthour(10 downto 4)); lightsec(7 downto 0)<=sec_temp(7 downto 0);--状态转换process (choice)beginif (choice'event and choice='1') thencase load iswhen "00" => l1<='0'; --非修改状态l2<='0';l3<='0';load<="01";when "01" => l1<='0'; --此状态下对小时进行修改l2<='0';l3<='1';load<="10";when "10" => l1<='0'; --此状态下对分钟进行修改l2<='1';l3<='0';load<="11";when others => l1<='1'; --此状态下对秒进行修改l2<='0';l3<='0';load<="00";end case;end if;end process;--计数进程process(clk)beginif (clk'event and clk='1') then --分频if (temp=2499) thentemp <= 0;sec<=not sec;elsetemp <= temp+1;end if;end if;end process;--响铃进程process(clk1)beginif(clk1'event and clk1='1') thenif (temp1=95) thentemp1<=0;a<=not a;elsetemp1<=temp1+1;end if;end if;end process;ring<=a when (c2='1' and sec_temp<5 and sec='1') else --5s整点响铃'0';end func;library IEEE;entity counter_60 isport (clock : in std_logic; --计数信号,即低位的进位信号或时钟脉冲信号clk_1s : in std_logic; --周期1s 的时钟信号putust : in std_logic; --调表置数信号clr : in std_logic; --清零load : in std_logic; --判定信号s1 : out std_logic_vector(3 downto 0); --计数器的个位s10 : out std_logic_vector(3 downto 0); --计数器的十位co : out std_logic );end counter_60;if(load=1 ) --防止脉冲产生进位co_ temp<=’0’;architecture func of counter_60 issignal s1_temp: std_logic_vector(3 downto 0);signal s10_temp : std_logic_vector(3 downto 0);signal clk,co_temp : std_logic;beginclk<=clock when load='0' elseputust;process (clk,clr)beginif (clr='1') thens1_temp <= "0000";s10_temp <= "0000";elsif (clk'event and clk='1')then --进位判断if (s1_temp=9) thens1_temp <= "0000";if (s10_temp=5) thens10_temp <= "0000";co_temp<='1';elseco_temp<='0';s10_temp <= s10_temp+1;end if;elseco_temp<='0';s1_temp <= s1_temp+1;end if;end process;s1 <= s1_temp when (clk_1s='1'or load='0') else"1111";s10 <= s10_temp when (clk_1s='1' or load='0') else"1111";co <= co_temp when (load='0') else'0';end func;library IEEE;--24进制计数器entity counter_24 isport(clock : in std_logic; --计数信号clk_1s : in std_logic; --周期1s 的时钟信号putust : in std_logic;clr : in std_logic; --清零信号load : in std_logic; --判定信号s1 : out std_logic_vector(3 downto 0); --计数器的个位s10 : out std_logic_vector(6 downto 0)); --计数器的十位end counter_24;architecture func of counter_24 issignal s1_temp : std_logic_vector(3 downto 0);signal s10_temp : std_logic_vector(1 downto 0);signal clk : std_logic;beginclk<=clock when load='0' elseprocess (clk,clr)beginif (clr='1') thens1_temp <= "0000";s10_temp <= "00";elsif (clk'event and clk='1') thenif (s1_temp=3 and s10_temp=2) then s1_temp <= "0000";s10_temp <= "00";elsif (s1_temp=9) thens1_temp<="0000";s10_temp<=s10_temp+1;elses1_temp <= s1_temp+1;end if;end if;end process;--显示进程process(s10_temp)beginif (clk_1s='1' or load='0') thencase s10_temp iswhen "00" => s10<="1111110";when "01" => s10<="0110000";when "10" => s10<="1101101";when others => null;end case;elses10<="0000000";end if;end process;s1 <= s1_temp when (clk_1s='1' or load='0') else"1111";end func;四、实验小结:注意当时钟处于被修改状态时,即对时、分、秒的值进行修改时,不应产生进位,产生很多莫名其妙的错误,如修改后有进位(分钟为00)时,或者自行到整点响铃后,再次给脉冲会进位的情况。
数字逻辑课程设计报告
数字逻辑与数字系统课程设计实验报告姓名:学号:专业班级:指导老师:一)设计题目:电子钟二)设计任务和基本要求:1.实验台上的六个数码管显示时、分、秒;2.能使电子钟复位(清零);3.能启动和停止电子钟运行;4.在电子钟停止运行状态下,能够修改时、分、秒的值;5.具有报时功能,整点时喇叭鸣叫。
三)所用主要器件和设备:1、TDS 系列数字电路实验系统2、ISP 系统可编程器件以及《数字逻辑》课程实验所用部分中、小规模集成电路等3、PC 计算机4、ISP1032E 可编程逻辑器件以及数据选择器、触发器、移位寄存器、计数器及基本门电路等5、在Windows 平台上运行的ispLEVER 编程软件四)设计思想:数字钟电路的基本结构由两个 60 进制计数器和一个24 进制计数器组成,分别对秒、分、小时进行计时,当计时到23 时59 分59 秒时,再来一个计数脉冲,则计数器清零,重新开始计时。
当数字钟处于计时状态时,秒计数器的进位输出信号作为分钟计数器的计数信号,分钟计数器的进位输出信号又作为小时计数器的计数信号时、分、秒的计时结果通过6 个数码管来动态显示。
数字钟除了能够正常计时外,还应能够对时间进行调整。
因此,通过模式选择信号MOD1、MOD2 控制数字钟的工作状态,即控制数字钟,使其分别工作于正常计时,调整分、时和设定分、时5 个状态。
当数字钟处于计时状态时,3 个计数器允许计数,且秒、分、时计数器的计数时钟信号分别为CLK,秒的进位, 分的进位;当数字钟处于调整时间状态时,被调的分或时会一秒一秒地增加;当数字钟处于定时状态时,可以设定小时和分;当计时到所设定的时刻时,会响闹钟五)设计步骤及程序:pause是暂停键,当暂停时set1与set2分别控制调节为时还是为分或是为秒。
exam提供一个模拟上升沿,hh,hl,mh,ml,sh,sl分别控制小时高位,低位,分钟高位,分钟低位,秒高位,低位。
thh,thl,tmh,tml,tsh,tsl分别表示时分秒变化的中间变量。
除法器数字逻辑课程设计报告
除法器数字逻辑课程设计报告数字逻辑课程设计报告:除法器一、设计背景在数字系统中,除法器是一个非常重要的组成部分。
在许多应用中,如计算、信号处理、控制系统等,都需要使用除法器来完成计算和控制任务。
因此,设计一个简单而有效的除法器是数字逻辑课程设计的一个重要内容。
二、设计目标本次课程设计的目标是设计一个基于二进制数的简单除法器。
该除法器应能够实现以下功能:1.输入被除数和除数;2.输出商和余数;3.实现二进制数的除法运算;4.能够处理正数和负数。
三、设计原理在二进制除法中,被除数和除数都表示为二进制数。
通过将除数从被除数的最高位开始逐位去除,得到商和余数。
在每次除法操作中,需要根据商和余数的值来决定下一步的操作。
具体来说,如果余数小于除数,则商加1并将余数左移一位;如果余数大于等于除数,则商为上一次的商并左移一位,同时将余数减去除数的值。
重复这个过程,直到被除数的所有位都被去除完毕,得到最终的商和余数。
四、设计方案根据上述设计原理,我们可以将除法器分为以下几个部分:1.输入电路:用于接收被除数和除数的输入信号;2.移位寄存器:用于保存被除数的值,并能够实现向左或向右的移位操作;3.减法器:用于计算余数和除数的差值;4.判断电路:用于判断余数的值是大于等于还是小于除数;5.输出电路:用于输出商和余数的结果。
五、设计实现根据设计方案,我们可以使用逻辑门(AND、OR、NOT等)来实现上述功能。
具体来说,我们可以使用一个4位移位寄存器来保存被除数的值,并使用一个2输入的减法器来实现余数的计算。
判断电路可以使用一个比较器来实现余数和除数的比较,并根据比较结果来控制移位寄存器和减法器的操作。
输出电路可以使用一个多路复用器来实现商和余数的输出。
六、测试与验证为了验证除法器的正确性,我们可以使用一些测试用例进行测试。
例如,我们可以使用一些已知的二进制数对除法器进行测试,检查输出的商和余数是否符合预期结果。
此外,我们还可以使用一些随机生成的测试用例来进一步验证除法器的正确性和可靠性。
数字逻辑课设报告
课程设计课程名称:数字逻辑综合设计名称:抢答器的设计2017年6月27日目录一、设计任务书 (3)二、设计要求 (5)三、设计的作用、目的 (5)四、设计的具体实现 (6)1.系统概述 (6)2.单元电路的设计,仿真与分析 (6)(1).抢答电路显示选手编号并锁存 (6)(2)定时电路 (10)(3)抢答器电源模块电路分析与设计 (13)3.电路的调试与安装17五、心得体会18六、附录20七、参考文献21八、图纸18理工大学课程设计任务书1.课程设计完成后,学生提交的归档文件应按照:封面—任务书—课程设计报告—图纸的顺序进行装订上交(大图纸不必装订)。
2.可根据实际容需要续表,但应保持原格式不变。
指导教师签名:日期抢答器设计报告二、设计要求此课程设计的具体要以LED数码管为显示器件,设计并实现一个可供四名选手参赛的数字式抢答器。
1.设计一个输出可在3~15V连续可调的直流稳压电源,要求当电网电压在220V 上下波动15%,输出电流在0~80mA围变化时,均可正常稳压,输出电压的变化不超过±0.3V。
2.主持人利用开关控制系统的清零和抢答开始。
3.电路具有第一抢答信号的鉴别和锁存功能,并显示抢中的选手编号。
4.在主持人将系统复位并发出抢答指令后,开始抢答,定时器开始工作,数码管显示时间,从30秒开始减计数,并有小灯亮起(说明可以答题,抢答有效)30秒无人抢答则计数停,无人答显示“0”。
如30秒参赛者按抢答开关,停止计时显示抢答时刻。
此时,电路应具备自锁功能,使其它组的抢答开关不起作用。
5.设置记分电路。
每组在开始预置成100分,抢答后由主持人记分,答对一次加10分,否则减10分。
三、设计的作用、目的通过本次设计与制作,进一步加深对电子系统应用技术方面的了解与认识,熟悉数字系统设计、制作与调试的方法和步骤,通过实践达到如下力:1.培养学生根据需要选学参考书,查阅手册,图表和文献资料的自学能力,通过独立思考﹑深入钻研有关问题,学会自己分析解决问题的方法。
数字逻辑电路课程设计报告_4路抢答器
数字逻辑电路课程设计报告题目名称: 4路抢答器系院:专业班级:学生姓名:完成日期:摘要数字抢答器由主体电路与扩展电路组成。
优先编码电路、锁存器、译码电路将参赛队的输入信号在显示器上输出;用控制电路和主持人开关启动报警电路, 以上两部分组成主体电路。
通过定时电路和译码电路将秒脉冲产生的信号在显示器上输出实现计时功能, 构成扩展电路。
经过布线、焊接、调试等工作后数字抢答器成形。
关键字: 开关阵列电路;触发锁存电路;解锁电路;编码电路;显示电路(1)一, 设计目的(2)本设计是利用已学过的数电知识, 设计的4人抢答器。
(3)重温自己已学过的数电知识;(2)掌握数字集成电路的设计方法和原理;(3)通过完成该设计任务掌握实际问题的逻辑分析, 学会对实际问题进行逻辑状态分配、化简;(4)掌握数字电路各部分电路与总体电路的设计、调试、模拟仿真方法。
(一)二, 整体设计(二)设计任务与要求:1.抢答器同时供4名选手或4个代表队比赛, 分别用4个按钮S0~ S3表示。
2.设置一个系统清除和抢答控制开关S, 该开关由主持人控制。
3.抢答器具有锁存与显示功能。
即选手按动按钮, 锁存相应的编号, 并在LED数码管上显示, 同时扬声器发出报警声响提示。
选手抢答实行优先锁存, 优先抢答选手的编号一直保持到主持人将系统清除为止。
4.参赛选手在设定的时间内进行抢答, 抢答有效, 定时器停止工作, 显示器上显示选手的编号和抢答的时间, 并保持到主持人将系统清除为止。
5.如果定时时间已到, 无人抢答, 本次抢答无效。
(三)设计原理与参考电路抢答器的组成框图抢答器的一般组成框图如下图所示。
它主要由开关阵列电路、触发锁存电路、解锁电路、编码电路和显示电路等几部分组成。
1.开关阵列电路: 该电路由多路开关所组成, 每一名竞赛者与一组开关相对应。
开关应为常开型, 当按下开关时, 开关闭合;当松开开关时, 开关自动弹出断开。
2.触发锁存电路: 当某一组开关首先被按下时, 触发锁存电路被触发, 在对应的输出端上产生开关电平信息同时为防止其他开关随后触发而造成输出紊乱, 最先产生的输出电平反馈到使能端上, 将触发电路封锁。
数字逻辑课程设计报告
数字逻辑课程设计报告一、课程目标知识目标:1. 让学生掌握数字逻辑电路的基本概念,包括逻辑门、逻辑函数、逻辑代数等;2. 培养学生运用逻辑门设计简单组合逻辑电路的能力;3. 使学生了解数字电路的时序元件,如触发器、计数器等,并掌握其工作原理。
技能目标:1. 培养学生运用所学知识分析、设计及验证数字逻辑电路的能力;2. 培养学生使用相关软件(如Multisim、Proteus等)进行数字电路仿真实验;3. 提高学生的逻辑思维和问题解决能力。
情感态度价值观目标:1. 激发学生对数字逻辑电路的兴趣,培养其主动探究、积极思考的学习态度;2. 培养学生的团队协作精神,使其在合作中共同进步,相互学习;3. 引导学生关注数字逻辑电路在实际应用中的价值,如计算机、通信等领域。
分析课程性质、学生特点和教学要求:本课程为电子信息类学科的基础课程,旨在让学生掌握数字逻辑电路的基本知识和技能。
学生处于高中阶段,具有一定的物理和数学基础,但逻辑电路知识尚浅。
因此,教学要求以实用性为导向,注重培养学生的实际操作能力和逻辑思维能力。
课程目标分解为具体学习成果:1. 学生能够正确描述常见逻辑门的功能和特点,并运用逻辑门设计简单的组合逻辑电路;2. 学生能够运用时序元件设计基本的数字电路,如触发器、计数器等;3. 学生能够在团队协作中完成数字电路的设计、仿真和验证,提高解决问题的能力;4. 学生能够认识到数字逻辑电路在实际应用中的重要性,培养其学习兴趣和价值观。
二、教学内容根据课程目标,教学内容主要包括以下几部分:1. 数字逻辑电路基本概念- 逻辑门原理与分类(教材第1章)- 逻辑函数及其表示方法(教材第2章)- 逻辑代数基本运算与化简(教材第3章)2. 组合逻辑电路设计- 组合逻辑电路分析方法(教材第4章)- 常见组合逻辑电路设计(教材第5章)- 组合逻辑电路的仿真与验证(教材第6章)3. 时序逻辑电路设计- 触发器原理与分类(教材第7章)- 计数器设计与应用(教材第8章)- 时序逻辑电路的仿真与验证(教材第9章)4. 数字电路实践操作- 实验一:逻辑门功能验证(教材附录A)- 实验二:组合逻辑电路设计与仿真(教材附录B)- 实验三:时序逻辑电路设计与仿真(教材附录C)教学大纲安排与进度:第1-2周:数字逻辑电路基本概念(第1-3章)第3-4周:组合逻辑电路设计(第4-6章)第5-6周:时序逻辑电路设计(第7-9章)第7-8周:数字电路实践操作(附录A、B、C)三、教学方法针对本课程的教学目标和内容,选择以下多样化的教学方法,以激发学生学习兴趣和主动性:1. 讲授法:- 用于讲解数字逻辑电路的基本概念、原理和性质,如逻辑门、逻辑函数、逻辑代数等;- 结合多媒体演示,使抽象的理论知识形象化,便于学生理解。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字逻辑课程设计报告数字逻辑课程设计多功能数字钟班级:学号:课程设计人:指导老师:课题:完成时间:一、设计目的:学会应用数字系统设计方法进行电路设计,熟练地运用汇编语言。
二、设计任务及要求:1.记时、记分、记秒2.校时、校分、秒清03.整点报时4.时间正常显示5.闹时功能三、设计思路:将整个闹钟分为以下几个模块,每个模块中都有详细的各部分的设计思路,源代码及仿真图像,生成的器件。
1.计时模块计小时:24进制计数器计分、计秒:60进制计数器计时间过程:计秒:1HZ计数脉冲,0~59循环计数,计数至59时产生进位信号。
计分:以秒计数器进位信号作为分计数脉冲,0~59循环计数,59时产生进位。
计时:以分计数器进位信号作为时计数脉冲,0~23循环计数,23时清0。
二十四进制计数器代码:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt24 isport (clk:in std_logic;qh,ql:out std_logic_vector(3 downto 0));end cnt24;architecture behave of cnt24 issignal q1,q0:std_logic_vector(3 downto 0);beginprocess(clk)beginif(clk'event and clk='1')thenif(q1="0010" and q0="0011")thenq1<="0000";q0<="0000";elsif(q0="1001")thenq0<="0000";q1<=q1+'1';elseq0<=q0+'1';end if;end if;qh<=q1;ql<=q0;end behave;仿真结果:图一、cnt24仿真图像六十进制计数器代码:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt60 isport (clk:in std_logic;clr:in std_logic;ql,qh:out std_logic_vector(3 downto 0);c:out std_logic);end cnt60;architecture cnt of cnt60 issignal q1,q0:std_logic_vector(3 downto 0);beginprocess(clk,clr)beginif(clr='1')thenq1<="0000";q0<="0000";c<='0';elseif(clk'event and clk='1')thenif(q1="0101" and q0="1001")then-----到59 q1<="0000";q0<="0000";c<='1';elsif(q1<"0101" and q0="1001")thenq0<="0000";q1<=q1+'1';c<='0';elsif(q0<"1001") thenq0<=q0+'1';end if;end if;end if;qh<=q1;ql<=q0;end cnt;仿真结果:图二、cnt60仿真图像clk qh[3..0]ql[3..0] cnt24instclkclrql[3..0]qh[3..0]c cnt60inst1图三、生成的计数器符号2.校时模块:思路:按下校时键,时位迅速递增,满23清0按下校分键,分位迅速递增,满59清0注意:此时应屏蔽分进位。
按清0键,秒清0。
脉冲按键S1~S8、拨动开关K1~K12任选三个。
两个问题:(1)如何实现校对时间时,计数器快速递增?按键校对时间时,将一个频率较高的计数脉冲信号作用于计数器,屏蔽正常计时的计数脉冲信号。
(2)如何消除“抖动”?电路抖动:一次按键的弹跳现象,电路产生多个计数脉冲,导致一次按键,多次计数的误动作。
抖动产生的原因:物理原因。
消除的简易方法:D触发器,同步按键脉冲。
3.整点报时模块:从59分50秒开始,每2秒一次低音报时;当达到整点时,进行一次高音报时。
低音:频率可定为500HZ;高音:频率可定为1KHZ。
报时效果:报时脉冲接扬声器输入,引脚号:N6。
整点报时器件代码use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity alert_31 isport(m1,m0,s1,s0:in std_logic_vector(3 downto 0);siga,sigb:out std_logic);end alert_31;architecture alert of alert_31 isbeginsiga<='1'when(m1="0101" and m0="1001" and s1="0101" and (s0="0000" or s0="0010" or s0="0100" or s0="0110" or s0="1000"))else'0';sigb<='1'when(m1="0000" and m0="0000" and s1="0000" and s0="0000")else'0';end alert;仿真结果:图四、整点报时模块,低频率报时mh[3..0] ml[3..0] sh[3..0] sl[3..0]sig500 sig1kzdbsinst7图五、整点报时器件符号4、分频模块:设计一个进制较大的计数器,分频产生各种频率的脉冲信号。
代码:use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity freq_divider isport (clk:in std_logic;hz512,hz64,hz4,hz1:out std_logic);End freq_divider;architecture beh of freq_divider issignal cc: std_logic_vector(9 downto 0);beginprocess(clk)beginif(clk'event and clk='1') thenif(cc="1111111111")thencc<="0000000000";elsecc<=cc+1;end if;end if;end process;hz512<=cc(0);hz64<=cc(3);hz4<=cc(7);hz1<=cc(9);end beh;仿真结果:f req_div iderclk hz1hz4hz64hz512inst图六、分频器仿真及生成器件符号5.动态扫描显示模块:动态模式下,8个数码管连接同个七段码,需要进行分时控制的动态扫描显示。
七段译码器代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY dtsm isport(clk:in std_logic;h:in std_logic_vector(7 downto 0);m:in std_logic_vector(7 downto 0);s:in std_logic_vector(7 downto 0);seg7out:out std_logic_vector(6 downto 0);sel:buffer std_logic_vector(2 downto 0));END dtsm;ARCHITECTURE beha of dtsm issignal key:std_logic_vector(3 downto 0);BEGINPROCESS(clk)variable dount:std_logic_vector(2 downto 0):="000";BEGINIF(rising_edge(clk))thenIF dount="101" thendount:="000";ELSEdount:=dount+1;END IF;END IF;sel<=dount;end process;PROCESS(sel)BEGINCASE sel ISwhen "000"=>key<=h(7 downto 4);when "001"=>key<=h(3 downto 0);when "010"=>key<=m(7 downto 4);when "011"=>key<=m(3 downto 0);when "100"=>key<=s(7 downto 4);when "101"=>key<=s(3 downto 0);when others=>null;END CASE;END PROCESS;PROCESS (key)BEGINcase key iswhen"0000"=>seg7out<="0111111";when"0001"=>seg7out<="0000110";when"0010"=>seg7out<="1011011";when"0011"=>seg7out<="1001111";when"0100"=>seg7out<="1100110";when"0101"=>seg7out<="1101101";when"0110"=>seg7out<="1111101";when"0111"=>seg7out<="0000111";when"1000"=>seg7out<="1111111";when"1001"=>seg7out<="1101111";when"1010"=>seg7out<="1110111";when others=>null;END CASE;END PROCESS;END beha;器件生成:图七、动态扫描器件6.闹时模块:多路选择器源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity alarmset isport(sel:in std_logic;hclo,mclo,sclo,halr,malr,salr: in std_logic_vector(7 downto 0);h,s,m:out std_logic_vector(7 downto 0));end alarmset;architecture beh of alarmset isbeginprocess(sel)beginif(sel='0')then h<=hclo;m<=mclo;s<=sclo;else h<=halr;m<=malr;s<=salr;end if;end process;end beh;数值比较器代码:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity alarmcmp isport( h,m,halr,malr: in std_logic_vector(7 downto 0); stop:in std_logic;sig:out std_logic);end alarmcmp;architecture beh of alarmcmp isbeginprocess(h,m,halr,malr,stop)beginif stop='1'thensig<='0';end if;if h=halr and m=malr and stop='0' thensig<='1';else sig<='0';end if;end process;end beh;器件生成:selhclo[7..0]mclo[7..0]sclo[7..0]halr[7..0]malr[7..0]salr[7..0]h[7..0]s[7..0]m[7..0]alarmsetinsth[7..0]m[7..0]halr[7..0]malr[7..0]stopsigalarmcmpinst2图八、多路选择器和数值比较器四、顶层图:图九、顶层图六、设计中遇到的问题及解决方法:问题1、第一次下载仿真时,秒不动,按下清零键自动计时,松开又自动清零。