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

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

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

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


相关推荐

  • 漂亮的复制零_一张图片有很多小图片组成

    漂亮的复制零_一张图片有很多小图片组成前言磁盘可以说是计算机系统最慢的硬件之一,读写速度相差内存10倍以上,所以针对优化磁盘的技术非常的多,比如零拷贝、直接I/O、异步I/O等等,这些优化的目的就是为了提高系统的吞吐量,另外操作系统内核中的磁盘高速缓存区,可以有效的减少磁盘的访问次数。这次,我们就以「文件传输」作为切入点,来分析I/O工作方式,以及如何优化传输文件的性能。正文为什么要有DMA技术?在没有DMA技术前,I/O的过程是这样的:CPU发出对应的指令给磁盘控制器,然后返回;磁盘控制器收到..

    2022年9月21日
    6
  • vmware vcenter 6.7安装_微信老版本6.0安装包

    vmware vcenter 6.7安装_微信老版本6.0安装包几个不同的组件vCenterServer:对ESXi主机进行集中管理的服务器端软件,安装在windowsserver2008R2或以上的操作系统里,通过SQL2008R2或以上版本的数据库(其他数据库也有版本要求)维护数据中心里各功能组件的信息。其实体形态是.iso文件,可在物理或虚拟Windows桌面上安装。链接:链接:https://pan.baidu.com/s/1zB…

    2025年11月18日
    3
  • static静态变量在内存中的存储[通俗易懂]

    static静态变量在内存中的存储[通俗易懂]static用来控制变量的存储方式和可见性    函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配 空间,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个 问题:如果想将函数中此变量的值保存至下一次调用时,如何实现?最容易想 到的方法是定义一个全局的变量,但定义为一个全局变量有许多缺点,最明显的 缺点是破坏了此变量的访问范围(使得在此函数中定义的变量,不仅…

    2022年5月3日
    97
  • ticket是啥意思_ticket中文

    ticket是啥意思_ticket中文<?phpheader("Content-Type:text/html;charset=utf8");$ee=urlencode("gQFI8DoAAAAAA

    2022年8月2日
    9
  • java下载需要oracle账户

    java下载需要oracle账户目前在官网下载低于jdk1.8的javajdk的时候需要登陆,这边分享一个账号,方便下载2696671285@qq.com密码:Oracle123或者自己申请一个,嫌麻烦,就发现网上有个账户,直接下载了//转:https://blog.csdn.net/WNsshssm/article/details/84315519…

    2022年7月18日
    12
  • 奇虎360技术博客下载_奇虎360科技有限公司官网

    奇虎360技术博客下载_奇虎360科技有限公司官网http://bobao.360.cn/learning/detail/196.htmlhttp://blogs.360.cn/http://bobao.360.cn/learning/index

    2022年8月4日
    8

发表回复

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

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