没有合适的资源?快使用搜索试试~ 我知道了~
遥控解码程序!一种用延时等待的解码方法,比较容易理解,但缺点是占用CPU运行时间,第二种方法用定时器和外中断的解码方法,初学不易理解,但优点也很明显,第二种方法如果能解决连发解码就比较完美,更完善的红外遥控解码程序 解码方法一 ;//单片机接收红外解读程序\\ ;硬件结构:8951,P0口数码管段码,P2.0-P2.3为位,P1为8个LED ;P3.2为红外接收头,P2.7蜂鸣器,晶振12M ;适用UPD6121 6122芯片接收
资源推荐
资源详情
资源评论
红外遥控解码
作者
:
佚名 来源
:
不详 录入
:Admin
更新时间:
2008-7-26 19:43:29
点击数:
3
【字体:
】
编者按:以下是网友编写的遥控解码程序!一种用延时等待的解码方法,比较容易理解,但缺点是占用
CPU
运
行时间,第二种方法用定时器和外中断的解码方法,初学不易理解,但优点也很明显,第二种方法如果能解决连
发解码就比较完美,更完善的红外遥控解码程序,请参考本站
TOPAV-2008
,
TOP51-2005
所配程序。
解码方法一
;//
单片机接收红外解读程序
\
;
硬件结构:
8951
,
P0
口数码管段码,
P2.0-P2.3
为位,
P1
为
8
个
LED
;P3.2
为红外接收头,
P2.7
蜂鸣器,晶振
12M
;
适用
UPD6121 6122
芯片接收
;---------------------------------------------------------
ORG 0000H
AJMP MAIN ;
转入主程序
ORG 0003H ;
外部中断
P3.2
脚
INT0
入口地址
AJMP INT ;
转入外部中断服务子程序(解码程序)
;
以下为主程序进行
CPU
中断方式设置
MAIN: SETB EA ;
打开
CPU
总中断请求
SETB IT0 ;
设定
INT0
的触发方式为脉冲下降沿触发
SETB EX0 ;
打开
INT0
中断请求
AJMP $
;
以下为进入
P3.2
脚外部中断子程序,也就是解码程序
INT: CLR EA ;
暂时关闭
CPU
的所有中断请求
MOV R6,#10
SB: ACALL YS1 ;
调用
882
微秒延时子程序
JB P3.2,EXIT ;
延时
882
微秒后判断
P3.2
脚是否出现高
;
电平如果有就退出解码程序
DJNZ R6, SB ;
重复
10
次,目的是检测在
8820
微秒内
;
如果出现高电平就退出解码程序
;
以上完成对遥控信号的
9000
微秒的初始低电平信号的识别。
JNB P3.2, $ ;
等待高电平避开
9
毫秒低电平引导脉冲
ACALL YS2 ;
延时
4.74
毫秒避开
4.5
毫秒的结果码
MOV R1,#1AH ;
设定
1AH
为起始
RAM
区
MOV R2,#4
;
PP: MOV R3,#8
JJJJ: JNB P3.2,$ ;
等待地址码第一位的高电平信号
LCALL YS1 ;
高电平开始后用
882
微秒的时间尺去判断信
;
号此时的高低电平状态
MOV C,P3.2 ;
将
P3.2
引脚此时的电平状态
0
或
1
存入
C
中
JNC UUU ;
如果为
0
就跳转到
UUU
LCALL YS3
;
UUU: MOV A,@R1 ;
将
R1
中地址的给
A
RRC A ;
将
C
中的值
0
或
1
移入
A
中的最低位
MOV @R1,A ;
将
A
中的数暂时存放在
R1
中
DJNZ R3,JJJJ ;
接收地址码的高
8
位
INC R1 ;
对
R1
中的值加
1
,换下一个
RAM
DJNZ R2,PP ;
接收完
16
位地址码和
8
位数据码和
8
位数据反
;
码,存放在
1AH/1BH/1CH/1DH
的
RAM
中
MOV A,1CH ;
比较数据码和数据反码是否正确
?
CPL A
XRL A,1DH ;
将
1CH
的值取反后和
1DH
比较 不同则无效丢弃,核对数据是否准确
JNZ EXIT
MOV DPTR,#TAB ;
表头地址送指针
MOV A,1DH
ANL A,#0FH ;
相与,得到低四位码
MOVC A,@A+DPTR
MOV 1EH,A ;
查表得表码存入
1EH
MOV A,1DH
SWAP A
ANL A,#0FH
MOVC A,@A+DPTR
MOV 1FH,A ;
查表得高四位码存入
1F
MOV R7,#20H
DISP:
MOV P0,1FH ;
送数码管显示
CLR P2.1
ACALL YS2
SETB P2.1
MOV P0,1EH
CLR P2.2
ACALL YS2
剩余19页未读,继续阅读
资源评论
xcj780427
- 粉丝: 1
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功