【紫光同创盘古PGX-Lite 7K教程】——(盘古PGX-Lite 7K开发板/PGC7KD-6IMBG256第六章)密码锁实验例程

本文介绍了如何使用紫光同创PGC7KD-6IMBG256开发平台的盘古PGX-Lite7K开发板,通过按键和拨码开关实现简单的密码锁功能。实验包括设置密码、输入验证和数码管显示,源码包含按键控制、数码管显示和密码验证模块。
摘要由CSDN通过智能技术生成

本原创教程由深圳市小眼睛科技有限公司创作,版权归本公司所有,如需转载,需授权并注明出处(www.meyesemi.com)


适用于板卡型号:

紫光同创PGC7KD-6IMBG256开发平台(盘古PGX-Lite 7K)

仅需一根TypcC线,插上即用,轻松操作。兼容下载器的一体版,配套资料丰富, 快速掌握国产FPGA!

一:盘古PGX-Lite 7K开发板简介

PGX-Lite 7K 开发板是一套基于紫光同创 compa 系列 PGC7KD-6IMBG256 芯片为核心的开 发套件,支持主自加载双启动功能,集成板载 jtag 调试接口,支持 Type-C 转串口通信,同 时预留非常丰富的扩展 IO、数码管、按键、led 灯等硬件资源,在提供用户基础的硬件环境 基础上,满足用户更加灵活的需求。

 

 

二:实验目的

利用盘古 PGX-Lite 7K 板卡上的按键,拨码开关以及数码管实现一种简单的 密码锁;

三:实验要求

利用拨码开关设置密码,使用按键输入开锁密码。当开锁密码与设定密码相 同时开锁成功,数码管显示 8888,密码错误时显示 7777。

SW0~SW3 设置 2 位数密码,每两位设置一位密码,SW[1:0]设置第一位数 据对应的二进制数值,SW[3:2]设置第二位数据对应的二进制数值。所以密码是 由 0,1,2,3 组成的四位数。

KEY1-KEY0 作为密码输入,按键按一下数字加 1,数字由数码管显示,数 字在 0,1,2,3 中循环。

KEY2 作为确认按键,按下 KEY2,输入的密码与设置的密码比对,如相同 则显示 8888,若不同则显示 7777。按下 KEY3 清零,按下后数码管显示 0000, 可以重新输密码。

四:实验原理

原理上与前一个章节的序列检测是类似的,在前一个实验的基础上有了一些 延伸;

序列对比的位宽发生改变,单个数据占 2bit,一个按键控制输入密码数据设 置为 2bit 即可;对比与重新开始在此实验用两个按键实现,一个确认对比,一个 清空结果;

五:实验源码(完整源码查看 demo 源文件)

根据需求我们需要如下三个子模块:

①按键控制模块;

1、对 4 个按键输入信号均做消抖处理

2、KEY3 和 KEY2 取下降沿输出

3、KEY[1:0]以下降沿来变更各自的输入密码,每次数字加 1(0~3 循环,2bit即可)

②数码管显示模块;

显示状态有两种:

密码输入状态:

1、上电默认状态; 2、KEY3 下降沿触发进入重置状态;3、实时 显示 2 位输入密码;

密码验证状态:

1、KEY2 下降沿触发进入;

2、显示密码验证结果,正确则显示 8888,错误则显示 7777;

③密码验证模块;

KEY2 下降沿触发使能工作; KEY2 下降沿触发所存输入密码,并与 拨码开关设置的密码进行比较;

输出密码比较结果,提供个数码管显示模块。

顶层模块设计

顶层模块与上述三个模块之间的关系如下图:

输入输出信号如下表:

 

Module 设计如下:

 

 

 

按键控制设计 

 

 

按键消抖设计 

对比模块设计 

 

显示模块设计

此模块设计需要注意数码管显示的两种模式:密码输入模式与密码对比结果 显示模式;两种模式的切换由 enter_trig 与 init_trig 触发进入;

对于数码管的显示控制模块这里就不重复描述了;

六:实验现象

验证步骤:

1、 调整输入序列,更改拨码开关的输入值(SW[3:0]);

2、 调整固定序列,通过轻触按键 KEY1~KEY0 调整输入密码,数码管实时 显示输入密码;

3、 按下轻触按键 KEY2,触发进行密码比对,并且数码管显示比对结果;

4、 按下轻触按键 KEY3,进入重新输入密码状态,重新执行前面三个步骤;

实验现象

当 SW[3:0]=8’b1010;当输入密码状态时显示 0022 时,按下 Key2 后数码管显 示数字 8888;当输入密码状态时显示不是 0022 时,按下 Key2 后数码管显示数 字 7777;按下 Key3 后重新调整密码,进入输入密码状态;

当 SW[3:0]=8’b1100;当输入密码状态时显示 0030 时,按下 Key2 后数码管显 示数字 8888;当输入密码状态时显示不是 0030 时,按下 Key2 后数码管显示数 字 7777;按下 Key3 后重新调整密码,进入输入密码状态;

  • 9
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值