注意:访问本站需要Cookie和JavaScript支持!请设置您的浏览器! 打开购物车 查看留言付款方式联系我们
初中电子 单片机教材一 单片机教材二
搜索上次看见的商品或文章:
商品名、介绍 文章名、内容
首页 电子入门 学单片机 免费资源 下载中心 商品列表 象棋在线 在线绘图 加盟五一 加入收藏 设为首页
本站推荐:
红外线遥控器解码程序
文章长度[1469] 加入时间[2006/7/1] 更新时间[2024/3/24 13:28:37] 级别[3] [评论] [收藏]

ORG 0000H
AJMP MAIN
ORG 0003H ;外部中断INT0入口地址
AJMP INT ;转中断服务子程序
MAIN: MOV SP,#40H
MOV P1,#00H
SETB EA ;开CPU中断
SETB IT0 ;设定INT0触发方式
SETB EX0 ;INT0请求中断

DSP: MOV R2,#9 ;将遥控器键值转化成A(0~9)
MOV DPTR,#TAB1
VV: MOV A,R2
MOVC A,@A+DPTR
XRL A,1CH
JZ ABC
DJNZ R2,VV
ABC: MOV A,R2

MOV DPTR,#TAB ;将A的值通过数码管显示出来
MOVC A,@A+DPTR
RX1: MOV P1,A
CLR P0.1
AJMP DSP

INT: CLR EA
MOV R6,#10
SB: ACALL YS1
JB P3.2,EXIT
DJNZ R6, SB
JNB P3.2, $ ;等待高电平避开9毫秒低电平引导脉冲
ACALL YS2 ;延时4。74毫秒判断是否连发
JB P3.2,EXIT
CPL P0.0

MOV R1,#1AH ;将32位代码分别放在1AH/1BH/1CH/1DH中
MOV R2,#4
PP: MOV R3,#8
JJJJ: JNB P3.2,$
LCALL YS1
MOV C,P3.2
JNC UUU
JB P3.2,$
UUU: MOV A,@R1
RRC A
MOV @R1,A
DJNZ R3,JJJJ
INC R1
DJNZ R2,PP

MOV P2,1CH
MOV A,1AH ;进行代码识别
XRL A,#0 ;判断1AH的值是否等于00000000
JNZ EXI ;如果不同则无效将1CH清零
CLR P0.1
MOV A,1BH
XRL A,#11110111B ;再判断高8位地址是否正确
JNZ EXI
MOV A,1CH
CPL A
XRL A,1DH ;将1CH的值取反后和1DH比较 不同则无效丢弃核对数据是否准确
JNZ EXI
AJMP EXIT
EXI: MOV 1CH,#0
EXIT: SETB EA ;允许中断
RETI

YS1: MOV R4,#20 ;精确延时882微秒
D1: MOV R5,#20
DJNZ R5,$
DJNZ R4,D1
RET
YS2: MOV R4,#10 ;精确延时4740微秒
D2: MOV R5,#235
DJNZ R5,$
DJNZ R4,D2
RET
TAB: DB 60H,7DH,0D0H,58H,4DH
DB 4AH,42H,7CH,40H,48H
TAB1:DB 0CH,09H,1DH,1FH,0DH
DB 19H,1BH,11H,15H,17H
END
;TAB LED数码管显示表 TAB1遥控器键值表
1、 本站不保证以上观点正确,就算是本站原创作品,本站也不保证内容正确。
2、如果您拥有本文版权,并且不想在本站转载,请书面通知本站立即删除并且向您公开道歉! 以上可能是本站收集或者转载的文章,本站可能没有文章中的元件或产品,如果您需要类似的商品请 点这里查看商品列表!
本站协议 | 版权信息 |  关于我们 |  本站地图 |  营业执照 |  发票说明 |  付款方式 |  联系方式
深圳市宝安区西乡五壹电子商行——粤ICP备16073394号-1;地址:深圳西乡河西四坊183号;邮编:518102
E-mail:51dz$163.com($改为@);Tel:(0755)27947428
工作时间:9:30-12:00和13:30-17:30和18:30-20:30,无人接听时可以再打手机13537585389