使用 SN8P2501B 接收 15 键的源程序

[复制链接]
查看42737 | 回复29 | 2011-10-3 00:22:31 | 显示全部楼层 |阅读模式
本帖最后由 hfbjjs 于 2011-10-3 00:23 编辑

<<使用 SN8P2501B 接收 15 键的源程序>>
原因:
曾经在初学者板块发布过:<<SN 单片机 红外线遥控 发/收 实战>>,但是已经不记得是否放过源程序上来,有热心朋友提起了,于是,现在全部补上.
这是"五合一"的发射源程序,使用 8PC01 做的:

下面这个则是使用SN8P2501B 接收 15 键的源程序:还包含多个应用原理图!

需要的朋友请下载.
由于工作比较忙,可能许多时候不能到论坛看看,实在遗憾! 特此补上!
谢谢各位!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
可曾记得爱 | 2011-10-3 19:16:47 | 显示全部楼层
正在学习中~有你的分享中国会更强大~
sandao | 2011-10-8 12:47:59 | 显示全部楼层
感谢分享!! 正好用的上
落月无声 | 2011-10-8 14:45:52 | 显示全部楼层
MCU | 2011-10-8 17:24:24 | 显示全部楼层
                    
sandao | 2011-10-12 13:04:54 | 显示全部楼层
不知原理图是何软件绘制,特特别的·············
落月无声 | 2011-10-12 14:56:59 | 显示全部楼层
原理图还不错,程序基本上不使用宏,高手!
小道 | 2011-10-12 21:55:48 | 显示全部楼层
谢谢楼主~~~好人平安~
sandao | 2011-11-5 09:56:41 | 显示全部楼层
TC0是否没用,YH2怎么计数的,没看明白,请指点!

B_HWX:
               BTS0       P_IR
               JMP        LOOP        ;是干扰退出
               BCLR            FGIE;总中断允许
               MOV_       YH1,#4       ;4*256*10us
               CLR        YH2
               CLR        YH0
B_HWX_0:                                     ;先检测引导码的9MS低电平
               JMP        $+1           ;每一个循环10US
               NOP
               BTS0       P_IR
               INCMS      YH2
               BTS1       P_IR
               CLR        YH2
               BTS0       YH2.3;高电平>8*10US=800US=有效高电平,否则是干扰
               JMP        B_HWX_1
               DECMS      YH0
               JMP        B_HWX_0
               DECMS      YH1
               JMP        B_HWX_0
               JMP        LOOP ;低电平>4*256*10US=10.24MS则是错误脉冲
B_HWX_1:
        CMPRS1        YH1,#2;低电平<2*256*10US=5.12MS则是错误脉冲,#3
        JMP      LOOP
        MOV_     YH1,#3           ;3*256*10us
               CLR        YH2
               CLR        YH0
hfbjjs | 2011-11-7 00:36:22 | 显示全部楼层
              BTS0       P_IR                         _IR=0则跳过下一指令
               INCMS      YH2                       _IR=1则YH2+1
               BTS1       P_IR                       _IR=1则跳过下一指令
               CLR        YH2                         _IR=0则YH2=0
;================================================
实际就是: P_IR=1 就计数,遇上P_IR=0就清零寄存器,不够高电平>8*10US=800US就不用计数了.
这样明白么?
仅供参考!

您需要登录后才可以回帖 登录 | 注册

本版积分规则