您的位置:首页 > 编程语言

51 汇编语言编程:8个按键控制8个LED

2016-01-25 12:04 381 查看
;89C51汇编语言写8个按键控制8个LED
;按键接P2口,LED接P1口。
;有6按键,按下对应LED长亮,重复按下,LED灭;
;有两个特殊按键,按下,对应LED每隔1秒闪烁,重复按下,LED灭。
;题目网址:http://zhidao.baidu.com/question/591052586.html

;做而论道编写的程序如下:

    ORG   0000H
    LJMP  MAIN
    ORG   000BH
    LJMP  T0_INT
    ORG   0030H
;---------------------------------
MAIN:
    MOV   TMOD, #01H
    MOV   TH0, #HIGH(65536 - 10000) ;10ms@12MHz
    MOV   TL0, #LOW(65536 - 10000)
    SETB  TR0
    MOV   IE, #82H
    MOV   R7, #50    ;500ms
LOP:SJMP  LOP
;---------------------------------
T0_INT:
    MOV   TH0, #HIGH(65536 - 10000) ;10ms@12MHz
    MOV   TL0, #LOW(65536 - 10000)
    MOV   A, P2
    CPL   A
    MOV   B, A
    XRL   A, 21H
    ANL   A, 21H
    MOV   22H, A
    MOV   21H, B
    ANL   A, #3FH
    XRL   20H, A
    MOV   A, 22H
    ANL   A, #0C0H
    XRL   23H, A
    DJNZ  R7, T0_E
    MOV   R7, #50    ;500ms亮500ms灭
    JB    23H.7, S2
    XRL   20H, #80H
    SJMP  S3
S2: ORL   20H, #80H
S3: JB    23H.6, S4
    XRL   20H, #40H
    SJMP  T0_E
S4: ORL   20H, #40H
T0_E: MOV   P1, 20H
    RETI
;---------------------------------
END

;仿真电路如下:



;图片链接:http://xiangce.baidu.com/picture/detail/b13fd0df0ff8c029222ecb222f7b961dc49698d2

;经过仿真实验,本程序,符合题目要求。
;D1~D6,受 K1~K6 控制,长亮/熄灭;D7~D8,受到 K7~K8 控制,闪烁/熄灭。

C 语言程序可见:http://hi.baidu.com/do_sermon/item/f8812371c31434590d0a0791

注意这两个题目的接口要求不同。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: