STC15控制数码管 38译码器】的更多相关文章

共阳极数码管举例 #define MAIN_Fosc 27000000L //定义主时钟 #include "STC15Fxxxx.H" #define uchar unsigned char void enable_38(void); void LED_OUT(uchar X); void Led_test(char pos); //数码管显示0-9值,全暗状态是0xFF unsigned char code LED_0F[] = { //0 1 2 3 4 5 6 7 8 9 0x…
在数字系统中,由于采用二进制运算处理数据,因此通常将信息变成若干位二进制代码.在逻辑电路中,信号都是以高,低电平的形式输出.编码器:实现编码的数字电路,把输入的每个高低电平信号编成一组对应的二进制代码. 设计一个输入为8个高电平有效信号,输出代码为原码输出的3位二进制编码器. 化简逻辑表达式:由逻辑表达式可以得出,普通的8-3编码器用或门即可实现.对应的verilog程序如下: module mb_83(x,y); :]x; :]y; :]y; always@(x) begin case (x)…
操作: 实现按下一个按键,对应的数码管和点阵显示相应的数字 代码: /*  *******************数码管按键综合项目********************* */ #include <reg52.h> int local(unsigned int i); sbit ADDR0 = P1^0; sbit ADDR1 = P1^1; sbit ADDR2 = P1^2; sbit ADDR3 = P1^3; sbit ENLED = P1^4; sbit key1 = P2^4;…
case语句 if_case语句 源码下载 Github >>…
目录 1)问题产生 2)失败尝试 3)最终方案 4)使用方法 5)知识共享 1)问题产生 在上一篇“以PWM控制直流电机为例建一个简单的51工程框架”中已向大家介绍了一个封装好的8位8段数码管的驱动(如下图中FUNC文件夹下led8.c文件). 但是该驱动电路是要有一定的硬件基础的(如下图):如2片74HC573.而我这里只有几个4位8段共阴数码管又没有74HC573,所以就得寻求用51直接驱动的方案了! 2)失败尝试 失败操作:直接在相应的引脚间加5伏电压来测试该数码管是否正常 结果:烧坏了2…
8段led管构成一个数字. 开发板上共有8个数字. 每个数字有一个使能端(段选引脚) 每个数字的位选端(选择8段led管哪些亮,即构成什么图案)并联在一起 轮流点亮不同数字,速度很快,视觉暂留,从而形成8个数字同时亮的效果 #include <reg51.h> typedef unsigned int u16; typedef unsigned char u8; #define DIG P0 sbit LSA = P2^2; sbit LSB = P2^3; sbit LSC = P2^4;…
一个数码管有九个引脚,控制八段二极管的亮灭,用以显示需要的数字. 当有N个数码管时,一个一个控制的话需要N x 9 个引脚,消耗资源较多. 因此可以利用动态显示的方案通过人眼的视觉暂留特性达到静态显示的效果(动态显示周期<20ms),只需N+8个引脚.节省了大量资源.(动态静显) 数码管动态显示的逻辑电路如下: Verilog设计代码如下: module digital_tube(//八个数码管显示 clk, reset, disp_num_all, dg_tube, tube_part );…
芯航线——普利斯队长精心奉献 课程目标:    1. 再次熟悉Quartus II工程的建立以及完整的FPGA开发流程 2. 以译码器为例学会简单组合逻辑电路设计 实验平台:无 实验原理: 组合逻辑,其任一时刻的稳态输出,仅仅与该时刻的输入变量的取值有关,而与该时刻以前的输入变量取值无关.这种电路跟时序逻辑电路相反,时序逻辑电路的输出结果是依照目前的输入和先前的输入有关系.从电路结构分析,组合电路由各种逻辑门组成,网络中无记忆元件,也无反馈线.与组合逻辑对应的就是时序逻辑,时序逻辑将在下一讲详细…
1基础理论部分 led数码管是由多个发光二极管封装在一起组合的“8”字型的器件,引线内部已经完成,如下图10.1所示,图10.2为实物图. 图10.1 数码管内部结构 那么我们想要控制数码管的亮灭,其实也就是控制发光二极管的亮灭,分别用高低电平去控制.对于数码管来说,读者若是学过单片机及其他MCU的话,其实都知道数码管的控制有两个信号是比较重要的,一个是段选信号,一个是位选信号,位选信号是针对有多个数码管时,需要控制哪一个数码管发亮,段选就是控制数码管显示什么数字. 那么在购买数码管的时候,往往…
这里以简单的3-8译码器和8-3编码器为例: module decoder3_8(a,out); :]a; :]out; 'b1<<a;/*把最低位的1左移in位(根据in口输入的值)并赋予out*/ endmodule 8-3编码器程序: 1)利用for循环 module encoder8_3(a,out,none_on); :]a; :]out; output none_on; :]out; reg none_on; //要在always块中赋值,必须为reg型数据 always @(a)…