基于CPLD的数字锁Word文档下载推荐.docx

上传人:b****4 文档编号:18446339 上传时间:2022-12-16 格式:DOCX 页数:11 大小:86.34KB
下载 相关 举报
基于CPLD的数字锁Word文档下载推荐.docx_第1页
第1页 / 共11页
基于CPLD的数字锁Word文档下载推荐.docx_第2页
第2页 / 共11页
基于CPLD的数字锁Word文档下载推荐.docx_第3页
第3页 / 共11页
基于CPLD的数字锁Word文档下载推荐.docx_第4页
第4页 / 共11页
基于CPLD的数字锁Word文档下载推荐.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

基于CPLD的数字锁Word文档下载推荐.docx

《基于CPLD的数字锁Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于CPLD的数字锁Word文档下载推荐.docx(11页珍藏版)》请在冰豆网上搜索。

基于CPLD的数字锁Word文档下载推荐.docx

PORT

(CLK,B_IN:

INSTD_LOGIC;

B_OUT:

OUTSTD_LOGIC);

END;

ARCHITECTUREaOFxiaodouIS

signalVcc,INV_B:

std_logic;

signalA0,A1:

signalB0,B1:

BEGIN

Vcc<

='

1'

;

INV_B<

=notB_IN;

dff1:

dffPORTMAP(d=>

Vcc,q=>

A0,clk=>

CLK,prn=>

Vcc,clrn=>

INV_B);

dff2:

A1,clk=>

process(CLK)

begin

ifCLK'

EVENTandCLK='

then

B0<

=notA1;

B1<

=B0;

endif;

endprocess;

B_OUT<

=not(B1andnotB0);

消抖电路的仿真波形图:

2.2键盘扫描模块

我们在键盘的四列输入口中输入一个低电平时钟扫描,当有按键被打下时,对应的行被键接通也呈现低电平状态,然后将此输入输出信号输出到键盘编码就可以进行键盘按键识别了。

键盘扫描封装图如下:

该模块程序如下:

LIBRARYIEEE;

USEIEEE.std_logic_1164.ALL;

USEIEEE.STD_LOGIC_ARITH.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYSAOMIAOIS

PORT(

CLK:

INSTD_LOGIC;

CLK_SAOMIAO:

OUTSTD_LOGIC_VECTOR(4downto1));

ARCHITECTUREaOFSAOMIAOIS

SignalM:

STD_LOGIC_VECTOR(2DOWNTO1);

SIGNALN:

STD_LOGIC_VECTOR(4DOWNTO1);

Begin

PROCESS(CLK)

IFCLK'

EventANDCLK='

THEN

N<

=N+1;

M<

=N(4DOWNTO3);

ENDIF;

ENDPROCESS;

CLK_SAOMIAO<

="

1110"

WHENM=0ELSE

"

1101"

WHENM=1ELSE

1011"

WHENM=2ELSE

0111"

WHENM=3ELSE

1111"

;

键盘扫描模块仿真图:

2.3七段数码显示电路模块

本模块我们通过串行扫描方式驱动LED数码管,可较少地占用可编程器件资源;

并利用MAXPLUSⅡ对动态扫描LED显示电路进行仿真。

显示电路模块封装图如下:

 

程序如下:

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYSCAN_LEDIS

PORT(A:

INSTD_LOGIC_VECTOR(6DOWNTO0);

B:

E:

OUTSTD_LOGIC_VECTOR(6DOWNTO0);

BT:

OUTSTD_LOGIC_VECTOR(1DOWNTO0));

END;

ARCHITECTUREONEOFSCAN_LEDIS

STD_LOGIC_VECTOR(1DOWNTO0);

BEGIN

PROCESS(N)

CASENIS

WHEN"

00"

=>

BT<

="

01"

E<

=A;

10"

=B;

WHENOTHERS=>

NULL;

ENDCASE;

ENDPROCESS;

PROCESS(CLK)

EVENTANDCLK='

THEN

N<

=N+1;

END;

七段数码显示电路仿真图:

2.4译码电路模块

本模块上接键盘扫描模块,下接七段数码显示电路模块。

主要功能是实现键盘的译码。

该模块封装图如下:

具体程序如下:

LIBRARYIEEE;

ENTITYkeycodeIS

PORT(X:

INSTD_LOGIC_VECTOR(2DOWNTO0);

Y:

INSTD_LOGIC_VECTOR(3DOWNTO0);

XT:

INSTD_LOGIC;

C,D:

OUTSTD_LOGIC_VECTOR(6DOWNTO0):

0111111"

CO:

OUTSTD_LOGIC_VECTOR(3DOWNTO0));

ENDkeycode;

ARCHITECTUREyimaOFkeycodeIS

