久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3487|回復(fù): 9
收起左側(cè)

基于STC15F104單片機(jī)解碼PT2262 EV1527軟件解碼 2272學(xué)習(xí)遙控器芯片

  [復(fù)制鏈接]
ID:1039126 發(fā)表于 2024-5-7 09:41 | 顯示全部樓層 |閱讀模式
STC15F104W解碼原理圖.jpg
1.png

315-433MHZ學(xué)習(xí)遙控器芯片
支持1527  2264  2260  2262   SC5211  HS2240等解碼,自動適應(yīng)振蕩電阻
2260 2262 2264 如果不進(jìn)行人工地址編碼,好多個遙控器地址編碼一樣的,只要學(xué)習(xí)一個遙控器,所有的遙控器都能同時用

一:如何設(shè)置自鎖,互鎖,點(diǎn)動輸出
1:斷電。按住學(xué)習(xí)鍵然后上電保持1-2秒鐘后松開,學(xué)習(xí)燈閃3次,設(shè)置為自鎖輸出。
2:斷電。按住學(xué)習(xí)鍵然后上電保持1-2秒鐘后松開,學(xué)習(xí)燈閃1次,設(shè)置為互鎖輸出。
3:斷電。按住學(xué)習(xí)鍵然后上電保持1-2秒鐘后松開,學(xué)習(xí)燈閃2次,設(shè)置為點(diǎn)動輸出。
二:遙控器學(xué)習(xí):
以上輸出模式設(shè)置后斷開電源,然后上電,按一下學(xué)習(xí)鍵,學(xué)習(xí)燈保持亮,再按遙控器上的任意一鍵,學(xué)習(xí)燈熄滅,遙控器學(xué)習(xí)成功。重復(fù)上述操作可以學(xué)習(xí)多達(dá)20個遙控器。1527 2260 2262 2264等的遙控器可以混合學(xué)習(xí)使用。
三:如何清空已學(xué)習(xí)過的遙控器:
斷電,按住學(xué)習(xí)鍵然后上電保持4秒以上再松開按鍵,學(xué)習(xí)燈閃爍4次,說明已學(xué)習(xí)過的遙控器已被清空。

單片機(jī)源程序如下:
//內(nèi)部晶振:11.0592M
//測試芯片:STC15F104E/STC11F04W        
//硬件最簡版
//實現(xiàn)2262、1527解碼輸出,學(xué)習(xí)、自適應(yīng)多阻值,片內(nèi)EEPROM存儲相關(guān)信息

#include <reg52.h>
#include <intrins.h>

sfr AUXR=0x8e;

sfr IAP_DATA    = 0xC2;                //片內(nèi)EEPROM資源聲明
sfr IAP_ADDRH   = 0xC3;
sfr IAP_ADDRL   = 0xC4;
sfr IAP_CMD     = 0xC5;
sfr IAP_TRIG    = 0xC6;
sfr IAP_CONTR   = 0xC7;

sfr P3M0                =0xb2;
sfr P3M1                =0xb1;

#define uchar unsigned char
#define uint  unsigned int

sbit RF                        =        P3^4;          //射頻引腳定義                                                                                                                    
sbit set                 =        P3^3;          //設(shè)置鍵定義

sbit keya                =        P3^0;          //第一路
sbit keyb                =        P3^1;          //第二路  
sbit keyc                =        P3^2;          //第三路
sbit keyd                =        P3^5;          //第四路


uint   ll_w;
uchar  hh_w;           //高,低電平寬度
uchar  ma_x;                //接收到第幾位編碼了
uchar  idata bma1,bma2,bma3; //用于接收過程存放遙控編碼,編碼比較兩次,這是第一次
uchar idata mmb1,mmb2,mmb3; //        用于接收過程存放遙控編碼,第二次
uchar key_data;   
uchar short_k;
uchar  mma1,mma2,mma3; //用于解碼過程                        
uchar L_M_select;
uchar xplx;
uint s,s1;

bit old_rc5;             //保存上一次查詢到的電平狀態(tài)
bit tb_ok;               //接收到同步的馬時置1
bit rf_ok1,rf_ok2;                 //解碼過程中的臨時接收成功標(biāo)志
bit rf_ok;               //接收到一個完整的遙控命令后置1,通知解碼程序可以解碼了
bit study;                                 //進(jìn)入學(xué)習(xí)狀態(tài)標(biāo)志
bit system_int;                         //系統(tǒng)清零標(biāo)志
bit m1,m2,m3,m4;
bit flag_zs;
bit  decode_ok;                 //解碼成功

