各位单片机达人帮个忙 用汇编语言做一个 发光二极管循环点亮的程序 要求 使八只发光二极管做循环点亮一次
然后右循环点亮一次这样交替4次使用p1口作为信号输出口掩饰时间1s晶振平率为6mhz程序首地址为4000h延时程序可通过定时器中断或指令实现。各位大神帮个忙thanks先...
然后右循 环点亮一次 这样交替4次 使用p1口作为信号输出口 掩饰时间1s 晶振平率为6mhz 程序首地址为4000h 延时程序可通过定时器中断或指令实现。各位大神帮个忙 thanks
先左循环一次然后再又循环 交替四次 展开
先左循环一次然后再又循环 交替四次 展开
3个回答
展开全部
ORG 00H
JMP MAIN
ORG 30H
MAIN: MOV A,#0FFH ;设置左移初值
CLR C ;C=0
MOV R2,#08H ;设置左移次数
LOOP: RLC A ;左移1位
MOV P1,A ;输出到P1
CALL DELAY ;延时
DJNZ R2,LOOP ;左移7次
MOV R2,#07H ;
LOOP1: RRC A ;右移1位
MOV P1,A ;输出到P1
CALL DELAY ;
DJNZ R2,LOOP1 ;右移7次
JMP MAIN
DELAY: MOV R3,#20 ;延时0.2s
D1: MOV R4,#20
D2: MOV R5,#248
DJNZ R5,$
DJNZ R4,D2
DJNZ R3,D1
RET
END
JMP MAIN
ORG 30H
MAIN: MOV A,#0FFH ;设置左移初值
CLR C ;C=0
MOV R2,#08H ;设置左移次数
LOOP: RLC A ;左移1位
MOV P1,A ;输出到P1
CALL DELAY ;延时
DJNZ R2,LOOP ;左移7次
MOV R2,#07H ;
LOOP1: RRC A ;右移1位
MOV P1,A ;输出到P1
CALL DELAY ;
DJNZ R2,LOOP1 ;右移7次
JMP MAIN
DELAY: MOV R3,#20 ;延时0.2s
D1: MOV R4,#20
D2: MOV R5,#248
DJNZ R5,$
DJNZ R4,D2
DJNZ R3,D1
RET
END
追问
我去 根本不行
展开全部
;
;
; LED单灯跑动
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN:
MOV A,#0FEH
MOV R0,#9 ;循环九次,8个灯亮及1次灯全灭
START:
MOV P0,A ;输出到P0口连接的 LED灯上
SETB C ;置进位C
RLC A ;带进位左移
CALL DELAY ;延时一段时间
DJNZ R0,START ;反复循环
AJMP MAIN ;重新开始
;延时子程序
DELAY:
MOV R1,#15
D1: MOV R2,#100
D2: MOV R3,#100
DJNZ R3,$
DJNZ R2,D2
DJNZ R1,D1
RET
END
自己改改吧,不会的话,再说。
;
; LED单灯跑动
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN:
MOV A,#0FEH
MOV R0,#9 ;循环九次,8个灯亮及1次灯全灭
START:
MOV P0,A ;输出到P0口连接的 LED灯上
SETB C ;置进位C
RLC A ;带进位左移
CALL DELAY ;延时一段时间
DJNZ R0,START ;反复循环
AJMP MAIN ;重新开始
;延时子程序
DELAY:
MOV R1,#15
D1: MOV R2,#100
D2: MOV R3,#100
DJNZ R3,$
DJNZ R2,D2
DJNZ R1,D1
RET
END
自己改改吧,不会的话,再说。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询