51单片机汇编语言:定时器与中断


P2.0~P2.2 分别接上了独立按键 K0、K1、K2。


P1 接上了 8 个 LED,输出低电平时发光。


要求:


按下 K1 键,P1.7 输出周期为 1s 的方波;


按下 K2 键,P1 输出循环流水灯,每 2 个灯亮 0.5s;


按下 K0 键,停止方波和流水灯的输出。


题目链接:http://zhidao.baidu.com/question/1174144495181691139.html


做而论道编写的程序如下:(2014-05-07 20:55 提问者采纳)


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

;

    ORG   0000H

    JMP   START

    ORG   000BH

;    JMP   T0_INT

T0_INT:

    MOV   TH0, #(65536 - 50000) / 256

    MOV   TL0, #(65536 - 50000) MOD 256

    DJNZ  R2, T0_END

    MOV   R2, #10

    JNB   F0, T0_2

    ORL   P1, #127

    CPL   P1.7

T0_END:

    RETI

T0_2:

    RL    A

    MOV   P1, A

    RETI    

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

START:

    MOV   TMOD, #01H

    MOV   TH0, #(65536 - 50000) / 256

    MOV   TL0, #(65536 - 50000) MOD 256

    MOV   IE, #82H


    MOV   A, #63

    MOV   R2, #10

    SETB  TR0

K1:

    JB    P2.1, K2

    SETB  F0

    SETB  TR0

K2:

    JB    P2.2, K0

    CLR   F0

    SETB  TR0

K0:

    JB    P2.0, K1

    CLR   TR0

    SJMP  K1

END

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


以上程序,已经通过实验的检验,符合题目要求。


提问者评价:谢谢。


  • 6
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值