第六课:数码管的静态显示

原文链接:www.qxmcu.com

上节课内容回顾.

使发光二极管2-4-6-8闪烁 间隔1000毫秒。

              8个LED发光二极管,分别对应单片机IO口的P1.0到P1.7口,8个单片机IO口组成一个字节,在程序编写过程中,可以直接用P1来进行操作。

我们可以看成一个字节的二进制数代表我们的8个IO口如下表所示!LED1

LED1

LED2

LED3

LED4

LED5

LED6

LED7

LED8

P1.0

P1.1

P1.2

P1.3

P1.4

P1.5

P1.6

P1.7

1

0

1

0

1

0

1

0

依次点亮LED1到LED8发光二极管隔500毫秒。          

这里我们就会用到C语言运算符

左移运算符应用形态

i << 1

左移最低位补0,最高位移出去

右移运算符应用形态

i >> 1

右移最高位补0,最低位移出去

如:i = 0xff; i << 1;

1111 1111   → 1111 1110

我们让LED1到LED8依次点亮那么我们就可以用左移运算符来实现

然后用延时函数,延时500毫秒即可。

数码管静态和动态显示

静态显示

LED显示器工作方式有两种:静态显示方式和动态显示方式。静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。

动态显示

动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。

数码管图

第六课:数码管的静态显示

数码管的内部结构

第六课:数码管的静态显示

数码管的真值表

 

如果我们让数码管显示一个 “1”

根据我们学习板的连接电路我们可以得出以下真值表:

P0.0

P0.1

P0.2

P0.3

P0.4

P0.5

P0.6

P0.7

a

b

c

d

e

f

g

dp

0

1

1

0

0

0

0

0

P0 = 0x06;  这就是共阴级的数码管显示一个1的数值

课后练习

明白数码管的显示原理。

使数码管从0-9循环显示间隔500毫秒。

 

 

 

上一篇:FreeRTOS入门学


下一篇:Windows上帝模式