您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网>电子元器件>数码管>

软件译码编程 - MAX7219命令控制字(电路图与例程)

2018年01月17日 10:16 网络整理 作者: 用户评论(0

(1) 软件译码编程:

先找出各字符的编码,根据a 、b 、c 、d 、e 、f 、g 各段与数据位的对应关系,可得: H 中a 、d 段为0 , 。其余为1 ,即00110111 或37H ,同样E、L 、P 、7、2、1、9 的编码分别为4FH、0EH、67H、70H、6DH、30H、73H。将HEL P7219 字符编码分别存入8051 地址为50H 单元(片内RAM存放显示数据的8 个字节单元首地址) 。显示器最左边一位为第一位,R0 为对应的显示位,R1 为显示数据单元地址,R2 为显示位数,共8 位。因8051 串行输出的时序顺序为将一字节的最低位最先送出, 而MAX7219 的时序顺序为将接收到的第一位当作该一字节数据的最高位, 所以需要改变送出位的顺序。

程序如下:

SHOW: CL R P1. 0 ;LOAD 置低

MOV A , # 09H ;译码模式控制字

LCALL CHAN GE

MOV A , # 00H ;软件译码

LCALL CHAN GE

SETB P1. 0 ; 置LOAD 为高, 锁存软件译码控制字

ACALL DISPLA Y8 ;显示8 位数据

DISPLA Y8 :MOV R0 , # 01H ;置显示位,从第0 位开始

MOV R1 , # 50H ;置显示数据首址

MOV R2 , # 08H ;共8 位显示

A GAIN : CL R P1. 0

MOV A ,R0 ;显示位

LCALL CHAN GE

MOV A , @R1 ;取出显示数据

LCALL CHAN GE ;输出数据

SETB P1. 0

INC R0 ;指向下一位

INC R1 ;指向下一位显示数据

DJNZ R2 ,A GAIN ;8 位未完,继续

RET

CHAN GE : MOV C ,ACC. 7 ; 改变位顺序,对应于接收位

MOV 0A0H ,C

MOV C ,ACC. 6

MOV 0A1H ,C

MOV C ,ACC. 5

MOV 0A2H ,C

MOV C ,ACC. 4

MOV 0A3H ,C

MOV C ,ACC. 3

MOV 0A4H ,C

MOV C ,ACC. 2

MOV 0A5H ,C

MOV C ,ACC. 1

MOV 0A6H ,C

MOV C ,ACC. 0

MOV 0A7H ,C

MOV A ,0A0H

MOV SBU F ,A (下转P45图3 8051 与MAX7219 组成的8 位L ED 显示器)

JNB TI , $ ;等待发送完毕

CL R TI ;清TI 标志,允许再发

RET

(2) 硬件译码编程:

若采用B 码译码显示“HEL P7219”字符串,对应的编码分别为:0CH、0BH、0DH、0EH、07H、02H、01H、09H。8 个数据字节存50H开始的单元中,程序如下:

SHOW: CL R P1. 0 ;LOAD 置低

MOV A , # 09H ;译码模式控制字

LCALL CHAN GE

MOV A , # FFH ;B 码硬件译码

SETB P1. 0 ; 置LOAD 为高, 锁存硬件译码控制字

ACALL DISPLA YS ;显示8 位数据

非常好我支持^.^

(17) 100%

不好我反对

(0) 0%

( 发表人:金巧 )

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!