- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于VHDL语言的8位数字密码锁设计课案
EDA课程设计报告书
课题名称 基于VHDL语言的8位数字密码锁设计 姓 名 学 号 院、系、部 专 业 指导教师
2016年6月2日
熟悉集成电路的引脚安排。掌握各芯片的逻辑功能及使用方法。了解面包板结构及其接线方法。了解的组成及工作原理。熟悉的设计与制作。
图2.1电子密码锁系统总体框图
3功能模块
3.1 输入模块
3.1.1功能介绍
输入时有三个拨码键控制输入,每个拨码各控制一位密码,对于其中一个拨码键每拨一次码按一次按键,表示输入一位,当输入四位时输出一位数,用“888”作为初始密码。
3.1.2输入模块与仿真图形
单脉冲控制如图3.1如下图
图3.1
上图为单脉冲控制输入,当M给一上升沿信号将在PUL输出一位与之对应的高或低电平。
四位串行输入并行输出寄存器如下图3.2
图3.2
上图为4为串行输入并行输出寄存器,它由4个D触发组成,当reset为高电平时,每给一脉冲输入数据将向右移一位二值代码,它能同时复位。
3.1.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;
END IF;
END IF;
END PROCESS;
Q=TEMP;
END BEHAVE;
4位串行输入并行输出寄存器
shifter.vhd
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY shifter IS
PORT
(din:IN STD_LOGIC;
reset,CLK: IN STD_LOGIC;
qout: buffer STD_LOGIC_VECTOR(0 TO 3)
);
END shifter;
ARCHITECTURE act OF shifter IS
BEGIN
PROCESS(CLK)
VARIABLE q:STD_LOGIC_VECTOR(0 TO 3);
BEGIN
IF reset=0 THEN
q:=(others=0);
ELSE
if clkevent and clk=1 then
q(3):=q(2);
q(2):=q(1);
q(1):=q(0);
q(0):=din;
END IF;
END IF;
qout=q;
END PROCESS;
END architecture act;
3.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
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
您可能关注的文档
最近下载
- PRS-7000_220KV型数字变电站自动化系统技术使用说明书.pdf VIP
- 国开电大《个人与团队管理》(试卷号22269)机试试题.pdf
- 2024广东统招专升本《大学语文》全书知识点汇总课件.pdf
- 虫害控制程序(SSOP).doc VIP
- 2025届【九省联考】全国高三10月联考数学答案.docx
- 滥竽充数-完整版PPT课件.ppt
- 2024华医网继续教育护理多学科协作,为老年外科患者保驾护航题库答案.docx VIP
- 冀教版小学数学五年级上册7.3《土地资源问题》说课PPT(共21张PPT).pptx VIP
- 嵌入式技术入门与实战(基于STM32)全套教学课件.pptx
- 2024年煤炭销售绩效考核办法.pdf VIP
文档评论(0)