广工电工与电子技术实验报告-8路彩灯循环控制电路

ops/2024/10/18 16:03:03/

实验代码

module LED_water (clk,led);
    input           clk;
    output  [7:0]   led;
    reg     [7:0]   led;
    integer         p;

    reg clk_1Hz;
    reg [7:0]   current_state, next_state;

    always @(posedge clk) begin
        if(p==25000000-1)begin
            p=0;
            clk_1Hz=~clk_1Hz;
        end
        else begin
            p=p+1;
        end
    end

    parameter S0 = 8'b00000000;
    parameter S1 = 8'b00000001;
    parameter S2 = 8'b00000010;
    parameter S3 = 8'b00000100;
    parameter S4 = 8'b00001000;
    parameter S5 = 8'b00010000;
    parameter S6 = 8'b00100000;
    parameter S7 = 8'b01000000;
    parameter S8 = 8'b10000000;

always @(posedge clk_1Hz) begin
    current_state<=next_state;
end

always @(current_state) begin
    case (current_state)
        S0: next_state<=S1;
        S1: next_state<=S2;
        S2: next_state<=S3;
        S3: next_state<=S4;
        S4: next_state<=S5;
        S5: next_state<=S6;
        S6: next_state<=S7;
        S7: next_state<=S8;
        S8: next_state<=S0;
        default: next_state<=S0;
    endcase
end
    always @(current_state) begin
        case (current_state)
                S0: led<=S0;
                S1: led<=S1;
                S2: led<=S2;
                S3: led<=S3;
                S4: led<=S4;
                S5: led<=S5;
                S6: led<=S6;
                S7: led<=S7;
                S8: led<=S8;
            default: led<=S0;
        endcase
    end
endmodule

实验报告


http://www.ppmy.cn/ops/17610.html

相关文章

centos搭建yum源

目录 1.createrepo简介 2.repo搭建思路 3.安装 4.使用 1.createrepo简介 createrepo 是一个用于创建 RPM 包的工具&#xff0c;它可以帮助你创建一个本地的 YUM 仓库。createrepo 并不是用于运行 YUM 仓库服务的软件&#xff0c;而是用来生成仓库的元数据&#xff0c;使得…

C++类与对象下: 友元 内部类 深化理解封装

文章目录 一、友元1.1 友元函数1.2 友元类 二、内部类三、再次理解封装尾言 一、友元 概念&#xff1a;友元提供了一种突破封装的方式&#xff0c;有时提供了便利。但是友元会增加耦合度&#xff0c;破坏了封装&#xff0c;所以友元不宜多用。(可以理解为"走后门") …

【spring6】Spring IoC注解式开发

1.声明Bean的注解 负责声明Bean的注解&#xff0c;常见的包括四个&#xff1a; 1&#xff09;Component&#xff1b;2&#xff09;Controller&#xff1b;3&#xff09;Service&#xff1b;4&#xff09;Repository 源码分析&#xff1a;可以看出Controller、Service、Reposito…

《欢乐钓鱼大师》攻略,钓友入坑必备!

欢迎来到《欢乐钓鱼大师》&#xff01;在这个游戏里&#xff0c;你可以尽情享受垂钓的乐趣&#xff0c;通过不断更换和升级高阶鱼竿&#xff0c;轻松地钓到各种稀有鱼类。因为许多玩家在挑战关卡时遇到了一些困难&#xff0c;所以今天我给大家带来了《欢乐钓鱼大师攻略指南》&a…

单链表逆置(头插法,递归,数据结构栈的应用)

链表逆置就是把最后一个数据提到最前面&#xff0c;倒数第二个放到第二个……依次类推&#xff0c;直到第一个到最后一个。 由于链表没有下标&#xff0c;所以不能借助下标来实行数据的逆置&#xff0c;要靠空间的转移来完成链表的逆置&#xff0c;这里采用没有头节点的链表来实…

【后端】python与django的开发环境搭建指南

安装Git 双击Git 客户端安装文件&#xff0c;在安装页面&#xff0c;单击“Next” 在安装路径选择页面&#xff0c;保持默认&#xff0c;单击“Next” 在功能组件选择页面&#xff0c;保持默认&#xff0c;单击“Next” 在开始菜单文件夹设置页面&#xff0c;保持默认&am…

苹果一次性开源了8个大模型! 包含模型权重、训练日志和设置,OpenELM全面开源

不以开放性著称的苹果居然同时开源了大模型的权重、训练和评估框架&#xff0c;涵盖训练日志、多个保存点和预训练设置。同时升级计算机视觉工具包 CVNets 为 CoreNet&#xff01;支持 OpenELM&#xff01; ▲图1.由Stable Diffusion3生成。 OpenELM是Apple苹果公司最新推出的…

OpenHarmony音视频—opus

简介 Opus是一种用于在互联网上进行交互式语音和音频传输的编解码器。它可以从低比特率窄带语音扩展到非常高的高品质立体声音乐。 下载安装 直接在OpenHarmony-SIG仓中搜索opus并下载。 使用说明 以OpenHarmony 3.1 Beta的rk3568版本为例 将下载的opus库代码存在以下路径&a…