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

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

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

/****************************************************
名称: 标准红发遥控 接收程序--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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 智能优化算法:麻雀搜索算法-附代码「建议收藏」

    2020智能优化算法:麻雀搜索算法-附代码文章目录2020智能优化算法:麻雀搜索算法-附代码1.算法原理2.算法结果3.参考文献4.Matlab代码摘要:麻雀搜索算法(SparrowSearchAlgorithm,SSA)是于2020年提出的。SSA主要是受麻雀的觅食行为和反捕食行为的启发而提出的。该算法比较新颖,具有寻优能力强,收敛速度快的优点1.算法原理建立麻雀搜索算法的数学模型,主要规则如下所述:发现者通常拥有较高的能源储备并且在整个种群中负责搜索到具有丰富食物的区域,为所有的加

    2022年4月9日
    48
  • SQL Server备份集中的数据库备份与现有的数据库不同的解决

    SQL Server备份集中的数据库备份与现有的数据库不同的解决在SQLServer2005和2008中,如果您新建了数据库,打算还原数据库备份的话,如果两者的数据库结构等不同的话,就会提示:备份集中的数据库备份与现有的数据库不同……之类的错误,如下图。巧的很,今天烈火小编的一位朋友也遇到这样的问题,我们一起来看看解决方法。其实解决方法很简单,就是在左侧的选项中,将“覆盖现有数据库”打上勾就可以了。如下图:

    2022年5月6日
    55
  • java中break和continue的用法「建议收藏」

    java中break和continue的用法「建议收藏」**break和continue的用法**break的用法:1.break用于switch语句中,终止switch语句2.break用于循环时,跳出循环3.break用于其他位置,毫无意义1.break用于switch语句中,终止switch语句inta=4;switch(a){case1:…

    2022年4月30日
    55
  • 交换机LLDP模块

    交换机LLDP模块一:

    2022年5月18日
    42
  • ubuntu安装增强功能失败_ubuntu参考的对象不支持

    ubuntu安装增强功能失败_ubuntu参考的对象不支持Ubuntu换源后,更新提示GPGerror缺少公钥W:GPGerror:http://mirrors.aliyun.comtrusty-securityInRelease:Thefollowingsignaturescouldn’tbeverifiedbecausethepublickeyisnotavailable:NO_PUBKEY40976EAF437D05B5NO_PUBKEY3B4FE6ACC0B21F32W:GPGerror:http:/

    2022年8月31日
    3
  • ByteBuffer的allocate和allocateDirect

    ByteBuffer的allocate和allocateDirect在Java中当我们要对数据进行更底层的操作时,一般是操作数据的字节(byte)形式,这时经常会用到ByteBuffer这样一个类。ByteBuffer提供了两种静态实例方式:Java代码publics

    2022年7月3日
    23

发表回复

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

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