新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 单片机驱动8×8点阵LED

单片机驱动8×8点阵LED

作者: 时间:2013-03-12 来源:网络 收藏

CLK EQU P3.2

DINA EQU P3.3

DINB EQU P3.4

CLEAR EQU P3.5

ORG 0000H

AJMP MAIN

ORG 0100H

MAIN:

MOV SP,#70H ;设堆栈指针

MOV 50H,#07EH ;设置发送的列数据(Y0~Y7)

MOV 51H,#0BDH

MOV 52H,#0DBH

MOV 53H,#0E7H

MOV 54H,#0E7H

MOV 55H,#0DBH

MOV 56H,#0BDH

MOV 57H,#07EH

CLR CLEAR ;初始化I/O

SETB CLK

SETB DINA

SETB DINB

SETB CLEAR

mainloop:

mov r6,#8h;设置扫描次数

mov dptr,#09000h;读取扫描端口数据

MOV R1,#50H ;指定列数据指针

flashcy:

MOV A,@R1 ;读取列数据

MOV R0,A

INC R1 ;列数据指针加1

CLR A

MOVC A,@A+DPTR

MOV P1,#0FFH

LCALL SENDTO

MOV P1,A

INC DPTR

LCALL DELAY

DJNZ R6,flashcy

SJMP MAINLOOP

sendto: ;发送数据子程序

PUSH ACC

CLR CLK

SENDTIME:

MOV R7,#08H

MOV A,R0

CLR C

SENDCY:

RRC A

MOV DINA,C

SETB CLK

CLR CLK

DJNZ R7,SENDCY

POP ACC

RET

DELAY: MOV R7,#01 ;延时子程序

DELAY0: MOV R4,#17

DELAY1: MOV R3,#28

DJNZ R3,$

DJNZ R4,DELAY1

DJNZ R7,DELAY0

RET

ORG 09000H

DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH ;X0~X7(列扫描)

end


上一页 1 2 3 下一页

关键词: 单片机 8×8 点阵LED

评论


相关推荐

技术专区

关闭