触摸按键控制LED灯

目录

1.理论

2.代码

2.1 touch_ctrl_led.v

2.2 tb_touch_ctrl_led


1.理论

以上的波形图的touch_flag是采用组合逻辑的方式产生的。

以上的touch_flag是采用时序逻辑产生的,时序逻辑会延迟一拍。

以上是上升沿和下降沿的组合逻辑和时序逻辑实现,逻辑或的写法刚好是逻辑与的两个寄存器的值反过来。

2.代码

2.1 touch_ctrl_led.v

module touch_ctrl_led(input 	wire		sys_clk		,input 	wire 		sys_rst_n		,input 	wire 		touch_key		,output 	reg			led		
);reg touch_key_1;
reg touch_key_2;
wire touch_flag; //因为没有延迟一拍所以是组合逻辑,wire形//边沿检测的作用就是能够准确识别出单比特信号的上升沿或下降沿
assign touch_flag=((touch_key_1==1'b0)&&(touch_key_2==1'b1));always@(posedge sys_clk or negedge sys_rst_n)if(sys_rst_n==1'b0)begintouch_key_1<=1'b1;touch_key_2<=1'b1;endelse if(sys_rst_n==1'b1)begintouch_key_1<=touch_key;touch_key_2<=touch_key_1;endalways@(posedge sys_clk or negedge sys_rst_n)if(sys_rst_n==1'b0)led<=1'b1;else if(touch_flag==1'b1)led<=~led;elseled<=led;endmodule

2.2 tb_touch_ctrl_led

`timescale 1ns/1ns
module tb_touch_ctrl_led();reg sys_clk;
reg sys_rst_n;
reg touch_key;
wire led;initialbeginsys_clk=1'b1;sys_rst_n=1'b0;touch_key=1'b1;#20sys_rst_n=1'b1;#200touch_key=1'b0;#2000touch_key=1'b1;#1000touch_key=1'b0;#3000touch_key=1'b1;endalways #10 sys_clk=~sys_clk;touch_ctrl_led touch_ctrl_led_inst(.sys_clk	(sys_clk),.sys_rst_n  (sys_rst_n),.touch_key  (touch_key),.led		(led));  endmodule

2.3 仿真结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/414297.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

柏曼、好视力、书客护眼台灯值得入手吗?热门台灯多方位测评对比

近年来学生近视的现象越来越严重了&#xff0c;而且近视的年龄也越来越小了&#xff0c;不少还没开始上小学的孩子&#xff0c;就已经戴上了厚厚的近视眼镜。而那些高年级的学生更是近视的重灾区&#xff0c;每天不仅需要高强度的学习和长时间用眼&#xff0c;甚至晚上都还需要…

27k+ star!有了它 再也不怕忘记linux命令了

简介 linux-command 是一个收集Linux命令的仓库&#xff0c;当前仓库搜集了 580 多个 Linux 命令&#xff0c;是一个非盈利性的仓库&#xff0c;生成了一个 web 网站方便使用&#xff0c;目前网站没有任何广告&#xff0c;内容包含 Linux 命令手册、详解、学习&#xff0c;内容…

护眼灯真能护眼吗知乎?真正能护眼的护眼台灯推荐

最近去了一些有小孩的家庭进行拜访&#xff0c;发现许多父母通常直接使用家中的灯光或者购买几十块钱的超市台灯供孩子写作业使用。然而&#xff0c;他们最后还得花费大量金钱为孩子配眼镜&#xff0c;这种做法实际上得不偿失&#xff0c;因为他们并未意识到家庭灯光对视力的影…

【Docker】Nacos的单机部署及集群部署

一、Nacos的介绍 Nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 动态服务发现&#xff1a;Nacos支持DNS与RPC服务发现&#xff0c;提供原生SDK、OpenAPI等多种服务注册方式和DNS、HTTP与API等多种服务发现方式。服务健康监测&#xff1a;Nacos提供…

[渗透测试学习] Hospital - HackTheBox

文章目录 信息搜集getshell提权信息搜集 nmap扫描一下端口 发现8080端口和443端口有http服务 然后发现3389端口是启用了ms-wbt-server服务 在对443端口的扫描没有收获,并且只有邮箱登录界面无法注册 接着看向8080端口,我们随便注册用户登录后发现有文件上传功能 getshell …

RDMA Scatter Gather List详解

1. 前言 在使用RDMA操作之前&#xff0c;我们需要了解一些RDMA API中的一些需要的值。其中在ibv_send_wr我们需要一个sg_list的数组&#xff0c;sg_list是用来存放ibv_sge元素&#xff0c;那么什么是SGL以及什么是sge呢&#xff1f;对于一个使用RDMA进行开发的程序员来说&#…

Solana Mobile开启第二代Saga手机预售,怎么购买Solana Mobile?

PANews 1月17日消息&#xff0c;Solana Mobile官方宣布开启其第二代Saga手机&#xff08;Chapter 2&#xff09;的预售&#xff0c;预购押金为450美元&#xff0c;预计将于2025年上半年发货。同时&#xff0c;Chapter 2的发售将会包括推荐&#xff08;Referrals&#xff09;和积…

问题:Feem无法发送信息OR无法连接(手机端无法发给电脑端)

目录 前言 问题分析 资源、链接 其他问题 前言 需要在小米手机、华为平板、Dell电脑之间传输文件&#xff0c;试过安装破解的华为电脑管家、小米的MIUI文件传输等&#xff0c;均无果。&#xff08;小米“远程管理”ftp传输倒是可以&#xff0c;但速度太慢了&#xff0c;且…

“GPC爬虫池有用吗?

作为光算科技的独有技术&#xff0c;在深入研究谷歌爬虫推出的一种吸引谷歌爬虫的手段 要知道GPC爬虫池是否有用&#xff0c;就要知道谷歌爬虫这一概念&#xff0c;谷歌作为一个搜索引擎&#xff0c;里面有成百上千亿个网站&#xff0c;对于里面的网站内容&#xff0c;自然不可…

STM32F103标准外设库——认识STM32(一)

个人名片&#xff1a; &#x1f981;作者简介&#xff1a;一名喜欢分享和记录学习的在校大学生 &#x1f42f;个人主页&#xff1a;妄北y &#x1f427;个人QQ&#xff1a;2061314755 &#x1f43b;个人邮箱&#xff1a;2061314755qq.com &#x1f989;个人WeChat&#xff1a;V…

Labview局部变量、全局变量、引用、属性节点、调用节点用法理解及精讲

写本章前想起题主初学Labview时面对一个位移台程序&#xff0c;傻傻搞不清局部变量和属性节点值有什么区别&#xff0c;概念很模糊。所以更新这篇文章让大家更具象和深刻的去理解这几个概念&#xff0c;看完记得点赞加关注喔~ 本文程序源代码附在后面&#xff0c;大家可以自行下…

2024 Google material-design-icons助力你创建更好的Material风格应用

2024 Google material-design-icons助力你创建更好的Material风格应用 Material Icons / Material Symbols 这是谷歌推出的两个不同的官方图标集&#xff0c;它们使用相同的基础设计。Material Icons是经典的图标集&#xff0c;而Material Symbols是在2022年4月引入的&#x…