用51单片机汇编语言,编写“键控加减一”的程序

本文介绍了一个基于51单片机的简单程序,该程序利用K1和K2两个按键实现LED显示数字的增加和减少功能。初始状态LED显示0,通过K1按键使数字递增,K2按键使数字递减,数字范围限制在0-9之间循环。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

程序要求:开始时LED显示0、K1具有增数功能、K2具有减数功能。
若LED显示为0,按下K1,则显示为1、再按下K1,显示为2.....,若显示为9,再按下则显示为0;
若LED显示为0,按下K2,则显示为9、再按下K2,显示为8.....,直至显示为1。再一次循环。
显示部分采用硬件译码器,电路给出如下。
悬赏分:50 | 解决时间:2011-6-14 09:11
;===========================================
最佳答案:

程序仿真通过,仿真电路如下:用51单片机汇编语言,编写“键控加减一”的程序 - 非著名博主 - 电子信息角落
图片链接:http://hi.baidu.com/%D7%F6%B6%F8%C2%DB%B5%C0/album/item/03216a24a76eef3f35a80fc4.html#

程序:
      ORG   0000H
      LJMP  START
      ORG   0040H      ;从40H地址开始.
START:
      MOV   A, #0      ;开始显示的初值.
      SETB  P2.0       ;开始置0,
      SETB  P2.1       ;开始置0,
;------------------------
LOOP:
      MOV   P0, A      ;显示寄存器A中的内容.
      JNB   P2.0, INCR ;K1开,跳转到INCR
      JNB   P2.1, DECR ;K2开,跳转到DECR
      JMP   LOOP
;------------------------
INCR:
      JNB   P2.0,INCR  ;按键按下后是否松开.
      ADD   A,  #1     ;A加1
      DA    A          ;A内容进行BCD调整.
      JMP   LOOP
;------------------------
DECR:
      JNB   P2.1, DECR ;按键按下后是否松开.
      ADD   A,  #99H   ;A减1
      DA    A          ;A内容进行BCD调整.
      JMP   LOOP
;------------------------
      END
;===========================================
回答时间:2011-6-8 16:37
回答者: 做而论道 | 十五级采纳率:43% 名人 达人
提问者对于答案的评价:谢谢诶,以后还要咨询你...
原题网址:http://zhidao.baidu.com/question/277065038.html
;===========================================

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值