社区
下载资源悬赏专区
帖子详情
实验八按键消抖控制LED亮灭下载
weixin_39821260
2019-07-24 06:00:28
实验八按键消抖控制LED亮灭 实验八按键消抖控制LED亮灭 实验八按键消抖控制LED亮灭
相关下载链接:
//download.csdn.net/download/augusdi/3731316?utm_source=bbsseo
...全文
25
回复
打赏
收藏
实验八按键消抖控制LED亮灭下载
实验八按键消抖控制LED亮灭 实验八按键消抖控制LED亮灭 实验八按键消抖控制LED亮灭 相关下载链接://download.csdn.net/download/augusdi/3731316?utm_source=bbsseo
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
实验
八
按键消抖
控制
LED
亮灭
实验
八
按键消抖
控制
LED
亮灭
实验
八
按键消抖
控制
LED
亮灭
实验
八
按键消抖
控制
LED
亮灭
FPGA
实验
教程
按键消抖
控制
LED
亮灭
FPGA例程,很简单的,初学者的好资料,会有帮助的
FPGA入门系列
实验
教程——
按键消抖
控制
LED
亮灭
.zip-综合文档
FPGA入门系列
实验
教程——
按键消抖
控制
LED
亮灭
.zip
基于FPGA verilog设计
按键消抖
实验
Quartus9.1工程源码+设计说明文件.zip
基于FPGA verilog设计
按键消抖
实验
Quartus9.1工程源码+设计说明文件,可以做为你的学习设计参考。 //说明:当三个独立按键的某一个被按下后,相应的
LED
被点亮; // 再次按下后,
LED
熄灭,按键
控制
LED
亮灭
module sw_debounce( clk,rst_n, sw_in,sw1_n,sw2_n,sw3_n,sw4_n,
led
_d3,
led
_d4,
led
_d5,
led
_d6 ); input clk; //主时钟信号,50MHz input rst_n; //复位信号,低有效 input sw1_n,sw2_n,sw3_n,sw4_n; //三个独立按键,低表示按下 output
led
_d3,
led
_d4,
led
_d5,
led
_d6; //发光二极管,分别由按键
控制
output sw_in; assign sw_in = 1'b1; //--------------------------------------------------------------------------- reg[3:0] key_rst; always @(posedge clk or negedge rst_n) if (!rst_n) key_rst <= 4'b1111; else key_rst <= {sw4_n,sw3_n,sw2_n,sw1_n}; reg[3:0] key_rst_r; //每个时钟周期的上升沿将low_sw信号锁存到low_sw_r中 always @ ( posedge clk or negedge rst_n ) if (!rst_n) key_rst_r <= 4'b1111; else key_rst_r <= key_rst; //当寄存器key_rst由1变为0时,
led
_an的值变为高,维持一个时钟周期 wire[3:0] key_an = key_rst_r & ( ~key_rst); //--------------------------------------------------------------------------- reg[19:0] cnt; //计数寄存器 always @ (posedge clk or negedge rst_n) if (!rst_n) cnt <= 20'd0; //异步复位 else if(key_an) cnt <=20'd0; else cnt <= cnt + 1'b1; reg[3:0] low_sw; always @(posedge clk or negedge rst_n) if (!rst_n) low_sw <= 4'b1111; else if (cnt == 20'hfffff) //满20ms,将按键值锁存到寄存器low_sw中 cnt == 20'hfffff low_sw <= {sw4_n,sw3_n,sw2_n,sw1_n}; //--------------------------------------------------------------------------- reg [3:0] low_sw_r; //每个时钟周期的上升沿将low_sw信号锁存到low_sw_r中 always @ ( posedge clk or negedge rst_n ) if (!rst_n) low_sw_r <= 4'b1111; else low_sw_r <= low_sw; //当寄存器low_sw由1变为0时,
led
_ctrl的值变为高,维持一个时钟周期 wire[3:0]
led
_ctrl = low_sw_r[3:0] & ( ~low_sw[3:0]); reg d1; reg d2; reg d3; reg d4; always @ (posedge clk or negedge rst_n) if (!rst_n) begin d1 <= 1'b0; d2 <= 1'b0; d3 <= 1'b0; d4 <= 1'b0; end else begin //某个按键值变化时,
LED
将做
亮灭
翻转 if (
led
_ctrl[0] ) d1 <= ~d1; if ( le
电子密码锁的设计与实现.doc
电子密码锁的设计与实现 一、
实验
目的 1. .进一步掌握键盘扫描和
LED
显示的程序设计。 2. .了解
按键消抖
的方法. 3. .综合运用微机原理的软硬件知识. 二、
实验
内容与要求 1.基本要求 1. 具有密码输入功能,密码最多为6位; 2. 设置退格键,以便删除输入错误的密码; 3. 在输入的密码时数码管上只显示 8,并根据输入位数依次横移; 4. 设置确认键,当确认键按下后,判断输入密码是否正确; 5. 当输入密码正确时,点亮发光二极管;当输入密码不正确时,发光二极管不亮并 且蜂鸣器报警,重新输入,当三次密码输入不正确时,系统应锁定键盘 10s。 2.提高要求 将用户分为管理者和使用者,管理者拥有超级密码,可以修改其他人的密码.使 用者不能修改密码。 三、
实验
报告要求 1. .设计目的和内容 2. .总体设计 3. .硬件设计:原理图(接线图)及简要说明 4. .软件设计框图及程序清单 5. .设计结果和体会(包括遇到的问题及解决的方法) 四、总体设计 电子密码锁的原理是:从键盘输入一组密码,CPU 把该密码和设置密码比较,对则将 锁打开(不同锁的
控制
方式不一样,比如加电
控制
电磁铁抽回,从而打开),错则要求 重新 输入,并记录错误次数,如果三次错误,则被强制锁定并报警,除非超级密码或者其他的 手段打开,比如延时一段时间。 初步设计思路如下: 1. .输入密码用矩形键盘,包括数字键和功能键,功能键包括退格键和确认键。 2. .
LED
数码管显示输入密码,但是只是输出显示符号 8 .采用动态扫描输出. 3. .用发光二极管模拟锁的情况,锁关时发光二极管灭,打开时发光二极管亮。 4. .输入密码错误时报警,3 次输入错误时键盘锁定 10s,键盘无法接收数据。 软件的设计主要包括矩形键盘键值的读取、
LED
动态扫描输出程序、密码判断程序和 报警程序。 五、硬件设计 根据设计思路,硬件电路可通过
实验
平台上的一些功能模块电路组成,由于
实验
平台 上的各个功能模块已经设计好,用户在使用时只要设计模块间电路的连接,因此,硬件 电 路的设计及实现相对简单.完整系统的硬件连接如图 1 所示.硬件电路由
LED
数码管显示 模块、按键模块、发光二极管电路和蜂鸣器模块组成. 各个模块的详细说明: 1.
LED
数码管模块
实验
平台上提供一组六个
LED
数码管。插孔 CS1 用于数码管段选的输出选通,插孔 CS2 用于数码管位选信号的输出选通.本设计用 6 个数码管来动态显示时分秒,动态显示 的定时时间由 8253 定时/计数器来实现。8253 主要是实现每位显示时间 1ms,由 8253 的 计数器 0 来实现。Clk0 接
实验
平台分频电路输出 Q6,f=46875hz。GATE0 接 8255 的 PA0,由 8255 的 PA0 输出来
控制
计数器的起停。OUT0 接 8259 的 IRQ2,定时完成请求中 断,进入中断服务程序。软件在中断服务程序中
LED
数码管显示。 Q6 IRQ2 路 8259 图 1 系统硬件电路图 2.按键模块 按键模块包括有数字键和功能键.数字键包括 0-9 键,用于密码的输入.功能键有退 格键和确认键。具体的功能定义如下表。键盘电路和 8255 的连接见图 2 所示。具体的功能 定义如下表. "按键 "键名 "功能说明 " "1-9 键"数字键 "输入密码 " "A 键 "退格键 "取消刚才输入的密码 " "B 键 "确认键 "密码输入完成 " 图 2 键盘电路和 8255 的连接图 3.报警模块和发光二极管模块 报警模块由蜂鸣器驱动电路和 8255 组成。选择一只压电式蜂鸣器,压电式蜂鸣器工作 时约需要 100mA 驱动电流.蜂鸣器电路如图 4 所示。当 8255 的 PB0 口输出为高电平时, 蜂鸣器产生蜂鸣音,8255 输出为低电平时,蜂鸣器不发声。 发光二极管也是用 8255 输出来驱动
亮灭
。 图 3 蜂鸣器电路 六、软件设计 1.软件设计思路 电子密码锁工作的主要过程是
LED
数码管提示开始输入密码,通过键盘输入密码,同 时
LED
显示密码输入情况,按下确认键后判断密码的正确性,作出开锁或报警处理.当输 入密码连续输入错误 3 次时,锁定键盘 10s。 程序将分为主程序和中断服务子程序。主程序负责键盘键值读取,密码判断和开锁或 报警处理。中断服务子程序主要是负责
LED
数码管显示。 根据程序功能,程序主要分为以下几部分: a) 键盘键值读取程序 键盘键值读取程序包括键盘扫描、消除抖动、键译码等内容。按键的识别主要有两种 方法:行反转法和行扫描法。因为键盘为机械开关,容易引入抖动。为了消除抖动干扰, 在程序中要加入消除抖动的部分。 b)
LED
数码显示程序
LED
数码显示器是一种应用很普遍的显示
下载资源悬赏专区
12,801
社区成员
12,340,087
社区内容
发帖
与我相关
我的任务
下载资源悬赏专区
CSDN 下载资源悬赏专区
复制链接
扫一扫
分享
社区描述
CSDN 下载资源悬赏专区
其他
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章