標(biāo)題:
avr單片機(jī)紅外解碼程序+1602顯示結(jié)果源程序
[打印本頁]
作者:
aaasym
時間:
2019-6-18 10:25
標(biāo)題:
avr單片機(jī)紅外解碼程序+1602顯示結(jié)果源程序
單片機(jī)源程序如下:
#include <iom16v.h>
#include <macros.h>
#include "1602.h"
#define uint unsigned int
#define uchar unsigned char
#define Set_Bit(val, bitn) (val |=(1<<(bitn)))
#define Clr_Bit(val, bitn) (val&=~(1<<(bitn)))
#define Get_Bit(val, bitn) (val &(1<<(bitn)) )
#define Cpl_Bit(val, bitn) (val^=(1<<(bitn)) )
uchar adc_0[]={"IRCodeADD:"};
uchar adc_1[]={"IRCodeDAT:"};
//*****************************************0
//函數(shù)聲明
void ICEInit(void);
uchar bitcnt;
uint newFall;
uint oldFall;
uint data0;
uint data1;
void ICEInit(void) //T/C1初始化
{
TIMSK=0X20; //使能捕獲中斷
TCCR1A=0X00;//T/C1時鐘與系統(tǒng)相同,本文使用系統(tǒng)AVR內(nèi)部自帶8MHz振蕩源.T/C1時鐘周期為1μs
TCCR1B=0X82; //使能噪音抑制,下降沿觸發(fā)中斷
}
void main(void)
{
DDRA = 0xff;
PORTA = 0x00;
DDRB = 0xFF;
PORTB = 0xFF;
ICEInit();
LcdInit();
WriteChar(1,0,10,adc_0);
WriteChar(2,0,10,adc_1);
SEI();
while(1);
}
#pragma interrupt_handler CAPT_ISR:iv_TIMER1_CAPT
void CAPT_ISR(void)
{
uchar a;
uint temp;
newFall=ICR1;
temp=newFall-oldFall; //計算脈沖加間隔的時間
oldFall=newFall;
if(temp>1024 && temp<1225) // "0"信號
{
temp=0;
}
else if(temp>2145 && temp<2345) //“1”信號
{
temp=1;
}
else if(temp>13400 && temp<13600) //header信號
{
bitcnt=0;
data0=0;
data1=0;
return; //返回,等待下次開始接收
}
else ///干擾信號
{
return;
}
bitcnt++;
if(bitcnt<16) //開始接收前16位
{
data0=data0|(uint)temp;
data0=data0<<1;
}
else if(bitcnt==16)
{
data0=data0|(uint)temp;
}
else if(bitcnt<32) //開始接收后16位
{
data1=data1|(uint)temp;
data1=data1<<1;
}
else if(bitcnt==32) //接收完最后一位
{
data1=data1|(uint)temp;
WriteNum(1,10,ASCII[(uchar)(data0>>8)/16]);
WriteNum(1,11,ASCII[(uchar)(data0>>8)%16]);
WriteNum(1,12,ASCII[(uchar)data0/16]);
WriteNum(1,13,ASCII[(uchar)data0%16]);
WriteNum(2,10,ASCII[(uchar)(data1>>8)/16]);
WriteNum(2,11,ASCII[(uchar)(data1>>8)%16]);
WriteNum(2,12,ASCII[(uchar)data1/16]);
WriteNum(2,13,ASCII[(uchar)data1%16]);
}
}
復(fù)制代碼
所有資料51hei提供下載:
紅外解碼程序 1602顯示結(jié)果.rar
(38.35 KB, 下載次數(shù): 10)
2019-6-18 10:25 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
admin
時間:
2019-6-18 14:24
本帖需要重新編輯補(bǔ)全電路原理圖,源碼,詳細(xì)說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1