标准红外遥控的接收程序-松瀚汇编源程序

标准红外遥控的接收程序-松瀚汇编源程序

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

/****************************************************
名称: 标准红发遥控 接收程序--4BYTE
平台为: 松瀚SN8P2511
接收方式为 定时中断接收 中断定时时间为100U
*****************************************************/
;寄存器定义
STS1 DS 1
F_IRECOK EQU STS1. 0 ;接收到一帖数据

T_IRSTA  DS 1
T_IRNUMPOSI DS 1 ;高电平计数器
R_IRDAT1 DS 1 ;接收缓冲区
R_IRDAT2 DS 1
R_IRDAT3 DS 1
R_IRDAT4 DS 1
R_IRDATBUF DS 1 ;成功接收到的数据
;常数定义
VT_LEVEL0 EQU 10 ;1MS
VT_LEVEL1 EQU 20 ;2MS

;下面为中断接收程序--100U进入中断一次
;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
;先接收R_IRDAT4 最后接收R_IRDAT1
;R_IRDAT4 R_IRDAT3 R_IRDAT2 R_IRDAT1 分别为地址码 地址反码 数据码 数据反码
 BTS0 F_IRECOK ;数据未取出 临时不接收新数据
 JMP L_IREXIT
 CLR T_IRSTA
 BTS1 P_IR 
 INCMS T_IRSTA
 BTS1 P_IR 
 INCMS T_IRSTA
 BTS1 P_IR 
 INCMS T_IRSTA
 BTS1 T_IRSTA. 1
 JMP L_IRPOSI
L_NEGA1: ;当前为0
 MOV A, T_IRNUMPOSI
 B0BTS0 FZ
 JMP L_IREXIT
 MOV A, T_IRNUMPOSI 
 SUB A, #VT_LEVEL1 ;高电平时间大于 数据1 觉得起始 
 B0BTS0 FC
 JMP L_INITIRDAT
 
 BTS0 R_IRDAT4. 0
 BSET F_IRECOK ;接收完一帖数据
  
 MOV A, T_IRNUMPOSI 
 SUB A, #VT_LEVEL0 ;高电平时间大于 数据0 觉得接收到数据1 
 RRCM R_IRDAT1
 RRCM R_IRDAT2
 RRCM R_IRDAT3
 RRCM R_IRDAT4
 
 CLR T_IRNUMPOSI
 JMP L_IREXIT
L_INITIRDAT: ;接收到起始码以后 初始化各数据 
 CLR T_IRNUMPOSI
 MOV A, #0X80
 MOV R_IRDAT1, A
 CLR R_IRDAT2
 CLR R_IRDAT3
 CLR R_IRDAT4
; BCLR F_IRECOK
 JMP L_IREXIT 
;-------------------------------
L_IRPOSI: ;当前为1
 INCMS T_IRNUMPOSI
 NOP 
L_IREXIT: ;退出接收程序
;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118522.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • js匿名函数传参_java 匿名函数

    js匿名函数传参_java 匿名函数varinitSample=(function(){ varwysiwygareaAvailable=isWysiwygareaAvailable(), isBBCodeBuiltIn=!!CKEDITOR.plugins.get(‘bbcode’); returnfunction(paramId){ vareditorElement=CKEDITO

    2022年10月3日
    3
  • BitBlt参数详解[通俗易懂]

    BitBlt参数详解[通俗易懂]对BitBlt()这个函数的最后一个参数的意义一直不是太了解,只会使用SRCCOPY,最近的一个项目使用到了这个函数,但是要求要背景透明的将源绘制到目标区域上,源是背景色和字,怎么只拷贝字而把背景色透明化呢??我的解决方法是,把源的背景色绘制为白色,字为黑色,然后在BitBlt的时候最后一个参数用SRCAND,果然可以达到我要的效果,这是为什么呢?呵呵趁此机会好好看看这个参数介绍吧~~开始之前,首先要明白,绘制其实就是在给每一个像素点涂颜色,每种颜色都是由红蓝黄三要素组合而成,因此通过RGB颜色值可以

    2022年10月18日
    2
  • 深入理解JVM—JVM垃圾回收机制[通俗易懂]

    深入理解JVM—JVM垃圾回收机制[通俗易懂]垃圾回收是指不定时去堆内存中清理不可达对象。不可达的对象并不会马上就会直接回收,垃圾收集器在一个Java程序中的执行是自动的,不能强制执行,程序员唯一能做的就是通过调用System.gc方法来建议执行垃圾收集器,但其是否可以执行,什么时候执行却都是不可知的。这也是垃圾收集器的最主要的缺点。当然相对于它给程序员带来的巨大方便性而言,这个缺点是瑕不掩瑜的。先谈一下新生代与老年代根据垃圾回…

    2022年5月20日
    42
  • c程序设计,贪吃蛇程序是什么_C语言编写贪吃蛇

    c程序设计,贪吃蛇程序是什么_C语言编写贪吃蛇C语言,贪吃蛇程序设计一.代码分析(1)头文件(2)宏定义(3)全局变量(4)函数部分1)绘制地图函数DreawMap(),2)食物位置函数FoodRand()3)键盘控制移动函数ControlMove()函数4)移动函数Move()函数5)蛇身开始函数Isnake()函数6)判断食物是否被吃到函数Jfood()函数7)判断是否碰到墙Jwell()函数8)判断是否碰到蛇身Jsnake()函数9)计算分数和难度Showf()函数10)清空存储空间函数二.代码附录一.代码分析(1)头文件1.include

    2025年7月22日
    3
  • performClick();[通俗易懂]

    performClick();[通俗易懂]btn.performClick(); 该方法表明——Activity运行的时候运行该button的点击事件的内容,相当于系统帮你点击了这个按钮,然后运行对应的事件

    2022年6月29日
    22
  • 一些常见的第三方UI库[通俗易懂]

    一些常见的第三方UI库[通俗易懂]第三方UI库1bootstrapBootstrap是Twitter推出的一个用于前端开发的开源工具包。它由Twitter的设计师MarkOtto和JacobThornton合作开发,是一个C

    2022年8月4日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号