| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1203 人关注过本帖
标题:[求助]红外接收程序
只看楼主 加入收藏
cjcking6
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-3-21
收藏
 问题点数:0 回复次数:1 
[求助]红外接收程序

请帮我看一下下面的遥控接收程序问题出在哪为什么接收的每个按键的信号都是0FF,我用的是89C51,11。059M的晶振
INT1P:
CLR EA ;暂时关闭CPU的所有中断请求
MOV R6,#10
SB: ACALL YS1 ;调用882微秒延时子程序
JB P3.3,EXCIT ;延时882微秒后判断P3.3脚是否出现高电平如果有就退出解码程序
DJNZ R6, SB ;重复10次,目的是检测在8820微秒内如果出现高电平就退出解码程序
;以上完成对遥控信号的9000微秒的初始低电平信号的识别。
JNB P3.3, $ ;等待高电平避开9毫秒低电平引导脉冲
ACALL YS2 ;延时4.74毫秒避开4.5毫秒的结果码
JB P3.3 ,$ ; EXCIT ;增加的
MOV R1,#1AH ;设定1AH为起始RAM区
MOV R2,#4 ;16位地址码和8位数据码和8位数据反码,共4个字节
PP: MOV R3,#8 ;一个字节有8位
JJJJ: JNB P3.3,$ ;等待地址码第一位的高电平信号
LCALL YS1 ;高电平开始后用882微秒的时间延迟去判断信号此时的高低电平状态
MOV C,P3.3 ;将P3.3引脚此时的电平状态0或1存入C中
JNC UUU ;如果为0就跳转到UUU
;LCALL DELAY10MS
;LCALL YS3
JB P3.3,$ ;增加的
UUU: MOV A,@R1 ;将R1中地址的给A
RRC A ;将C中的值0或1移入A中的最低位
MOV @R1,A ;将A中的数暂时存放在R1中
DJNZ R3,JJJJ ;接收地址码的高8位,不到8位则继续
INC R1 ;对R1中的值加1,换下一个RAM
DJNZ R2,PP ;接收完16位地址码和8位数据码和8位数据反码存放在1AH/1BH/1CH/1DHRA中

搜索更多相关主题的帖子: 红外 CPU CLR 
2007-03-21 10:14
YYFYQZY
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-5-8
收藏
得分:0 
学习。。。。

结交汇编菜鸟,呵呵,我更是菜鸟,QQ:465977425
2007-05-09 22:18
快速回复:[求助]红外接收程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014940 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved