亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于NEC協(xié)議的遙控系統(tǒng)仿真設(shè)計(jì)

        2017-03-24 11:41:04卿玉明
        電腦知識(shí)與技術(shù) 2017年1期
        關(guān)鍵詞:仿真

        卿玉明

        摘要:根據(jù)NEC紅外遙控協(xié)議的特性,采用Proteus提供的紅外信號(hào)處理模塊IRLINK,設(shè)計(jì)出一種紅外遙控仿真系統(tǒng)。對(duì)系統(tǒng)硬件和相應(yīng)的軟件進(jìn)行分析并給出流程圖和關(guān)鍵代碼,實(shí)現(xiàn)對(duì)短時(shí)按鍵和長(zhǎng)時(shí)按鍵的編碼顯示和相應(yīng)功能控制。通過(guò)單片機(jī)的定時(shí)器配合使用,對(duì)紅外遙控信號(hào)的下降沿進(jìn)行判斷,以適應(yīng)不同的實(shí)際遙控發(fā)射電路,從而不用區(qū)分信號(hào)高低電平細(xì)節(jié),稍加修改就可適應(yīng)眾多的遙控協(xié)議。

        關(guān)鍵詞:NEC協(xié)議;IRLINK;Proteus;仿真

        中圖分類號(hào):TP871 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)01-0016-03

        Abstract: According to the characteristics of NEC infrared remote control protocol, IRLINK is used to design a kind of infrared remote control simulation system based on Proteus. Analyze the hardware and software of the system and give the flow chart and key code, realize the encoding display and the corresponding function control of the short key and the long time. Through the MCU timer with the use of infrared remote control signal decreased along the judge, to adapt to different practical remote control transmitter, which do not distinguish between high and low signal level detail, slightly modified can adapt to numerous remote protocol.

        Key words: NEC protocol; IRLINK; Proteus; Simulation

        在通信距離要求不高的場(chǎng)合,紅外的成本比其他無(wú)線設(shè)備要低的多。因此,紅外遙控在家電、玩具、工控、智能儀表等領(lǐng)域中廣泛使用。紅外遙控的通信協(xié)議很多,常用的就有ITT協(xié)議、NEC協(xié)議、Sharp協(xié)議、Philips RC-5協(xié)議、Sony SIRC協(xié)議等,其中應(yīng)用最多的是NEC協(xié)議。利用仿真軟件Proteus中的紅外信號(hào)處理模塊IRLINK,基于NEC協(xié)議,對(duì)紅外遙控系統(tǒng)進(jìn)行仿真開發(fā),能縮短產(chǎn)品開發(fā)周期,從而提高產(chǎn)品研發(fā)效率。

        1 NEC協(xié)議紅外通信原理

        紅外通信,如圖1所示。即以紅外線作為通信載體,通過(guò)紅外光在空中的傳播來(lái)傳輸數(shù)據(jù)的通信方式,它由發(fā)射端和接收端來(lái)完成。在發(fā)射端,發(fā)送的數(shù)字信號(hào)經(jīng)過(guò)適當(dāng)?shù)恼{(diào)制編碼后,送入電光變換電路,經(jīng)紅外發(fā)射管轉(zhuǎn)變?yōu)榧t外光脈沖發(fā)射到空中;在接收端,紅外接收器對(duì)接收到的紅外光脈沖進(jìn)行光電變換,解調(diào),再經(jīng)單片機(jī)處理,便可以恢復(fù)出原數(shù)據(jù)信號(hào)。

        NEC協(xié)議編碼采用脈沖位置調(diào)制方式(PPM),利用脈沖之間的時(shí)間間隔來(lái)區(qū)分“0”和“1”。每一個(gè)“高電平”由長(zhǎng)度為560?s的38KHz載波構(gòu)成(約21個(gè)載波脈沖,其占空比推薦值是1/4或1/5。若采用1/5占空比,則高電平的時(shí)長(zhǎng)為5.3us,低電平時(shí)長(zhǎng)為21us)。1位邏輯“1”的周期為2.25ms,1位邏輯“0”的周期是1.12ms,如圖2所示。

        圖3是一個(gè)典型的NEC協(xié)議數(shù)據(jù)幀格式。由于在NEC協(xié)議中LSB(低位)先于MSB(高位)發(fā)送,因此圖3中傳輸?shù)氖堑刂?x59和命令0x16。每一幀波形由一個(gè)9ms的AGC同步脈沖串(引導(dǎo)碼)開始,這是用來(lái)設(shè)置早期紅外接收器的增益。緊跟著引導(dǎo)碼的是4.5ms的空閑,接著是8bit的地址和8位的命令。地址和命令發(fā)送兩次。第二次發(fā)送時(shí),所有的位取反,用來(lái)驗(yàn)證第一次發(fā)送的消息。如果開發(fā)者不用驗(yàn)證,則可以忽略驗(yàn)證的數(shù)據(jù),或者將地址或命令擴(kuò)展為16bit。

        NEC協(xié)議規(guī)定:在按鍵期間,命令信號(hào)只發(fā)送一次,如果按鍵不釋放,則每隔108ms發(fā)送一次重發(fā)碼。重發(fā)碼由9ms的脈沖串和2.25ms的空閑,以及0.56ms脈沖串組成,如圖4所示。

        2 遙控系統(tǒng)仿真測(cè)試電路設(shè)計(jì)

        本文采用的遙控系統(tǒng)仿真測(cè)試電路如圖5所示,電路中共使用了兩塊單片機(jī)。單片機(jī)U1部分為遙控接收,能顯示接收到的紅外編碼和進(jìn)行功能控制。單片機(jī)U2部分為模擬遙控發(fā)射。單片機(jī)U2的P3.6腳輸出38KHz的NEC協(xié)議信號(hào)到IRLINK模塊,經(jīng)其解調(diào)后送到單片機(jī)U1的I/O引腳P3.7。遙控發(fā)射部分采用4×4矩陣鍵盤,當(dāng)按下某一個(gè)鍵后會(huì)發(fā)出對(duì)應(yīng)的編碼。例如按下鍵“0x12”,按照NEC協(xié)議的數(shù)據(jù)幀結(jié)構(gòu),將通過(guò)P3.6腳串行發(fā)送“0x4F,0x76,0x12,0xED”,其中“0x4F,0x76”為拔位開關(guān)設(shè)置的用戶碼,可對(duì)于不同場(chǎng)合的實(shí)際需要進(jìn)行相應(yīng)的修改;“0x12”是代表鍵的功能,“0xED”是“0x12”的反碼,用于校驗(yàn),以提高傳輸準(zhǔn)確性。本系統(tǒng)設(shè)置“0x12”鍵在短時(shí)按觸時(shí),控制發(fā)光二極管D1亮滅,其遙控波形如圖6所示,根據(jù)NEC協(xié)議數(shù)據(jù)幀格式可以看出所含二進(jìn)制信息為1111 0010 0110 1110 0100 1000 1011 0111,即“0x4F,0x76,0x12,0xED”;“0x12”鍵在長(zhǎng)時(shí)按觸時(shí),控制發(fā)光二極管D2亮滅,其遙控波形如圖7所示,這也吻合圖4的要求??傊?,只要在軟件設(shè)計(jì)中對(duì)用戶碼和按鍵功能作相應(yīng)的修改,就能使該遙控系統(tǒng)在應(yīng)用開發(fā)前進(jìn)行仿真測(cè)試,從而提高開發(fā)的效率。

        3 遙控發(fā)射程序設(shè)計(jì)

        遙控發(fā)射的程序流程圖如圖8所示。遙控編碼發(fā)射采用定時(shí)器溢出的方式來(lái)實(shí)現(xiàn)。根據(jù)定時(shí)器T0的溢出標(biāo)志TF0在不同定時(shí)初值時(shí)的溢出情況,對(duì)引腳P3.6進(jìn)行控制,完成遙控編碼發(fā)射。38KHz的紅外信號(hào)發(fā)射與延時(shí)程序如下:

        void TT0(bit BT,uint16 x)

        { //BT=0時(shí),不發(fā)射38KHz載波只延時(shí)

        //BT=1發(fā)射38KHz脈沖且延時(shí)

        TH0 = x>>8; //輸入T0初值高8位

        TL0 = x;//輸入T0初值低8位

        TF0=0; //溢出標(biāo)志手動(dòng)清0

        TR0=1; //啟動(dòng)T0

        if(BT == 0) while(!TF0);//是否產(chǎn)生載波

        else while(1)

        { //因P3.6(IR)外接PNP管反相控制發(fā)射

        //所以IR首先為低電平

        IR = 0;

        if(TF0)break;if(TF0)break;//兩次查詢約延時(shí)5.3us

        IR = 1;

        if(TF0)break;if(TF0)break; if(TF0)break;if(TF0)break;

        if(TF0)break;if(TF0)break; if(TF0)break;if(TF0)break;

        //8次查詢約延時(shí)21us

        //經(jīng)PNP管反相,得38KHz載波,且占空比1:5

        }

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

        TF0=0; //標(biāo)志位溢出則清0

        IR =1; //載波停止后,發(fā)射端口常態(tài)為高,紅外模塊不工作

        }

        仿真系統(tǒng)運(yùn)行時(shí),用Proteus中虛擬示波器的A、B通道分別觀察IRLINK的輸入信號(hào)和輸出信號(hào),可得到圖6、圖7所示的波形,其中A通道波形內(nèi)含38KHz的載波,B通道波形為經(jīng)紅外信號(hào)處理模塊IRLINK解調(diào)后的信息,載波已被濾掉,“1”和“0”邏輯狀態(tài)已經(jīng)清晰可辨。

        4 遙控接收程序設(shè)計(jì)

        NEC遙控協(xié)議主要有四種碼值:引導(dǎo)碼、0、1、重發(fā)碼。它們的典型脈寬分別為13.5ms,1.125ms,2.25ms 和108ms 。這四種脈寬的最大公約數(shù)是0.3,也就是說(shuō)定時(shí)器的最小周期為300us就可以準(zhǔn)確地將這幾種脈寬計(jì)算出來(lái)。為了不去區(qū)分紅外編碼的高、低電平周期,以適應(yīng)不同的發(fā)射電路,而把脈寬作為區(qū)分標(biāo)準(zhǔn)。只要在信號(hào)的每個(gè)下降沿讀取計(jì)數(shù)值,減去上一個(gè)下降沿的計(jì)數(shù)值,就可以得到脈寬。這樣就可以通過(guò)單片機(jī)程序,把當(dāng)前按鍵的紅外編碼解釋出來(lái)。

        利用300us定時(shí)器中斷,采用判斷下降沿間隔時(shí)長(zhǎng)的遙控解碼方法如下:

        1)在進(jìn)入T0中斷定時(shí)程序后,統(tǒng)計(jì)中斷次數(shù),以便計(jì)數(shù)脈寬周期;2)根據(jù)中斷前后引腳的電平狀態(tài),判斷是否遇到下降沿;3)如果沒有遇到下降沿,就直接中斷返回,否則執(zhí)行遇到下降沿的下述步驟;4)鍵狀態(tài)默認(rèn)為短時(shí)按鍵,如果下降沿周期超過(guò)108ms,且解碼有效,則解釋為長(zhǎng)時(shí)按鍵;4)如果下降沿周期符合引導(dǎo)碼時(shí)長(zhǎng)要求,則設(shè)置同步標(biāo)志和遙控信息位數(shù);5)如果同步有效,則判斷下降沿周期是符合“0”的時(shí)長(zhǎng)還是“1”的時(shí)長(zhǎng),保存相應(yīng)邏輯值,并右移1位,再根據(jù)信息位數(shù),判斷接收是否完成;6)如果接收完成,清除同步標(biāo)志,還可根據(jù)需要進(jìn)行數(shù)據(jù)校驗(yàn);7)如果接收沒完成,則每8位轉(zhuǎn)存一個(gè)字節(jié);8)在處理完與下降沿有關(guān)的事務(wù)后,中斷次數(shù)統(tǒng)計(jì)清零,以便計(jì)算下一個(gè)下降沿的周期;9)最后退出中斷服務(wù)程序(中斷返回)。

        300us定時(shí)器中斷程序代碼如下:

        void time0(void) interrupt 1

        {

        TL0 = TH_L; //重賦300us定時(shí)初值

        TH0 = TH_H;

        cntStep++; //定時(shí)中斷次數(shù)

        if(IR_BT==1)if(cntStep>400)IR_BT=2;//解碼有效后,如果無(wú)長(zhǎng)按,120ms(300us×400)后默認(rèn)短按

        IRb = IRa; //恢復(fù)中斷前引腳電平狀態(tài)

        IRa = IR; //保存當(dāng)前引腳電平狀態(tài)

        if(IRb && !IRa) //下降沿判斷

        {

        if(cntStep > Boot_Limit) //超過(guò)同步引導(dǎo)碼時(shí)限?

        {

        if(IR_BT==1)if(++cntCA>8)IR_BT=3; //解碼有效后,如果下降沿周期

        //大于8倍引導(dǎo)碼時(shí)長(zhǎng)13.5ms=108ms,則為長(zhǎng)按

        IRsync=0; //同步標(biāo)志清除

        }

        else if(cntStep > Boot_Lower){ IRsync=1; BitN=32; }//1位時(shí)長(zhǎng)到,同步標(biāo)志置1,裝載位碼數(shù)

        else if(IRsync) //當(dāng)同步時(shí),判斷每位邏輯狀態(tài)

        {

        if(cntStep > Bit1_Limit)IRsync=0;

        else

        {

        NEC[3] >>= 1; //右移一位

        if(cntStep > Bit0_Limit)NEC[3] |= 0x80; //邏輯1

        if(--BitN == 0) //修改接收位數(shù)

        {

        IRsync = 0; //同步標(biāo)志清除

        #if (Check_EN == 1) //根據(jù)實(shí)際所需進(jìn)行條件編譯

        if((NEC[0]==USER_H)&&(NEC[1]==USER_L)&&(NEC[2]==~NEC[3])) //32位校驗(yàn)

        { IR_BT=1; cntCA=0; } //設(shè)置解碼有效標(biāo)志

        #else

        if(NEC[2]==~NEC[3]){ IR_BT=1; cntCA=0; } //只校驗(yàn)操作碼正反碼

        #endif

        }

        else if((BitN & 0x07)== 0) //NEC[3]每裝滿8位,移動(dòng)保存一次 { NEC[0]=NEC[1]; NEC[1]=NEC[2]; NEC[2]=NEC[3]; }

        }

        }

        cntStep = 0; //步數(shù)計(jì)清0

        }

        }

        5 結(jié)束語(yǔ)

        本文設(shè)計(jì)的紅外遙控仿真系統(tǒng)具有結(jié)構(gòu)簡(jiǎn)單、適應(yīng)強(qiáng)、可移植性強(qiáng)等優(yōu)點(diǎn),能大幅度提高實(shí)際產(chǎn)品的開發(fā)效率。將該系統(tǒng)用于紅外遙控原理教學(xué)實(shí)踐,也有事半功倍的效果。

        參考文獻(xiàn):

        [1] NEC Protocol[EB/OL].[2015-05]. http://www.sbprojects.com/knowledge/ir/nec.php.

        [2] 彭偉. 單片機(jī)C語(yǔ)言程序設(shè)計(jì)實(shí)訓(xùn)100例[M]. 北京: 電子工業(yè)出版社, 2012.

        [3] 朱志偉, 劉湘云. 基于AT89S51的紅外遙控解碼的實(shí)現(xiàn)[J]. 科技信息, 2009(34):109-112.

        [4] 葉林俊. 單片機(jī)I/O口的紅外遙控軟件調(diào)制技術(shù)[J]. 單片機(jī)與嵌入式系統(tǒng)應(yīng)用, 2011, 11(12):22-24.

        [5] 周文軍, 莫名韶. 紅外遙控發(fā)射器Proteus仿真研究[J]. 電子技術(shù), 2014(11):55-57.

        猜你喜歡
        仿真
        Proteus仿真軟件在單片機(jī)原理及應(yīng)用課程教學(xué)中的應(yīng)用
        工業(yè)機(jī)器人模擬仿真技術(shù)在職業(yè)教育中的應(yīng)用淺析
        一種幫助幼兒車內(nèi)脫險(xiǎn)應(yīng)急裝置的仿真分析
        科技資訊(2016年18期)2016-11-15 20:09:22
        論虛擬仿真實(shí)訓(xùn)系統(tǒng)在口腔實(shí)驗(yàn)教學(xué)中的應(yīng)用
        科技資訊(2016年18期)2016-11-15 07:55:28
        基于機(jī)電設(shè)備電氣控制線路排故的仿真系統(tǒng)設(shè)計(jì)
        航空電氣系統(tǒng)中故障電弧研究
        Buck開關(guān)變換器的基本參數(shù)設(shè)計(jì)及仿真分析
        試析PLC控制下的自動(dòng)化立體倉(cāng)庫(kù)仿真情況分析
        基于MADYMO的航空座椅約束系統(tǒng)優(yōu)化設(shè)計(jì)
        科技視界(2016年18期)2016-11-03 21:44:44
        中國(guó)體態(tài)假人模型與FAA Hybrid Ⅲ 型假人模型沖擊差異性分析
        科技視界(2016年18期)2016-11-03 20:31:49
        亚洲国产精品毛片av不卡在线| 亚洲天堂av路线一免费观看| 久久热免费最新精品视频网站| 国产又黄又硬又粗| 熟女人妻在线视频| 日韩欧美国产自由二区| 自拍偷拍一区二区三区四区| 国产毛片av一区二区| 啦啦啦www在线观看免费视频| 品色堂永远的免费论坛| 2021年性爱喷水视频| 免费在线国产不卡视频| 亚洲av永久无码精品漫画| 性色av 一区二区三区| 欧美性爱一区二区三区无a| 久久精品伊人久久精品伊人| 邻居少妇张开腿让我爽了一夜| 国产天美传媒性色av| 高清无码精品一区二区三区| 亚洲成人免费久久av| 人妻诱惑中文字幕在线视频| 无码av无码天堂资源网| 99国产超薄丝袜足j在线播放| 久久99热精品免费观看麻豆| 日本中文字幕婷婷在线| 久久久久亚洲av片无码下载蜜桃| 99ri国产在线观看| 大岛优香中文av在线字幕| 日韩亚洲精品中文字幕在线观看 | 欧美丰满熟妇bbbbbb| 玩弄人妻少妇500系列网址| 亚洲无码vr| 色和尚色视频在线看网站| 少妇被粗大的猛烈进出69影院一| 国际无码精品| 风韵丰满妇啪啪区老老熟女杏吧 | 中文字幕欧美人妻精品一区| 亚洲AV秘 无码一区二p区三区| 久久老熟女乱色一区二区| 国产精品美女久久久网av| 野花社区www高清视频|