第一篇:数字电路与系统课程设计-设计8位串行数字锁电路
大连理工大学城市学院
大连理工大学城市学院
数字电路与系统课程设计
设计题目:设计
8位串行密码锁
8位串行数字锁电路
学 院:电子与自动化学院
专 业:
学 生:
同 组 人:
指导教师:
完成日期:2015年4月20日 大连理工大学城市学院
第一章 设计任务
1.1项目名称:设计8位串行数字锁电路
本项目的主要内容是设计并实现8位串行数字锁电路。该电路将所学的数字电路与系统大部分知识和VHDL语言结合。
1.2项目设计说明:本项目用来实现设计8位串行数字锁电路
1.2.1设计任务和要求
⑴开锁代码为8位二进制数,当输入代码的位数和位值与锁内给定的密码一致,且按规定程序开锁时,方可开锁,并点亮开所指示灯LT。否则,系统进入“错误”状态,并发出报警信号。
⑵开锁程序由设计者确定,并要求锁内给定的密码是可调的,且预置方便,保密性好。
⑶串行数字锁的报警方式是点亮指示灯LF,并使喇叭名叫来报警,直到按下复位开关,报警才停止。此时,数字锁又自动进入等待下一次开锁的状态。1.2.2进度安排
第一次课:预答辩,制定计划分组 第二次课:详细设计 第三,四次课:设计,编程,调试 第五次课:程序测试机,硬件连续调试 第六次课:普通题检查 第七次课:答辩
8位串行密码锁 大连理工大学城市学院
第二章 需求分析
2.1设计原理
数字密码锁原理框图如图1所示。由时钟脉冲发生器、按键、指示灯和控制部分等组成。开关的消抖动电路放在控制部分考虑,时钟输入CLK由外部时钟脉冲发生器的输出提供。设计中的指示灯就是发光二极管,共计10个,用来指示系统的工作状态。其中8个为一组,用来显示已经输入密码的个数,剩余两个,一个为开锁绿色指示灯LT;另一个为报警红色指示灯LF。控制部分是VHDL语言设计的核心部分,主要由方波生成模块FEN、消抖同步模块XIAOPRO和密码锁逻辑控制模块CORNAA这4个模块构成,可以完成密码的修改、设定及非法入侵报警、驱动外围电路等功能。
2.2分解设计
本设计主要包括方波生成模块,消抖同步模块和密码锁逻辑控制模块方波生成模块FEN分频占空比为1:5000000的方波,用于
8位串行密码锁 大连理工大学城市学院
消除抖动。消抖同步模块实现了消除抖动并且同步的功能。密码锁逻辑控制模块是整个设计的核心,它实现密码锁的逻辑功能。
第三章系统功能模块设计
3.1系统流程图
8位串行密码锁
大连理工大学城市学院
3.2输入输出信号定义
表1 数字密码锁控制器输入输出信号定义
3.3模块功能
3.31模块一:方波生成模块
方波生成模块FEN分频占空比为1:5000000的方波,用于消除抖动。分频电路的输入时钟CLK是由外部时钟提供的,外部时钟周期取200ns。(程序见附录)3.32模块二:消抖同步模块
对于K1和K0信号,它们分别代表1和0的按键开关,可以直接送入密码锁逻辑控制模块CORNAA。但由于它们是由按键产生的,其产生时刻和持续时间长短是随机的,并且存在因开关簧片反弹引起的电平抖动现象.因此,必须在每个开关后面安排一个消抖和同步化电路模块XIAOPRO,目的是保证系统能捕捉到输入脉冲,同时,保证每按一次健只形成一个宽度固定的脉冲。在XIAOPRO模块中,因为变量的赋值是直接的,立即生效的,它在某一时刻仅包含一个值,而信号的赋值是有一个值,而信号的赋值是有一定附加时延的,故当时钟脉冲下降沿到来时,变量temp2和temp3在赋值语句执行后立即分别得到新8位串行密码锁 大连理工大学城市学院
值:tmp1的值和tmp2的非值,而输入信号a经过一定时延赋值给信号tmp1,实现了消除抖动并且同步的功能。(程序见附录)3.32模块三:密码锁逻辑控制模块
模块CORNAA是整个设计的核心,它实现密码锁的逻辑功能。开锁代码为8位二进制数,当输入代码的位数和位值与锁内给定的密码一致,且按规定程序开锁时,方可开锁,并点亮开锁指示灯LT。否则,系统进入“错误”状态,并发出报警信号。串行数字锁的报警方式是点亮指示灯LF,并使喇叭鸣叫,直到按下复位开关,报警才停止。此时,数字锁又自动进入等待下一次开锁的状态。该8位串行电子密码锁设置8位二进制密码,要求锁内给定的密码是可调的,且设置方便,保密性好。其具体操作分为输入密码和修改密码两部分。
(1)输入密码
密码输入值的比较主要有两部分,密码位数和内容,任何一个条件不满足,都不能打开锁。若锁内密码为“00001111”,K1和K0置低电平,分别表示输入“1”和“0”。输入密码前先进行复位操作,再按着从密码最低位到最高位的顺序依次正确输入00001111。若采用共阴极LED接法,当输入第0位“0”后,八个二极管中相对应的二极管点亮(此时二极管指示灯lamp=“10000000”,输入密码信号shift=“10000000”),接着输入第1位“0”(此时lamp=“11000000”,shift=“01000000”)„„依照顺序,将8位二进制密码全部正确输入完毕后(此时lamp=“11111111”,shift=“00001111”),经检验,输入的密码shift等于锁内预先设置的密码8位串行密码锁 大连理工大学城市学院
lock,密码开锁信号LT置高电平,锁开启。同时,密码修改控制信号LA置高电平。
若在输入密码的过程中,8位二进制密码出现一位或多位输入错误,那么锁不能开启,同时ALM置高电平,指示灯LF亮,发出报警信号,通知管理员。直到按下复位开关,报警才停止。此时,数字锁又自动进入等待下一次开锁的状态。
(2)修改密码
为防止非管理员任意进行密码修改,必须在正确输入密码后,才能重新设置密码。输入正确密码后,锁打开,同时,密码修改控制信号LA置高电平,就可直接进行修改密码的操作。修改密码实质就是用输入的新密码去取代原来的旧密码,存储新密码时,输入一位密码,密码位数加1。若采用共阴极LED接法,与输出引脚lamp相接的发光二极管由亮变暗。当输入8位密码后,8只发光二极管全变暗。此时给CLK一个低电平,新密码产生。(程序见附录)
8位串行密码锁 大连理工大学城市学院
第四章 整体功能实现
4.1整体原理图设计
4.2程序编译与仿真
当各个模块分别编译成功后,则创建一个个元件符号。再用图形编辑器将各元件模块组装起来,如图4
8位串行密码锁 大连理工大学城市学院
第五章 调试并分析结果
编译成功后进行仿真。建立波形文件。仿真波形如图5~图6所示。开始时,先给系统清零,即使clr为0(按下KEY[3]),若设置密码则SW[17]开关拨下使load为低电平,此时通过按去抖开关KEY[0],KEY[1]进行密码设置0和1,每输入一位密码则数目管显示的数字加1直到输入第8位
设置密码:仿真图如下如所示。设置密码时将SW[17]拨下使load为低电平并且clr为高电平此时可以设置密码,由图可以看出设置的密码为00000111每设置一位密码数码管HEX5的七个引脚都随着y1[0~6]的变化而变化,进而显示出当前的位数。
设置密码仿真图
当输入密码时,开关拨上使load为高电平输入密码开始,此时通过按去抖开关KEY[0],KEY[1]进行密码设置0和1,每输入一位密码则数目管显示的数字加1直到输入第8位。系统自动将输入的密码与预设的密码进行比较如果相同则开锁。开锁成功仿真图如下如所8位串行密码锁 大连理工大学城市学院
示,此时设置的密码为00001111输入的密码为00001111,由图可以看每设置一位密码数码管HEX5的七个引脚都随着y1[0~6]的变化而变化,进而显示出当前的位数。此时clr为高电平load为低电平当密码输入完毕后将load变为高电平进行密码输入输入方法与设置密码相同没设置一位密码数码管HEX7的七个引脚都随着y0[0~6]的变化而变化,进而显示出当前的位数。当输完八位密码后系统将其与预先设置的密码进行对比,由于设置与输入的密码相同所以lt为高电平开锁,lf、alm为低电平没有反应。
密码正确开锁成功仿真图
仿真结束后, 就可以将设计文件编程下载到芯片中去。连接硬件系统后, 选择“ Max+ plusⅡ”→“programmer” 菜单, 调出编程器(programmer)窗口。一切就绪后, 按下编程器窗口中的“program”按钮, 设计的内容就下载到FPGA 芯片EP1K30TC144-3 中去了。经实际电路测试验正达到了设计的要求。
8位串行密码锁 大连理工大学城市学院
第六章 心得
在这个实验中,我们最终实现了8位串行数字锁电路,输入代码与锁内密码一致,锁被打开;否则,封闭开锁电路,发出报警信号并且密码可调的功能与要求。
通过这一课程设计使我们将课堂上的理论知识有了进步的了解,并增强了对VHDL语言的兴趣。但同时也暴露出我在知识上掌握不足等缺点:在实验中经常是一步做完不知道下一步改做些什么,在设计过程中也遇到了一些问题,但在我和同学共同努力下,查找相关资料,通过各种书籍和网上的知识,将问题一一解决。
刚开始时,我们遇到了很多问题,比如在实验定义上理解不透彻,读不懂语言程序,通过问老师和在网上查资料,对这些已经有了初步的掌握,对分频消抖等一些模块的定义更清晰。但是在最后下载到芯片时我们仍然遇到了问题,代表显示译码管的灯始终不亮,最后我们调节的分频的时间,对程序又做了更深一步的研究,才成功完成此次试验。我们在增长知识的同时增强解决问题和动手的能力。
在实验中我们遇到了很多问题,也得到了老师和同学的帮助,也知道了分工与合作的重要性。
8位串行密码锁 大连理工大学城市学院
附录:
程序一:方波模块
library ieee;
use ieee.std_logic_1164.all;
entity fen is
port(clk:in std_logic;
clk1:out std_logic);end fen;
architecture fen_arc of fen is
begin
process(clk)
variable cnt:integer range 0 to499999;begin
if clk'event and clk='1'then
if cnt=499999 then
cnt:=0;
clk1<='1';
else
cnt:=cnt+1;
clk1<='0';
end if;
end if;
end process;end fen_arc;模块二:消抖同步模块。
library ieee;
use ieee.std_logic_1164.all;entity xiaopro is
port(a,clk1:in std_logic;
b:out std_logic);8位串行密码锁 大连理工大学城市学院
end xiaopro;
architecture xiao_arc of xiaopro is
signal tmp1:std_logic;begin
process(clk1,a)
variable tmp3,tmp2:std_logic;
begin
if clk1'event and clk1='0'then
tmp1<=a;
tmp2:=tmp1;
tmp3:=not tmp2;
end if;
b<=tmp1 and tmp3 and clk1;
end process;end xiao_arc;模块三:该模块是整个程序的核心,它实现密码锁的逻辑功能。
library ieee;
use ieee.std_logic_1164.all;entity cornaa is
port(clk,k1,k0,clr,load:in std_logic;
lt:inout std_logic;
lamp:out std_logic_vector(7 downto 0);
lf,alm:out std_logic);end cornaa;
architecture corn_arc of cornaa is
signal shift,lock:std_logic_vector(7 downto 0);
signal lam:std_logic_vector(7 downto 0);
signal la:std_logic;
begin
process(clk,clr)
begin
if clr='0'then
la<='0';
elsif clk'event and clk='1'then
8位串行密码锁 大连理工大学城市学院
if load='0'then
la<='1';
end if;
end if;
end process;
process(clk,clr)
variable a:integer range 0 to 8;
begin
if clr='0'then
lam<=“00000000”;
shift<=“00000000”;
a:=0;
lt<='0';
lf<='0';
alm<='0';
elsif clk'event and clk='1' then
if lt='0'then
if a/=8 then
if k1='0'then
shift<='1'&shift(7 downto 1);
lam<='1'&lam(7 downto 1);
a:=a+1;
elsif k0='0'then
shift<='0'&shift(7 downto 1);
lam<='1'&lam(7 downto 1);
a:=a+1;
end if;
else
a:=0;
if shift=lock then
lt<='1';
elself<='1';
alm<='1';
end if;
end if;
elsif la='1'then
if k1='0'then
lock<='1'&lock(7 downto 1);
lam<='0'&lam(7 downto 1);
elsif k0='0'then
lock<='0'&lock(7 downto 1);
lam<='0'&lam(7 downto 1);
end if;
end if;
8位串行密码锁 大连理工大学城市学院
end if;
end process;
lamp<=lam;end corn_arc;
8位串行密码锁
第二篇:数字逻辑与数字系统设计教学大纲
西安电子科技大学
“卓越工程师教育培养计划”试点课程教学大纲
“数字逻辑与数字系统设计”教学大纲
课程编号:OE2121017 课程名称:数字逻辑与数字系统设计
英文名称: Digital Logic and Digital
System Design 学
时:60
学
分:4 课程类型:必修
课程性质:专业基础课 适用专业:电子信息与通信工程(大类)
开课学期:4 先修课程:高等数学、大学物理、电路分析与模拟电子线路 开课院系:电工电子教学基地及相关学院
一、课程的教学任务与目标
数字逻辑与数字系统设计是重要的学科基础课。该课程与配套的“数字逻辑与数字系统设计实验”课程紧密结合,以问题驱动、案例教学、强化实践和能力培养为导向,通过课程讲授、单元实验、综合设计项目大作业、设计报告撰写、研讨讲评等环节,实现知识能力矩阵中1.1.2.2、1.2.1.2以及2.5、2.6、3.6、4.1、4.2的能力要求。
要求学生掌握数字电路的基本概念、基本原理和基本方法,了解电子设计自动化(EDA:Electronic Design Automation)技术和工具。数字电路部分要求学生掌握数制及编码、逻辑代数及逻辑函数的知识;掌握组合逻辑电路的分析与设计方法,熟悉常用的中规模组合逻辑部件的功能及其应用;掌握同步时序逻辑电路的分析和设计方法,典型的中大规模时序逻辑部件。EDA设计技术部分,需要了解现代数字系统设计的方法与过程,学习硬件描述语言,了解高密度可编程逻辑器件的基本原理及开发过程,掌握EDA设计工具,培养学生设计较大规模的数字电路系统的能力。
本课程教学特点和主要目的:
(1)本课程概念性、实践性、工程性都很强,教学中应特别注重理论联系实际和工程应用背景。
(2)使学生掌握经典的数字逻辑电路的基本概念和设计方法;(3)掌握当今EDA工具设计数字电路的方法。
(4)本课将硬件描述语言(HDL)融合到各章中,并在软件平台上进行随堂仿真, 通西安电子科技大学
“卓越工程师教育培养计划”试点课程教学大纲
过本课和实验教学, 使学生掌握新的数字系统设计技术.虽然现代设计人员已经很少使用传统的设计技术,但传统的设计可以让学生直观地了解数字电路是如何工作的,并可以为EDA设计工具所进行的操作提供说明,让学生进一步了解自动化设计技术的优点。
成功的逻辑电路设计人员必须深入理解数字逻辑设计相关的基本概念,并熟练掌握EDA设计工具的使用。
二、本课程与其它课程的联系和分工
数字逻辑与数字系统设计主要讨论集成电路器件的外部特性,对门电路内部晶体管的工作原理及状态转换只作定性了解。
数字逻辑与数字系统设计在学科基础中的地位既要体现作为一门课程的完整性和电子线路体系结构的特点,也要体现为后续课程服务的目的。后续的专业课程如计算机组成原理,微机原理、接口技术等都是数字电路系统高度集成的体现。数字电路与系统设计为微处理器与系统设计、嵌入式系统、数字通信等后续课程进行了基础知识准备。
三、课程内容及基本要求
(一)数制与编码(建议3学时)学习数制表示方法和常用编码 1.基本要求
(1)掌握常用数制(2、8、10、16进制数)的表示方法与相互转换方法
(2)掌握常用编码(842BCD码、5421BCD码、余3码、格雷码等)的表示方法 2.重点、难点
重点:二进制,十六进制 难点:格雷码的掌握
3.说明:主要掌握常用编码的表示方法
(二)逻辑代数与逻辑函数化简(建议10学时)
学习逻辑代数的基本运算及函数表示方式,了解逻辑函数的化简方法;学习硬件描述语言(HDL)描述逻辑函数的基本结构,熟悉逻辑函数与HDL之间的对应关系。1.基本要求
(1)熟练掌握基本逻辑运算与逻辑门
(2)了解逻辑代数的基本定理、法则和主要公式,了解逻辑函数代数化简法(3)掌握逻辑函数的标准表达式和常用的五种表达式及相互转换方法(4)能够用HDL描述真值表,熟悉逻辑函数的HDL表达方式(5)熟悉逻辑函数的卡诺图化简法
(6)掌握包含无关项逻辑函数的表示方法及化简方法 2.重点、难点
重点:逻辑函数的两种标准表示形式以及HDL表达方式 难点:五种表达式之间的相互转化 西安电子科技大学
“卓越工程师教育培养计划”试点课程教学大纲
3.说明:5个变量以上的逻辑函数化简不作要求
(三)组合逻辑电路(建议10学时)
学习组合逻辑电路的分析方法和设计方法,学习组合逻辑的HDL描述方式 1.基本要求
(1)掌握组合电路的分析方法和设计方法
(2)熟悉组合逻辑电路的HDL设计方法,掌握设计流程图的绘制方法
(3)熟悉常用MSI组合逻辑部件(变量译码器、数据选择器)的逻辑功能,扩展方法及应用
(4)掌握译码器、数据选择器的HDL描述方式
(5)掌握由MSI器件构成组合电路的设计方法和分析方法(6)了解组合电路的竞争冒险现象及消除方法 2.重点、难点
重点:由门电路进行组合电路的设计 难点:中规模集成电路芯片应用
3.说明: 安排组合逻辑研究实验
(四)触发器(建议6学时)
学习触发器的工作原理和功能描述方法,学习触发器的HDL描述方法 1.基本要求
(1)掌握基本RS触发器及常用沿触发的(D、T、JK)触发器的逻辑功能及其描述方法(2)触发器的HDL描述方法(包括行为级描述和结构化描述)(3)熟悉常用集成触发器的逻辑符号及时序图的画法(4)掌握触发器的HDL描述方法中的沿触发与电平触发 2.重点、难点
重点: 触发器的多种描述方法
难点:触发器电路的HDL描述及时序波形
3.说明:触发器部分要求记忆逻辑符号掌握逻辑功能,对触发器内部电路不做要求,安排集成触发器实验。
(五)时序逻辑电路(建议16学时)
学习同步时序电路的分析方法和典型同步时序电路的设计方法,时序电路的HDL描述。1.基本要求
(1)掌握同步时序电路的分析方法,要求根据电路能正确列出状态表,画出状态及时序图并分析其功能
(2)了解同步时序电路的一般设计方法和步骤,掌握给定状态同步时序电路的设计方法
(3)掌握时序电路的HDL描述方法 西安电子科技大学
“卓越工程师教育培养计划”试点课程教学大纲
(4)掌握典型MSI时序逻辑部件(74LS161、74LS194)的逻辑功能,扩展方法及应用(5)学习状态机的HDL描述方法,并掌握复杂时序逻辑电路的HDL描述方法(6)掌握以MSI为主的典型同步时序电路的分析方法与设计方法:
任意模值计数器;移位型计数器;序列码发生器(7)掌握典型时序电路的HDL描述方法
(8)了解异步时序电路的主要特点
2.重点、难点
重点:电路自启动自校正的设计;MSI时序逻辑部件的逻辑功能及应用 难点:时序逻辑点状态机HDL描述
3.说明:学习这一章后,要求能看懂器件手册,安排计数器和移位寄存器应用实验。
(六)集成逻辑门(建议3学时)1.基本要求
(1)了解典型TTL与非门的基本工作原理,掌握其主要外特性和参数(2)掌握集电极开路门和三态门的主要特点
(3)掌握MOS逻辑门(以CMOS为主)的主要特点和使用方法 2.重点、难点
重点:TTL与非门的主要外特性和参数 难点:集电极开路门
(七)脉冲波形的产生与整形(建议3学时)了解脉冲电路的分析方法 1.基本要求
(1)了解典型脉冲电路(单稳、多谐、施密特触发器)的基本特点及脉冲电路的分析方法
(2)掌握555定时器的基本工作原理及典型应用
(3)掌握晶体振荡器,施密特单稳集成电路的基本原理及使用方法。2.重点、难点 重点: 555定时器
难点:振荡电路性能提高需要考虑的因素 3.说明:安排脉冲电路的产生和整形实验。
(八)存贮器及可编程器件(建议4学时)1.基本要求
(1)掌握ROM的基本工作原理和几种不同的编程方法(2)了解静态RAM和动态RAM的基本工作原理
(3)了解可编程器件的内部结构特点, 可用资源, 主要参数和选型依据 西安电子科技大学
“卓越工程师教育培养计划”试点课程教学大纲
(4)结合实验, 逐步掌握FPGA的仿真与设计技术 2.重点、难点
重点:ROM的基本工作原理, FPGA的仿真与设计技术 难点:ROM实现组成逻辑函数, FPGA的仿真与设计技术
(九)D/A和A/D(建议1学时)1.基本要求
(1)了解D/A和A/D转换器的基本原理和主要技术指标(2)了解典型集成D/A和A/D芯片的特点 2.重点、难点
重点:D/A和A/D转换器的主要技术指标 难点:D/A和A/D转换器的基本原理
四、布置大作业
综合设计(1)-----用VHDL设计一数字频率计(结合实验在FPGA上实现)综合设计(2)-----用VHDL设计一DDS信号发生器(结合实验在FPGA上实现)系统设计完成通过EDA软件仿真后,在FPGA系统上实现验证,期间安排两次讨论。第一次是设计方案评审和讲评,第二次的实现结果报告和讲评。
五、教学安排及方式
总学时 60 学时,讲课 56 学时。讨论4学时。实验单独开课,大作业采用开放式实验方式利用课外时间进行。
六、考核方式
1.期末笔试(以闭卷考试为主,也可开卷考试或半开卷半闭卷考试)占60% , 2.大作业----综合设计占30%, 3.平时成绩占10%.七、推荐教材与参考资料
教材:
(1)新编: 任爱锋, 孙万蓉, 周端等
(2)杨颂华等 数字电子技术基础 西安 西安电子科技大学出版社 2009 参考书:
(1)夏宇闻等译 数字逻辑基础与Verilog设计 机械工业出版社
(2)John F.Wakerly 数字设计——原理与实践(第三版 影印版)高等教育出版社
西安电子科技大学
“卓越工程师教育培养计划”试点课程教学大纲
第三篇:《数字电路与系统设计》 第1章习题答案
106682367.doc
1.1将下列各式写成按权展开式:
(352.6)10=3×10+5×10+2×10+6×10
(101.101)2=1×22+1×20+1×2-1+1×2-3
10-1(54.6)8=5×8+54×8+6×8
(13A.4F)16=1×162+3×161+10×160+4×16-1+15×16-2 210-1
1.3二进制数00000000~11111111和0000000000~1111111111分别可以代表多少个数?
解:分别代表28=256和210=1024个数。
1.4 将下列个数分别转换成十进制数:(1111101000)2,(1750)8,(3E8)16
解:(1111101000)2=(1000)10(1750)8=(1000)10(3E8)16=(1000)10
1.5将下列各数分别转换为二进制数:(210)8,(136)10,(88)16解:结果都为:(10001000)2
1.6 将下列个数分别转换成八进制数:(111111)2,(63)10,(3F)16解:结果都为(77)8
1.7 将下列个数分别转换成十六进制数:(11111111)2,(377)8,(255)10解:结果都为(FF)16
1.8 转换下列各数,要求转换后保持原精度:
解:(1.125)10=(1.0010000000)10——小数点后至少取10位
(0010 1011 0010)2421BCD=(11111100)2(0110.1010)余3循环BCD码=(1.1110)2
1.9 用下列代码表示(123)10,(1011.01)2:
解:(1)8421BCD码:
(123)10=(0001 0010 0011)8421BCD
(1011.01)2=(11.25)10=(0001 0001.0010 0101)8421BCD
(2)余3 BCD码
(123)10=(0100 0101 0110)余3BCD
(1011.01)2=(11.25)10=(0100 0100.0101 1000)余3BCD
1.10 已知A=(1011010)2,B=(101111)2,C=(1010100)2,D=(110)2
(1)按二进制运算规律求A+B,A-B,C×D,C÷D,(2)将A、B、C、D转换成十进制数后,求A+B,A-B,C×D,C÷D,并将结果与(1)进行比较。解:(1)A+B=(10001001)2=(137)10A-B=(101011)2=(43)10
C×D=(111111000)2=(504)10C÷D=(1110)2=(14)10
(2)A+B=(90)10+(47)10=(137)10A-B=(90)10-(47)10=(43)10
C×D=(84)10×(6)10=(504)10C÷D=(84)10÷(6)10=(14)10
两种算法结果相同。
1.11 试用8421BCD码完成下列十进制数的运算。
解:(1)5+8=(0101)8421BCD+(1000)8421BCD=1101 +0110=(1 0110)8421BCD=13
(2)9+8=(1001)8421BCD+(1000)8421BCD=1 0001+0110=(1 0111)8421BCD=17
(3)58+27=(0101 1000)8421BCD+(0010 0111)8421BCD=0111 1111+ 0110=(1000 0101)8421BCD=85
(4)9-3=(1001)8421BCD-(0011)8421BCD=(0110)8421BCD=6
(5)87-25=(1000 0111)8421BCD-(0010 0101)8421BCD=(0110 0010)8421BCD=62
(6)843-348 =(1000 0100 0011)8421BCD-(0011 0100 1000)8421BCD
=0100 1111 1011-0110 0110=(0100 1001 0101)8421BCD=495
1.12 试导出1位余3BCD码加法运算的规则。
解:1位余3BCD码加法运算的规则
加法结果为合法余3BCD码或非法余3BCD码时,应对结果减3修正[即减(0011)2];相加过程中,产生向高位的进位时,应对产生进位的代码进行“加33修正”[即加(0011 0011)2]。
Page 1 of 1
第四篇:2012数字系统设计与VHDL课程大作业(定稿)
数字系统设计与VHDL课程大作业
具体要求
一、总体要求:
1. 本课程为专业必选考查类课程,以大作业加平时成绩的形式给定最终成绩。
2. 每班六个题目,每4-5为一组,自由组合,分工合作。10月26日上课
前请各班上交分组及组长情况表。
3. 所有作业需完成VHDL核心代码的设计,并采用QuartusII进行相关仿
真或平台实现,否则全组不及格。
4. 各小组推选一人于第十周(11月5日和9日)上讲台讲解题目设计思路、源代码分析、仿真结果及演示。
5. 各小组组长于11月30日前到老师处汇报题目的完成情况,并接受考核。
6. 每名同学于11月30日前提交一份大作业报告,并由班长统一送交老师。
二、大作业题目:
1. 频率计设计(平台实现)
1)
2)
3)
4)能对输入的方波信号频率进行采样; 采样频率范围为0~999999Hz,以1Hz为单位进行显示; 采用六个七段数码管显示当前采样的频率值; 本电路系统输入时钟为6MHz。
2. 方波发生器设计(仿真实现)
1)
2)
3)系统的输入时钟为6MHz; 系统输出频率为对系统时钟的1~32分频;(5位二进制输入); 系统输出频率的占空比可调,分为25%、50%、75%三档;(采用2位二进制
位输入控制)。
3. 竞赛抢答器设计(平台实现)
1)
2)抢答器的输入路数为8路;(8位二进制输入)当主持人宣布开始(按下某一键时为有效),抢答时当某一方先按下按键,其
他键则失效;
3)
4)
5)用1个七段数码管显示抢中的路编号; 系统复位键按下后,进行下一轮抢答; 系统的输入时钟为6MHz。
4. 交通灯控制系统设计(平台实现)
1)交叉路口为十字路口;
2)
3)每路口设直行、左转、右转的方向指示灯; 每个方向指示灯有三种颜色,即红、绿、黄三色。为简化设计,右转指示灯常
绿;黄灯闪动时间间隔为0。5S,持续时间自定义。
4)
5)每路口需用两个数码管显示允许通行或禁止通行的时间; 系统的输入时钟为6MHz。
5. 点阵字符显示控制器设计(仿真实现)
1)
2)
3)用16*16点阵的发光二极管显示字符; 可显示字符为0~9的数字字符与A~F英文字母; 输入为四位二进制矢量。
6. 万年历及电子钟设计(平台实现)
1)
2)
3)
4)能显示年、月、日、时、分、秒、星期,共需15个数码管; 年、月、日、时、分、星期均需可调; 系统默认时间为2000年01月01日00时00分00秒星期6; 系统输入时钟为6MHz。
三、大作业报告要求:
1. 题目功能分析;
2. 总体模块划分;
3. 代码实现;
4. 仿真结果;
5. 设计心得、体会;
6. 报告采用统一的A4封面,其中1、2、5项必须为手写,3、4项为打印。
7. 网络工程专业不再进行期末考试,期终成绩以作业测试、讲解、报告综
合评定,计算机专业还需要进行闭卷考试,但作业测试、讲解、报告占主要部分。
第五篇:数电课程设计数字电子钟的设计与制作
一、设计目的
数字电子技术是工科专业的一门专业基础课,该课程理论与实践联系密切,系统性强,课程设计是本课程教学中必不可少的环节,通过设计可以使学生初步掌握基本的数字电路设计方法和技能,进一步加深对数字电子技术课程的理解,掌握数字电子系统的组成和设计方法以及系统的调试方法,熟悉常用数字芯片的功能及使用方法,为后续课程的学习奠定坚实基础。
二、设计任务
1、用给定的数字集成电路设计制作一个数字电子钟。
2、基本功能:具有时、分、秒计时功能,用六位数码管和LED显示“XX:XX:XX”(最大显示23:59:59),要求计时准确,能够调整时间。除电源外其它部分均需自行设计制作。
3、扩展功能:有整点报时功能;时分秒之间的间隔符“:”按秒跳动。
三、设计要求
基本要求:
1、根据给定的器件设计电路,画出电路原理图,仿真实现所设计功能。
2、制作实际电路并测试,用自己设计的秒脉冲源作计时脉冲,+5V电源由实验室提供。要求制作工艺良好,电路能正常稳定工作。
3、写出设计总结报告,除报告封面和电路图可以打印外,其它内容均必须手写(复印、打印的一律不及格)。
扩展要求:完成扩展功能
四、所需元器件及材料
IC:CD4518三块、CD4040、CD4060、CD4081各一块、CD4543六块,DIP16IC插座12个; 其他器件:共阴数码管(CL5011AH)6个,红色LED4个,石英晶振32768HZ一个,电阻220Ω44个,220K、10M各1个,51P瓷片电容2个,轻触开关4个,8针接插件3个,4针接插件1个,9cm*15cm万能板两块、红、黑色导线各1卷,黄、蓝色导线各2卷、焊锡2卷。
实验室准备数字电路实验箱、数字万用表以及实践所需工具。
五、日程安排
周一:接受任务,收集资料 ;设计电路,画出电路图,仿真
周二:制作显示板并测试
周三:制作时间计数器和秒脉冲板并测试 周四:总体调试与测试 周五:教师检查验收,写总结报告
六、制作步骤
1、查找资料,设计电路,仿真;
2、制作显示及驱动板,输入8421BCD码验证;
3、制作计时器,先用实验箱或信号发生器输出秒脉冲计时,输出用做好的显示板显示,或用实验箱显示;
4、制作秒脉冲,先用LED测试,可行后接入计时电路测试;
5、连接电路,总体测试。
七、注意事项
数码管、电阻、电容、开关等安装前一定要测试检查,确定没有问题再焊接,数码管不能用5V电源去测试,用数字万用表的二极管档可测试是否发光,集成块和晶振不便测试可不测。
先要画出电路原理图和接线图,安装时首先考虑好元器件布局,先装IC插座,接好电源线和地线,但不要通电,然后按图依次连接,连好后仔细检查没有问题再通电,连好一个单元测试一个单元,逐次完成,然后再将各单元连接起来,两块板之间用接插件连接。特别注意集成块不要接反!
八、设计报告内容
设计原理思路:
数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路。由于计数的起始时间不可能与标准时间一致,故需要在电路上加一个校时电路,同时标准的1HZ时间信号必须做到准确稳定。通常使用石英晶体振荡器电路构成数字钟。数字电子钟由以下几部分组成:石英晶体振荡器和分频器组成的秒脉冲发生器;校对电路;六十进制秒、分计数器、二十进制时计数器;以及秒、分、时的译码显示部分等。
各部分原理:十进制同步加法计数器
CD4518是二、十进制(8421编码)同步加计数器,内含两个单元的加计数器。每单个单元有两个时钟输入端CLK和EN,可用时钟脉冲的上升沿或下降沿触发。若用ENABLE信号下降沿触发,触发信号由EN端输入,CLK端置“0”;若用CLOCK信号上升沿触发,触发信号由CLOCK端输入,ENABLE端置“1”。RESET端是清零端,RESET端置“1”时,计数器各端输出端Q1~Q4均为“0”,只有RESET端置“0”时,CD4518才开始计数。
CD4518采用并行进位方式,只要输入一个时钟脉冲,计数单元Q1翻转一次;当Q1为1,Q4为0时,每输入一个时钟脉冲,计数单元Q2翻转一次;当Q1=Q2=1时,每输入一个时钟脉冲Q3翻转一次;当Q1=Q2=Q3=1或Q1=Q4=1时,每输入一个时钟脉冲Q4翻转一次。这样从初始状态(“0”态)开始计数,每输入10个时钟脉冲,计数单元便自动恢复到“0”态。若将第一个加计数器的输出端Q4A作为第二个加计数器的输入端ENB的时钟脉冲信号,便可组成两位8421编码计数器,依次下去可以进行多位串行计数。译码器
CD4543是一个用于驱动共阴极 LED(数码管)显示器的 BCD 码—七段码译码器,特点:具有BCD转换、消隐和锁存控制、七段译码及驱动功能的CMOS电路能提供较大的拉电流。可直接驱动LED显示器。
时间计数器电路
(1)秒计数器
秒的个位计数单元为10进制计数器,当QDQCQBQA变成1010时,通过与非门把它的清零端变成0,计数器的输出被置零,跳过1011到1111的状态,又从0000开始,如此重复。秒的十为计数单元为6进制,当QDQCQBQA变成0101时,通过与非门把它的清零端变成0,计数器的输出被置零,跳过0110到1111的状态,又从0000开始,如此就是60进制。同时秒十位上的0101时,要把进位信号传输给“分”个位的计数单元。
(2)分计数器
分的个位和十位计数单元的状态转换和秒的是一样的,只是它要把进位信号传输给时的个位计数单元。
(3)时计数器
当“时”十位的QDQCQBQA为0000或0001时,“时”的个位计数单元是十进制计数器,当他的QDQCQBQA到1010时,通过与非门使得个位74LS90上的清零端为0,则计数器的输出直接置零,从0000有开始。当十位的QDQCQBQA为0010时,通过与非门使得该74LS90的清零端为0,“时”的十位有重新从0000开始,此时的个位计数单元变成4进制,即当个位计数单元的QDQCQBQA为0100时,就要又从0000开始计数。这样就实现了“时”24进制的计数 电路图
原理框图
6位显示驱动电路
数字钟计数及秒脉冲电路
CD4543
CD4518
CD4081