LED七段显示器实验

一、实验目的

 1.  了解七段显示器的显示原理。

 2.  段码决定显示内容。

 3.  位码决定哪个显示器亮。

二、实验内容

 1. 循环显示012,并且不断的向右循环移动数字,如012…-2…01-12…0,在实验台上点亮的三个七段显示器需位置相阾,剩余的三个七段显示器均不显示任何内容。

 2. 了解程序的循环结构,并且能在理解的基础上,自己设计新的循环显示程序。

三、实验提示

    在实验台上有6个LED七段显示器,所有的线路已经连接完备。对应的端口地址为220H到227H,其中,220H端口为位码锁存器,决定哪个显示器亮,bit[0]~bit[5]依次对应与实验台上从左到右的6个七段显示器,即若bit[0]=1,则左1号七段显示器亮,若bit[0]=0,则左一号七段显示器灭;若bit[5]=1,则实验台上最右边一个七段显示器亮,若bit[5]=0,则实验台上最右边一个七段显示器灭。

例:MOV AL, 位码;决定哪一个或哪几个显示器亮

  MOV DX, 220H

  OUT DX, AL

这三句代码决定某一个或某几个显示器亮。

位码表如表3-1所示:

位码

01H

02H

04H

08H

10H

20H

显示

(从左到右)

第一个

第二个

第三个

第四个

第五个

第六个

 

表3-1  七段显示器位码表

MOV AL, 段码;决定显示器要显示的内容

MOV DX, 221H

OUT DX, AL

这三句代码决定了左边第一个显示器的显示内容。

七段显示器的段编号如图3-1所示:

图3-1七段显示器段编号

段码的bit[0]~bit[6]分别对应与七段显示器的a, b, c, d, e, f, g段,即若bit[0]=1,则七段显示器中的a段亮;若bit[0]=0,则七段显示器中的a段不亮。段码表如表3-2所示:

代码

3FH

06H

5BH

4FH

66H

6DH

7DH

07H

显示内容

0

1

2

3

4

5

6

7

代码

7FH

6FH

77H

7CH

39H

5EH

79H

71H

显示内容

8

9

a

b

c

d

e

f

 

表3-2 七段显示器段码表

四、程序流程图

五、参考程序

DATA SEGMENT

NUM DB 3FH, 06H, 5BH, 0H, 0H, 0H

DATA ENDS

 

CODE SEGMENT

ASSUME CS: CODE, DS: DATA

START:  MOV AX, DATA

MOV DS, AX

 

MOV AL, 3FH

MOV DX, 208H

OUT DX, AL

 

LEA BX, NUM

 

LOOP1: 

MOV CX, 200H

LOOP4:  LOOP LOOP4         ;延时显示

MOV AL, 0

MOV AH, 0

INC DX

CMP DX, 20FH

JZ LOOP2

JMP LOOP3

LOOP2:  MOV DX, 209H

CMP AL, 6H

JZ LOOP1

LOOP3:  XLAT

OUT DX, AL

INC DX

INC AH

MOV AL, AH

CMP DX, 20FH

JZ LOOP2

CMP AL, 6H

JZ LOOP1

JMP LOOP3  

CODE ENDS

END START

 

六、实验结果

    在七段显示器中循环显示012,并且不断的向右循环移动数字:

  

【去实验】