才看到。
注释,还需要吗?
ORG 0000H
LJMP MAIN ;转主程序
ORG 001BH
LJMP IT0P ;转T1中断服务程序
ORG 1000H ;主程序入口
MAIN:
LTB2: MOV DPTR,#TAB2 ;把数据指针移到TAB2位址
CLR P1.3 ;猜测是led总开关
MOV R1,#00H ;清空R1
MOV A,#00H ;清空A
DEL1: MOV SP,#60H ;设置堆栈指针
MOV B,#0AH ;设置中断执行次数
MOV TMOD,#10H ;选择T1,定时模式,工作方式1
MOV TL1,#0B0H ;设置低字节计数初值
MOV TH1,#3CH ;设置高字节计数初值
SETB TR1 ;启动T1开始计时
SETB ET1 ;T1中断允许
SETB EA ;开全局中断
HERE1: SJMP HERE1 ;等待
IT0P: MOV TL0,#0B0H
MOV TH0,#3CH
DJNZ B,LOOP ;非零跳转,在本程序中就是结束
MOV B,#0AH ;上一句等于零,执行这一句,设置执行次数
MOVC A,@A◆DPTR ;取出偏移后的数据到寄存器A中
MOV P0,A ;输出
INC R1 ;偏移量自加1
CJNE R1,#10H,LOOP2 ;判断是否全部取出,不相等跳转
MOV R1,#00H ;上一句相等就清空R1
LOOP2: MOV A,R1 ;把偏移量赋值给A
LOOP: RETI ;中断结束,返回
TAB2: DB 7FH,3FH,1FH,0FH,07H,03H,01H,00H
DB 80H,0C0H,0E0H,0F0H,0F8H,0FCH,0FEH,0FFH
END ;观赏
12MHz晶振 定时器50ms一次中断 led500ms亮或灭1个
多看书,多看数据手册对你有好处!
汇编代码球权是跑马灯,主要适用于正月十五的一种展示
AJMP START
ORG 0030H
START:MOV A,#0FEH
MOV P1,A
LOOP: RL A ;这里是RL。不是R1
CALL DELAY
CJNE A,#07FH,LOOP ;判断是否左移到最后一个灯
LOOP1: RR A
CJNE A,#0FEH,LOOP1;判断是否右移到最后一个灯
JMP START
DELAY:
MOV R5,#02H
D1: MOV R6,#255D ;这里还需要有冒号
D2: MOV R3,#数值(数值为你自己根据亮灯持续时间来定) ;设置内层循环参数
D3:DJNZ R7,D3
DJNZ R6,D2
DJNZ R5,D1
RET
END
以上就是土嘎嘎小编大虾米为大家整理的跑马灯代码_8个灯的led跑马灯要控制灯同时从中间向两边跑的代码是什么相关主题介绍,如果您觉得小编更新的文章对您有所帮助,不要忘记讲本站分享给您身边的朋友哦!!