课程设计(论文)-用VHDL运用层次化设计方法设计一个小型数字系统.doc_第1页
课程设计(论文)-用VHDL运用层次化设计方法设计一个小型数字系统.doc_第2页
课程设计(论文)-用VHDL运用层次化设计方法设计一个小型数字系统.doc_第3页
课程设计(论文)-用VHDL运用层次化设计方法设计一个小型数字系统.doc_第4页
课程设计(论文)-用VHDL运用层次化设计方法设计一个小型数字系统.doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学学 号:号:201214580113 课课程程 设设计计说说明明书书 GRADUATE DESIGN 设计题目:设计题目:倒计时数字钟倒计时数字钟 学生姓名:学生姓名: 专业班级:专业班级:12 电科电科 1 班班 学学 院:信息工程学院院:信息工程学院 指导教师指导教师 : 2015 年年 07 月月 10 日日 I 任务书任务书 一、用一、用 VHDL 运用层次化设计方法设计一个小型数字运用层次化设计方法设计一个小型数字 系统系统 题目:题目:倒计时数字钟倒计时数字钟 二、说明书内容:二、说明书内容: 1.系统设计要求系统设计要求(功能功能) 2.系统设计方案系统设计方案(包括顶层电路图包括顶层电路图) 3.VHDL 源程序及仿真波形图源程序及仿真波形图 4.4.课程设计注释课程设计注释 5.5.设计解释、说明设计解释、说明 6.6.独特之处独特之处 三、三、成绩评定成绩评定 1.1.设计内容及掌握情况设计内容及掌握情况 2.2.说明书。包括电子档(各类文件的可执行性及说明书)说明书。包括电子档(各类文件的可执行性及说明书) 和纸质和纸质 3.3.答辩情况答辩情况 II III 目 录 摘 要.I .II 第 1 章 设计要求.1 第 2 章 总体框图.6 2.1 .6 2.2 .6 2.3.7 2.3.1.7 2.3.2 .7 2.4 .8 2.4.1 .8 2.4.2 .9 2.5.10 第 3 章 .11 3.1 .11 3.2 .11 3.2.1 .12 3.2.2.14 3.2.3 .19 3.3 .20 3.3.1 .20 3.3.2 .21 3.4 .23 3.5 .30 3.6.31 3.7.31 3.8.32 3.9 .33 第 4 章 .34 4.1 .34 4.2 .34 4.3 .36 4.3.1 P .36 4.3.2.36 4.4.38 4.5 结 论.41 参考文献.42 附 录.44 目 录 IV 一、用一、用 VHDL 运用层次化设计方法设计一个小型数字运用层次化设计方法设计一个小型数字 系统系统 题目:题目:倒计时数字钟倒计时数字钟 二、说明书内容:二、说明书内容: 1.系统设计要求系统设计要求(功能功能) 2.系统设计方案系统设计方案(包括顶层电路图包括顶层电路图) 3.VHDL 源程序及仿真波形图源程序及仿真波形图 4.4.课程设计注释课程设计注释 5.5.设计解释、说明设计解释、说明 6.6.独特之处独特之处 三、三、成绩评定成绩评定 1.1.设计内容及掌握情况设计内容及掌握情况 2.2.说明书。包括电子档(各类文件的可执行性及说明书)说明书。包括电子档(各类文件的可执行性及说明书) 和纸质和纸质 3.3.答辩情况答辩情况 目 录 V 目录目录 第 1 章 概述.2 第 2 章 设计要求.2 第 3 章 总体框图.3 第 4 章 功能模块.5 4.1 输入模块.5 4.2 控制模块.8 4.3 显示模块.16 第 5 章 总体设计电路图.18 第 6 章 设计心得体会.21 参考文献.23 目 录 VI 第第 1 1 章章 概述概述 电子密码锁在生活中十分常见,在这我将设计一个具有较低成本的电子密码锁,本文 讲述了我整个设计过程及收获。讲述了电子密码锁的的工作原理以及各个模块的功能,并 讲述了所有部分的设计思路,对各部分电路方案的选择、元器件的筛选、以及对它们的调 试、对波形图的分析,到最后的总体图的分析。 第第 2 2 章章 设计要求设计要求 本设计名称为电子密码锁,用四个模块,分别为输入模块、控制模块、扫描器模块、显示 模块,来控制密码的输入、验证与显示。 设计所要实现的功能为: 1 数码输入:手动用 3个拨码开关与3个按键设计三位密码的输入,并在显示器显示出该 数值。 2 数码验证: 开锁时输入密码后,拨动 RT 键使其为高电平,而 CHANGE 为低电平检 测,密码正确时开锁,输出 LOCKOPEN 灯灭,LOCKCLOSE 灯亮,表 示开锁成功。 3 错误显示:当密码输入错误时, LOCKOPEN 灯亮,LOCKCLOSE 灯灭,表示开锁失败。 4 更改密码:当改变密码时, 按下 CHANGE 键使其为高电平,而 RT 为低电平时,可 改变密码。 5 密码清除:按下REST可清除前面的输入值,清除为 “888” 。 目 录 VII 第第 3 3 章章 总体框图总体框图 1)设计方案: 电子密码锁,主要由三部分组成:密码输入电路、密码锁控制电路和密码锁显示电路。 作为电子密码锁的输入电路,可选用的方案有拨码与按键来控制输入和触摸式键盘输入等 多种。拨码与按键和触摸式 4*4键盘相比简单方便而且成本低,构成的电路简单,本设计中采用 拨码与按键来作为该设计的输入设备。 数字电子密码锁的显示信息电路可采用 LED数码显示管和液晶屏显示两种。液晶显示具有高 速显示、可靠性高、易于扩展和升级的特点,但是普通的液晶存在亮度低、对复杂环境适应能 力差的特点,但是在本设计中任然使用 LED数码管。 根据以上选定的输入设备与与显示器件,并考虑到现实各项密码锁功能的具体要求,与系统的 设计要求,系统设计采用自顶向下的设计方案。整个密码锁系统的总体总体框图如图 1.1 所示。 拨码与按键单脉冲控制输入译码 控制模块 寄存器与清零信号发生电路数值比较器 开/关锁电路 三选一选择器扫描电路 LED 灯 输入模块 目 录 VIII BCD 七段译码显示电路 图 3.1 电子密码锁系统总体框图 第第 4 4 章章 功能模块功能模块 4.14.1 输入模块输入模块 1)功能介绍 输入时有三个拨码键控制输入,每个拨码各控制一位密码,对于其中一个拨码键每拨 一次码按一次按键,表示输入一位,当输入四位时输出一位数,用“888”作为初始密码。 2)输入模块与仿真图形 单脉冲控制如图 5.1 如下图 显示模块 目 录 IX 图 5.1 上图为单脉冲控制输入,当 M 给一上升沿信号将在去输出一位与之对应的高或低电 平。 四位串行输入并行输出寄存器如下图 5.2 目 录 X 图 5.2 上图为 4 为串行输入并行输出寄存器,它由 4 个 D 触发组成,当 reset 为高电平时, 每给一脉冲输入数据将向右移一位二值代码,它能同时复位 3)程序的输入 在文本区内输入程序,程序如下: 单脉冲信号控制 puls.vhd LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY puls IS PORT (PUL,M:IN STD_LOGIC; Q:OUT STD_LOGIC); END puls; ARCHITECTURE BEHAVE OF puls IS SIGNAL TEMP:STD_LOGIC; BEGIN PROCESS(M) BEGIN IF MEVENT AND M=1 THEN IF PUL=1 THEN TEMP=1; ELSE TEMP=0; 目 录 XI END IF; END IF; END PROCESS; Q0); ELSE if clkevent and clk=1 then q(3):=q(2); q(2):=q(1); q(1):=q(0); q(0):=din; 目 录 XII END IF; END IF; qoutq=0000;q1q=0001;q1q=0010;q1q=0011;q1q=0100;q1q=0101;q1q=0110;q1q=0111;q1q=1000;q1q=1001;q1q=0000;q1=0000; END CASE; END IF; END PROCESS; END ARCHITECTURE ART; 总功能控制模块 Eleclock.vhd LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY Eleclock IS PORT(NB:IN STD_LOGIC_VECTOR(3 DOWNTO 0); NS:IN STD_LOGIC_VECTOR(3 DOWNTO 0); NG:IN STD_LOGIC_VECTOR(3 DOWNTO 0); CLK:IN STD_LOGIC; 目 录 XVII CHANGE,RT: IN STD_LOGIC; DB:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); DS:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); DG:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); LOCKOPEN,LOCKCLOSE:OUT STD_LOGIC); END ENTITY Eleclock; ARCHITECTURE ART OF Eleclock IS COMPONENT Key IS PORT(CLK:IN STD_LOGIC; DATA:IN STD_LOGIC_VECTOR(3 DOWNTO 0); Q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); Q1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ); END COMPONENT Key; SIGNAL ENABLE,C0,C1,S,ENABLE1:STD_LOGIC; SIGNAL TB,TS,TG,D_B,D_S,D_G:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN ENABLE=CHANGE AND(NOT RT); ENABLE1CLK,DATA=NB,Q=DB,Q1=D_B); U1:KEY PORT MAP(CLK=CLK,DATA=NS,Q=DS,Q1=D_S); U2:KEY PORT MAP(CLK=CLK,DATA=NG,Q=DG,Q1=D_G); PROCESS(CLK,D_B,D_S,D_G) IS BEGIN IF CLKEVENT AND CLK=1 THEN IF ENABLE=1 THEN TB=D_B; TS=D_S; TG=D_G; END IF; 目 录 XVIII IF ENABLE1=1 THEN IF ( TB=D_B AND TS=D_S AND TG=D_G) THEN LOCKOPEN=1; LOCKCLOSE=0; ELSE LOCKOPEN=0; LOCKCLOSE=1; END IF; END IF; END IF; END PROCESS; END ARCHITECTURE ART; 4 选 1 选择器与扫描器 sel.vhd LIBRARY IEEE; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY sel IS PORT(QIN1,QIN2,QIN3:IN STD_LOGIC_VECTOR(3 DOWNTO 0); CLK,RST:IN STD_LOGIC; QOUT:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); sel:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); END sel; ARCHITECTURE ART OF sel IS BEGIN PROCESS(CLK,RST) VARIABLE CNT:INTEGER RANGE 0 TO 2; BEGIN 目 录 XIX IF (RST=0) THEN CNT:=0; sel =00000000; QOUTQOUT=QIN1; sel QOUT=QIN2; selQOUT=QIN3; selQOUT=0000; sel=11111111; END CASE; END IF; END PROCESS; END ARCHITECTURE ART; 4.34.3 显示模块显示模块 1)功能介绍 将密码用 BCD 七段数码管显示 目 录 XX 2)显示模块与仿真波形图 5.6,如下图 图 5.6 上图将 BCD 码转化到七段译码电路上 表 5-2 BCD-七段数码管的真值表 输入 输出 D C B A Y1 Y2 Y3 Y4 Y5 Y6 Y7 字形 目 录 XXI 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0 1 0 1 1 0 1 1 0 1 2 0 0 1 1 0 1 1 1 0 0 1 3 0 1 0 0 0 1 1 0 0 1 1 4 0 1 0 1 1 0 1 1 0 1 1 5 0 1 1 0 1 0 1 1 1 1 1 6 0 1 1 1 1 1 1 0 0 0 0 7 1 0 0 0 1 1 1 1 1 1 1 8 1 0 0 1 1 1 1 0 0 1 1 9 表 5-2 在文本区内输入程序,程序如下: Seg7.vhd LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY Seg7 IS PORT(num:IN STD_LOGIC_VECTOR(3 DOWNTO 0); led:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); END Seg7; ARCHITECTURE ACT OF Seg7 IS BEGIN LED=1111110WHEN num=0000ELSE 0110000WHEN num =0001ELSE 1101101WHEN num =0010ELSE 1111001WHEN num =0011ELSE 0110011WHEN num =0100ELSE 1011011WHEN num =0101ELSE 目 录 XXII 1011111WHEN num =0110ELSE 1110000WHEN num =0111ELSE 1111111WHEN num =1000ELSE 1111011WHEN num =1001ELSE 1110111WHEN num =1010ELSE 0011111WHEN num =1011ELSE 1001110WHEN num =1100ELSE 0111101WHEN num =1101ELSE 1001111WHEN num =1110ELSE 1000111WHEN num =1111; END ACT; 第第 5 5 章章 总体设计电路图总体设计电路图 1)功能介绍 将各个模块连接在一起实现。 2)顶层文件如下: 目 录 XXIII 目 录 XXIV 3)波形仿真如下: 图 61 当 change 为高电平,rt 为低电平时,输入“952”验证,当再次输入“952”时锁打开, 设计正确。 第第 6 6 章章 设计心得体会设计心得体会 通过这次设计,使我对 EDA 产生了浓厚的兴趣。特别是当每一个子模块编写调试成功 时,心里特别的开心。在编写蜂鸣器模块时,我遇到了很大的困难,一直被定时问题所困 扰,解决了这个问题时,我特别的高兴。写控制文件的程序时,也遇到了不少问题,特别 是各元件之间的连接,以及信号的定义,总是有错误,在细心的检查下,终于找出了错误 和

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论