;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

注意这两个题目的接口要求不同。

51 汇编语言编程:8个按键控制8个LED相关推荐

  1. 51单片机 4个独立按键控制LED灯 (protues仿真)(C语言版)

    51单片机 4个独立按键控制LED灯 仿真操作及代码展示 _ (protues仿真)_(C语言版) 一.思路及相关问题 1.逻辑思路: 当按下key1时 led1亮起来 因为按下去具有瞬时性不用whi ...

  2. 九齐单片机NY8B062D单按键控制4种LED状态

    /* =========================================================================* Project: 单按键控制4种LED状态* ...

  3. 按键控制led灯亮灭c语言原理,4个独立按键控制4个LED亮灭的单片机程序问题

    本帖最后由 ll13536121668 于 2017-11-2 17:32 编辑 4只独立按键控制4只LED亮和灭,按下按键,LED亮,再按下,LED灭.因为我们很多都是按完按键,松开手LED才亮. ...

  4. 单片机 多个按键控制多个led亮灭

    多个按键控制多个led亮灭 代码在文章最后 -------------------------------------------- 初始状态 按下k1 按下k2 按下剩余按键 再按下k1 按下剩余按 ...

  5. 51单片机入门学习------独立按键控制LED亮灭

    一.独立按键 1.特点:同侧导通,异侧断开 2.独立按键的I/O口  单片机上电后,所有I/O口默认都是高电平.没有按开关时都是高电平,按下后变成低电平. 寄存器通过检测高低电平检测按键是否被按下 1 ...

  6. c51矩形波输出汇编语言,51单片机汇编语言编程:用定时器控制输出矩形波

    80C51单片机的时钟频率为12MHz,利用定时器T1和P1.0输出矩形脉冲. 波形只画出了2段:一段为100us 另一段为50us. 要完全的.完整的.详细的编写此程序的过程!谢谢 -------- ...

  7. 51 汇编语言编程--输入密码

    ;某些触屏手机上,有个滑动开锁的操作. ;笔记本电脑,一般都是用键盘输入密码. ;也有人把密码设置成:ASDFGHJKL;'Enter,当开机时,只需用手指在键盘上划一下,即可. ;单片机,也可以设置 ...

  8. 51单片机学习笔记之按键控制一盏小灯

    我们今天学习一下单片机的案件,其实和小灯一样,大家不用紧张,简单的很. 首先我们新建个工程,如果有同学忘记了,可以看我之前的博客.下面是链接. https://blog.csdn.net/qq_408 ...

  9. 基于51单片机的数码管按键控制

    #include"reg51.h" #define uint unsigned int #define uchar unsigned char uchar code Seg[]={ ...

最新文章

  1. Linux的文件最大连接数
  2. linux内核arch目录,各个处理器的介绍
  3. HJ23 删除字符串中出现次数最少的字符
  4. 周志华《机器学习》读书笔记(一)
  5. VeeValidate 的使用场景以及配置
  6. I. Space Station(hash记忆化+dp)
  7. 属性值动态调整_【VBA】Range对象的常用方法属性(三)
  8. js去除png格式的图片阴影
  9. 软件过程与项目管理第二周作业
  10. Linux搭建SVN服务器
  11. 程序设计语言诞生——程序设计语言的发展历史
  12. awk命令详解+示例
  13. 如何修改SAO用户密码
  14. html 滑动条 实时计算,滑动条:拖动滑块改变进度
  15. Golang 基础:接口使用、实现原理(eface iface)和设计模式
  16. GEE-Python遥感大数据分析
  17. php使用Qrcode生成二维码
  18. 企业数据中心“云化”转型解决方案
  19. 转自IBM学习 浅析 Linux 初始化 init 系统,第 3 部分 Systemd
  20. 移动端对比后端逐渐“式微”?在互联网大环境下如何避免久当生锈的”螺丝钉”去成为一个优秀的Android开发者?

热门文章

  1. Atitit 二维码和条码的历史发展 1.发展历程 编辑提及二维码的诞生,我们还得倒回至上个世纪 60 年代之后的日本,虽然 1945 年的第二次世界大战之中日本沦为战败国,可是在经济方面日本却进入
  2. 【MySQL】查询优化
  3. Python IDE开发环境
  4. ajax提交多个form表单
  5. Is the influences futural AI bring to software engineers are that scary?
  6. java-求矩形(长方形)的周长和面积案例
  7. 点灯科技——小爱同学/RFID/四路继电器
  8. XML文件的一些操作
  9. 20230419心情随记
  10. Ctrl+26个英文字母组合的Excel快捷键,都是最常用的快捷键!