娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

外部中斷0服務(wù)程序內(nèi)處理:

/****************************************************************************

函數(shù)功能: 外部中斷0終端服務(wù)初始化函數(shù)

****************************************************************************/

void ispInt0Init(void)

{

    IT0 = 1;   //低電平觸發(fā),INT0 (P3.2)

    EX0 = 1;   //使能外部中斷

    EA  = 1;   //開(kāi)總中斷       

}


/****************************************************************************

函數(shù)功能: 定時(shí)器0中斷服務(wù)初始化函數(shù)

****************************************************************************/

void ispTime0Init(void)

{

    TMOD |= 0x02;   //自動(dòng)重新裝載

    TL0 = 0xEC;     //設(shè)置定時(shí)初值

    TH0 = 0xEC;

    IE  |= 0x82;    //EA = 1;   ET0 = 1;

    PT0  = 1;       //優(yōu)先級(jí)

    TR0  = 0;       //關(guān)閉    

}


/****************************************************************************

函數(shù)功能: 外部中斷0中斷服務(wù)函數(shù)

****************************************************************************/


void ispInt0() interrupt 0

{  

    unsigned char i;      //循環(huán)控制變量

    unsigned int IR_Val;  //用于接收P3^2引腳的數(shù)據(jù)


    IR_Val = 0;  


    EX0 = 0;              //關(guān)閉外部中斷0


    TR0 = 1;              //開(kāi)啟定時(shí)器0

    timerCount = 0;       //定時(shí)變量清零


    //20us*20=400us(1668us/4=417us),判斷第1個(gè)起始位  

    while(timerCount < 20)        

    {  

        if (IR_Receive)  

        {  

            TR0 = 0;   //關(guān)定時(shí)器

            EX0 = 1;   //開(kāi)外部中斷

            return;  

        }  

    }  

    IR_Val |= ~IR_Receive;


    timerCount = 0;  

    //接收第1個(gè)起始位后的13位數(shù)據(jù)  

    for(i = 0; i < 13;)           

    {  

        if(timerCount > 83)     //20us*84=1680us(1688us)  

        {  

            IR_Val = IR_Val << 1;  

            IR_Val = IR_Val | ~IR_Receive;  

            timerCount = 0;  

            i++;  

        } 

    }  

    TR0 = 0;                //關(guān)定時(shí)器


    //IR_Val = ~IR_Val;       //接收到的數(shù)據(jù)是發(fā)送數(shù)據(jù)的反碼,取反還原為發(fā)送的數(shù)據(jù)  


    //起始位 控制位 系統(tǒng)碼 指令碼:11 X 00000 XXXXXX  

    IR_Start = (unsigned char)((IR_Val & 0x1000) >> 12);              //0011 0000 0000 0000   取得第12~13位

    IR_Con = (bit)((IR_Val & 0x0800) >> 11);                          //0000 1000 0000 0000   取得第11位

    IR_Sys = (unsigned char)((IR_Val & 0x07c0) >> 6);                 // IR_Val & 0000 0111 1100 0000 >> 6 =  0000 0111 11取得6~10位

    IR_Cmd = (unsigned char)(IR_Val & 0x003f);                        //0000 0000 0011 1111   取得0~5位



//    if(IR_Start == 0x01 && IR_Sys == 0x00)  

//  {  

        SAA301T_ok = 1;                      //接收數(shù)據(jù)有效  

//    }  


//  IR_Val = ~IR_Val;          //接收數(shù)據(jù)取反還原

//  IR_Sys = (unsigned char)((IR_Sys & 0x07c0)>>6); //取得系統(tǒng)碼

//  if((IR_Start & 0x1000) && (IR_Sys == 0x00))     //接收數(shù)據(jù)有效

//  {   //第二個(gè)起始位1               //系統(tǒng)碼00000

//      IR_Cmd = (IR_Val & 0x003f); //取得指令碼 0000 0000 0011 1111

//      IR_Con = (bit)(IR_Val & 0x0800);            //取得控制字 0000 1000 0000 0000

//      SAA301T_ok  = 1;                                    //置位接收有效標(biāo)志位                             

//  }


    while (!IR_Receive);                //等待IR_Receive=1  

    EX0 = 1;  

}


