

;******************************************************************************
;*标题: 东哥单片机学习网 DG-51/AVR-V1.0开发板 演示程序--LED广告灯
;*文件: DG002.asm
;*版本: 1.0
;*作者: 东哥开发网 - 东哥
;*邮箱: picavr@163.com QQ: 279068079
;*网站: http://www.picavr.com
;*****************************************************************************
;*: 描述:
;*: 用延时建表的方式实现LED广告灯程序
;*:
;******************************************************************************
;* 【版权】 Copyright(C)东哥单片机学习网 www.picavr.com All Rights Reserved
;* 【声明】 此程序仅用于学习与参考,引用请注明版权和作者信息!
;******************************************************************************
LJMP START ;转入主程序
ORG 0030H ;
START:
MOV SP,#60H ;贼堆栈初值为60H
LOOP:
MOV DPTR,#TABLE ;
LOOP1:
MOVC A,@A+DPTR ;取数据表第1个数据
CJNE A,#0BH,DISP1 ;若数据为0BH,表示数据表结束
AJMP LOOP ;则返回,从头开始
MOV R1,#10H ;设LED灯亮延时常数
LCALL DELAY ;调用延时子程序
INC DPTR ;取数地址加1
AJMP LOOP1 ;继续读取下一个数据
;*****************************************************************************
DELAY:
DEL1: MOV R3,#0F0H
DEL2: DJNZ R3,$
DJNZ R2,DEL1
DJNZ R1,DELAY
RET
;*****************************************************************************
TABLE:
DB 0FEH ;1111 1110 P2.0 LED灯亮
DB 0FDH ;1111 1101 P2.1 LED灯亮
DB 0FBH ;1111 1011 P2.2 LED灯亮
DB 0F7H ;1111 0111 P2.3 LED灯亮
DB 0EFH ;1110 1111 P2.4 LED灯亮
DB 0DFH ;1101 1111 P2.5 LED灯亮
DB 0BFH ;1011 1111 P2.6 LED灯亮
DB 7FH ;0111 1111 P2.7 LED灯亮
DB 0DFH
DB 0EFH
DB 0F7H
DB 0FBH
DB 0FDH
DB 0FEH
DB 0FFH
DB 0FFH
DB 00H
DB 0FFH
DB 0CFH
DB 0F3H
DB 0FCH
DB 0F3H
DB 0CFH
DB 3FH
DB 03H
DB 0CH
DB 18H
DB 30H
DB 60H
DB 0C0H
DB 60H
DB 30H
DB 0FFH
DB 00H
DB 0FFH
DB 0FEH
DB 0FFH
DB 0FH
DB 0F0H
DB 0AAH
DB 55H
DB 0AAH
DB 55H
DB 0AAH
DB 01H
DB 02H
DB 04H
DB 08H
DB 10H
DB 20H
DB 40H
DB 80H
DB 00H
DB 0FFH
DB 0BH ;数据表结束标志
END
8031单片机控制8个彩灯怎么接啊
于2008评论道:
你可以P0口和P2口各接8个LED就以啦