久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
315MPT2262軟件解碼,求大神指導(dǎo)程序修改,解碼率很低
[打印本頁(yè)]
作者:
a727818991
時(shí)間:
2015-8-3 22:20
標(biāo)題:
315MPT2262軟件解碼,求大神指導(dǎo)程序修改,解碼率很低
/**************************************
* PT2262軟件解碼 *
* 解碼晶振4M *
**************************************/
#include <STC12C5A60S2.H>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
uint irtime;
uchar dfnum; //接收次數(shù)
uchar dfstart; //接收開(kāi)始標(biāo)志
uint dfdata[24]; //數(shù)據(jù)收集存放區(qū)
uchar dfcode[3]; //解碼完成存放區(qū)
uchar bitnum; //接收位選
uchar dfdataok; //數(shù)據(jù)收集完成標(biāo)志
uchar dfcodeok; //解碼完成標(biāo)志
sbit LED1 = P0^1; //前導(dǎo)碼判斷成功開(kāi)始數(shù)據(jù)接收指示
sbit LED2 = P0^2; //解碼指示
sbit LED3 = P0^3;//解碼成功指示
sbit df_in = P3^2;
sbit LED01 = P1^0;
sbit LED02 = P1^1;
sbit LED03 = P1^2;
sbit LED04 = P1^3;
uchar b; //接收次數(shù)標(biāo)志
/******************************************
* 延時(shí)函數(shù) *
******************************************/
void delay_ms(uint a) //@12.000MHz
{
unsigned char i, j;
for(;a !=0 ; a--)
{
_nop_();
_nop_();
i = 12;
j = 168;
do
{
while (--j);
} while (--i);
}
}
/*******************************
* 初始化定時(shí)器0 *
*******************************/
void time0init()
{
TMOD = TMOD|0x01; //設(shè)置定時(shí)器為16位
TH0= 0;
TL0 =0;
// ET0 = 1; //開(kāi)啟定時(shí)器0中斷
EA = 1;
TR0 = 1;
}
/*******************************
* 初始化外部中斷0 *
*******************************/
void INT0init()
{
IT0 =1; //設(shè)置下降延觸發(fā)
EX0 = 1; //開(kāi)啟中斷
EA = 1;
}
/********************************************************************
* 串口初始化 *
* 速率:9600 晶振:4M
********************************************************************/
void init_rs232()
{
PCON &= 0x7f; //波特率不倍速
SCON = 0x50; //8位數(shù)據(jù),可變波特率
AUXR |= 0x40; //定時(shí)器1時(shí)鐘為Fosc,即1T
AUXR &= 0xfe; //串口1選擇定時(shí)器1為波特率發(fā)生器
TMOD &= 0x0f; //清除定時(shí)器1模式位
TMOD |= 0x20; //設(shè)定定時(shí)器1為8位自動(dòng)重裝方式
TL1 = 0xF3; //設(shè)定定時(shí)初值
TH1 = 0xF3; //設(shè)定定時(shí)器重裝值
ET1 = 0; //禁止定時(shí)器1中斷
TR1 = 1; //啟動(dòng)定時(shí)器
REN = 0; //開(kāi)啟串口數(shù)據(jù)接收功能
EA = 1; //開(kāi)啟總中斷
ES = 1; //開(kāi)啟串口中斷
TR1 = 1; //定時(shí)器啟動(dòng)
}
/*******************************************************************
* 串口數(shù)據(jù)傳輸函數(shù) *
*******************************************************************/
void datas_pass(uchar tring)
{
SBUF = tring;
while(~TI);
TI = 0;
}
/****************************
* 解碼 *
****************************/
void dfpros(void) //解碼
{
uchar k,i,j;
uchar value;
k = 0;
for(j = 0 ; j<3 ;j++)
{
for(i = 0; i <8 ;i++)
{
value =value>>1;
if(dfdata[k]>250)
{
value =value|0x80;
}
k++;
}
dfcode[j] = value;
}
dfcodeok =1;
}
/*********************************
* 主函數(shù) *
*********************************/
void main()
{
uchar a;
INT0init();
time0init();
init_rs232();
LED1 = 1; //前導(dǎo)碼判斷成功開(kāi)始數(shù)據(jù)接收指示
LED2 = 1; //解碼指示
LED3 = 1;
// YS = 1;
while(1)
{
if(dfdataok == 1)
{
LED2 =~LED2;
dfpros();
a = dfcode[2];
datas_pass(a);
dfdataok = 0;
}
if(dfcodeok ==1)
{
a = dfcode[2];
datas_pass(a);
if(a == 0x0c)
{
LED01 = ~LED01;
}
if(a == 0xc0)
{
LED02 = ~LED02;
}
if(a == 0x03)
{
LED03 = ~LED03;
}
if(a == 0x30)
{
LED04 = ~LED04;
}
dfcodeok =0;
}
delay_ms(4);
}
}
/****************************
* 定時(shí)器0 *
****************************/
void time0()interrupt 1
{
irtime++;
}
/****************************
* 外部中斷0 *
****************************/
void INT0i()interrupt 0
{
uchar i;
EX0 = 0;
df_in =1;
TH0 = 0;
TL0 = 0;
TR0 = 1;
while(df_in==0&&TF0 ==0);
while(df_in==1&&TF0==0);
TR0 = 0;
if(TF0 ==1)
{
goto end;
}
irtime = TH0;
irtime =irtime <<8;
irtime = irtime +TL0;
if(irtime>3400&& irtime < 4300 ) //檢測(cè)引導(dǎo)碼
{
LED1 = ~LED1;
dfstart =1;
}
else //同步頭判斷失敗就直接退出程序
{
goto end;
}
if(dfstart == 1) //同步頭判斷成功解碼開(kāi)始
{
for(i = 0;i<24;i++)
{
while(df_in == 1);
TH0 = 0;
TL0 = 0;
TR0 = 1;
while(df_in==0);
TR0 = 0;
if(TF0 ==1)
{
b=0;
goto end;
}
irtime = TH0;
irtime =irtime <<8;
irtime = irtime +TL0;
dfdata[i] =irtime;
while(df_in == 1);
}
dfstart =0; //數(shù)據(jù)收集完成將同步標(biāo)志位置0。
if(b == 2)
{
dfdataok=1;
b =0;
}
b++;
}
end:
TF0=0;
EX0 = 1;
TR0 = 0;
}
作者:
a727818991
時(shí)間:
2015-8-3 22:21
解碼距離,和解碼成功率都很低,這是怎么回事?
作者:
bhjyqjs
時(shí)間:
2015-8-4 08:49
能正確解碼,只是解碼距離短,還是干擾所致,先換電源試試。有些人調(diào)試單片機(jī)時(shí)用電池供電就是基于這種考慮,解決后再攻關(guān)電源
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
九九精品在线
|
影音av
|
伊人精品久久久久77777
|
亚洲视频免费在线观看
|
毛片视频免费观看
|
成人免费淫片aa视频免费
|
欧美在线综合
|
国产精品久久久久久久久久久久久久
|
成人妇女免费播放久久久
|
久草.com
|
三级av在线
|
日日爱夜夜操
|
欧美日韩综合视频
|
午夜欧美a级理论片915影院
|
日本黄色片免费在线观看
|
特级丰满少妇一级aaaa爱毛片
|
一区二区精品
|
亚洲一区二区中文字幕
|
密色视频
|
精品综合久久
|
亚洲三区在线观看
|
国产欧美日韩一区
|
国产精品久久久久久久久婷婷
|
国产精品999
|
亚洲 欧美 日韩在线
|
午夜影院在线观看
|
hsck成人网
|
欧美一级二级在线观看
|
91久久国产综合久久
|
国产成人综合网
|
亚洲三区在线播放
|
成人三级av
|
亚洲乱码国产乱码精品精的特点
|
久久久影院
|
免费av毛片
|
成人福利片
|
亚洲一区电影
|
国产在线精品一区二区三区
|
欧美午夜激情在线
|
www.日本在线
|
久久久久99
|