编写汇编程序,利用led灯亮暗表示按键按下次数,按一次加一,用二进制

编写汇编程序,利用led灯亮暗表示按键按下次数,按一次加一,用二进制,第1张

LED EQU P0

KEY EQU P10

ORG 0000H

LJMP MAIN

ORG 0030H

MAIN:

MOV LED,#0

CLR A

LOOP:

JB KEY,$

JNB KEY,$

INC A

MOV LED,A

SJMP LOOP

END

这个流水灯是很普通的一种花样,假设LED接P1口,程序如下:

ORG 0000H

LJMP MAIN

0RG 000BH

LJMP T0ISR

ORG 0030H

MAIN:

MOV TMOD,#01H

MOV TH0,#HIGH(65536-50000) ;50毫秒定时

MOV TL0,#LOW(65536-50000)

SETB TR0

SETB ET0

SETB EA

MOV A,#0FEH

MOV P1,A

MOV R2,#20

SJMP $

T0ISR:

CLR TR0

MOV TH0,#HIGH(65536-50000)

MOV TL0,#LOW(65536-50000)

SETB TR0

DJNZ R2,T0E ;1秒未到直接退出

MOV R2,#20

RL A

MOV P1,A ;1秒一变的花样流水灯。

T0E:

RETI

END

KEY BIT P10;按键与P10相连接

;LED与P2相连接,低电平有效

KZW BIT 20H0;标志控制位,1——向左循,0——右循环

ORG 00H

LJMP MAIN

ORG 30H

MAIN:

MOV P2,#0FFH

JB P10,$

ACALL DELAY10MS;延时10ms

JNB P10,$

MOV P2,#0FEH

SETB KZW

LOOP:

JB P10,KS

ACALL DELAY10MS;延时10ms

JNB P10,$

CPL KZW

KS: JNB KZW,R_M

L_M:;左循环

MOV A,P2

RL A

MOV P2,A

ACALL DELAY

LJMP LOOP

R_M:;右循环

MOV A,P2

RR A

MOV P2,A

ACALL DELAY

LJMP LOOP

DELAY10MS:(略)

RET

DELAY:(略)

RET

END

;以89c51单片机为例,假定用P1控制LED:

IO_LED EQU P1;

led_0 BIT P10;

led_1 BIT P11;

led_2 BIT P12;

led_3 BIT P13;

led_4 BIT P14;

led_5 BIT P15;

led_6 BIT P16;

led_7 BIT P17;

;定义开关LED的数据,假定LED正极一端接电源,另一端通过限流电阻接I/O端口:

DATA_CloseLED EQU 11111111B;

DATA_OpenLED EQU 00000000B;

ORG 0000H

AJMP MAIN

ORG 0030H

;-----------------------

;延时05秒程序(注:此延时函数摘自STC-ISP)

DELAY500MS: ;@12000MHz

PUSH 30H

PUSH 31H

PUSH 32H

MOV 30H,#4

MOV 31H,#205

MOV 32H,#180

NEXT:

DJNZ 32H,NEXT

DJNZ 31H,NEXT

DJNZ 30H,NEXT

POP 32H

POP 31H

POP 30H

RET

;-----------------------

;下面是主程序

MAIN:

MOV IO_LED,#DATA_CloseLED;同时关闭8个LED

LCALL DELAY500MS;延时05秒

MOV IO_LED,#DATA_OpenLED;同时打开8个LED

LCALL DELAY500MS;延时05秒

LJMP MAIN;循环

END;

上面程序演示了8个LED间隔05秒同时亮和灭的变化。

以上就是关于编写汇编程序,利用led灯亮暗表示按键按下次数,按一次加一,用二进制全部的内容,包括:编写汇编程序,利用led灯亮暗表示按键按下次数,按一次加一,用二进制、用汇编语言编流水灯,有8个LED灯,LED1~LED8 灯按顺序点亮,每个等亮一秒转到下个灯,一直循环亮、如何用汇编语言编写一道程序,使得1个LED在按键的控制下,按一次按键LED向左循环亮,再按一次,又向右循环亮等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存