uchar idata key_number[61];               


void delay_1ms(uint x)    //1毫秒延時
{
        uchar b,c;
        for(x;x>0;x--)
                {
                        for(b=5;b>0;b--)
                                {
                                        for(c=150;c>0;c--);
                                }
                }
}

void BB(uint size,uchar Number)
{

        if(Number)
                {
                        for(Number;Number>0;Number--)
                                {
                                        set=0;
                                         delay_1ms(size);
                                        set=1;
                                        delay_1ms(size);                                
                                }               
                }
             else
                           {
                                set=0;
                                 delay_1ms(size);
                                set=1;                        
                        }
}

void chick1527(uchar d)
{
        uchar u;
        for(u=0;u<4;u++)
                {
                        if(((d>>(u*2)) & 3)==2)
                                 {
                                         xplx=0x55;
                                  }
                }
}


//====================================================
/////////片內(nèi)EEPROM讀寫驅(qū)動程序///////////////////////////
//====================================================


void IAP_Disable()           //關(guān)閉IAP
{
    //關(guān)閉IAP 功能, 清相關(guān)的特殊功能寄存器,使CPU 處于安全狀態(tài),
    //一次連續(xù)的IAP 操作完成之后建議關(guān)閉IAP 功能,不需要每次都關(guān)
    IAP_CONTR = 0;      //關(guān)閉IAP 功能
    IAP_CMD   = 0;      //清命令寄存器,使命令寄存器無命令,此句可不用
    IAP_TRIG = 0;      //清命令觸發(fā)寄存器,使命令觸發(fā)寄存器無觸發(fā),此句可不用
    IAP_ADDRH = 0;
    IAP_ADDRL = 0;
}//



//讀一字節(jié),調(diào)用前需打開IAP 功能,入口:DPTR = 字節(jié)地址,返回:A = 讀出字節(jié)
uchar read_add(uint addr)         //讀EEPROM
{
    IAP_DATA = 0x00;
    IAP_CONTR = 0x84;         //打開IAP 功能, 設(shè)置Flash 操作等待時間
    IAP_CMD = 0x01;                 //IAP/ISP/EEPROM 字節(jié)讀命令

    IAP_ADDRH = addr>>8;    //設(shè)置目標(biāo)單元地址的高8 位地址
    IAP_ADDRL = addr&0xff;    //設(shè)置目標(biāo)單元地址的低8 位地址

    EA = 0;
    IAP_TRIG = 0x5a;   //先送 46h,再送B9h 到ISP/IAP 觸發(fā)寄存器,每次都需如此
    IAP_TRIG = 0xa5;   //送完 B9h 后,ISP/IAP 命令立即被觸發(fā)起動
    _nop_();
    EA = 1;
    IAP_Disable(); //關(guān)閉IAP 功能, 清相關(guān)的特殊功能寄存器,使CPU 處于安全狀態(tài),
                    //一次連續(xù)的IAP 操作完成之后建議關(guān)閉IAP 功能,不需要每次都關(guān)
    return (IAP_DATA);
}//------------------------------------------------------------------------------


//字節(jié)編程,調(diào)用前需打開IAP 功能,入口:DPTR = 字節(jié)地址, A= 須編程字節(jié)的數(shù)據(jù)
void write_add(uint addr,uchar ch)         //直接寫EEPROM
{
    IAP_CONTR = 0x84;         //打開 IAP 功能, 設(shè)置Flash 操作等待時間
    IAP_CMD = 0x02;                 //IAP/ISP/EEPROM 字節(jié)編程命令


    IAP_ADDRH = addr>>8;    //設(shè)置目標(biāo)單元地址的高8 位地址
    IAP_ADDRL = addr&0xff;    //設(shè)置目標(biāo)單元地址的低8 位地址

    IAP_DATA = ch;                  //要編程的數(shù)據(jù)先送進(jìn)IAP_DATA 寄存器
    EA = 0;
    IAP_TRIG = 0x5a;   //先送 46h,再送B9h 到ISP/IAP 觸發(fā)寄存器,每次都需如此
    IAP_TRIG = 0xa5;   //送完 B9h 后,ISP/IAP 命令立即被觸發(fā)起動
    _nop_();
    EA = 1;
    IAP_Disable(); //關(guān)閉IAP 功能, 清相關(guān)的特殊功能寄存器,使CPU 處于安全狀態(tài),
                    //一次連續(xù)的IAP 操作完成之后建議關(guān)閉IAP 功能,不需要每次都關(guān)
}//------------------------------------------------------------------------------
//擦除扇區(qū), 入口:DPTR = 扇區(qū)地址


