在这个实验里我们将学习如何用来实现。
====硬件说明====
电路是数字电路的重要部分,电路的输出只与输入的当前状态相关的逻辑电路,常见的有选择器、比较器、译码器、编码器、编码转换等等。在本实验里以最常见的3-8译码器为例说明如何用实现。3-8译码器的真值表如下:
从前面的实验可以知道,当输出信号到LED为高电平时LED熄灭,反之LED变亮。同时我们可以以开关的信号模拟3-8译码器的输入,这样控制开关我们就能控制特定的LED变亮。
====代码====
// ******************************************************************** // >>>>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<< // ******************************************************************** // File name : decode38.v // Module name : decode38// Author : STEP // Description : 3-8decode control LED// Web : www.stepfpga.com // // -------------------------------------------------------------------- // Code Revision History : // -------------------------------------------------------------------- // Version: |Mod. Date: |Changes Made: // V1.0 |2017/03/02 |Initial ver // -------------------------------------------------------------------- // Module Function:利用3路开关的状态作为输出,通过3-8译码实现控制LED灯的显示。 module decode38 (sw,led); input [2:0] sw; //开关输入信号,利用了其中3个开关作为3-8译码器的输入 output [7:0] led; //输出信号控制特定LED reg [7:0] led; //定义led为reg型变量,在always过程块中只能对reg型变量赋值 //always过程块,括号中sw为敏感变量,当sw变化一次执行一次always中所有语句,否则保持不变 always @ (sw) begin case(sw) //case语句,一定要跟default语句 3'b000: led=8'b0111_1111; //条件跳转,其中“_”下划线只是为了阅读方便,无实际意义 3'b001: led=8'b1011_1111; //位宽'进制+数值是Verilog里常数的表达方法,进制可以是b、o、d、h(二、八、十、十六进制) 3'b010: led=8'b1101_1111; 3'b011: led=8'b1110_1111; 3'b100: led=8'b1111_0111; 3'b101: led=8'b1111_1011; 3'b110: led=8'b1111_1101; 3'b111: led=8'b1111_1110; default: ; endcase end endmodule
引脚分配
综合(synthesize)完成之后一定要配置的引脚到相应的外设。
信号名称 | 分配管脚 | 信号名称 | 分配管脚 |
---|---|---|---|
LED[0] | N15 | SW[0] | J12 |
LED[1] | N14 | SW[1] | H11 |
LED[2] | M14 | SW[2] | H12 |
LED[3] | M12 | SW[3] | H13 |
LED[4] | L15 | ||
LED[5] | K12 | ||
LED[6] | L11 | ||
LED[7] | K11 |
下载完程序后就可以实现3个开关控制不同LED灯的显示,3-8译码器完成。
====小结====
实现了一个简单的3-8译码器,在下一个数码管显示实验我们将学习如何通过译码实现控制数码管的显示。
文章来源于:电子产品世界 原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关文章
德国西克推出DLS40增量型编码器(2023-03-07)
➡ 大大减小电机后端所需的空间尺寸,节约设备空间
● 产品说明书以激光二维码形式印刻在编码器......
如何用STM32让相对编码器说话?(2024-04-10)
如何用STM32让相对编码器说话?;▍编码器的由来和原理
若要对伺服系统中的电机进行高精度控制,需要准确的转子角度位置,这时候自然会想到,如果能张江转子每一圈进行细分,这样......
如何使用变频器给电机调速(2023-10-11)
接启动开关。
根据变频器说明书所示的接线端子接正转或反转作为启动开关,然后开始调速,如果不需要外接电位器,则使用变频器本身面板操作调速就行。如果接电位器,也需要根据变频器说明书接线,一般是10v com......
检查伺服电机好坏的方法有哪些(2024-06-24)
调到220V,怕驱动器是100V的),通电,驱动器正常,有错误信息显示,对照说明书,是显示了编码器有故障的错误,这个也正常,还没有连接编码器呢。
第三步,接上编码器,再开机,没有任何错误显示了。
第四......
基于STM32F407主控芯片的发动机转速/相位发生器设计方法分享(2023-10-17)
Response无反馈,表示不成功,可重新上下电重复⑥⑦
9)地址设置成功后,开关拨到【正常】,重新上下电
10)设置编码器工作模式为0(具体说明参照YL69说明书)
依次选择【串口选择】、【波特......
什么是绝对值编码器?特性有哪些?怎样安装编码器呢?(2024-04-16)
时应采用屏蔽电缆;
● 开机前,应仔细检查,产品说明书与编码器型号是否相符,接线是否正确;
● 长距离传输时,应考虑信号衰减因素,选用具备输出阻抗低,抗干扰能力强的型号;
● 避免......
S7-300的PID控制调节一(2023-10-09)
可加快大惯性系统响应速度以及减弱超调趋势。PID控制器就是根据系统的误差,利用比例、微分和积分算出控制量进行控制。
PID控制流程图:
开环控制典型的例子就是步进电机;闭环控制常用的例子就是伺服电机,伺服电机带有编码器,也就......
普芮玛推出PCN1X系列编码器模块(2023-01-05)
普芮玛推出PCN1X系列编码器模块;
【导读】普芮玛光电技术(江苏)有限公司 (以下简称“普芮玛光电”)宣布推出一体化、高性能增量式光电编码器模块PCN1X系列产品(包含PCN10和......
用变频器的电机为什么发抖?变频器带动电机运行时产生抖动怎么处理?(2023-03-24)
用变频器的电机为什么发抖?变频器带动电机运行时产生抖动怎么处理?;一、用变频器的电机为什么发抖
1、编码器信号检测不准,或者信号线接触不好。检查一下编码器本身,然后检查一下信号线的连接情况。
2......
变频器带电机抖动是什么问题?变频器带电机抖动怎么解决(2024-07-09)
变频器带电机抖动是什么问题?变频器带电机抖动怎么解决;01 用变频器的电机为什么发抖?
1、编码器信号检测不准,或者信号线接触不好。
检查一下编码器本身,然后检查一下信号线的连接情况。
2......