久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
STC8單片機之EV1527無線433M解碼程序
[打印本頁]
作者:
jubaolun
時間:
2024-3-9 22:28
標題:
STC8單片機之EV1527無線433M解碼程序
MCU:STC8單片機
解碼協議:EV1527
顯示:LCD1602
單片機源程序如下:
#include "time.h"
#include "uart.h"
#include "delay.h"
#include "task.h"
////////////////////////////////
unsigned char decode_ok;
unsigned int hh_w,ll_w;
unsigned char ma_x;
unsigned char bma1,bma2,bma3,bma4;
unsigned char mma1,mma2,mma3,mma4;
unsigned char mmb1,mmb2,mmb3,mmb4;
//extern uint8_t mmb1,mmb2,mmb3,mmb4;
unsigned char rf_ok1,rf_ok2,rf_ok;
unsigned char old_rc5;
unsigned char tb_ok;
unsigned char D0,D1,D2,D3 ;
unsigned int s ,s1;
unsigned char bt_auto;
unsigned char rf_data[4];
void rexode_433M(void);
//bit open_led_flag=0;
unsigned char count_5ms=0;
extern unsigned char code out[];//LED數組
extern u8 add1,spacing,mode;//地址,間隔時間,模式
//////////////////////////////////////////
void Timer0Init(void)
{
TMOD|=0x00;
TL0=65536-10; //定時10ms
TH0=(65536-10)>>8;
/////////////////////以下STC12/////////////////////
// TL0=65536-46; //定時10ms,系統時鐘12分頻后,定時1的時鐘為2.25M,
// TH0=(65536-46)>>8;
TR0=1;ET0=1; //定時器0 ,定時16位模式
EA=1;
}
//////////////////////////////////////////
void timer0_interrupt(void) interrupt 1
{
TL0=(65535-50)%256; //定時50us,
TH0=(65535-50)/256;
count_5ms++;
TX_433M_pin=~TX_433M_pin;
rexode_433M();
}
//////////////////////////////////////////////
void rexode_433M(void)
{
if (!RF)
{
ll_w++;
old_rc5=0;
}
else
{
hh_w++;
if (!old_rc5)
{ // 2/5 100/130
if (((hh_w>=2)&&(hh_w<=15))&&((ll_w>=160)&&(ll_w<=320)))
{
tb_ok = 1 ;
ma_x = 0;
bma1=0; bma2=0; bma3=0; bma4=0;
}
else if ((tb_ok)&&((ll_w>=19)&&(ll_w<=33))) //8/13
{
ma_x++;
if(ma_x>23)
{
if(!rf_ok1)
{
mma1=bma1;
mma2=bma2;
mma3=bma3;
mma4=bma4;
rf_ok1=1;
tb_ok=0;
s=10000;
}
else
{
mmb1=bma1;
mmb2=bma2;
mmb3=bma3;
mmb4=bma4;
rf_ok2=1;
tb_ok=0;
}
}
}
else if ((tb_ok)&&((ll_w>=2)&&(ll_w<=14))) // 2/7
{
switch (ma_x)
{
case 0 : { bma1=bma1 | 0x01; break; }
case 1 : { bma1=bma1 | 0x02; break; }
case 2 : { bma1=bma1 | 0x04; break; }
case 3 : { bma1=bma1 | 0x08; break; }
case 4 : { bma1=bma1 | 0x10; break; }
case 5 : { bma1=bma1 | 0x20; break; }
case 6 : { bma1=bma1 | 0x40; break; }
case 7 : { bma1=bma1 | 0x80; break; }
case 8 : { bma2=bma2 | 0x01; break; }
case 9 : { bma2=bma2 | 0x02; break; }
case 10: { bma2=bma2 | 0x04; break; }
case 11: { bma2=bma2 | 0x08; break; }
case 12: { bma2=bma2 | 0x10; break; }
case 13: { bma2=bma2 | 0x20; break; }
case 14: { bma2=bma2 | 0x40; break; }
case 15: { bma2=bma2 | 0x80; break; }
case 16: { bma3=bma3 | 0x01; break; }
case 17: { bma3=bma3 | 0x02; break; }
case 18: { bma3=bma3 | 0x04; break; }
case 19: { bma3=bma3 | 0x08; break; }
case 20: { bma3=bma3 | 0x10; break; }// ?????1?
case 21: { bma3=bma3 | 0x20; break; }
case 22: { bma3=bma3 | 0x40; break; }
case 23: { bma3=bma3 | 0x80;
if(!rf_ok1)
{
mma1=bma1;
mma2=bma2;
mma3=bma3;
// mma4=bma4;
rf_ok1=1;
tb_ok=0;
// bt_auto=0;
s=10000;
break;
}
else
{
mmb1=bma1;
mmb2=bma2;
mmb3=bma3;
//mmb4=bma4;
rf_ok2=1;
tb_ok=0;
break;
}
}
}
ma_x++;
}
else
{ma_x=0; tb_ok=0;bt_auto=0;bma1=0;bma2=0; bma3=0; hh_w=1;ll_w=0;}
ll_w=0;hh_w=1;
}
old_rc5=1;
}
if(rf_ok1)
{
s--;
if(!s) rf_ok1=0;
if(rf_ok2)
{
if((mma1==mmb1)&&(mma2==mmb2)&&(mma3==mmb3))
{
rf_ok=1;
rf_ok1=0;
rf_ok2=0;
}
else
{
rf_ok=0;
rf_ok1=0;
rf_ok2=0;
}
}
}
if((rf_ok))
{
TR0=0;
rf_ok=0;
rf_data[0]=mma1;
rf_data[1]=mma2;
rf_data[2]=mma3;
SendOneByte(rf_data[0]);
SendOneByte(rf_data[1]);
SendOneByte(rf_data[2]);
decode_ok=1;
TR0=1;
}
}
////////////////////////////////////////////
void EV1527_decoding()
{
char i=0;
/////////////////解碼值////////////////////////////////
if(decode_ok)
{
decode_ok=0;
switch(rf_data[2])
{
case 0x19: OUT1=~OUT1;rf_data[2]=0;break;//1號鍵
case 0x29: OUT2=~OUT2;rf_data[2]=0;break;
case 0x49: OUT3=~OUT3;rf_data[2]=0;break;
case 0x89: OUT4=~OUT4;rf_data[2]=0;break;
case 0x39: OUT5=~OUT5;rf_data[2]=0;break;
case 0x59: OUT6=~OUT6;rf_data[2]=0;break;
case 0xa9: OUT7=~OUT7;rf_data[2]=0;break;
case 0x69: OUT8=~OUT8;rf_data[2]=0;break;
case 0x79: OUT9=~OUT9;rf_data[2]=0;break;
case 0xe9: OUT10=~OUT10;rf_data[2]=0;break;//10號鍵
/////////////11鍵亮(流水)/////////12鍵滅(流水)////////////////////////////////////////////
case 0X99: //解碼 遙控器11鍵
{
delay_ms(1);
led=out[i];//led燈開始往后面亮delay_ms(2);//led燈開始往后面亮
i++;
delay_ms(spacing*100);
if(i>8)//如果led燈亮完了
{
i=8;
led=0xff;rf_data[2]=0;
}
}break;
case 0Xd9: //解碼 遙控器12鍵
{
delay_ms(1);
led=out[i];//滅-》滅
i--;
delay_ms(spacing*100);
if(i<0)
{
i=0;led=0x00; //p35=1;
rf_data[2]=0;
}
}break;
}
}
}
復制代碼
#include "time.h"
#include "uart.h"
#include "LCD1602.h"
#include "delay.h"
#include "key.h"
#include "task.h"
///////////////////////////////////////////////////////
extern u8 xdata U1RxBuf[];
extern u8 add;
extern bit flag;
extern unsigned char Uartflag ; //UART判斷標志位
extern char Recive_state ; //接收完成標志
/********************************************************************
主函數
*********************************************************************/
void main()
{
InitUART();
Timer0Init();
///////////////配置端口為雙向口////////////////////////
P1M0=0X00;
P1M1=0X00;
P2M0=0X00;
P2M1=0X00;
P3M0=0X00;
P3M1=0X00;
Init_LCD1602();;//lcd初始化
delay_ms(10);
LCD_Clear(); //清屏
//////////////////////LOGO///////////////////////////
LCD1602_write_com(0x80); //指針指向第1行第0個位置
LCD1602_write_word(" BLD ");//寶蕾德電子產品
LCD1602_write_com(0x80+0x40); //指針指向第2行第0個位置
LCD1602_write_word("0~10s APPLE:S118");
delay_ms(100);
LCD_Clear();//清屏
LCD1602_write_com(0x80); //指針指向第1行第0個位置
LCD1602_write_word(" ");
LCD1602_write_com(0x80+0x40); //指針指向第2行第0個位置
LCD1602_write_word("spacing: s~ "); //
// spacing=IapRead(0x0000); //EEPROM 讀0x0000到hc[0]
// add1=IapRead(0x0002); //EEPROM 讀0x0002到hc[1]
// mode=IapRead(0x0004); //EEPROM 讀0x0002到hc[2]
delay_ms(2);
spacing_data();
P2=0x00;
while(1) //無限循環
{
EV1527_decoding();//解碼
display_zhu();
}
}
原理圖: 無
仿真: 無
代碼:
STC8-解碼433M EV1527 串口發送OK版.rar
(84.37 KB, 下載次數: 69)
2024-3-9 22:26 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
愛電子998
時間:
2024-3-10 16:59
好資料必須支持,
作者:
老愚童63
時間:
2024-3-11 08:42
如果能夠增加掉電喚醒功能就可以方便控制接受芯片進入節電模式方便單火線取電功能的實現那就完美了,現在市面上有這個芯片
作者:
hxszrb
時間:
2024-6-7 23:45
學習了?留著下次再看
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
精品一区二区三区中文字幕
|
91av入口
|
色久五月
|
亚洲一区二区在线视频
|
欧美视频中文字幕
|
91久久久久久
|
色综合天天天天做夜夜夜夜做
|
日韩精品一区二区三区视频播放
|
日韩一区精品
|
黄色一级免费观看
|
av综合站
|
a黄在线观看
|
日韩三级电影在线看
|
欧美精品一二三
|
成人精品在线视频
|
亚洲黄色一区二区三区
|
av天天干
|
777zyz色资源站在线观看
|
台湾佬伊人
|
日日夜夜影院
|
手机看片1
|
久久久婷婷
|
国产精品高潮呻吟久久aⅴ码
|
91精品国产高清一区二区三区
|
日韩一级一区
|
欧美aaaaaaaa
|
欧美极品少妇xxxxⅹ免费视频
|
综合网中文字幕
|
一区二区三区视频在线免费观看
|
国产精品久久久久久亚洲调教
|
97在线超碰
|
九九热在线观看视频
|
欧美一级片免费看
|
久久国产综合
|
亚洲高清一区二区三区
|
日韩成人免费视频
|
一级欧美
|
久久久成人网
|
国产精品国产a级
|
欧美成人手机在线
|
国产成人精品久久
|