
求大神帮忙做个程序,不要C语言的,要单片机汇编语言。
单片机的P2口上接有8只发光LED组成的花样流水灯。输入引脚P3.3接有一只按键开关K。K未按下时,单片机利用P2口的输出,控制花样灯左右循环流水点亮;K按下时,控制发光...
单片机的P2口上接有8只发光LED组成的花样流水灯。输入引脚P3.3接有一只按键开关K。K未按下时,单片机利用P2口的输出,控制花样灯左右循环流水点亮;K按下时,控制发光二极管交替点亮;当K松开时,花样灯恢复至左右循环流水点亮
展开
1个回答
意法半导体(中国)投资有限公司
2023-06-12
展开全部
展开全部
JS EQU 0X30
BZ EQU 0X31
ORG 0000H
MAIN:
MOV SP,#0X60
MOV JS,#0
MOV BZ,#0
Loop: JB P3.3,L1
MOV DPTR,#TAB1
JMP L2
L1: MOV DPTR,#TAB2
L2: CALL LEDCX
JMP LOOP
TAB1:
DB 2,0XAA,0XCC
TAB2:
DB 14,0XFE,0XFD,0XFB,0XF7,0XEF,0XDF,0XBF,0X7F,0XBF,0XDF,0XEF,0XF7,0XFB,0XFD,
LEDCX:
CALL DELAY10MS
INC JS
MOV A,JS
CLR C
SUBB A,#50
JC LED1
MOV JS,#0
INC BZ
LED1: CLR A
MOVC A,@A+DPTR
SETB C
SUBB A,BZ
JNC LED2
MOV BZ,#0
LED2: MOV A,BZ
INC A
MOVC A,@A+DPTR
MOV P2,A
RET
DELAY10MS: ;@11.0592MHz
PUSH 30H
PUSH 31H
MOV 30H,#18
MOV 31H,#230
NEXT:
DJNZ 31H,NEXT
DJNZ 30H,NEXT
POP 31H
POP 30H
RET
END
追问
能解释下各句的意思吗?
追答
JS EQU 0X30
BZ EQU 0X31
ORG 0000H
MAIN:
MOV SP,#0X60
MOV JS,#0 //计时标志清0
MOV BZ,#0 //运行标志清0
Loop: JB P3.3,L1
MOV DPTR,#TAB1//3.3按下
JMP L2
L1: MOV DPTR,#TAB2//3.3没按下
L2: CALL LEDCX//led程序
JMP LOOP 大循环
TAB1://交替闪烁
DB 2,0XAA,0XCC
TAB2://左右循环
DB 14,0XFE,0XFD,0XFB,0XF7,0XEF,0XDF,0XBF,0X7F,0XBF,0XDF,0XEF,0XF7,0XFB,0XFD,
LEDCX:
CALL DELAY10MS//延时10ms
INC JS //计时标志加1
MOV A,JS
CLR C
SUBB A,#50 //10ms*50=0.5s
JC LED1
MOV JS,#0 //清0
INC BZ //标志加1
LED1: CLR A
MOVC A,@A+DPTR
SETB C
SUBB A,BZ //判断bz是否超过该表长度
JNC LED2
MOV BZ,#0
LED2: MOV A,BZ
INC A
MOVC A,@A+DPTR //根据bz和dptr取出当前led的亮灭状态
MOV P2,A//送到P2口
RET
//延时10ms,用STC-ISP 算的
DELAY10MS: ;@11.0592MHz
PUSH 30H
PUSH 31H
MOV 30H,#18
MOV 31H,#230
NEXT:
DJNZ 31H,NEXT
DJNZ 30H,NEXT
POP 31H
POP 30H
RET
END

2023-06-12 广告
单片机编程是指使用单片机编程语言,如C语言,来编写单片机的程序代码,以控制单片机的行为。这种技术在电子工程、计算机科学和电子通信等领域中被广泛应用。单片机编程的主要任务是设计和实现单片机的程序,包括定义单片机的指令系统、编写程序代码、处理器...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询