ORG 0 ;程序从0地址开始
START: MOV DPTR,#TAB ;将DPTR指向编码表位置
LOOP: CLR A ;清空ACC
MOVC A,@A+DPTR ;根据ACC的内容取出编码表里的编码
CJNE A,#0FFH,SHOW ;若ACC的内容不等于0FFH,则跳至SHOW处执行
AJMP START ;跳到START处执行
SHOW: MOV P2,A ;让P1口输出ACC的内容
ACALL DELAY ;调用延时子程序
INC DPTR ;将DPTR寄存器的内容加1
AJMP LOOP ;跳到LOOP处执行
;0.25秒延时子程序(12MHz晶振)===========================
DELAY: MOV R5,#2 ;R5寄存器加载8次
D0: MOV R7,#250 ;R7寄存器加载250次数
D1: MOV R6,#250 ;R6寄存器加载250次数
D2: DJNZ R6,D2 ;D2循环执行R6次
DJNZ R7,D1 ;D1循环执行R7次
DJNZ R5,D0 ;D0循环执行R5次<