/****************************************************************************

函數(shù)功能: 定時(shí)器中斷0中斷服務(wù)函數(shù),時(shí)間控制

****************************************************************************/

void ispTime0() interrupt 1 using 1

{

    //1us * 20 = 20us

    timerCount++;

}


定時(shí)器中斷服務(wù)程序處理:

/****************************************************************************

函數(shù)功能: 外部中斷0終端服務(wù)初始化函數(shù)

****************************************************************************/

void ispInt0Init(void)

{

    IT0 = 0;   //低電平觸發(fā),INT0 (P3.2)

    EX0 = 1;   //使能外部中斷

    EA  = 1;   //開(kāi)總中斷       

}


/****************************************************************************

函數(shù)功能: 定時(shí)器0中斷服務(wù)初始化函數(shù)

****************************************************************************/

void ispTime0Init(void)

{

    TMOD |= 0x01;//定時(shí)器0工作方式1

    TL1 = 0xE0;     //設(shè)置定時(shí)初值

    TH1 = 0xB0; 

    EA   = 1;    //開(kāi)總中斷

    ET0  = 1;    //開(kāi)定時(shí)器1中斷

    TR0  = 0;    //定時(shí)器0開(kāi)關(guān)

}


/****************************************************************************

函數(shù)功能: 定時(shí)器1中斷服務(wù)初始化函數(shù)

****************************************************************************/

void ispTime1Init(void)

{

    TMOD |= 0x20; //定時(shí)器1工作2 8位重裝定時(shí)計(jì)數(shù)

    TL1 = 0xEC;     //設(shè)置定時(shí)初值

    TH1 = 0xEC;

    EA   = 1;     //開(kāi)總中斷

    ET1  = 1;     //開(kāi)定時(shí)器1中斷

    TR1  = 0;     //定時(shí)器1開(kāi)關(guān)

}



/****************************************************************************

函數(shù)功能: 外部中斷0中斷服務(wù)函數(shù)

****************************************************************************/ 

void ispInt0() interrupt 0

{

    EX0 = 0;        //關(guān)外部中斷 

    TR1 = 1;        //打開(kāi)定時(shí)器1


    time1Count = 0; //定時(shí)器1計(jì)數(shù)值清零

    IR_Val = 0;

    //20us * 10 = 400   1668 / 4 = 417

    while(time1Count < 20)  //假信息判斷

    {

        if(IR_Receive)

        {

            EX0 = 1;

            TR1 = 0;

            return; 

        }

    }

    TR1 = 0;        //關(guān)定時(shí)器1中斷

    time1Count = 0;

    if(timeCount == 0)   

    {

        TL0  = 0xFF;        //設(shè)置定時(shí)初值

        TH0  = 0xF9;

        TR0 = 1;         //開(kāi)定時(shí)器0中斷


        IR_Val |= IR_Receive;

    }


}




/****************************************************************************

函數(shù)功能: 定時(shí)器中斷0中斷服務(wù)函數(shù),時(shí)間控制

****************************************************************************/

void ispTime0() interrupt 1

{

    TL1 = 0xE0;     //設(shè)置定時(shí)初值

    TH1 = 0xB0;

    timeCount++;            //定時(shí)器中斷進(jìn)入次數(shù)計(jì)數(shù)   



    IR_Val <<= 1;  

    IR_Val |= ~IR_Receive;   //接收到的數(shù)據(jù)是發(fā)送數(shù)據(jù)的反碼,取反還原為發(fā)送的數(shù)據(jù)  


    if(timeCount == 13)

    {

        TR0 = 0;        //關(guān)掉定時(shí)器0

        timeCount = 0;                          

        //起始位 控制位 系統(tǒng)碼 指令碼:11 X 00000 XXXXXX  

        IR_Start = (unsigned char)((IR_Val & 0x3000) >> 12);          //0011 0000 0000 0000   取得第12~13位    

        IR_Con = (bit)(IR_Val & 0x0800);                          //0000 1000 0000 0000   取得第11位

        IR_Sys = (unsigned char)((IR_Val & 0x07c0)>>6);           //IR_Val & 0000 0111 1100 0000 >> 6 =  0000 0111 11取得6~10位

        IR_Cmd = (unsigned char)(IR_Val & 0x3f);                  //0000 0000 0011 1111   取得0~5位


        if(IR_Start == 0x03 && IR_Sys == 0x00)  

        {  

            SAA301T_ok = 1;

            IR_Val = 0;                      //接收數(shù)據(jù)有效  

        }


        while(!IR_Receive);


        EX0 = 1;        //打開(kāi)外部中斷  

    }   

}



