fpga_pwm呼吸灯(EP4CE6F17C8)

news2024/11/18 7:46:36

文章目录

  • 一、呼吸灯
  • 二、代码实现
  • 三、引脚分配


一、呼吸灯

呼吸灯是指灯光在微电脑的控制之下完成由亮到暗的逐渐变化,使用开发板上的四个led灯实现1s间隔的呼吸灯。

二、代码实现


```c
module pwm_led( 
    input				clk		,
    input				rst_n	,
    
    output reg [3:0]    led
);								 
parameter CNT_US = 6'd49;//50x20=1000ns=1us
parameter CNT_MS = 10'd999;//1usx1000=1ms
parameter CNT_S  = 10'd999;//1msx1000=1s

reg [5:0] cnt_us;
wire      add_cnt_us;
wire      end_cnt_us;

reg [9:0] cnt_ms;
wire      add_cnt_ms;
wire      end_cnt_ms;

reg [9:0] cnt_s;
wire      add_cnt_s;
wire      end_cnt_s;

reg flag;//闪烁标志
always @(posedge clk or negedge rst_n)begin 
   if(!rst_n)begin
        cnt_us <= 0;
    end 
    else if(add_cnt_us)begin 
            if(end_cnt_us)begin 
                cnt_us <= 0;
            end
            else begin 
                cnt_us <= cnt_us + 1;
            end 
    end
   else  begin
       cnt_us <= cnt_us;
    end
end 

assign add_cnt_us = 1'd1;
assign end_cnt_us = add_cnt_us && cnt_us == CNT_US;

always @(posedge clk or negedge rst_n)begin 
   if(!rst_n)begin
        cnt_ms <= 0;
    end 
    else if(add_cnt_ms)begin 
            if(end_cnt_ms)begin 
                cnt_ms <= 0;
            end
            else begin 
                cnt_ms <= cnt_ms + 1;
            end 
    end
   else  begin
       cnt_ms <= cnt_ms;
    end
end 

assign add_cnt_ms = end_cnt_us;
assign end_cnt_ms = add_cnt_ms && cnt_ms == CNT_MS;

always @(posedge clk or negedge rst_n)begin 
   if(!rst_n)begin
        cnt_s <= 0;
    end 
    else if(add_cnt_s)begin 
            if(end_cnt_s)begin 
                cnt_s <= 0;
            end
            else begin 
                cnt_s <= cnt_s + 1;
            end 
    end
   else  begin
       cnt_s <= cnt_s;
    end
end 

assign add_cnt_s = end_cnt_ms;
assign end_cnt_s = add_cnt_s && cnt_s == CNT_S;

always @(posedge clk or negedge rst_n)begin 
    if(!rst_n)begin
        flag <= 1'b0;
    end 
    else if(end_cnt_s)begin 
        flag <= ~flag;//1s取反
    end 
    else begin 
        flag <= flag;
    end 
end

always @(posedge clk or negedge rst_n)begin 
    if(!rst_n)begin
        led <= 4'b0;
    end 
    else begin
        if(flag)begin//亮pwm
            led <= {cnt_s > cnt_ms, cnt_s > cnt_ms,cnt_s > cnt_ms,cnt_s > cnt_ms};
        end 
        else begin//灭pwm
            led <= {cnt_s < cnt_ms, cnt_s < cnt_ms,cnt_s < cnt_ms,cnt_s < cnt_ms};
        end
    end 
end
endmodule



三、引脚分配

请添加图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从安装到实战!Citespace保姆级教程!

来源&#xff1a;浙师教育研会 软件介绍 Citespace是一款文献梳理软件 支持从主要来源&#xff08;如Web of Science&#xff0c;Scopus&#xff0c;Dimensions&#xff0c;CNKI&#xff0c;CSSCI和其他一些来源&#xff09;检索的书目和引文数据。能够把文件之间的关系&…

IntelliJ IDEA流行的构建工具——Gradle

IntelliJ IDEA&#xff0c;是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具&#xff0c;尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。 如…

华为数通HCIP-ISIS原理与配置

IS-IS的基本概念 isis&#xff08;中间系统到中间路由协议&#xff09; 链路状态路由协议、IGP、无类路由协议&#xff1b; IS-IS是一种链路状态路由协议&#xff0c;IS-IS与OSPF在许多方面非常相似:运行IS-IS协议的直连设备之间通过发送Hello报文发现彼此&#xff0c;然后建…

用Python实战,畅享音乐海洋,一键采集你喜爱的音乐!

前言 嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 环境使用: Python 3.8 解释器 Pycharm 编辑器 模块使用: requests >>> pip install requests re 第三方模块安装方法&#xff1a; win R 输入cmd 输入安装命令 pip install 模块名 (如果你觉得安装速…

逻辑的极限

逻辑的极限&#xff0c;数学和沉思 发表于康托尔的天堂 当逻辑出错时会发生什么&#xff1f; 让我们看看为什么排除中间定律是错误的&#xff08;有时&#xff09;&#xff0c;发现数学核心的基本问题&#xff0c;然后再最终尝试解决出了什么问题。 您还将学习如何理解-1的负根…

Nvlddmkm错误

问题描述&#xff1a; 使用maya或多开应用&#xff0c;会不定期黑屏 电脑配置如下&#xff1a; 黑屏时&#xff0c;系统错误日志如下&#xff1a; 处理方式&#xff1a; 1、更换旧版本显卡驱动或更新显卡驱动 &#xff08;目前从Navid下载的都是新版本显卡驱动 &#xff…

Linux推出Debian 12.1,并进行多方面系统修复

据了解&#xff0c;Debian是最古老的 GNU / Linux 发行版之一&#xff0c;也是许多其他基于 Linux 的操作系统的基础&#xff0c;包括 Ubuntu、Kali、MX 和树莓派 OS 等。 此外&#xff0c;该操作系统以稳定性为重&#xff0c;不追求花哨的新功能&#xff0c;因此新版本的发布…

3ds Max图文教程: 创建致命的冠状病毒动画

推荐&#xff1a; NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 1. 病毒建模 步骤 1 打开 3ds Max。 打开 3ds Max 步骤 2 在透视视口中创建一个半径为 50&#xff0c;线段为 20 的 GeoSphere。 创建地球 步骤 3 打开修改器列表并将置换修改器应用于地理 球。 置换…

Python数据分析实战-dataframe筛选某字段是(精确匹配)某些值的记录(附源码和实现效果)

实现功能 Python数据分析实战-data[data[].isin([])]&#xff0c;筛选dataframe某字段是&#xff08;精确匹配&#xff09;某些值的记录 实现代码 import pandas as pddf {DataBase:[mysql,test,test,test,test],table:[user,student,course,sc,book]} df pd.DataFrame(df)…

SRC | 逻辑漏洞原理及实战

前言 作者简介&#xff1a;不知名白帽&#xff0c;网络安全学习者。 博客主页&#xff1a;不知名白帽_网络安全,CTF,内网渗透-CSDN博客 网络安全交流社区&#xff1a;https://bbs.csdn.net/forums/angluoanquan 目录 逻辑漏洞基础 概述 分类 URL跳转漏洞 概述 危害 漏洞…

CGT Asia嘉年华 | 2023单细胞测序与精准医疗论坛10月广州召开

单细胞测序技术是生物技术发展史中的里程碑式技术&#xff0c;目前在肿瘤研究、免疫研究、神经生物学研究及发育研究等领域都有越来越广泛的应用。单细胞测序技术可以发现稀少肿瘤细胞并进行动态监控&#xff0c;有助于肿瘤的个性化和精准治疗&#xff0c;对于精准医疗的发展至…

开发必看!一文读懂Salesforce测试策略实用建议!

可靠的测试策略是确定重大决策的关键工具&#xff0c;以便参与测试的人员能够做出符合共同目标的决策。测试软件的次数越多&#xff0c;就越能从制定高级计划中受益。本文将详细介绍测试策略&#xff0c;以及如何建立测试策略的实用建议。 01 什么是测试策略&#xff1f; 测…

开发一个二方包,优雅地为系统接入ELK(elasticsearch+logstash+kibana)

先介绍整个ELK日志平台的架构。其中xiaobawang-log就是今天的主角。 xiaobawang-log主要收集三种日志类型&#xff1a; 系统级别日志&#xff1a; 收集系统运行时产生的各个级别的日志&#xff08;ERROR、INFO、WARN、DEBUG和TRACER&#xff09;&#xff0c;其中ERROR级别日志…

【指针一:穿越编程边界的超能力】

本章重点 字符指针 数组指针 指针数组 数组传参和指针传参 先回顾一下指针的概念有哪些&#xff1f; 指针就是个变量&#xff0c;用来存放地址&#xff0c;地址唯一标识一块内存空间。 指针的大小是固定的4/8个字节&#xff08;32位平台/64位平台&#xff09;。 指针是有类型&…

【java实习评审】对小说详情模块的更新判断以及数据库的商用字段设置比较到位

大家好&#xff0c;本篇文章分享一下【校招VIP】免费商业项目“推推”第一期书籍详情模块java同学的文档作品。该同学来自【山西农业大学】软件工程专业。 本项目亮点难点&#xff1a; 1 热门书籍在更新点的访问压力 2 书籍更新通知的及时性和有效性 3 书荒:同好推荐的可能性 4…

内部web服务器,部署HTTPS(nginx + 宝塔面板设置)

1、需求 在BS应用研发过程中&#xff0c;很多浏览器的功能需要在开启web服务器的https功能才能实现&#xff0c;例如chrome浏览器的系统剪切板&#xff08;CtrlC/CtrlV&#xff09;的使用&#xff0c;但是开发过程中&#xff0c;一般使用内部的服务器&#xff0c;只有IP地址&a…

vue3 - element-plus 上传各种 word pdf 文件、图片视频并上传到服务器功能效果,示例代码开箱即用。

效果图 在 vue3 项目中,使用 element plus 组件库的 el-upload 上传组件,进行文件、图片图像的上传功能示例。 完整代码 可直接复制,再改个接口地址。 在这里上传图片和文件是分成

软件测试简历项目经验该怎么写?【两年经验】

在写简历之前&#xff0c;我们先来看看失败者的简历和成功者的简历之间有什么区别。为什么成功者的简历可以在求职中起到“四两拨千斤”的作用&#xff0c;而失败者的简历却被丢进了垃圾桶&#xff0c;这两者到底有什么不同&#xff1f; 成功的简历与失败的简历 我们发现&…

google浏览器启用es6语法支持, 无需node webpack 浏览器端模块化加载

注意&#xff1a;最新版本的chrome浏览器已支持module语法&#xff0c;需要在web服务器环境下运行&#xff01; 设置浏览器启用es6语法功能&#xff1a; 1.在浏览器的url中输入&#xff1a;chrome://flags/ 设置下面选项为enable&#xff0c;重启浏览器。 准备代码&#xff…

FAP-inhibitors,FAP是一种II型跨膜丝氨酸蛋白酶,的反应特点及性质研究

资料编辑|陕西新研博美生物科技有限公司小编MISSwu PART1----产品描述 FAP inhibitors&#xff0c;其中FAP&#xff08;也称为seprase&#xff09;是一种II型跨膜丝氨酸蛋白酶。质膜和可溶性形式都表现出脯氨酸切割后的内肽酶活性&#xff0c;对Ala/Ser-Gly-Pro-Ser/Asn/Ala共…