-
动态数码管显示
2015-12-13 11:19:24动态数码管显示 相关介绍: 动态数码管的显示是根据人的视觉残留而让本没有同事显示的数码管看起来同事显示 相关代码: #include #include /*0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f的编码*/ unsigned ...动态数码管显示
- 相关介绍:
- 动态数码管的显示是根据人的视觉残留而让本没有同事显示的数码管看起来同事显示
- 相关代码:
#include<reg51.h> #include <intrins.h> /*0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f的编码*/ unsigned char code num[]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; /*需要显示的八个数*/ unsigned char mytime[]= {0x00,0x00,0x40,0x00,0x00,0x40,0x00,0x00}; /*138译码器的三个输入端*/ sbit ls1=P1^2; sbit ls2=P1^1; sbit ls3=P1^0; /*延时xms毫秒*/ void delayxms(unsigned int xms) { unsigned int i,j; for(i=0; i<xms; i++) for(j=0; j<110; j++); } /*执行数码管显示函数*/ void display() { int i; for(i=0; i<8; i++)//动态选择 { switch(i) //控制位选 { case(0): ls1=0,ls2=0,ls3=0; break; case(1): ls1=0,ls2=0,ls3=1; break; case(2): ls1=0,ls2=1,ls3=0; break; case(3): ls1=0,ls2=1,ls3=1; break; case(4): ls1=1,ls2=0,ls3=0; break; case(5): ls1=1,ls2=0,ls3=1; break; case(6): ls1=1,ls2=1,ls3=0; break; case(7): ls1=1,ls2=1,ls3=1; break; } P0=mytime[i];//段选:第i个数码管显示第i个数字 delayxms(1); P0=0x00; //消隐 } } void main() { while(1) display(); }
- 相关介绍:
-
简单动态数码管显示
2016-05-03 16:38:22简单动态数码管显示 -
动态数码管显示.zip
2020-03-30 15:35:15学习嵌入式最基础的实验之一,动态数码管显示,里面包括电路图和完整地程序代码,.c文件和.OBJ格式。前提是你得有一个开发板,大家有问题的可以找我私聊哦,一起学习,共同进步! -
Verilog动态数码管显示十进制
2018-04-22 11:40:32Verilog 二进制转换十进制动态数码管显示,如8个SW开关输入7FH,四个数码管依次显示127。 -
动态数码管显示程序74HC573
2020-07-14 16:10:18本文主要讲了动态数码管显示程序74HC573,下面一起来学习一下 -
89c52 动态数码管显示
2018-06-23 12:01:34简单,易于理解,上手快,想学习51单片机动态数码管显示的可以看看 -
51单片机_动态数码管显示
2021-04-07 21:52:28动态数码管显示(延时函数) 编程原理 利用延迟函数,每秒钟数码管加1显示,一直加到250。延时函数精度不高,最好使用定时器中断。 数码管动态显示原理 动态数码管显示有段选和位选。段选是单个数码管显示的数字,位...动态数码管显示(延时函数)
编程原理
利用延迟函数,每秒钟数码管加1显示,一直加到250。延时函数精度不高,最好使用定时器中断。
数码管动态显示原理
动态数码管显示有段选和位选。段选是单个数码管显示的数字,位选是哪一个数码管亮。利用人眼的视觉效应,只要数码管切换的足够快,人眼就无法分辨出来,就会认为数码管一直保持亮,一般为20ms。
全部代码
#include <reg52.h> #define uint unsigned int //宏定义 #define uchar unsigned char uchar number; uint j,k; uint y; void delay(uint x); //延迟函数声明 void init(); //初始化函数声明 void display_init(); //显示初始化函数声明 void display(uchar z); //显示函数声明 //共阴极数码管编码 uchar code shumaguan[]= { 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f}; sbit s0=P1^0; //位选0 sbit s1=P1^1; //位选1 sbit s2=P1^2; //位选2 void main() { init(); //初始化 display_init(); //显示初始化 while(1) { for(j=y;j>0;j--) //一秒钟个位数字+1 { display(number); } number++; if(number>250) { number=0; } } } void delay(uint x) //延迟函数定义 { uint m,n; for(m=x;m>0;m--) { for(n=110;n>0;n--); } } void init() //初始化函数定义 { y=95; number=0; } void display_init() //显示初始化函数定义 { s0=0; P0=0x3f; s1=1; s2=1; delay(5); s1=0; P0=0x3f; s0=1; s2=1; delay(5); s2=0; P0=0x3f; s0=1; s1=1; delay(5); } void display(uchar z) 显示函数定义 { s0=0; //打开位选0 s1=1; s2=1; P0=shumaguan[z/100]; //百位 delay(5); s1=0; //打开位选1 s0=1; s2=1; P0=shumaguan[z%100/10]; //十位 delay(5); s2=0; //打开位选2 s0=1; s1=1; P0=shumaguan[z%10]; //个位 delay(5); }
-
verilog 实现的动态数码管显示
2009-03-05 17:16:27verilog 实现的动态数码管显示,verilog 实现的动态数码管显示 -
实验6:动态数码管显示
2020-03-04 22:37:27实验6:动态数码管显示 /************************************************************************************** * 动态数码管显示实验 * 实现现象:下载程序后数码管从右至左显示0-7。 注意事项...实验6:动态数码管显示
/************************************************************************************** * 动态数码管显示实验 * 实现现象:下载程序后数码管从右至左显示0-7。 注意事项:如果不想让点阵模块显示,可以将74HC595模块上的JP595短接片拔掉。 ***************************************************************************************/ #include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器 typedef unsigned int u16; //对数据类型进行声明定义 typedef unsigned char u8; sbit LSA=P2^2; sbit LSB=P2^3; sbit LSC=P2^4; u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//显示0~F的值 /******************************************************************************* * 函 数 名 : delay * 函数功能 : 延时函数,i=1时,大约延时10us *******************************************************************************/ void delay(u16 i) { while(i--); } /******************************************************************************* * 函 数 名 : DigDisplay * 函数功能 : 数码管动态扫描函数,循环扫描8个数码管显示 *******************************************************************************/ void DigDisplay() { u8 i; for(i=0;i<8;i++) { switch(i) //位选,选择点亮的数码管, { case(0): LSA=0;LSB=0;LSC=0; break;//显示第0位 case(1): LSA=1;LSB=0;LSC=0; break;//显示第1位 case(2): LSA=0;LSB=1;LSC=0; break;//显示第2位 case(3): LSA=1;LSB=1;LSC=0; break;//显示第3位 case(4): LSA=0;LSB=0;LSC=1; break;//显示第4位 case(5): LSA=1;LSB=0;LSC=1; break;//显示第5位 case(6): LSA=0;LSB=1;LSC=1; break;//显示第6位 case(7): LSA=1;LSB=1;LSC=1; break;//显示第7位 } P0=smgduan[i];//发送段码 delay(100); //间隔一段时间扫描 P0=0x00;//消隐 } } /******************************************************************************* * 函 数 名 : main * 函数功能 : 主函数 * 输 入 : 无 * 输 出 : 无 *******************************************************************************/ void main() { while(1) { DigDisplay(); //数码管显示函数 } }
-
C51单片机动态数码管显示
2020-04-22 23:48:04C51单片机动态数码管显示 delay时间设置的不同可以展示出不同的效果,人的肉眼正常情况下只能分辨变化超过 24ms 间隔的运动,所以小于24ms看起来感觉是静态显示的,当延长delay时间时可展现出明显的动态效果。 #...C51单片机动态数码管显示
delay时间设置的不同可以展示出不同的效果,人的肉眼正常情况下只能分辨变化超过 24ms 间隔的运动,所以小于24ms看起来感觉是静态显示的,当延长delay时间时可展现出明显的动态效果。
#include<reg52.h> #include<intrins.h> typedef unsigned int u16; typedef unsigned char u8; sbit LSA=P2^2; sbit LSB=P2^3; sbit LSC=P2^4; u8 code smgduan[9]={0x06,0x4f,0x06,0x66,0x40,0x6d,0x5b,0x3f}; void delay(u16 i) { while(i--); } void DigDisplay() { u8 i; for(i=0;i<8;i++) { switch(i) { case(0):LSA=0;LSB=0;LSC=0;break; case(1):LSA=1;LSB=0;LSC=0;break; case(2):LSA=0;LSB=1;LSC=0;break; case(3):LSA=1;LSB=1;LSC=0;break; case(4):LSA=0;LSB=0;LSC=1;break; case(5):LSA=1;LSB=0;LSC=1;break; case(6):LSA=0;LSB=1;LSC=1;break; case(7):LSA=1;LSB=1;LSC=1;break; } P0=smgduan[i]; delay(100000); P0=0x00; } } void main() { while(1) { DigDisplay(); } }
-
8段动态数码管显示程序
2011-08-27 20:21:36动态数码管显示程序。 欢迎下载,欢迎下载,欢迎下载. -
动态数码管显示(proteus仿真图和程序)
2019-05-24 12:35:49采用四位一体动态数码管显示。 二、共阳极数码管 1、基础介绍 共阳极数码管显示需要PNP三极管进行驱动电路。 三极管的集电极连接数码管的位选端,发射极连接电源,基极连接单片机进行控制。 基极高电平,集电极就... -
51单片机入门——动态数码管显示详解
2020-08-30 15:01:2651单片机:动态数码管显示 - 模块图 - 显示原理 – 消抖 静态数码管技术 + 人眼视觉停留 显示原理类似于以前的 胶片机放影视,也就是只要我切换的速度足够快你就看不出来其实我是一次次显示的(滑稽) 影视中为了... -
51单片机之动态数码管显示
2019-05-17 19:34:33本开发板上使用的是,通过P22、P23、P24控制3-8译码器来对数码管进行位选,通过P0口经过573的驱动控制数码管的段选,通过P13控制573的使能端,为低电平时573才会有输出。 138译码器的真值表如下图G1,G2A,G2B都是... -
FPGA动态数码管显示固定的数字
2021-01-26 11:33:55FPGA动态数码管显示固定的数字 FPGA Cyclone IV E : EP4CE10F17C8 系统时钟:50MHz(20ns) 计时模块 数码管位选刷新计时 module time_count( input clk, input rst, output reg flag ); parameter MAX_NUM=23'... -
动态数码管显示原理
2020-12-06 15:13:12(除资料夹通篇无代码)静态显示数码管对比学习动态显示数码管原理(两位8字形),初识模块思维 -
动态数码管显示实验
2019-04-19 19:20:24本实验采用了普中科技的51单片机开发板 本实验以静态数码管显示实验为基础 通过动态扫描方式静态显示八个数据 -
FPGA 动态数码管显示实验
2020-10-31 22:17:00但一般不建议浪费宝贵的I/O口资源,尤其在I/O口资源紧张的情况下,所以对于多位数码管一般采用动态驱动方式使数码管显示数字。那么什么是动态驱动方式呢? 为了更好的理解数码管动态驱动,我们首先 -
FPGA 动态数码管显示
2020-09-23 16:58:46分为3个文件,分别是顶层文件,计数文件,和显示部分 1:计数文件: 100ms 数据更新,同时产生数码管使能信号en 2: 显示部分 data 数据,需要分为个位 十位 百位 千位 万位 ... 数码管位置的轮流显显示,间隔... -
蓝桥杯动态数码管显示
2018-03-10 23:48:08蓝桥杯数码管原理图:数码管内部就是8个LED组成的,LED的阴极全部连接在一起就是共阴极数码管,反之就是共阳极数码管,这个公共端用一个...我们看一下原理图,首先我们看一下动态数码管的原理图,首先说明一下我们蓝桥杯的... -
单片机——动态数码管显示程序及图
2009-08-11 20:33:57本资源提供了单片机动态数码管显示的程序和相应的proteus仿真图,可供大家学习参考。 -
FPGA之动态数码管显示实验
2020-12-21 20:14:571.试验任务 完成6位数码管以动态方式从0开始...计数模块将计数值通过data端口传递给数码管动态显示模块, 使能信号en使能数码管显示数据, 小数点显示信号point控制小数点的显示,符号信号sign可以让数码管显示负号.
收藏数
1,319
精华内容
527