關(guān)鍵字:紅外解碼  RC-5 引用地址:兩種紅外解碼方法(RC-5)

上一篇:對(duì)51系列單片機(jī)SPI總線的認(rèn)識(shí)
下一篇:SAA3010T紅外解碼

推薦閱讀

最近一兩年里,“新制造+新零售”成為國(guó)內(nèi)工業(yè)領(lǐng)域的一大熱詞。具體什么是“新制造”,解釋起來(lái)并不困難,“過(guò)去30年,制造業(yè)講究規(guī)模化、標(biāo)準(zhǔn)化,未來(lái)30年講究的,是智慧化、個(gè)性化和定制化”,這無(wú)疑會(huì)創(chuàng)造一個(gè)新的工業(yè)藍(lán)海市場(chǎng)。過(guò)去一些年里,中國(guó)制造業(yè)更多強(qiáng)調(diào)“自動(dòng)化+信息化”的融合,在這一背景下,工業(yè)自動(dòng)化程度的提升空間有多大,“機(jī)器換人”...
昨日晚間消息,根據(jù)上海證券交易所官網(wǎng)顯示,一家名為九號(hào)機(jī)器人的企業(yè)被中止了科創(chuàng)板上市申請(qǐng),這是目前提出申請(qǐng)的108家企業(yè)中的首例。早在4月17日,九號(hào)機(jī)器人的科創(chuàng)板上市申請(qǐng)獲得了上交所的受理,其保薦機(jī)構(gòu)為國(guó)泰君安,最初公布的擬融資金額為20.77億元。根據(jù)最早公布的招股說(shuō)明書(shū)材料顯示,九號(hào)機(jī)器人原本擬向存托人發(fā)行不超過(guò)704.1萬(wàn)股A類普通股票...
俗話說(shuō)“樹(shù)大招風(fēng)”。像其他行業(yè)內(nèi)的知名品牌一樣,ZESTRON也受到假冒偽劣產(chǎn)品的困擾。不久前,一場(chǎng)持續(xù)了6年之久的打假活動(dòng)終于畫(huà)上了圓滿的句號(hào)。 ZESTRON是德國(guó)O.K.Wack化工集團(tuán)下屬的業(yè)務(wù)單元之一,27年來(lái)專注于電子制造行業(yè)高精密清洗技術(shù),為全球市場(chǎng)提供清洗劑產(chǎn)品及清洗方案服務(wù)。九十年代末期產(chǎn)品通過(guò)經(jīng)銷商進(jìn)入大陸市場(chǎng),2004年ZESTRON在上海設(shè)...
“有一說(shuō)一” 今天要給大家介紹的內(nèi)容是,如何方便、快捷地去評(píng)測(cè)示波器的ENOB 指標(biāo)!示波器的垂直分辨率位數(shù)通常是指內(nèi)部 ADC 的分辨率位數(shù),但是表征整個(gè)系統(tǒng)的分辨率通常采用更加能夠反應(yīng)真實(shí)性能的參數(shù)——ENOB,有效比特位數(shù)。關(guān)于 ENOB 的描述,前面的文章并沒(méi)有涉及,后面有時(shí)間將會(huì)增加這部分內(nèi)容。專業(yè)級(jí)的ENOB測(cè)試非常復(fù)雜,IEEE給出了標(biāo)...

史海拾趣

問(wèn)答坊 | AI 解惑

做基于虛擬儀器的測(cè)試系統(tǒng)硬件可以用單片機(jī)實(shí)現(xiàn)嗎?

基于虛擬儀器的電參數(shù)測(cè)量系統(tǒng),下位機(jī)硬件部分用單片機(jī)可以實(shí)現(xiàn)嗎?直接做還是有怎樣?與上位機(jī)有無(wú)關(guān)聯(lián)?…

