八大处做双眼预约网站/无锡网站排名公司

八大处做双眼预约网站,无锡网站排名公司,pscc下载,办公室设计费一般多少钱一平(1)设计要求:仍以可乐机为背景,一瓶可乐的价格是2.5 元,用按键控制投币(加入按键消抖功能),可以投 0.5 元硬币和 1元硬币,投入 0.5 元后亮一个灯,投入 1元后亮…

(1)设计要求:仍以可乐机为背景,一瓶可乐的价格是2.5 元,用按键控制投币(加入按键消抖功能),可以投 0.5 元硬币和 1元硬币,投入 0.5 元后亮一个灯,投入 1元后亮 2个灯,投入 1.5 元后亮 3个灯,投入 2元后亮 4 个灯。投入 2.5 元后出可乐不找零,此时 led 灯实现单向流水操作,流水 10s后自动停止;投入 3 元后出可乐找零,此时 led 灯实现双向流水操作,流水 3s 后自动停止。整个系统有复位键,其功能是终止本次投币操作,使可乐机立刻回到初始状态。

(2)Verilog代码:

module complex_cola(clk,reset_n,key_half_money,key_one_money,led_out);input clk;input reset_n;input key_half_money;input key_one_money;output [3:0]led_out;wire pi_money_half;wire pi_money_one;   wire po_cola;wire po_money;wire en0;wire en1;wire [3:0]led_out0;wire [3:0]led_out1;wire [3:0]led_r;//按键消抖模块    key_filter key_filter_inst0(.clk(clk),.reset_n(reset_n),.key_in(key_half_money),.key_p_flag(pi_money_half),.key_r_flag(),.key_state());key_filter key_filter_inst1(.clk(clk),.reset_n(reset_n),.key_in(key_one_money),.key_p_flag(pi_money_one),.key_r_flag(),.key_state());//可乐机主体程序fsm_cola_plus fsm_cola_plus_inst(.clk(clk),.reset_n(reset_n),.pi_money_one(pi_money_one),.pi_money_half(pi_money_half),.po_cola(po_cola),.po_money(po_money),.led(led_r));//单向、双向流水灯模块water_led_s water_led_s_inst(.clk(clk),.reset_n(reset_n),.en(en0),.led_out(led_out0));water_led_d water_led_d_inst(.clk(clk),.reset_n(reset_n),.en(en1),.led_out(led_out1));//en0、en1设计  assign {en1,en0} = ({po_cola,po_money} == 2'b11)? (2'b10):(({po_cola,po_money} == 2'b10)? 2'b01:2'b00);//led_out设计assign led_out = (led_r == 4'b0000)? ((en1)?led_out1:(en0?led_out0:4'b0000)):led_r;endmodule
module key_filter(clk,reset_n,key_in,key_p_flag,key_r_flag,key_state);input clk;input reset_n;input key_in;output reg key_p_flag;output reg key_r_flag;output reg key_state;reg key_in1;reg key_in2;reg key_in3;reg [3:0]STATE;
//抖动时间往往小于20ms,20ms = 20_000_000ns = 20ns * 1_000_000;   需要一个20位的寄存器reg [19:0]cnt;reg en_cnt;wire podge;wire nedge;wire arrive_time_20ms;//状态设计parameter IDLE      = 4'b0001;parameter P_SHAKE   = 4'b0010;parameter DOWN      = 4'b0100;parameter R_SHAKE   = 4'b1000;//异步输入key_in信号的同步化————“打两拍”always@(posedge clk)beginkey_in1 <= key_in;key_in2 <= key_in1;end//上升沿、下降沿设计always@(posedge clk)key_in3 <= key_in2;assign podge = key_in2  &&  (!key_in3);assign nedge = (!key_in2)  &&  key_in3;//20ms计数器模块设计    always@(posedge clk or negedge reset_n)if(!reset_n)cnt <= 20'd0;else if(en_cnt &&(cnt == 20'd999_999))cnt <= 20'd0;else if(en_cnt)cnt <= cnt + 20'd1;else cnt <= 20'd0;//计满20ms信号设计           assign arrive_time_20ms = (cnt == 20'd999_999);//状态机主程序设计always@(posedge clk or negedge reset_n)if(!reset_n)beginkey_r_flag <= 1'd0;key_p_flag <= 1'd0;key_state  <= 1'd1;STATE      <= IDLE;en_cnt <= 1'd0;endelse begincase(STATE)IDLE:beginkey_r_flag <= 1'd0;key_state  <= 1'd1;if(nedge)beginSTATE <= P_SHAKE;en_cnt <= 1'd1;endelse STATE <= STATE;endP_SHAKE:beginif(arrive_time_20ms)beginSTATE <= DOWN;en_cnt <= 1'd0;key_p_flag <= 1'd1;key_state <= 1'd0;endelse if(podge)beginSTATE <= IDLE;en_cnt <= 1'd0;endelse STATE <= STATE;  endDOWN:beginkey_p_flag <= 1'd0;key_state <= 1'd0;if(podge)beginSTATE <= R_SHAKE;en_cnt <= 1'd1;endelse STATE <= STATE;          endR_SHAKE:beginif(arrive_time_20ms)beginSTATE <= IDLE;en_cnt <= 1'd0;key_r_flag <= 1'd1;key_state  <= 1'd1;endelse if(nedge)beginSTATE <= DOWN;en_cnt <= 1'd0;endelse STATE <= STATE; enddefault:beginkey_r_flag <= 1'd0;key_p_flag <= 1'd0;key_state  <= 1'd1;STATE      <= IDLE;endendcaseendendmodule
module water_led_s(clk,reset_n,en,led_out);input clk;input en;input reset_n;output reg [3:0]led_out;reg [29:0]cnt;reg cnt_flag;reg [4:0]flag_cnt;parameter MCNT = 30'd24_999_999;//0.5s计数器模块设计  always@(posedge clk or negedge reset_n)if(!reset_n)cnt <= 30'd0;else if((cnt == MCNT) && (en))cnt <= 30'd0;else if(en)cnt <= cnt + 30'd1;else cnt <= 30'd0;//计数完成标志信号cnt_flag信号设计always@(posedge clk or negedge reset_n)if(!reset_n)cnt_flag <= 1'd0;else if(cnt == MCNT - 28'd1)cnt_flag <= 1'd1;else cnt_flag <= 1'd0;//flag_cnt信号设计always@(posedge clk or negedge reset_n)if(!reset_n)flag_cnt <= 5'd0;else if((cnt_flag)&&(flag_cnt == 5'd20))flag_cnt <= 5'd0;else if(cnt_flag)flag_cnt <= flag_cnt + 5'd1;else flag_cnt <= flag_cnt;//流水灯主程序设计always@(posedge clk or negedge reset_n)if(!reset_n)led_out <= 4'b0001;else if((cnt_flag)&&(flag_cnt == 5'd20))led_out <= 4'b0000;else if(cnt_flag) led_out <= {led_out[2:0],led_out[3]};else led_out <= led_out;endmodule
module fsm_cola_plus(clk,reset_n,pi_money_one,pi_money_half,po_cola,po_money,led);input clk;input reset_n;input pi_money_one;input pi_money_half;output po_cola;output po_money;output reg [3:0]led;reg [4:0] state;wire [1:0]pi_money;reg [1:0]po;parameter IDLE      = 5'b00001;parameter HALF      = 5'b00010;parameter ONE       = 5'b00100;parameter ONE_HALF  = 5'b01000;parameter TWO       = 5'b10000;//输入、输出信号编码设计assign pi_money = {pi_money_one,pi_money_half};assign {po_cola,po_money} = po;//状态机状态跳转设计always@(posedge clk or negedge reset_n)if(!reset_n)state <= IDLE;else begincase(state)IDLE:beginif(pi_money == 2'b10)state <= ONE;else if(pi_money == 2'b01)state <= HALF;else state <= state;endHALF:beginif(pi_money == 2'b10)state <= ONE_HALF;else if(pi_money == 2'b01)state <= ONE;else state <= state;endONE:beginif(pi_money == 2'b10)state <= TWO;else if(pi_money == 2'b01)state <= ONE_HALF;else state <= state;endONE_HALF:beginif(pi_money == 2'b10)state <= IDLE;else if(pi_money == 2'b01)state <= TWO;else state <= state;endTWO:beginif((pi_money == 2'b10) || (pi_money == 2'b01))state <= IDLE;else state <= state;enddefault:beginstate <= IDLE;endendcaseend//状态机输出信号设计always@(posedge clk or negedge reset_n)if(!reset_n)po <= 2'b00;else if(((state == ONE_HALF) && (pi_money == 2'b10)) || ((state == TWO) && (pi_money == 2'b01)))po <= 2'b10;else if((state == TWO) && (pi_money == 2'b10))po <= 2'b11;elsepo <= po;//led灯设计always@(posedge clk or negedge reset_n)if(!reset_n)led <= 4'b0000;else begincase(state)IDLE:led     <= 4'b0000;HALF:led     <= 4'b0001;ONE:led      <= 4'b0011;ONE_HALF:led <= 4'b0111;TWO:led      <= 4'b1111;default:led  <= 4'b0000;endcaseendendmodule
module water_led_d(clk,reset_n,en,led_out);input clk;input en;input reset_n;output reg [3:0]led_out;reg [29:0]cnt;reg cnt_flag;reg [4:0]flag_cnt;parameter MCNT = 30'd24_999_999;//0.5s计数器模块设计  always@(posedge clk or negedge reset_n)if(!reset_n)cnt <= 30'd0;else if((cnt == MCNT) && (en))cnt <= 30'd0;else if(en)cnt <= cnt + 30'd1;else cnt <= 30'd0;//计数完成标志信号cnt_flag信号设计always@(posedge clk or negedge reset_n)if(!reset_n)cnt_flag <= 1'd0;else if(cnt == MCNT - 28'd1)cnt_flag <= 1'd1;else cnt_flag <= 1'd0;//flag_cnt信号设计always@(posedge clk or negedge reset_n)if(!reset_n)flag_cnt <= 5'd0;else if((cnt_flag)&&(flag_cnt == 5'd6))flag_cnt <= 5'd0;else if(cnt_flag)flag_cnt <= flag_cnt + 5'd1;else flag_cnt <= flag_cnt;//流水灯主程序设计always@(posedge clk or negedge reset_n)if(!reset_n)led_out <= 4'b0001;else if((cnt_flag)&&(flag_cnt == 5'd6))led_out <= 4'b0000;else if((cnt_flag)&&(flag_cnt <= 2))led_out <= {led_out[2:0],led_out[3]};else if(cnt_flag)led_out <= {led_out[0],led_out[3:1]};else led_out <= led_out;endmodule

(3)引脚绑定:

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

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

相关文章

从微软 Word 中提取数据

从 Microsoft Word 文档中提取数据可以通过编程来实现&#xff0c;有几种常见的方法&#xff0c;其中之一是使用 Python 和 python-docx 库。python-docx 是一个处理 .docx 文件&#xff08;Microsoft Word 文档&#xff09;的 Python 库&#xff0c;可以读取和操作 Word 文档的…

语雀平替,一款私有化功能丰富的开源知识库系统

背景介绍 现代企业面临的文档管理挑战日益严峻&#xff0c;包括信息冗余&#xff0c;存在多份数据&#xff0c;难以做到统一 &#xff0c;文档数量激增&#xff0c;查找麻烦&#xff0c;知识的信息安全问题频发以及团队协作需求不断上升。同时&#xff0c;随着知识管理在企业运…

文章SameStr(二):图2代码

title: “Publication Figure 2” 百度云盘链接: https://pan.baidu.com/s/15g7caZp354zIWktpnWzWhQ 提取码: 4sh7 Libraries Standard Import library(tidyverse) library(cowplot) library(scales) library(ggpubr)Special library(lme4) library(sjPlot) library(sjst…

基于Java中的SSM框架实现学生网上请假系统项目【项目源码+论文说明】计算机毕业设计

摘要 本学生网上请假系统是针对目前学生网上请假系统的实际需求&#xff0c;从实际工作出发&#xff0c;对过去的学生网上请假系统存在的问题进行分析&#xff0c;结合计算机系统的结构、概念、模型、原理、方法&#xff0c;在计算机各种优势的情况下&#xff0c;采用目前最流…

数据结构与算法:顺序表和链表

目录 一、线性表 二、顺序表 三、链表 一、线性表 线性表&#xff08; linear list &#xff09;是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构&#xff0c;常见的线性表&#xff1a;顺序表、链表、栈、队列、字符串... 线性表在逻辑上是线…

MyBatis框架学习笔记(一):MyBatis入门

1 MyBatis 介绍 1.1 官方文档 MyBatis 中文手册&#xff1a; &#xff08;1&#xff09;https://mybatis.org/mybatis-3/zh/index.html &#xff08;2&#xff09;https://mybatis.net.cn/ Maven 仓库&#xff1a; https://mvnrepository.com/ 仓库作用&#xff1a;需要…

(三)前端javascript中的数据结构之集合

集合的特点 1.无序 2.唯一性 3.不可重复 集合相对于前面几种数据结构&#xff0c;比较简单好理解&#xff0c;看看代码实现就能知道他的用法了 集合的创建 function MySet() {this.item {}; } MySet.prototype.has function (value) {return value in this.item; };//增 M…

编程范式之函数式编程

目录 前言1. 函数式编程的定义2. 函数式编程的特点2.1 纯函数2.2 不可变性2.3 高阶函数2.4 惰性求值 3. 函数式编程的应用场景3.1 并行计算3.2 数据分析3.3 Web开发 4. 函数式编程的优缺点4.1 优点4.2 缺点 5. 代表性的编程语言5.1 Haskell5.2 Scala5.3 Clojure 6. 示例代码结语…

HTML5新增的input元素属性:placeholder、required、autofocus、min、max等

HTML5 大幅度地增加与改良了 input 元素的属性&#xff0c;可以简单地使用这些属性来实现 HTML5 之前需要使用 JavaScript 才能实现的许多功能。 下面将详细介绍这些新增的 input 元素的属性。 属性说明属性说明placeholder在输入框显示描述性或提示性文本list为文本框添加选…

React+TS前台项目实战(二十七)-- 首页响应式构建之banner、搜索、统计模块布局

文章目录 前言一、 效果展示二、相关模块1. Statistic统计模块功能分析代码详细注释使用方式 2. Search搜索模块功能分析代码详细注释使用方式 3. banner模块功能分析代码详细注释使用方式 总结 前言 前面我们已经封装了这个项目基本要用到的全局组件了&#xff0c;现在就开始…

ScreenAI ——能理解从信息图表到用户界面的图像和文本算法解析

概述 论文地址&#xff1a;https://arxiv.org/pdf/2402.04615.pdf 信息图表&#xff08;图表、示意图、插图、地图、表格、文档布局等&#xff09;能够将复杂的数据和想法转化为简单的视觉效果&#xff0c;因此一直以来都被视为传播的重要元素。这种能力来自于通过布局和视觉线…

普通人必看!AI绘画商业变现全攻略(附教程)

大部分的设计师除了主业以外&#xff0c;都会利用空余时间去接单做副业。 单子包括但不限于产品/品牌LOGO、电商产品图设计、海报、室内设计图等等&#xff0c;单价在几十到上千不等 引起了我的思考&#xff0c;我们普通人有没有机会&#xff0c;也能像他们一样去接单赚钱吗&a…

pytorch- RNN循环神经网络

目录 1. why RNN2. RNN3. pytorch RNN layer3.1 基本单元3.2 nn.RNN3.2.1 函数说明3.2.2 单层pytorch实现3.2.3 多层pytorch实现 3.3 nn.RNNCell3.3.1 函数说明3.3.2 单层pytorch实现3.3.3 多层pytorch实现 4.完整代码 1. why RNN 以淘宝的评论为例&#xff0c;判断评论是正面…

matplotlib颜色对照表

matplotlib的色彩设置: #------------------------------------------------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------------------------…

【JavaWeb】登录校验-会话技术(二)JWT令牌

JWT令牌 介绍 JWT全称&#xff1a;JSON Web Token &#xff08;官网&#xff1a;https://jwt.io/&#xff09; 定义了一种简洁的、自包含的格式&#xff0c;用于在通信双方以json数据格式安全的传输信息。由于数字签名的存在&#xff0c;这些信息是可靠的。 简洁&#xff1a…

vue和react你怎么选择?

在选择Vue和React之间&#xff0c;其实没有一个绝对的“最佳选择”&#xff0c;因为这取决于你的项目需求、团队熟悉度、开发环境、以及你对这两个框架的个人偏好。下面是一些可以帮助你做出决策的因素&#xff1a; 1. 学习曲线 Vue&#xff1a;Vue的学习曲线相对平缓&#xf…

借助软件资产管理系统,优化Solidworks软件许可证管理

在当今数字化的企业环境中&#xff0c;软件许可证的有效管理对于业务的顺畅运行至关重要。然而&#xff0c;IT 运维部门常常面临着诸如用户部门 SW 许可证不够用、使用紧张等问题&#xff0c;而由于缺乏可靠的数据支持&#xff0c;难以准确判断许可证的短缺程度&#xff0c;这给…

MFC引用C#生成的dll,将dll放置到非exe程序目录,如何操作?

&#x1f3c6;本文收录于「Bug调优」专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收藏&&…

信创:鲲鹏(arm64)+麒麟(kylin v10)离线部署k8s和kubesphere(含离线部署新方式)

本文将详细介绍&#xff0c;如何基于鲲鹏CPU(arm64)和操作系统 Kylin V10 SP2/SP3&#xff0c;利用 KubeKey 制作 KubeSphere 和 Kubernetes 离线安装包&#xff0c;并实战部署 KubeSphere 3.3.1 和 Kubernetes 1.22.12 集群。 服务器配置 主机名IPCPUOS用途master-1192.168.10…

【linux高级IO(二)】多路转接之select详解

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:Linux从入门到精通⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学更多操作系统知识   &#x1f51d;&#x1f51d; Linux高级IO 1. 前言2. 初识s…