找回密码
 立即注册

QQ登录

只需一步,快速开始

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

问下51hei板子配的无线解码的发射部分的晶振是多少的呢?

[复制链接]
跳转到指定楼层
楼主
ID:25867 发表于 2010-9-3 15:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1 发表于 2010-9-3 16:48 | 只看该作者

  你说的是四键盘手持遥控器吧,那个是没有晶振的,采用pt2262芯片,在15和16脚之间有一个震荡电阻,这个电阻配合芯片内部电路产生编码信号,然后由315兆的声表面滤波器稳频 在315M的载波上发射

 

   请参考板子配套的文档,内有详细的资料

 

 


[此贴子已经被作者于2010-9-3 16:49:17编辑过]
回复

使用道具 举报

板凳
ID:12816 发表于 2011-2-13 13:46 | 只看该作者
学习板上要用多少MHZ的晶体呢?我的没反应呢?
回复

使用道具 举报

地板
ID:1 发表于 2011-2-13 16:57 | 只看该作者
多少MHZ的晶体 在程序的顶部有注释的哦,你打开源代码 看看就知道了
回复

使用道具 举报

5#
ID:12816 发表于 2011-2-13 18:06 | 只看该作者

我原文件给我改乱了遥不了谁能分享下程序呀LBQ691477940@126.COM

[此贴子已经被作者于2011-2-13 18:08:30编辑过]
回复

使用道具 举报

6#
ID:12816 发表于 2011-3-5 21:34 | 只看该作者
/******************************************
******* 文件名:Decode.c
******* 描述:对PT2262的编码信号进行解码PT2262的输出信号经三极管反向后送入单片机的中断引脚
******* 代码:A0 -- A11 中的每bit用2bit表示:0码:00 ;1码:11
******* 备注:PT2262输出数据的顺序:A0 A1 -- A10 A11+同步码+A0 A1 -- A10 A11+同步码,连续发四次
*******************************************/
#include<reg51.h> //51系列头文件
#include<intrins.h> //方便调用_nop_();做延时用;
unsigned char Receive[3] ;    //解码缓冲区:Receive[0]:A0 A1 A2 A3 ; Recdive[1]:A4 A5 A6 A7 ; Receive[2]: D3 D2 D1 D0
//Recdive[x]:xx xx xx xx 代表4bit
bit flag = 0 ;  //解码完成标志位
sbit RemPin = P3^2 ; //编码信号输入脚
/******************************************************
函数名:INT0_ISR( )
描  述: 外部中断0服务函数,实现对PT2262的解码
参  数:输入参数:无
输出参数:无
*******************************************************/
void INT0_ISR(void) interrupt 0 using 1
 {
  unsigned char i = 0 ;
  unsigned char j = 0 ;
  unsigned int temp = 0x0000;
  //EA = 0 ;
  TH0 = 0 ;
  TL0 = 0 ;
  while( !RemPin) ; //等待高电平的到来,检测同步头
  TR0 = 1 ;   //启动定时器0,开始测量高电平的宽度
  while( RemPin) 
   {
    if( TF0 == 1 ) 
     {
      goto RemExit;  //定时器超时溢出则退出
     }
   }
  TR0 = 0 ;
  temp = TH0 ;
  temp = temp << 8 ;
  temp = temp + TL0 ; //取得高电平的宽度
  if( ( 0x36B0 < temp ) && ( temp < 0x4100) )  //检测到同步头
   {
    for( j = 0 ; j < 3 ; j ++) //循环3次
     {
      for( i = 0 ; i < 8; i ++ )
       {
        TH0 = 0 ;
        TL0 = 0 ;
        while( !RemPin);//等待高电平到来
        TR0 = 1 ;  //开启定时器0 ,测量高电平的宽度
        while( RemPin) 
         {
          if( TF0 == 1 ) 
           {
            goto RemExit; //定时溢出则退出
           } 
         }
        TR0 = 0 ;
        temp = TH0 ;
        temp = temp << 8 ;
        temp = temp + TL0 ;  //取得高电平的宽度
        if( ( 1000 < temp ) && (temp< 1800 ) ) //判断得窄脉冲:1表示
         {
          Receive[j] = Receive[j] << 1 ;
          Receive[j] = Receive[j] + 0x01 ;
         }
        else if( ( 300 < temp) && (temp< 700) )//判断得宽脉冲:0表示
         {
          Receive[j] = Receive[j] << 1 ;
         }
        else 
        return;    
       }
     }
    flag = 1 ;      //表示已解码完毕
    return;
   }
  else 
   {
    goto RemExit;
   }
  RemExit:
   {
    TR0 = 0 ;
    //TR1=1;
    EA = 1 ;
    TF0 = 0 ;
    RemPin = 1 ;
    return; 
   }  
 } 

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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