;通过P1口控制8路LED的四种闪烁模式,单独LED灯左移,单独LED灯右移,相邻两个灯左移,相邻两个灯右移
;通过一个外部中断0来检测按键的跳变沿来切换闪烁模式,第一次按键按下弹起,灯的闪烁状态由单独LED灯左移变为单独LED灯右移,再按下按键,灯的闪烁状态由单独LED灯右移变为邻两个灯左移,依次循环4种闪烁模式。
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP RESET
ORG 0100H
MOV SP,#60H
;================================================================================================================= ;=================================================================================================================
MAIN:
SETB IT0
SETB EX0
SETB EA
START:
MOV R0,#
MOV R2,# MOOD0: CJNE R0,#,MOOD1
MOV R2,#
MOV A,#0FEH
LOOP0:
MOV P1,A
LCALL DELAY500MS
RL A
DJNZ R2,LOOP0
LJMP MOOD0 MOOD1: CJNE R0,#,MOOD2
MOV R2,#
MOV A,#0FEH
LOOP1:
MOV P1,A
LCALL DELAY500MS
RR A
DJNZ R2,LOOP1
LJMP MOOD1 MOOD2: CJNE R0,#,MOOD3
MOV R2,#
MOV A,#0FCH
LOOP2:
MOV P1,A
LCALL DELAY500MS
RL A
RL A
DJNZ R2,LOOP2
LJMP MOOD2 MOOD3: CJNE R0,#,START
MOV R2,#
MOV A,#0FCH LOOP3:
MOV P1,A
LCALL DELAY500MS
RR A
RR A
DJNZ R2,LOOP3
LJMP MOOD3
RESET:
INC R0
RETURN:RETI DELAY500MS: ;误差 -0.000000000127us
MOV R7,#7AH
DL1:
MOV R6,#0DEH
DL0:
MOV R5,#07H
DJNZ R5,$
DJNZ R6,DL0
DJNZ R7,DL1
NOP
RET END

AT89S52汇编实现l通过按键中断切换led灯的四种闪烁模式(单灯左移,单灯右移,双灯左移,双灯右移)的更多相关文章

  1. Angular--页面间切换及传值的四种方法

    1. 基于ui-router的页面跳转传参(1) 在AngularJS的app.js中用ui-router定义路由,比如现在有两个页面,一个页面(producers.html)放置了多个produce ...

  2. S3C2440—12.按键中断

    文章目录 一. 总体 二. CPSR设置 三. 中断源设置 四. 中断控制器设置 五. C中断处理函数 六. 汇编IRQ异常处理程序 七. 源码 一. 总体 要驱动按键中断控制LED亮灭,程序要进行如 ...

  3. ARM实验5 —— 按键中断实验

    key_int按键中断实验 实验内容: 通过开发板上的按键中断控制led灯进行跑马灯并打印信息. 通过简单事例说明猎户座4412处理器的GIC中断处理的应用,设置key2按键连接的引脚为中断模式,当识 ...

  4. ok6410按键中断编程,linux按键裸机

    6410按键中断编程 一.流程分析 外部中断控制寄存器(s3c6410x  359页) 1.EINTxCONy: 外部中断组x的第y个控制器.这个就是设置中断的触发方式.有5种触发方式. 2.EINT ...

  5. u-boot中断功能初步分析之---------按键中断

    作者:彭东林 邮箱:pengdonglin137@163.com QQ: 405728433 以前一直有个疑问,在U-boot下到底能不能使用中断,为了验证这个问题,于是乎,昨天晚上我在自己的 TQ2 ...

  6. ZigBee按键中断

    何为按键中断? 在了解按键中断之前,我们先来了解一下什么是中断?中断就是程序执行当前代码,当前任务的时候: 突然有自身函数或外部的影响,而使程序执行到别的任务再回来. 举个栗子: 当你在做饭的时候,电 ...

  7. 鸿蒙内核源码分析(中断切换篇) | 系统因中断活力四射 | 百篇博客分析OpenHarmony源码 | v42.02

    百篇博客系列篇.本篇为: v42.xx 鸿蒙内核源码分析(中断切换篇) | 系统因中断活力四射 | 51.c.h .o 硬件架构相关篇为: v22.xx 鸿蒙内核源码分析(汇编基础篇) | CPU在哪 ...

  8. 2、CC2541芯片中级教程-OSAL操作系统(进一步了解-OLED && 普通按键和5方向按键-中断!!!)这个系统驱动层和应用层不一样~

    本文根据一周CC2541笔记汇总得来—— 适合概览和知识快速索引—— 全部链接: 中级教程-OSAL操作系统\OSAL操作系统-实验01 OSAL初探 [插入]SourceInsight-工程建立方法 ...

  9. nios II--实验4——按键中断硬件部分

    按键中断 硬件开发 新建原理图 1.打开Quartus II 11.0,新建一个工程,File -> New Project Wizard…,忽略Introduction,之间单击 Next&g ...

随机推荐

  1. 如何在.Net Core MVC中为动态表单开启客户端验证

    非Core中的请参照: MVC的验证 jquery.validate.unobtrusive mvc验证jquery.unobtrusive-ajax 参照向动态表单增加验证 页面引入相关JS: &l ...

  2. Iframe内联框架

    iframe:内联框架标签,用于在网页中任意的位置嵌入另一个网页 <iframe src="url地址"> </iframe> iframe标签的常用属性 ...

  3. Hive可视化工具

    目前市面上的Hive可视化客户端工具,大都是C/S模式的,安装使用都不是太方便,目前有一款基于WEB的可视化工具TreeSoft,通过浏览器就可以访问使用了,并且可以同时管理.维护.监控MySQL,O ...

  4. 让AutoMapper在你的项目里飞一会儿

    先说说DTO DTO是个什么东东? DTO(Data Transfer Object)就是数据传输对象,说白了就是一个对象,只不过里边全是数据而已. 为什么要用DTO? 1.DTO更注重数据,对领域对 ...

  5. Java8简明学习之新时间日期API

    由于历史原因,在之前的版本里无论Date还是Calendar都非常难用,尤其在涉及到日期计算方面,而且其中日期转换的类DateForamt还是非线程安全的.也正因为难用,一般项目里面都引入第三方的类库 ...

  6. Swift 函数调用到底写不写参数名

    最近真正开始学 Swift,在调用函数的时候遇到一个问题:到底写不写函数名? 我们来看两个个例子: // 1 func test(a: Int, b: Int) ->Int { return a ...

  7. display:table-cell自适应布局下连续单词字符换行——张鑫旭

    之前有几次提到了使用display:table-cell实现强大的任意尺寸元素的自适应布局(都藏在长长文章之中).这里开篇再次提一下,希望能将该技术普及下去. 典型的双栏布局类名使用如下: fix l ...

  8. Jquery全选系列操作(锋利的jQuery)

    Jquery全选系列操作(锋利的jQuery) <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" ...

  9. Java Web应用开发工具

    java Web应用开发工具详细地址:https://my.oschina.net/gitosc/blog/1538466

  10. javaSE——字节流

    IO流:InputStream/OutputStream 字节流:         文件输出流 :内存 ——>文件 文件输入流 :内存<——文件 应用             文件输入/出 ...