查看: 1640|回复: 7
|
ir remote control
[复制链接]
|
|
i. 你要想做什么? 你的应用是什么?
我想做一个IR remote control来控制led的开关
ii. 你想要拿到什么效果
一个push button 对应一个led,按了push button有关的led就ON
iii. 你做了什么
在proteus simulate了我的program,program是我在网上找的(16f877a),我把它该去18f4520
iv. 你遇到了什么问题。
我的program可以在mplab simulate,但是在Proteus simulate得不到OUTPUT
v. 你用什么MCU?
p18f4520
vi. 你用什么语言? ASM /C/PICBasic/Keil?Compiler 版本?
c language-- mplab c18
vii. 有源码吗? 如是抄来的请注明出处, 请放链接。
tx
#include <p18f4520.h>
#pragma config PBADEN=OFF
#pragma config WDT=OFF
#pragma config LVP=OFF
#pragma config DEBUG=ON
#pragma config OSC=HS
#define _XTAL_FREQ 20000000
#include <usart.h>
#include <pwm.h>
#include <timers.h>
void main()
{
TRISB=0x0F;
TRISCbits.TRISC6 = 0; //initializing port as per datasheet p201
TRISCbits.TRISC7 = 1;
RCSTAbits.SPEN = 1;
OpenUSART(USART_TX_INT_OFF &
USART_RX_INT_OFF &
USART_ADDEN_OFF &
USART_ASYNCH_MODE &
USART_EIGHT_BIT &
USART_CONT_RX &
USART_BRGH_LOW, 255);
TRISCbits.TRISC2 =0;
T3CON=0x81;
OpenTimer2(TIMER_INT_OFF & T2_PS_1_1 &T2_POST_1_1);
SetDCPWM1(65);
OpenPWM1(130);
while(1)
{
if(PORTBbits.RB0==0)
{
putrsUSART((const far rom char*) "a" );
}
else if(PORTBbits.RB1==0)
{
putrsUSART((const far rom char*) "b" );
}
else if(PORTBbits.RB2==0)
{
putrsUSART((const far rom char*) "c" );
}
else if(PORTBbits.RB0==0)
{
putrsUSART((const far rom char*) "d" );
}
}
}
RX
#include <p18f4520.h>
#pragma config PBADEN=OFF
#pragma config WDT=OFF
#pragma config LVP=OFF
#pragma config DEBUG=ON
#pragma config OSC=HS
#define _XTAL_FREQ 20000000
#include <usart.h>
unsigned char RxData;
void main()
{
TRISCbits.TRISC6 = 1; //initializing port as per datasheet p201
TRISCbits.TRISC7 = 1;
RCSTAbits.SPEN = 1;
OpenUSART(USART_TX_INT_OFF &
USART_RX_INT_OFF &
USART_ADDEN_OFF &
USART_ASYNCH_MODE &
USART_EIGHT_BIT &
USART_CONT_RX &
USART_BRGH_LOW, 255);
while(1)
{
RxData = ReadUSART();
if(RxData=='a')
{
PORTDbits.RD0=1;
}
else if(RxData=='b')
{
PORTDbits.RD1=0;
}
if(RxData=='c')
{
PORTDbits.RD2=1;
}
if(RxData=='d')
{
PORTDbits.RD3=1;
}
}
}
viii. 有电路图吗?
http://s1294.photobucket.com/user/golden4787/media/NewBitmapImage_zpsc025bb53.png.html
ix. 你google 了吗? 你的搜索关键字是什么?
IR transmit,receiver
x. 有照片证明你做的东西吗?还是只是概念性的空谈?
xi. 是你自己的问题? 还是你帮人问的? 请说明
我的fyp想用remote control。。。谢谢
。
本帖最后由 golden4787 于 7-8-2013 02:05 PM 编辑
|
|
|
|
|
|
|
|
发表于 7-8-2013 03:05 PM
|
显示全部楼层
只要开关而已对吗?用sc2262跟2272来做会更简单吧! |
|
|
|
|
|
|
|
发表于 7-8-2013 05:38 PM
|
显示全部楼层
|
|
|
|
|
|
|
楼主 |
发表于 8-8-2013 03:23 PM
|
显示全部楼层
GueyWee 发表于 7-8-2013 03:05 PM
只要开关而已对吗?用sc2262跟2272来做会更简单吧!
我之后需要加lcd 和其他功能在同一个pic
谢谢你的意见 |
|
|
|
|
|
|
|
楼主 |
发表于 8-8-2013 03:30 PM
|
显示全部楼层
pic 发表于 7-8-2013 05:38 PM
【教学】简易IR 遥控电路 (16/03/2009 新增4ch 遥控概念)
http://cforum2.cari.com.my/forum.php?mod=vi ...
我的program也是根据这贴的circuit和program来写的。。。但是我只有p18f4520,所以必须转去p18f的program。。。
但是我不懂我写的program或circuit是否正确,应为我之前没学过rs232和pwm。。
谢谢pic大大
|
|
|
|
|
|
|
|
发表于 8-8-2013 04:11 PM
|
显示全部楼层
golden4787 发表于 8-8-2013 03:30 PM
我的program也是根据这贴的circuit和program来写的。。。但是我只有p18f4520,所以必须转去p18f的program ...
1. 模拟试试 U1 RC6(TX) 直接接去U2RC7 (RX)。
2. 测量U1 RC2 ,是否有38Khz 的carrier。
|
|
|
|
|
|
|
|
楼主 |
发表于 14-8-2013 08:20 PM
|
显示全部楼层
pic 发表于 8-8-2013 04:11 PM
1. 模拟试试 U1 RC6(TX) 直接接去U2RC7 (RX)。
2. 测量U1 RC2 ,是否有38Khz 的carrier。
我模拟了rc6去rc7,可以function...但是加了rc2 ,and gate, ir 就不行了。。。
请问如何在proteus check carries?
谢谢
|
|
|
|
|
|
|
|
发表于 17-8-2013 10:42 AM
|
显示全部楼层
golden4787 发表于 14-8-2013 08:20 PM
我模拟了rc6去rc7,可以function...但是加了rc2 ,and gate, ir 就不行了。。。
请问如何在proteus check ...
要活用。。你当然不能加上 gate, RC2, IR, proteus 没有那个model
你要检查有没有carrier, 就是用scope 示波器看。。
|
|
|
|
|
|
|
| |
本周最热论坛帖子
|