void Sector_Erase(uint addr)         //扇區(qū)擦除
{
    IAP_CONTR = 0x84;         //打開IAP 功能, 設(shè)置Flash 操作等待時間
    IAP_CMD = 0x03;                 //IAP/ISP/EEPROM 扇區(qū)擦除命令

    IAP_ADDRH =addr>>8;    //設(shè)置目標(biāo)單元地址的高8 位地址
    IAP_ADDRL =addr&0xff;    //設(shè)置目標(biāo)單元地址的低8 位地址

    EA = 0;
    IAP_TRIG = 0x5a;   //先送 46h,再送B9h 到ISP/IAP 觸發(fā)寄存器,每次都需如此
    IAP_TRIG = 0xa5;   //送完 B9h 后,ISP/IAP 命令立即被觸發(fā)起動
    _nop_();

    EA = 1;
下載燒錄說明
IRC頻率選11.0592M
如果已燒錄過的單片機(jī),燒錄前必須下載后恢復(fù)下出廠設(shè)置。才能再燒錄,新單片機(jī)不用恢復(fù)
操作:按住學(xué)習(xí)鍵,上電保持10秒以上松開即可。

Protel99格式的PCB和源程序燒寫文件等資料下載: 資料.7z (435.33 KB, 下載次數(shù): 71)
IO口設(shè)置.png

電路原理圖

電路原理圖

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:1039126 發(fā)表于 2024-5-7 09:43 | 顯示全部樓層
保證能用哦
回復(fù)

使用道具 舉報

ID:624476 發(fā)表于 2024-5-9 22:13 來自觸屏版 | 顯示全部樓層
能接收多少距離?和用硬解碼差距大嗎?
回復(fù)

使用道具 舉報

ID:1039126 發(fā)表于 2024-5-13 20:52 | 顯示全部樓層
fhl323225577 發(fā)表于 2024-5-9 22:13
能接收多少距離?和用硬解碼差距大嗎?

同等功率遙控距離一樣
回復(fù)

使用道具 舉報

ID:156220 發(fā)表于 2024-5-14 08:36 | 顯示全部樓層
學(xué)習(xí)了,謝謝樓主的資料
回復(fù)

使用道具 舉報

ID:1039126 發(fā)表于 2024-5-17 10:01 | 顯示全部樓層
紫色的云 發(fā)表于 2024-5-14 08:36
學(xué)習(xí)了,謝謝樓主的資料

客氣了
回復(fù)

使用道具 舉報

ID:198738 發(fā)表于 2024-9-9 10:46 | 顯示全部樓層
感謝樓主
回復(fù)

使用道具 舉報

ID:465279 發(fā)表于 2024-10-3 22:53 來自觸屏版 | 顯示全部樓層
好東西,學(xué)習(xí)了
回復(fù)

使用道具 舉報

ID:1100538 發(fā)表于 2024-10-12 15:05 | 顯示全部樓層
感謝分享,已下載。請問設(shè)置與外圍電路P3.0-P3.3起什么作用,可以忽略嗎
回復(fù)

使用道具 舉報

ID:433219 發(fā)表于 2024-10-17 16:00 | 顯示全部樓層
    資料.7z  里面只有 hex  ???
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品久久久蜜桃 | 成年人午夜视频 | 欧美黄色网 | 国产精品午夜视频 | 国产一级片 | 超碰97在线免费观看 | av观看网站 | 福利小视频 | 日韩久久网 | 日韩一区二区在线播放 | 综合一区二区三区 | 成人午夜视频在线观看 | 亚洲在线观看视频 | 久久狠| 韩国精品一区二区 | 一区二区三区亚洲 | 国产精品一区二区不卡 | 97中文字幕 | 久草久草久草 | www.国产视频 | 亚洲第一区视频 | 香蕉久久久 | 日本一级淫片 | 毛片网站在线播放 | 一区二区三区日韩 | 亚洲三级网| 国产精品免费一区二区 | 日韩在线免费 | 九九热在线精品视频 | 国产区在线视频 | 日本www色| av日韩精品 | 91欧美在线| 97精品超碰一区二区三区 | 亚洲精品三区 | 日本精品国产 | 日韩欧美久久久 | 久久久久久久国产精品 | 欧美在线观看一区二区三区 | 亚洲天码中字 | 久久精品一区二区国产 |