libiaoha的专栏

/****************************************************名称: 标准红发遥控 接收程序–4BYTE平台为: 松瀚SN8P2511接收方式为 定时中断接收 中断定时时间为100U*****************************************************/;寄存器定义STS1 DS 1F_IRECOK EQU STS1. 0 ;接收到一帖数据T_IRSTA DS 1T_IRNUMPOSI DS 1 ;高电平计数器R_IRDAT1 DS 1 ;接收缓冲区R_IRDAT2 DS 1R_IRDAT3 DS 1R_IRDAT4 DS 1R_IRDATBUF DS 1 ;成功接收到的数据;常数定义VT_LEVEL0 EQU 10 ;1MSVT_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_IRPOSIL_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_IREXITL_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: ;退出接收程序;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

,一个今天胜过两个明天

libiaoha的专栏

相关文章:

你感兴趣的文章:

标签云: