找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2229|回复: 2
打印 上一主题 下一主题
收起左侧

新人求助

[复制链接]
跳转到指定楼层
楼主
ID:54902 发表于 2013-9-10 11:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想学下简单的红外线遥控,利用单片机、PH302和PH302,简单控制一个LED的亮灭,应该怎样写发射和接收程序,求一个简单的程序学习下
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

来自 3#
ID:54902 发表于 2013-9-18 23:16 | 只看该作者
admin 发表于 2013-9-11 00:51
论坛有这样的帖子 你搜索一下 红外 这2个字就可以找到

我这样做了,通过发送字符,然后接收字符,接收的是什么字符,就令一个IO口为高低电平,这样控制LED的亮灭,那又怎样实现调光呢
#include <reg51.h> // 接收  试试
#define uchar unsigned char
sbit   led1=P3^2;     //  接收 a , P3.2 输出低电平, P3.3  输出高电平。
sbit   led2=P3^3;     //   接收 a , P3.2 输出高电平, P3.3   输出低电平。
bit  t,s;
uchar  k;
void main (void)
  {
  SCON = 0x50;      
  TMOD = 0x21;     
  PCON = 0x80;      
  TH1 = 0xF4;      
  TL1 = 0xF4;  
  TH0=(65536-54253)/256;  // 50 mS
  TL0=(65536-54253)%256;
  TR1  = 1;  
  ES   = 1;        // 开串口中断
  EA   = 1;        // 开总中断
  ET0=1;
  TR0=1;
  s=1;
  while(1)
    {    }}
void chuankou(void) interrupt 4
  {
  if(RI==1)
    {
    RI = 0;
    TI = 0; if(t==1)
    {
   if(SBUF=='z') {led1=0;led2=1; }
   if(SBUF=='a') {led1=1;led2=0; }
   s=1; t=0;
   }
if(SBUF=='a' && s==1) { t=1;s=0;}
    }
}
void T0_time()interrupt 1
{
    TH0=(65536-54253)/256;  // 50 mS
    TL0=(65536-54253)%256;
    k++;
    if(k==10)  
  {
    k=0;
    led1=1;
    led2=1;
    }
  }
回复

使用道具 举报

沙发
ID:1 发表于 2013-9-11 00:51 | 只看该作者
论坛有这样的帖子 你搜索一下 红外 这2个字就可以找到
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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