用单片机控制2位数码管,不用锁存器能显示动态扫描码?比如说从0到99。 如果能程序怎么写?
编写一个程序以使用微控制器来控制2 位数字管以显示动态扫描仪代码,例如从0到9 9 ,实际上无需使用屏障。这是一个简单的示例程序:我们首先定义一个矩阵以将段代码保存到每个数字:charcodeduanxuan [] = {0x3 f,0x06 .0x5 b,0x6 6 .0x6 d,0x6 6 .0x6 d,0x7 d,0x07 .0x6 f,0x6 7 f,0x6 f,0x6 f,0x6 f,0x6 f,0x6 f,0x6 f,0x6 f,0x6 f,0 x7 f,jebl ,x; inty; :voidmain(){y = 3 0000; 而(y-){for(i = 0; i <9 ; i ++){p2 1 = 1 ; //如果您使用的数字管是常见的阳极,请参见1 .p0 = duanxuan [i]; Yanshi(5 ); p0 = 0x00;} for(j = 0; j <9 ; j ++){p2 0 = 1 ; p0 = duanxuan [j]; Yanshi(5 ); P0 = 0x00;}}}该程序使用动态扫描技术通过检查P2 1 和P2 0棒的状态来切换数字管显示。
每个数字出现在5 毫秒的P0棒上。
您可以调整延迟时间,并根据您的需求显示数字区域。
希望这个示例对您有帮助。
请记住,不同的数字管道类型(常规阳极或常规阴极)需要调整相应的引脚设置。
如果使用常规的阴极数字管,则应将P2 1 和P2 0设置为低水平。
如果您对此方法感兴趣,则可以尝试编写多个示例程序,以详细了解微控制器控制的数字管道。
怎么实现数码管动态动态扫描显示(同时显示不同的数字)?以下程序只能一次显示一个数字。
很容易。首先,如果我们有6 位数字管,每个数字数字管都需要8 个段来选择终端的1 个常见门,那么6 位数字是自然的,8 位数字和8 位数字和8 位数字和8 位数字在7 -数字自然是一个6 位网关信号的标志(分别为1 扇门之一)#defitmg_weip0 // p1 .0-p1 .5 驱动数字管 p1 .0#defitmg_daanp1 // p1 .0,p1 .7 连接8 个数字管片段与unsigningcharsmgcode [] = {1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,x} // 0-9 实际上根据段信号确定值 voiddelay(unsignedlongw){while(w-);} voiddisplay(unsignedchars1 ,unsignedchars2 ,unsignedchars3 ,unsignedchars3 ,unsignedchars4 ,unsignedchars4 ,unsignedchars4 ,unsignededchars4 ,unsignedChars6 )// s1 -s6 s1 -s6 是1 -6 需要显示的数字管的数字。
{smg_wei 0x01 //主数字管00000 1 SMG_DUAN = SMGCODE [S1 ]; ; //延迟一段时间以消除SMG_WEI = 0x02 //第二个数字管 门00001 0smg_duan = smgcode [s2 ]; ///////// smg_wei = 0x2 0 //在第6 个数字管Connex中 1 00000smg_duan = smgcode [s6 ]://如果显示了6 的s6 力,则直接调用至6 ,并且在显示力延迟(c)//当时延迟dive smg_wei = 0; smg_duan = 0; //在显示屏中清除以由每个数字管的亮度组成} vourmain({with(1 ){){display(1 ,2 ,3 ,4 ,5 ,6 ); //数字管(1 2 3 4 5 6 }}
数码管动态显示原理 (如何让数码管的动态扫描慢一点)
您也可以无需休息:1 ,初始化2 ,显示第一个位3 ,延迟(2 ms)4 ,显示第二位5 ,延迟(2 ms)6 ,显示第三位7 ,延迟(2 ms) 8 ,显示第四位9 ,延迟(2 ms)1 0,增加数字(将寄存器设置为添加1 ,仅在计数高达1 000时显示的值 1 1 ,跳一个步骤2单片机数码管动态扫描
延迟功能太短。让我们谈谈下面的工作流程。
首先,选择了第一个数字管,因为第一个数字管的位选择线是活动的。
然后关闭位选择,段线选择活动,并且数据发送到数字管。
发送数据后,段选择行已关闭。
在这一点上,延迟为5 ms(人眼具有视觉保留效果。
这大约是0.1 -0.4 秒。
如果延迟时间太短,则两个数字管将一个接一个地点亮,首先是数字数字第一个管的管将成为第一个试管,然后第二个数字管会调整延迟时间,并逐渐感觉到差异。
选择了位点,片段选择是打开的,并且数据发送到第二个数字管。
选择可以动态扫描数字管。
例如,假设您有四个数字试管,每个数字管都有八行选择,您总共需要3 2 个I/O端口。
/o端口,大大降低了动态扫描的另一个优势,即使在高速扫描期间,用户可以保持人眼的视觉保留。
(时间,温度等)。
每个数字管仅在每个扫描周期中点亮,因此,如果扫描频率太低,则通常会闪烁。
此外,动态扫描也会导致数字管的亮度不均匀,尤其是在高速扫描中以达到最佳的动态扫描效果。
平衡点使数字管看起来稳定且明亮。
数码管显示的动态扫描原理
数字管显示的动态扫描原理如下:显示屏在系统控制下以有序的方式向上亮起的所有数字管道,每个数字管道的照明时间为1 至2 微秒。通过利用人类的视觉存储现象和发光二极管的后续作用,数字管道并非同时点亮,但是扫描速率足够快,可以显示稳定且非瓶装数据。