打印

error

[复制链接]
2289|10
手机看帖
扫描二维码
随时随地手机跟帖
沙发
NE5532| | 2012-10-9 20:44 | 只看该作者
1.你用的是一体化接收头还是光电管?光电管的话小心环境干扰问题。
2.没有中断,就只有轮询,用导码的后沿同步,不过你这块用来解码的单片机基本上也就做不了其他事情了。

使用特权

评论回复
板凳
logokfu|  楼主 | 2012-10-9 21:02 | 只看该作者
1.你用的是一体化接收头还是光电管?光电管的话小心环境干扰问题。
2.没有中断,就只有轮询,用导码的后沿同步,不过你这块用来解码的单片机基本上也就做不了其他事情了。 ...
NE5532 发表于 2012-10-9 20:44


我的是A单片机的管脚直接连到B单片机上。不用红外发射头和接受头。不用考虑干扰问题。

使用特权

评论回复
地板
logokfu|  楼主 | 2012-10-9 21:06 | 只看该作者
[quote]1.你用的是一体化接收头还是光电管?光电管的话小心环境干扰问题。
2.没有中断,就只有轮询,用导码的后沿同步,不过你这块用来解码的单片机基本上也就做不了其他事情了。 ...
NE5532 发表于 2012-10-9 20:44 [/quote

B单片机接受到不同的码之后也不会做很多的事情,只是简单的改变下几个IO口的状态而已,那几个IO口只是控制下LED的亮灭而已,不做复杂的事情。

使用特权

评论回复
5
NE5532| | 2012-10-9 21:13 | 只看该作者
能用串口的用串口,否则模拟一个串口也可以,比楼主现在的方案还简单。

使用特权

评论回复
6
logokfu|  楼主 | 2012-10-9 21:29 | 只看该作者
能用串口的用串口,否则模拟一个串口也可以,比楼主现在的方案还简单。
NE5532 发表于 2012-10-9 21:13


模拟串口?我知道串口是可以模拟的, 不过没有模拟过,我现在做的是27.145MHz硬件超再生实现的无线遥控。遥控玩具。用了两片单片机,一个负责编码,另一个负责解码,发送和接收都是由硬件来自动完成的。现在编码发送完成了,就剩下解码了。我在接收端可以收到发送机发来的编码,现在是要解码。模拟串口在这儿应该不适用吧。

使用特权

评论回复
7
NE5532| | 2012-10-9 21:51 | 只看该作者
无线传输不行,我以为你是说IO连在一起是做有线传输呢。

使用特权

评论回复
8
hua00001| | 2012-10-10 09:00 | 只看该作者
可以做,我做过,用一个定时器,定时器中断设置短一点,用定时器中断去查询I/O口状态,最好还是多发几个数据校验一下

使用特权

评论回复
9
cds_666| | 2012-10-10 09:13 | 只看该作者
无线传输有这么简单?
你最好看看别人的编码方式,你这个只能工作在实验室!

使用特权

评论回复
10
coody| | 2012-10-10 09:18 | 只看该作者
查询很容易办到啊,红外接收我从来都用查询,不用外中断(抗干扰不好),一般用100us的速度查询,平均占CPU几个us的时间,没有码时一般就是一两条指令就跳开了。

RF超再生遥控,可以参考PT2262那样的编码,或者,最好使用曼码,这个是归0的,对于超再生特别好。

使用特权

评论回复
11
apple| | 2012-10-10 11:45 | 只看该作者
非常简单的
;=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
;36US
GET_LOW:
       
        CLR        R0
GET_LOW_B:
        JBC        RC,IR                ;2
        RET
        CALL        DELAY8US        ;8
        CALL        DELAY7US
        CALL        DELAY7US       
        CALL        DELAY7US
        JZ        R0                ;
        JMP        GET_LOW_B        ;34
        RET       
;=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
;36US
GET_HIGH:
        CLR        R0
GET_HIGH_B:
        JBS        RC,IR
        RET
        CALL        DELAY8US
        CALL        DELAY7US
        CALL        DELAY7US
        CALL        DELAY7US
        JZ        R0
        JMP        GET_HIGH_B
        RET       
;=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
;红外解码
;
IR_DECODE:
        CALL        GET_LOW

        LESS        R0,2000/34,REMOTE_ERR                ;6000       
        LARGE        R0,6500/34,REMOTE_ERR
       
        CALL        GET_HIGH
        LESS        R0,6500/34,REMOTE_ERR
        LARGE        R0,7800/34,REMOTE_ERR
       
        BS        CTRL,1
        LD        FSR,SBUF
DECODE_J:
        MOV        A,@0X02
        XOR        CTRL,A
               
        LD        R1,08H
DECODE_I:       
        CALL        GET_LOW
        LARGE        R0,900/34,REMOTE_ERR
       
        CALL        GET_HIGH
        LARGE        R0,4000/34,REMOTE_TAIL       
        LESS        R0,1000/34,REMOTE_ERR       
       
        MOV        A,@(2500/34)
        SUB        A,R0
               
        RRC        INDF
        DJZ        R1
        JMP        DECODE_I
       
        JBC        CTRL,1                ;IR DECODE FLAG
        JMP        DECODE_CHECK
        INC        FSR
        JBS        FSR,3
        JMP        DECODE_J       
                                ;解码完毕
        JMP        DECODE_COM                                                       
DECODE_CHECK:
        MOV        A,INDF
        DEC        FSR
        XOR        A,INDF
        XOR        A,@0X0FF
        JBS        STATUS,Z
        JMP        REMOTE_ERR
        INC        FSR
        JMP        DECODE_J
;*******************************************               
REMOTE_TAIL:       
        MOV        A,FSR
        AND        A,@0X0F
        XOR        A,@0X05
        JBS        STATUS,Z
        JMP        REMOTE_ERR
DECODE_COM:
        DEC        FSR
        MOV        A,@0X2A                ;SYSTEM CODE=2AH
        SUB        A,INDF
        JBS        STATUS,Z
        JMP        REMOTE_ERR

        CALL        BEEP
       
        DEC        FSR
       
        JBS        INDF,3
        JMP        DECODE_Y
        CALL        CLOSE_SUB
        JMP        DECODE_X
DECODE_Y:
        JBC        CTRL,4
        JMP        DECODE_X
        CALL        OPEN
       
DECODE_X:
        MOV        A,INDF
        AND        A,@0X07
        MOV        MODE_BUF,A       
        SUB        A,@0X04                        ;是制热的话,就变成送风4--->1
        MOV        A,@0X01
        JBC        STATUS,Z
        MOV        MODE_BUF,A
       
        BC        FLAG,FG_LX
       
        LD        TEMPL,0X2F
       
        SWAPA        INDF
        AND        A,@0X0F
       
        ADD        TEMPL,A
        ADD        TEMPL,A
       
        MOV        A,@02H
        SUB        A,TEMPL
        MOV        TEMPH,A
               
       
        DEC        FSR
       
        CLR        FS_BUF
        JBC        INDF,5
        BS        FS_BUF,0
        JBC        INDF,6
        BS        FS_BUF,1
        MOV        A,FS_BUF
        CALL        CONVERT_FS
        MOV        FS_BUF,A
       
                       
        BC        FLAG,FG_BAIFENG
        JBC        INDF,4
        BS        FLAG,FG_BAIFENG
       
        BC        FLAG1,FG_OFFTIME
        BC        FLAG1,FG_ONTIME
        JBC        INDF,0                ;HAS OFF TIME
        JMP        REMOTE_DECODE_ON_TIME       
        BS        FLAG1,FG_OFFTIME
        SWAPA        SBUF+1
        AND        A,@0XF
        MOV        TIMERL,A
        SWAPA        SBUF+2
        AND        A,@0XF0
        OR        TIMERL,A
        SWAPA        SBUF+2
        OR        A,@0XF0
        MOV        TIMERH,A
        JMP        REMOTE_DECODE_TIMER_OK       
REMOTE_DECODE_ON_TIME:               
        JBC        INDF,1                ;HAS ON TIME
        JMP        REMOTE_DECODE_TIMER_OK
        BS        FLAG1,FG_ONTIME
        MOV        A,SBUF
        MOV        TIMERL,A
        MOV        A,SBUF+1
        OR        A,@0XF0
        MOV        TIMERH,A
        ;JMP        REMOTE_DECODE_TIMER_OK               
REMOTE_DECODE_TIMER_OK:
        JBC        CTRL,4
        CALL        SETUP
        JMP        REMOTE_DECODE_OK

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

76

主题

2646

帖子

7

粉丝