求大神帮忙做个程序,不要C语言的,要单片机汇编语言。

单片机的P2口上接有8只发光LED组成的花样流水灯。输入引脚P3.3接有一只按键开关K。K未按下时,单片机利用P2口的输出,控制花样灯左右循环流水点亮;K按下时,控制发光... 单片机的P2口上接有8只发光LED组成的花样流水灯。输入引脚P3.3接有一只按键开关K。K未按下时,单片机利用P2口的输出,控制花样灯左右循环流水点亮;K按下时,控制发光二极管交替点亮;当K松开时,花样灯恢复至左右循环流水点亮 展开
 我来答
意法半导体(中国)投资有限公司 2023-06-12
展开全部
MAIN: MOV SP,#50H MOV DPTR,#TAB;读入字模指针 MOV 30H,DPL; 存起来 ;堆栈低8位 MOV 31H,DPH ;堆栈高8位 MOV 32H,30H;再记录指针,留作移动了多少位的判断 用。 MOV 3H,31H ;3H记录字模数据的高位地址 INC 3H;3H高位地址+5,表示数据有5X256列之多。 ROL: MOV R2,#01H;设扫描次数 INI1: MOV DPL,30H;这段是扫描一次32列 MOV DPH,31H MOV R4,#32 MOV R3,#0 LOP1 P1,R3 CLR A MOVC A,@A+DPTR MOV P0,A INC DPTR CLR A MOVC A,@A+DPTR MOV P2,A INC DPTR CAL DELAY INC R3 DJNZ R4,LOP1 DJNZ R2,INI1;这条预留扫描次数用可以调整速度 MOV DPL,3…
赢皮大8
2016-12-14 · TA获得超过889个赞
知道小有建树答主
回答量:991
采纳率:75%
帮助的人:539万
展开全部
	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语言,来编写单片机的程序代码,以控制单片机的行为。这种技术在电子工程、计算机科学和电子通信等领域中被广泛应用。单片机编程的主要任务是设计和实现单片机的程序,包括定义单片机的指令系统、编写程序代码、处理器... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式