SIGNALE:

STD_LOGIC_VECTOR(3DOWNTO0);

SIGNALF:

SIGNALS,EN,EN1:

STD_LOGIC;

PROCESS(X,Y)

VARIABLExy:

STD_LOGIC_VECTOR(6DOWNTO0);

xy:

=(X&

Y);

IFXT='

CASExyIS

WHEN"

1101110"

0000"

C(6downto0)<

1101101"

0001"

0000110"

1101011"

0010"

1011011"

1100111"

0011"

1001111"

1011110"

0100"

1100110"

1011101"

0101"

0110"

1111100"

1010111"

0000111"

0111110"

1000"

1111111"

0111101"

1001"

0111011"

CO<

1010"

0110111"

ELSIFXT='

0'

F<

D(6downto0)<

键盘译码电路仿真波形图:

2.5密码控制电路模块

密码控制电路是本次课题设计的核心部分,我们通过密码控制来断定数字锁的开或关。

当密码输入时,按下确定键,输入数字和所存的密码进行比较,若相同则进入开锁状态。

若输入密码不正确则立刻进入报警状态,然后按下清零键,重新输入密码。

密码控制封装图如下:

ENTITYkongzhiIS

PORT(E_IN:

F_IN:

INSTD_LOGIC_VECTOR(3DOWNTO0);

CO_IN:

K,M:

OUTSTD_LOGIC);

ARCHITECTUREluojiOFkongzhiIS

SIGNALG,H:

STD_LOGIC_VECTOR(3DOWNTO0):

=‘0‘;

SIGNALCOUNT1,COUNT2:

STD_LOGIC:

='

SIGNALCO:

PROCESS(CO_IN)

begin

IFCO_IN="

THEN

EN1<

ELSIFCO_IN="

EN<

EN1<

if(S='

)and(en='

)and(count1='

)then

G(3downto0)<

=E_IN(3downto0);

H(3downto0)<

=F_IN(3downto0);

count1<

=not(count1);

endif;

if(en1='

)and(count2='

if(E_IN(3downto0)=G(3downto0)andF_IN(3downto0)=H(3downto0))then

k<

EN<

s<

else

m<

count2<

=not(count2);

ELSif(en='

)and(en1='

count2<

k<

ENDPROCESS;

三、调试下载

1、引脚锁定:

这个过程中特别要注意的是,在锁定引脚后必须再通过MAX+plusⅡ的编译器“Compiler”,对文件重新进行编译一次,以便将引脚信息编入下载文件中。

2、连接线路:

选择主菜单“MAX+plusⅡ”中的“Programmer”选项,改变为适合实验箱的模式,按照引脚锁定连接好线路,打开电源。

3、正式下载:

单击“Configure”按钮,向EP1K30下载配置文件,如果连接无误,将出现报告配置完成的信息提示“ConfigurationComplete”。

总框图如下:

四、心得体会

为期一周的课程设计结束了,刚开始由于对嵌入式系统不熟悉,拿到这个课题时毫无头绪,根本不知道从何处入手,并且在设计过程中遇到了很多的问题,但老师和同学的帮助下,加上自己的努力,终于逐个解决了每一个难题。

在这两周中的学习使我对EDA这门课程有了进一步的了解,使我加强了动手、思考和解决实际问题的能力。

并让我深刻的体会到,嵌入式系统的应用十分广泛,运行硬件描述语言,能很容易地设计出具有严格要求的数字锁。

在做完每一个单元模块后,都要验证它是否能够满足此单元的功能。

有时候就是按照了原理来连接,但就是不能实现预期的功能。

这就需要细心地找问题,是不是哪根线坏了,还是哪块芯片坏了或接触不好,但有时也存在原理上的错误。

在设计过程中,同时也暴露出了自身的许多不足,如自己自主解决问题的能力有所欠缺,这在以后需要更好的加强。

同时在此设计过程中还用到了MAX+PLUSⅡ等软件,我更熟悉了此软件的使用,这对以后的工作和解决实际问题都有了很好的帮助。

我感觉本次课程设计我的收获还是颇多的!

五、参考文献

1.康华光主编.电子技术基础(数字部分),高等教育出版社。

2.彭介华主编,电子技术课程设计指导,高等教育出版社。

3.张原编著,可编程逻辑器件设计及应用,机械工业出版社。

4.MAX+PLUSⅡ入门

5.刘洪喜,陆颖编著.VHDL电路设计实用教程,清华大学出版社

河南机电高等专科学校

EDA课程设计报告

设计题目:

基于CPLD的数字锁

系部:

电子通信工程系

专业:

医用电子仪器与维护

班级:

091

学生姓名:

郭呈芬

学号:

090411102

成绩:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 图表模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1