用8086汇编写一个流水灯的程序

用8086汇编写一个流水灯的程序,第1张

程序段代码:

MOV AL,80H;80H是8255的控制字

MOV DX,010EH;010EH是8255的控制端口的地址具体的根据你的电路连接的方法计算出来替换就可以了

OUT DX,AL

MOV BX,8

MOV XC,8

A2:

MOV AL,01H

MOV DX,010AH;010AH是8255的A口或者B口的地址 根据你的图而定

A1:

OUT DX,AL

CALL DEKAY

SHL AL,1

LOOP A1

DEC BX

JNZ A2

DELAY PROC NEAR

PUSH CX

MOV CX,0FFFFH;修改0FFFFH的值可以改变跑马灯的时间间隔

LOOP $

POP CX

RET

DELAY ENDP

HLT

上面的程序是一个跑马灯的程序 跑马灯效果是D0--D7一次点亮 循环八次的一个程序

希望采纳

ORG 0000H

LJMP MAIN

ORG 0030H

MAIN:

    MOV R2,#8

    MOV A,#0FEH

LOOP1:

    MOV P1,A

    CLR C

    RLC A

    LCALL DELAY

    DJNZ R2,LOOP1

    MOV R2,#8

    MOV A,#80H

LOOP1:

    MOV P1,A

    SETB C

    RRC A

    LCALL DELAY

    DJNZ R2,LOOP1

    SJMP MAIN

DELAY:

    MOV R2,#200

DLY:

    MOV R3,#250

    DJNZ R3,$

    DJNZ R2,DLY

    RET

    END

做好中断现场保护和还原就可以解决这个问题了。

INT:

    PUSH PSW;先现场保护

    PUSH ACC;

    PUSH 00H;R0

    PUSH 01H;R1 

    PUSH 02H;R2 

    PUSH 03H;R3

    PUSH 04H;R4

    PUSH 05H;R5

    PUSH 06H;R6

    PUSH 07H;R7

    MOV A,#0AAH

MAG:

    MOV P2,A

    LCALL DELAY

    RL A

    JNB P33,MAG

    MOV A,#1

    MOV R2,#7

    POP 07H;R7;现场还原

    POP 06H;R6 

    POP 05H;R5 

    POP 04H;R4

    POP 03H;R3

    POP 02H;R2

    POP 01H;R1

    POP 00H;R0  

    POP ACC;       

    POP PSW;

    RETI

以上就是关于用8086汇编写一个流水灯的程序全部的内容,包括:用8086汇编写一个流水灯的程序、如何用汇编语言使流水灯(8个灯)从左向右依次点亮且不灭,之后从右往左依次熄灭程序步骤越多越好、单片机LED花样流水灯汇编程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9322370.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存