本文目录一览

1,数码管动态显示怎么延时好为什么用两个for循环数就大了一点走几步

这得根据你的系统时钟频率来确定具体时间;一般都是用一个for循环吧,确定一个大概的时间就行,不用太具体吧。

数码管动态显示怎么延时好为什么用两个for循环数就大了一点走几步

2,数码管动态显示程序设计时延时程序有什么作用延时时间的长短对其显示

延时程序的作用是保持当前显示数码管足够时间,同时稳定显示效果,以形成视觉暂留。延时时间长短视具体情况而定,一般要大于2毫秒,所有数码管一次扫描完成总时间不能大于40毫秒,40毫秒基本上是人眼视觉暂留的极限了。

数码管动态显示程序设计时延时程序有什么作用延时时间的长短对其显示

3,有关数码管的动态显示求助大家帮帮忙

#include <reg51.h> #include <intrins.h>void delay(); //函数声名//此表为 LED 的字模, 共阴数码管 0-9 - unsigned char code Disp_Tab[] = //此表为8个数码管位选控制, 共阴数码管 1-8个 - unsigned char code dispbit[8]=/************主函数**********************/ main() while(1) P1=0xfe; P0=0x6f; delay(); P1=0xfd; P0=0x7f; delay(); }} void delay() char i,j; for(i=150; i > 0; i--) for(j = 110; j > 0; j--);} 不知道你能不能看懂,我用的是普中科技的单片机,所以暂时不用锁存器就可以控制

有关数码管的动态显示求助大家帮帮忙

4,数码管扫描的时间公式

数码管扫描的时间公式:1秒=1000毫秒。数码管动态扫描j每个管扫描时长为10~20毫秒合适,也就是每个管子通电时间。先将一个管通电送段码,延时让它通10~20毫秒,通然后关掉再给另一个通电送段码,延时让它通10~20毫秒,如此循环,如果用定时器做延时和定时器有关系,在程序别的地方修改了定时器就会产生冲突。数码管的最常见形式有10个阴极,形状为数字0到9,某些数码管还有一个或两个小数点。然而也有其他类型的数码管显示字母、标记和符号。如一种“数码管”,其阴极为一个模板制成的面具,上面有数字形状的孔。一些俄罗斯的数码管,如IN-14,使用倒立的数字2代表5,大概是为了节约生产成本,而没有明显的技术或美学方面的原因。俄罗斯的数码管大部分都使用了倒立的2作为5。

5,数码管动态显示时位扫描间隔时间是多少

先废话一下:扫描频率太低数码管会出现闪烁的现象,频率太高则亮度不够甚至无法看清,所以一般扫描间隔多为几毫秒。 一般间隔1ms就差不多了,如果不够亮可以适当地增大间隔时间,不会有影响。但是,有一点需要注意,从点亮第一支数码管到最后一只数码管被点亮,整个过程最好不要超过20ms,一旦超过则会出现闪烁的现象。 另外,点亮一只数码管后,在点亮第二支数码管之前需要先关断第一支数码管,否则会出现显示混乱的情况。
void xs(qian,bai,shi,ge,sj)//5ms显示延时 while(sj--) p0=wei[qian]; p2=0xef; delay1ms(1); p2=0xff; p0=wei[bai]; p2=0xdf; delay1ms(1); p2=0xff; p0=wei[shi]; p2=0xbf; delay1ms(1); p2=0xff; p0=wei[ge]; p2=0xff; delay1ms(1); p2=0xff; }}

6,单片机四个数码管动态显示的延时时间约为多少

#include <reg52.h>#include <stdlib.h>#define uint unsigned long#define uchar unsigned char sbit N1 = P1^0; sbit N2 = P1^1;sbit N3 = P1^2;sbit N4 = P1^3;uchar code table[]=uint num;int a,t1=0;void delayms(uint xms) //延时函数 uint i,j; for(i=xms;i>0;i--) for(j=10;j>0;j--);}void display(uint num) N1=0; P0=table[(num/1000)]; delayms(1); P0=0XFF; N1=1; N2=0; P0=table[(num%1000)/100]; delayms(1); P0=0XFF; N2=1; N3=0; P0=table[(num%100)/10]; delayms(1); P0=0XFF; N3=1; N4=0; P0=table[(num%10)]; delayms(1); P0=0XFF; N4=1;}void TimeAdd() interrupt 1 TH0=(65536-50000)/256; TL0=(65536-50000)%256; t1++; if(t1==10) //20*50==1秒10*50=0.5秒 t1=0; num++; }}void main() TMOD=0X01; // 定时器 初始化 TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; //中断总开关 ET0=1; //开定时器0 中断 TR0=1; //启动定时器0 num=6000; //初始值 while(1) display(num); }}

文章TAG:动态动态数码管延时多少  数码管动态显示怎么延时好为什么用两个for循环数就大了一点走几步  
下一篇