查看全部問(wèn)答∨

溫室智能控制系統(tǒng)畢業(yè)的設(shè)計(jì)

我正在做一個(gè)關(guān)于“溫室智能控制系統(tǒng)的畢業(yè)的設(shè)計(jì)”,控制量(溫度,濕度,光照,co2控制,土壤,水分) 希望大家討論一下,能夠提供些資料和意見(jiàn)。…

查看全部問(wèn)答∨

FPGA設(shè)計(jì)提高討論

目前,很多電子設(shè)計(jì)工程師和相關(guān)專業(yè)的人員都從事了FPGA的設(shè)計(jì),目前用FPGA做了哪些,或準(zhǔn)備做哪些領(lǐng)域的需求,對(duì)FPGA設(shè)計(jì)有什么需求,想法和思路,工作或?qū)W習(xí)中最迫切的是哪些,通過(guò)交流希望能共同提高,互通有無(wú)。…

查看全部問(wèn)答∨

請(qǐng)問(wèn)寫(xiě)WDM驅(qū)動(dòng)的開(kāi)發(fā)工具有哪些選擇?

1, 用SourceInsight編輯, 然后ddk命令行直接build 2, 在vs里面編輯,然后用ddk命令行直接build? 那個(gè)更好一些?或者還有其他什么選擇? 誰(shuí)可以詳細(xì)介紹一下這方面的實(shí)際情況?…

查看全部問(wèn)答∨

如何將裁減好的wince下載到開(kāi)發(fā)板上

小弟剛裁減好一個(gè)wince,編譯通過(guò),NK.bin文件也生成了,但不知道該如何將生成的文件下載到目標(biāo)板上!我用的是CF卡,是不是可以直接將生成的文件拷到CF卡中,如果是這樣,那需要拷那些文件?還有,需不需要做啟動(dòng)引導(dǎo)程序?如何做?請(qǐng)各位高手,大 ...…

查看全部問(wèn)答∨

內(nèi)存和寄存器之間數(shù)據(jù)傳送

內(nèi)存和寄存器之間怎么傳數(shù)據(jù)的  按字還是字節(jié)…

查看全部問(wèn)答∨

sst89e516rd的諸多問(wèn)題

今天買了一塊sst89e516rd 但是不知道寫(xiě)好監(jiān)控程序了沒(méi) 自己也沒(méi)有這個(gè)芯片下載器和監(jiān)控程序 還有這個(gè)芯片和keil 軟件怎么聯(lián)調(diào)啊 希望個(gè)位大俠指點(diǎn)!…

查看全部問(wèn)答∨

msp430模擬I2C程序問(wèn)題

做一個(gè)msp430+KT0803K的程序,KT0803K是I2C接口,哎,KT0803K的文檔感覺(jué)寫(xiě)得又不好,調(diào)的更疼了 調(diào)了很久的程序,沒(méi)有上拉電阻,現(xiàn)在能往設(shè)備里寫(xiě)數(shù)據(jù)能收到ACK信號(hào)(雖然要等很久才能收到,用硬件仿真器仿的,大概要等個(gè)4、5秒,這不會(huì)是沒(méi)收到AC ...…

查看全部問(wèn)答∨

Code Warrior 是否能win8 64 上安裝

提示我安裝向?qū)е袛啵喝鐖D所示…

查看全部問(wèn)答∨
小廣播
設(shè)計(jì)資源 培訓(xùn) 開(kāi)發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開(kāi)發(fā)圈

 
機(jī)器人開(kāi)發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 当雄县| 和硕县| 西充县| 玉林市| 海晏县| 辽阳县| 会东县| 杨浦区| 高阳县| 新蔡县| 昭苏县| 泾川县| 昌图县| 中阳县| 定远县| 桓台县| 安远县| 郸城县| 青冈县| 武宁县| 尤溪县| 巩义市| 漳浦县| 北宁市| 孙吴县| 正镶白旗| 榕江县| 牟定县| 麻栗坡县| 上饶市| 太原市| 曲阳县| 桃源县| 蒲城县| 河池市| 乃东县| 建德市| 肃宁县| 绥芬河市| 大同市| 连州市|