亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
315MPT2262軟件解碼,求大神指導(dǎo)程序修改,解碼率很低
[打印本頁]
作者:
a727818991
時間:
2015-8-3 22:20
標題:
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; //接收開始標志
uint dfdata[24]; //數(shù)據(jù)收集存放區(qū)
uchar dfcode[3]; //解碼完成存放區(qū)
uchar bitnum; //接收位選
uchar dfdataok; //數(shù)據(jù)收集完成標志
uchar dfcodeok; //解碼完成標志
sbit LED1 = P0^1; //前導(dǎo)碼判斷成功開始數(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ù)標志
/******************************************
* 延時函數(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);
}
}
/*******************************
* 初始化定時器0 *
*******************************/
void time0init()
{
TMOD = TMOD|0x01; //設(shè)置定時器為16位
TH0= 0;
TL0 =0;
// ET0 = 1; //開啟定時器0中斷
EA = 1;
TR0 = 1;
}
/*******************************
* 初始化外部中斷0 *
*******************************/
void INT0init()
{
IT0 =1; //設(shè)置下降延觸發(fā)
EX0 = 1; //開啟中斷
EA = 1;
}
/********************************************************************
* 串口初始化 *
* 速率:9600 晶振:4M
********************************************************************/
void init_rs232()
{
PCON &= 0x7f; //波特率不倍速
SCON = 0x50; //8位數(shù)據(jù),可變波特率
AUXR |= 0x40; //定時器1時鐘為Fosc,即1T
AUXR &= 0xfe; //串口1選擇定時器1為波特率發(fā)生器
TMOD &= 0x0f; //清除定時器1模式位
TMOD |= 0x20; //設(shè)定定時器1為8位自動重裝方式
TL1 = 0xF3; //設(shè)定定時初值
TH1 = 0xF3; //設(shè)定定時器重裝值
ET1 = 0; //禁止定時器1中斷
TR1 = 1; //啟動定時器
REN = 0; //開啟串口數(shù)據(jù)接收功能
EA = 1; //開啟總中斷
ES = 1; //開啟串口中斷
TR1 = 1; //定時器啟動
}
/*******************************************************************
* 串口數(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)碼判斷成功開始數(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);
}
}
/****************************
* 定時器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 ) //檢測引導(dǎo)碼
{
LED1 = ~LED1;
dfstart =1;
}
else //同步頭判斷失敗就直接退出程序
{
goto end;
}
if(dfstart == 1) //同步頭判斷成功解碼開始
{
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ù)收集完成將同步標志位置0。
if(b == 2)
{
dfdataok=1;
b =0;
}
b++;
}
end:
TF0=0;
EX0 = 1;
TR0 = 0;
}
作者:
a727818991
時間:
2015-8-3 22:21
解碼距離,和解碼成功率都很低,這是怎么回事?
作者:
bhjyqjs
時間:
2015-8-4 08:49
能正確解碼,只是解碼距離短,還是干擾所致,先換電源試試。有些人調(diào)試單片機時用電池供電就是基于這種考慮,解決后再攻關(guān)電源
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1