单片机程序设计之LED段码管的显示程序的编写 | 太极博弈原理官方站|紫欽天|融通百科为我所用|生活全智慧|生活智慧之书

正在阅读:

单片机程序设计之LED段码管的显示程序的编写

1,096

LED段码管的显示程序的编写

关于段码显示器的显示原理,其实就是将8LED集成在一起组成一个8字型的器件,从而显示出我们想要的数字,现将编码表列出如下:

显示字符

共阴极段码

共阳极段码

显示字符

共阴极段码

共阳极段码

0

3FH

C0H

9

6FH

90H

1

06H

F9H

A

77H

88H

2

5BH

A4H

B

7CH

83H

3

4FH

B0H

C

39H

C6H

4

66H

99H

D

5EH

A1H

5

6DH

92H

E

79H

86H

6

7DH

82H

F

71H

8EH

7

07H

F8H

8.

FFH

00H

8

7FH

80H

00H

FFH

在试验板上我用的是HCF4056CD4056,这种LED驱动器好处就是能直接将数据显示出来,比如:我们要讲“6”显示出来,我们可将ABCD=6,再开通片璇即可,缺点是不能显示BCDEF,列表如下:

显示字符

ABCD

 

显示字符

ABCD

 

0

0

 

9

9

 

1

1

 

L

A

 

2

2

 

H

B

 

3

3

 

P

C

 

4

4

 

A

D

 

5

5

 

-

E

 

6

6

 

F

 

7

7

 

 

 

 

8

8

 

 

 

 

 

下面我们来学习段码显示器的显示程序的编写方法.

    4.1.1点亮一个段码显示器   (程序编号为ONELED.ASM)

             试验板的原理图中, 我们下面讲的是直接I/O口操作,显示数据从P2口输出,让第一个显示器显示“6”,程序编写如下:

                 ORG      0000H

                     LJMP     START

                     ORG      0050H

START:

                     MOV     50H,#6

                     MOV     A,#0FFH                    ;关显示

                     MOV     P2,A

START1:

                     MOV     A,#0FH               ;清第1个显示器

                     ADD      A,#10H

                     MOV     P2,A

                     MOV     A,50H                  ;显示当前按键值     

                     ADD      A,#10H

                     MOV     P2,A     

                     LJMP     START1

DELAY:

                     PUSH    07H

                     PUSH    06H

                     MOV     R7,#08H

DELAY1:

                     MOV     R6,#200

                     DJNZ     R6,$

                     DJNZ     R7,DELAY1

                     POP       06H

                     POP       07H

                     RET

                     END

          上面的程序设计只是教我们如何去点亮一个段码显示器,在实际应用中这是毫无使用价值的,下面我们来讲试验板上的4位段码显示器全部显示为“6.

4.1.2点亮4为段码显示器,让他们显示”6666”. (程序编号为: FOURLED.ASM)

     : 今后如果没有特别说明,显存地址均为: 50----57H

             ORG      0000H

                     LJMP     START

                     ORG      0050H

START:

                     MOV     50H,#6

                     MOV     A,#0FFH                    ;请按键

                     MOV     P2,A

START1:

                     MOV     A,#0FH               ;清第1个显示器

                     ADD      A,#10H

                     MOV     P2,A

                     MOV     A,50H                  ;显示”6”             

                     ADD      A,#10H

                     MOV     P2,A     

                     MOV     A,#0FH               ;清第2个显示器

                     ADD      A,#20H

                     MOV     P2,A

                     MOV     A,50H                  ;显示”6”             

                     ADD      A,#20H

                     MOV     P2,A     

                     MOV     A,#0FH               ;清第3个显示器

                     ADD      A,#30H

                     MOV     P2,A

                     MOV     A,50H                  ;显示”6”             

                     ADD      A,#30H

                     MOV     P2,A     

                     MOV     A,#0FH               ;清第4个显示器

                     ADD      A,#40H

                     MOV     P2,A

                     MOV     A,50H                  ;显示”6”      

                     ADD      A,#40H

                     MOV     P2,A     

                     LJMP     START1

DELAY:

                     PUSH    07H

                     PUSH    06H

                     MOV     R7,#08H

DELAY1:

                     MOV     R6,#200

                     DJNZ     R6,$

                     DJNZ     R7,DELAY1

                     POP       06H

                     POP       07H

                     RET

                     END

抱歉,这篇文章关闭了评论功能。

关闭