找回密碼
         注冊會員
        搜索附件  
        MCU資訊論壇 附件中心 單片機(jī)論壇 51單片機(jī)論壇 5_75477_1a826ebeb00177d.jpg

        5_75477_1a826ebeb00177d.jpg

         

        我知道這樣做不是很好,但我應(yīng)經(jīng)調(diào)了一天了,才迫不得已上來問,:
        我知道這樣做不是很好,但我應(yīng)經(jīng)調(diào)了一天了,才迫不得已上來問。根據(jù)一線工人的紅外接收程序移植到mega16,調(diào)了一天都沒調(diào)通,具體表現(xiàn)為一直顯示0,但是用示波器能看到接收的波形。論壇的高手們,請幫我分析一下,程序有點亂,將就著看吧。萬分感謝!!

        發(fā)射碼的格式






        源程序





        //ICC-AVR application builder : 2010-1-15 1:20:47
        // Target : M16
        // Crystal: 8.0000Mhz

        #include "iom16v.h"
        #include "macros.h"
        #include "declare.h"
        #include "define.h"

        extern uchar key_code;//遙控鍵值

        void main(void)
        {

        CLI();
        init_devices();//MCU初始化
        LCD1602_init();//液晶初始化
        SEI();

        LCD1602_set_xy( 0,1 );
        LCD1602_write_data(1+0x30);

        while(1)
        {

        LCD1602_set_xy( 0, 0);
        LCD1602_write_data(key_code/100+0x30);
        LCD1602_write_data(key_code%100/10+0x30);
        LCD1602_write_data(key_code%100%10+0x30);
        //delay_nms(250);

        }
        }

        #include "iom16v.h"
        #include "macros.h"
        #include "declare.h"
        #include "define.h"


        uchar key_code=0;//遙控鍵值
        uchar buf_key_code=0;//鍵值暫存
        uint key_bit_count=0;//鍵編碼脈沖計數(shù)
        uint count=0;//定時中斷次數(shù)計數(shù)
        uint buf_count=0;//定時中斷計數(shù)暫存
        uchar ir_status=0;//脈沖接收器所處的狀態(tài),0:無信號,1:數(shù)據(jù)編碼接收區(qū)
        uchar buf_INT0_PIN;//INT0的管腳狀態(tài)


        void init_devices(void)
        {

        //INT0_port |= INT0_EN; //上拉
        INT0_DDR &= ~INT0_EN; //輸入
        //INT0_DDR |= INT0_EN;

        TCCR1B = 0x00; //停止
        TCNT1H = 0xFF; //10uSec,
        TCNT1L = 0xF6;
        //TCCR1B = 0x02; //8分頻

        MCUCR = 0x02;//下降沿觸發(fā)
        GICR = 0x40;//INT0使能
        TIMSK = 0x80; //T1中斷使能
        }


        #pragma interrupt_handler timer1_ovf_isr:iv_TIM1_OVF
        void timer1_ovf_isr(void)//2
        {
        TCNT1H = 0xFF;
        TCNT1L = 0xF6;

        count++;//定時器中斷次數(shù)累加
        }

        #pragma interrupt_handler int0_isr:iv_INT0
        void int0_isr(void)//6
        {
        TCCR1B = 0x02;//開定時器中斷

        if(count>60 && count<450)//如果信號合法
        {
        buf_count = count;//則放入buf_count,count清0,對下一個脈沖信號計時
        count = 0;
        }

        delay_nus(108); //延時100us以消除下降沿跳變抖動
        buf_INT0_PIN = INT0_PIN & INT0_EN;
        if(buf_INT0_PIN == 0)//INT0引腳穩(wěn)定為低電平,則表法確實是信號
        {
        count=10; //count重新計時,因上面延時了100us,故要補(bǔ)償10次TO中斷
        }


        if(buf_count>60 && buf_count<450)//若收到的信號合法,則再進(jìn)行信號分析
        {
        if(ir_status == 0)//如果之前未收到引導(dǎo)碼
        {
        if(buf_count>350 && buf_count<450)//判斷是否引導(dǎo)碼4ms
        {
        ir_status=1;//系統(tǒng)標(biāo)記
        buf_count=0;
        }
        }

        else if(ir_status == 1)//進(jìn)入數(shù)據(jù)編碼接收
        {
        if(key_bit_count < 8)//收到數(shù)據(jù)少于8位,則將收到的數(shù)據(jù)寫入buf_key_code
        {
        if(buf_count>150 && buf_count<250)
        {
        buf_count = 0;
        buf_key_code |= 0x01;//收到1
        buf_key_code <<= 1;
        key_bit_count++;//數(shù)據(jù)脈沖累加
        }
        else if(buf_count>60 && buf_count<150)//收到0
        {
        buf_count=0;
        buf_key_code <<= 1;//收到0
        key_bit_count++;
        }
        }

        else //若收完8位數(shù)據(jù)則做以下處理
        {
        ir_status=0;//接收狀態(tài)返回到空閑
        key_code=buf_key_code;
        key_bit_count=0;
        buf_key_code=0;
        buf_count=0;
        TCCR1B = 0x00;
        }
        }
        }


        }
        [ 此貼被hfd999在2010-01-20 15:02重新編輯 ]
        5_75477_1a826ebeb00177d.jpg

        QQ|手機(jī)版|MCU資訊論壇 ( 京ICP備18035221號-2 )|網(wǎng)站地圖

        GMT+8, 2025-5-3 07:17 , Processed in 0.045602 second(s), 8 queries , Redis On.

        Powered by Discuz! X3.5

        © 2001-2025 Discuz! Team.

        返回頂部
        欧美精品亚洲精品日韩专区va| 精品99久久aaa一级毛片| 久久久久久亚洲精品无码| 精品国产日产一区二区三区| 国产精品视频一区国模私拍| 98精品国产自产在线XXXX| 久久精品国产亚洲AV不卡| 影音先锋成人在线| 99热精品在线观看| 久久99精品久久久久久水蜜桃 | 国产精品一区在线观看你懂的| 国产国产精品人在线观看| 四虎国产精品永久地址51| 久久久精品国产亚洲成人满18免费网站 | 99久久国产主播综合精品| 欧美精品亚洲精品日韩专区| 亚洲精品国精品久久99热一| 日韩精品在线看| 中文精品99久久国产| 亚洲A∨精品一区二区三区| 亚洲精品无码mv在线观看网站| 国产精品亚洲精品| 欧美日韩精品一区二区三区不卡 | 精品人妻一区二区三区毛片| 亚洲级αV无码毛片久久精品| 久久免费国产精品一区二区| 中文字幕日韩精品有码视频| 2022国内精品免费福利视频| 久久久久亚洲精品无码网址| 久久99国产综合精品| 黑人无码精品又粗又大又长 | 国产成人久久精品麻豆一区| 国产一区二区不卡视频| 欧美精品国产日韩综合在线| 亚洲一区无码精品色| 欧美极品欧美精品欧美视频| 免费看美女隐私部位| 欧美一区二区精品久久| 国产成人综合高清在线观看| 9re热国产这里只有精品| 无码人妻精品中文字幕|