维修网

 找回密码
 注册

QQ登录

只需一步,快速开始

img_loading
智能检测中

微信扫码 , 快速开始

查看: 329|回复: 6

请教红外接收原理

[复制链接]

该用户从未签到

发表于 2010-5-2 12:05:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
如果我用SAA3010T芯片的遥控器发送,用含89C51的电路接收,哪位大侠能讲讲发送接收的原理和思路 呢??

手机扫码浏览

该用户从未签到

发表于 2010-5-2 12:05:31 | 显示全部楼层
到这里找技术人员帮你写程序 http://www.weixiu.name/bbs/list.asp?boardid=5

该用户从未签到

 楼主| 发表于 2010-5-2 12:05:32 | 显示全部楼层
谢谢斑竹,我已经有一个程序了
5 a) j3 E2 L' h- P, W. I: ~7 d0 D7 k. W7 Y5 I0 d
只是不太明白
' a# Y# y- |! }  D8 {$ M$ V1 S0 _* P( A6 l: F1 U8 h
#include <AT89x51.h>
3 {7 x0 c3 q+ s3 `$ j1 Z
5 ?; g7 D& j5 Q  H1 a
( D- i( u: Z, U$ H2 v# Z% m
6 j$ w* v1 s  j  L( K/ Q4 a" _static unsigned char data IRCode[3],IRCON,IRCON2;static unsigned char data DT;
5 O# L+ k9 ]1 u2 `8 C$ p; Y7 z
* x7 A. X: H: k6 ?
: k+ Q% A5 z# s
/ U+ A9 d" F" K$ P% g8 B: c- G/ ivoid main(void){unsigned int de;5 |! g* o, n2 t% V. Z

' e% S0 C$ Y+ y+ O' Y. o+ A, x* \, j# h
- u8 @7 u( M6 j% j3 O0 L7 Q* i* [
TMOD = 0x01; //定时器0方式1EA = 1; //允许CPU中断IT0 = 1; //INT0下降沿有效EX0 = 1; //开INT0中断;do{ for (de=0; de<10000; de++)P3_6 = 1;for (de=0; de<10000; de++)P3_6 = 0;if (DT) {for (de=0; de<30000; de++) //这里起到按键值正确后会有一个延时,防止重复按键P3_6 = 1;for (de=0; de<30000; de++)P3_6 = 0;DT = 0;}EX0 = 1;}while(1);}# \" }, b( @0 h- [

% y$ T6 @% V2 h1 i2 z* {5 O  `8 L1 G4 v. ^- f6 Z

; G( p4 R7 `+ q* e6 H5 x//定时器0中断处理void timeint(void) interrupt 1 using 2{TH0=0xFD;TL0=0x1E; //设定时值为800us
3 s/ Y7 N' P$ e1 q& R. M. X# M9 I' J! R+ E: G+ N2 v8 p6 Z6 {9 C; I

1 z- i0 ^/ Q. y$ F9 i4 m& \" M' K2 [4 _% k5 X8 C: u; @1 c
if (IRCON<3){if (IRCON2<8) //每中断一次读一次遥控接收头的状态,每二次为遥控编码中的一个位{IRCON2++;IRCode[IRCON]=IRCode[IRCON]<<1; //每读一次放入变量中的二进制的一个位,每次左移一位IRCode[IRCON]=IRCode[IRCON] | P3_2; //每八次填满一个字节,一个字节存放遥控编码4个位}else{IRCON++; //填满一个字节,指向下一个变量IRCON2=0; //计数清零}}else{TR0 = 0; //关闭定时器ET0 = 0; //定时器0中断关闭if ((IRCode[1]!=0xFF) && (IRCode[2]!=0xFF)){if (IRCode[1] == 0x55){switch (IRCode[2]){case 0xAB: //1-8键控制P1_0 = ~P1_0;DT = 1;break;case 0xAC1_1 = ~P1_1;DT = 1;break;case 0xAD: P1_2 = ~P1_2;DT = 1;break;case 0xB2: P1_3 = ~P1_3;DT = 1;break;case 0xB3: P1_4 = ~P1_4;DT = 1;break;case 0xB4: P1_5 = ~P1_5;DT = 1;break;case 0xB5: P1_6 = ~P1_6;DT = 1;break;case 0xCA: P1_7 = ~P1_7;DT = 1;break;case 0xD2: //按关闭电源键,关闭所有继电器P1 = 0xFF;DT = 1;break;}}}} }8 f- T+ A4 e3 Q2 C; L& F
: F- w0 {4 F5 s, S; ^1 a, D. \/ a

$ N4 v% r  j. ?/ v( x6 }8 H9 n7 x' Q, B2 i
//INT0中断void INT0Fun(void) interrupt 0 using 2{EX0 = 0; //外部中断0关闭ET0 = 1; //定时器0中断打开TH0=0xFD;TL0=0x1E; //设定时值为800usfor (IRCON=0; IRCON<3; IRCON++)IRCode[IRCON] = 0;IRCON = 0;IRCON2 = 0; //计数清零
& c4 ?7 s& f2 ]0 m$ ~4 p4 g2 k3 ]) J# B: V* r# w, N
# u8 d6 f' a% u! h! ]
' X# X" |5 z8 O# x1 o. ?$ J/ `0 y; \- @
TR0 = 1;//开始计数}

该用户从未签到

发表于 2010-5-2 12:05:33 | 显示全部楼层
请问楼主知道SM6135、SM6136内部程序是什么吗?

该用户从未签到

发表于 2010-5-2 12:05:34 | 显示全部楼层
hao li hai

该用户从未签到

发表于 2010-5-2 12:05:35 | 显示全部楼层
very good!!
* N" @' v2 S, f* x3 K  `0 u

该用户从未签到

发表于 2012-9-16 00:53:37 | 显示全部楼层
好贴子不多啊  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新贴|维修网 ( 粤ICP备09047344号

GMT+8, 2025-6-8 15:09 , Processed in 12.391910 second(s), 31 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表