1. 单片机数码管动态显示的过程中,怎么实现让其中一个闪烁,其他的不受影响;
嘿嘿 俺来帮你喽
1 单片机数码管动态显示的过程中,设置一个闪烁寄存器,专门保存要闪烁显示的位子,再增加一个闪烁显示码的暂存器。
2 每次调用显示程序时,先要判断需要显示闪烁的位子的显示码,是不是等于“灭”的显示码,
不是的话,将该位的显示码送闪烁显示码的暂存器进行保存,将“灭”的显示码送入相应的显示缓冲区的位子,调用显示程序;如果等于“灭”的显示码,则将保存在闪烁显示码的暂存器中的显示码再送回相应的显示缓冲区的位子,调用显示程序。
呵呵 只给出实现的算法 代码就自己编喽。
满意的话 就给加分吧
2. 单片机数码管动态显示和滚动显示的区别 除了延时时间的长短和消影 为什么我打算做动态的却成了滚动的
你是否明白什么是“滚动显示”?“动态显示”的对应方式是“静态显示”;“滚动显示”是自动切换显示内容,对应的是“静止显示”。总之,“滚动显示”时显示内容要改变,而“动态显示”显示内容并不改变,但是如果延时过长,可能形成显示内容断断续续的(不是同时亮),但总的显示内容并不变。
3. 51单片机数码管动态显示从右往左
这是四位数码管从右从左流动显示,像滚动字幕一样的。用不着矩阵按键哪。
其实程序很简单,没那么复杂。程序如下
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar code tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};//共阴段码码,0x00为灭
void delay()//延时子程序
{
uint y;
for(y=400;y>0;y--);
}
void main()
{
uchar n,x;
while(1)
{
n++;
if(n>50)//n为显示一屏显示次数,n大小可调节流动速度
{
n=0;
x++;//从下一个位置开始显示
if(x>8)x=0;
}
}
}
仿真结果
4. 单片机 汇编 LED数码管动态显示
所谓的动态显示就是:led灯按设定的循序不停的一个一个(一个数用一块八段管)数的输出显示,由于led灯的闪烁速度很快,而人的眼睛最多只能识别0.2秒间隙以上的变化。那么在人看来,不停闪烁的led管就像是静态显示一样散或搏。
图中,段控制和位控制分时复用P0口,选用两个锁存器573来分开段控制和位控制数据。
段控制:数码管显示的字形
位控制:哪个冲祥数码管显示(或者说控制字形送往哪个数码管)
注意:段控制是与所有数码管连接在一起的。(如果将位控制全开的话,数码管就变成了静态显示了,并团链且显示的数字也是一样的)。位控制是独立一个一个连接的。
5. 单片机数码管显示
设计用PLC控制数码管循环显示数字0-9,控制要求如下