【正文】
“1”,從位的定義我們可以發(fā)現(xiàn)“0”、“1”,不同的是高電平的寬度不同,“0”,“1”,所以必須根據(jù)高電平的寬度區(qū)別“0”和“1”。該芯片的用戶識(shí)別碼固定為十六進(jìn)制01H;后16位為8位操作碼(功能碼)及其反碼。軟件設(shè)計(jì)參數(shù)為:T1定時(shí)時(shí)間為100ms,K0至K7按鈕所對(duì)應(yīng)的紅外線發(fā)射頻率分別為300、600、900、1200、1500、1800、2100、2400 Hz[21]。本次設(shè)計(jì)的要求是控制距離為4050米,所以,一般的遙控電路不能滿足要求。其目的是在一定的電源電壓下,達(dá)到盡可能高的脈沖峰值,提高發(fā)射機(jī)的效率,以增大控制距離,而且節(jié)省電源。課題名稱是“紅外通訊遙控電路”,課題設(shè)計(jì)的主要任務(wù)就是實(shí)現(xiàn)紅外信號(hào)的發(fā)射和接收。而從目前國(guó)內(nèi)對(duì)單片機(jī)的需求來(lái)看:在未來(lái)幾年里,8位、16位單片機(jī)將是單片機(jī)的發(fā)展主流,它的新發(fā)展表現(xiàn)在:(1)CPU功能的增加 (2)內(nèi)部資源的增多 (3)引腳的多功能化 (4)低電壓、低功耗。因此,彩電、錄像機(jī)、音響設(shè)備、空調(diào)、玩具、門鈴以及遙控汽車路牌等其它小型裝置上也紛紛采用紅外線遙控。其中還包含著各種不同類型的控制。能夠進(jìn)入大眾生活。 By manual to control to infrared ray remote control, to intelligent to develop. This one that designed less important is an infrared remote control curtain. It adopt minimum system , 89C2051 of MCU design , control one 220V reversible changing speed the motor control to draw back and shut off the curtain.[27]Infrared focal point of remote control in infrared to send with receiving and code and decode the issue. So focal point that discuss the. A specialpurpose one infrared to send and receive device very more, code and method that decode too a lot of nowadays, so will choose suitable sending, receiving the device, code, decoding method according to the real situation. In addition, should understand the application of the interface technology of the onechip puter and onechip puter antiinterference method. Interface respect introduces one cluster of mouths of the onechip puter mainly. Antiinterference technology is as follows, order redundancy, interception technology, design, software, software of trap “guard the gate dog technology, etc.Keywords: Remote control, Infrared ray ,Code ,Antiinterference ,Intelligence,Serial mouth38目 錄摘 要 IABSTEACT II1緒論 12 概述 2 2 33 紅外遙控電路原理及編碼解碼 5 5 84 單片機(jī)介紹 12 12 165 實(shí)際電路設(shè)計(jì) 21 21 21 24總結(jié)與展望 26致 謝 27參考文獻(xiàn) 28附錄1 31附錄2 351緒論當(dāng)今,計(jì)算機(jī)技術(shù)帶來(lái)了科研和生產(chǎn)的許多重大飛躍,微型計(jì)算機(jī)的應(yīng)用已滲透到生產(chǎn)、生活的各個(gè)方面。當(dāng)今專用的紅外發(fā)送和接收器件非常多,編碼與解碼的方法也很多,所以要根據(jù)實(shí)際的情況來(lái)選取合適的發(fā)送、接收器件和編碼、解碼方法。摘 要隨著電子技術(shù)和自動(dòng)化技術(shù)的發(fā)展,人們對(duì)生活質(zhì)量的要求越來(lái)越高。除此之外,還要 了解單片機(jī)的接口技術(shù)的應(yīng)用和單片機(jī)的抗干擾方法。其中單片機(jī)問(wèn)世不久,然而體積小、廉價(jià)、功能強(qiáng),其銷售額每年近80%的速度增長(zhǎng)。一款使用微電腦管理的、紅外遙控器控制的多功能窗簾,控制器符合當(dāng)今的發(fā)展趨勢(shì)。我在本次設(shè)計(jì)中主要研究的是利用單片機(jī)的智能紅外線遙控電路的設(shè)計(jì)。與此同時(shí),窗簾作為裝修業(yè)不可缺少的一部分,也日益火爆起來(lái),目前,常用的窗簾軌道都是鋼絲繩手拉式或滑輪式,只有一部分高收入的家庭采用是電動(dòng)遙控軌道。 正因?yàn)閱纹瑱C(jī)有著如此多的優(yōu)點(diǎn),單片機(jī)在工業(yè)控制中和家用電器等上的應(yīng)用中獨(dú)占鰲頭,故又稱為微控制器(Microcontroller)(1) 因?yàn)樗哂小靶 ⑤p、廉、省”的特點(diǎn),尤其耗電少,又可使供電電源的體積小、重量輕,所以特別適用于“電腦型產(chǎn)品”,在家電、玩具、游戲機(jī)、聲像設(shè)備、電子秤、收銀機(jī)、辦公設(shè)備、廚房設(shè)備等許多產(chǎn)品上得到應(yīng)用。保證發(fā)射出的信號(hào)要有足夠的強(qiáng)度,在傳播過(guò)程中要能有防止其他無(wú)線電信號(hào)的干擾能力。例如:一個(gè)峰值電流為3A的脈沖,占空比為1:3,它的平均消耗電流只有1A。所以就要求我們能設(shè)計(jì)出能適用于中遠(yuǎn)距離遙控的電路。 現(xiàn)在專用的發(fā)射與接收器件越來(lái)越多,在這就不做過(guò)多的介紹。程序清單見(jiàn)附錄1。UPD6121G最多額128種不同組合的編碼。開(kāi)始延時(shí),若讀到的電平為低,說(shuō)明該位為“0”,反之則為“1”,為了可靠起見(jiàn),,否則如果該位為“0”,讀到的已是下一位的高電平,因此?。?)/2=。但它還不便于CPU讀取識(shí)別,因此需要先對(duì)這些串行二進(jìn)制碼進(jìn)行解碼。 考察一下智能儀器的鍵盤掃描輸入原理。若用普通邏輯門電路來(lái)實(shí)現(xiàn)這樣的功能將是十分麻煩的,用PLD(可編程邏輯器件)來(lái)做就要簡(jiǎn)單得多。由解碼電路圖3可見(jiàn),EPROM2732的地址線A0A7接至8位輸出鎖存移位寄存器74HCS9S的輸出(即8位遙控碼),A8~A11接至鍵盤矩陣的行掃描線R0~R3;2732的8根數(shù)據(jù)線使用了其中的S根D0~D4,接至鍵盤矩陣的列掃描線C0~C4,2732的(片選端)接地,(讀信號(hào))接至施密特與非門4093的3腳輸出,此輸出為雙單穩(wěn)74HC123的1Q、與非的結(jié)果。同時(shí)需要防止將用戶的一次按鍵解釋為多次按鍵,需要有去抖功能。 4K字節(jié)的片內(nèi)程序存儲(chǔ)器(8031無(wú))。 111條指令,含乘法指令和除法指令。 MCS51系列單片機(jī)芯片有40個(gè)引。外接晶體時(shí),XTAL1與XTAL2各接警惕的一端,借外接晶體與片內(nèi)反相放大器構(gòu)成振蕩器。 ~:P3口的8個(gè)引腳,除了作為準(zhǔn)雙向I/O接口使用外,還具有第二功能,具體如下: :RXD (串行輸入口) :TXD (串行輸出口) :INT0 (外部中斷0請(qǐng)求輸入端) :INT1 (外部中斷1請(qǐng)求輸入端) :T0 (定時(shí)器/計(jì)數(shù)器0計(jì)數(shù)脈沖輸入端) :T1 (定時(shí)器/計(jì)數(shù)器1計(jì)數(shù)脈沖輸入端) :WR (片外數(shù)據(jù)存儲(chǔ)器寫選通信號(hào)輸出端) :RD (片外數(shù)據(jù)存儲(chǔ)器讀選通信號(hào)輸出端)MCS51系列單片機(jī)外部引腳圖80C51的串行通信口是一個(gè)功能強(qiáng)大的通信口,而且是相當(dāng)好用的通信口,用于顯示驅(qū)動(dòng)電路再合適不過(guò)了,下面我們就根據(jù)這種需要設(shè)計(jì)一個(gè)用兩個(gè)串行通信口線加上兩根普通I/O口,設(shè)計(jì)一個(gè)4位LED顯示電路。程序清單本文針對(duì)后者提出了幾種有效的軟件抗干擾方法。 在關(guān)鍵地方人為插入一些單字節(jié)指令,或?qū)⒂行巫止?jié)指令重寫稱為指令冗余。 所謂攔截,是指將亂飛的程序引向指定位置,再進(jìn)行出錯(cuò)處理。軟件陷阱是指用來(lái)將捕獲的亂飛程序引向復(fù)位入口地址0000H的指令。 通常在程序中未使用的EPROM空間填0000020000。 NOP如果故障診斷程序與系統(tǒng)自恢復(fù)程序的設(shè)計(jì)可靠、 完善,用“LJMP 0000H”作返回指令可直接進(jìn)入故障診斷程序,盡早地處理故障并恢復(fù)程序的運(yùn)行?!翱撮T狗”技術(shù)可由硬件實(shí)現(xiàn),也可由軟件實(shí)現(xiàn)。這種軟件“看門狗”監(jiān)視原理是:在主程序、T0中斷服務(wù)程序、T1中斷服務(wù)程序中各設(shè)一運(yùn)行觀測(cè)變量,假設(shè)為MWatch、T0Watch 、T1Watch,主程序每循環(huán)一次,MWatch加1,同樣T0、T1中斷服務(wù)程序執(zhí)行一次,T0Watch、 T1Watch加1。 系統(tǒng)故障處理、自恢復(fù)程序的設(shè)計(jì)設(shè) 40H用來(lái)做上電標(biāo)志,上電標(biāo)志字為78H,若系統(tǒng)復(fù)位后40H單元內(nèi)容不等于78H,則認(rèn)為是硬件復(fù)位,否則認(rèn)為是軟件復(fù)位,轉(zhuǎn)向出錯(cuò)處理。窗簾控制器可以使用紅外遙控器進(jìn)行遠(yuǎn)程手動(dòng)開(kāi)、手動(dòng)關(guān)和手動(dòng)??刂疲豢梢詧?zhí)行事先輸入的開(kāi)啟時(shí)間和關(guān)閉時(shí)間進(jìn)行時(shí)間控制;還可以根據(jù)室外環(huán)境亮度實(shí)現(xiàn)環(huán)境亮度光控。,限流電阻取用1—.,除驅(qū)動(dòng)數(shù)碼管的數(shù)點(diǎn)之外,兼用音頻信號(hào)輸出,音頻信號(hào)通過(guò)RC10輸入到三極管V6的基極上,三極管驅(qū)動(dòng)發(fā)聲器發(fā)聲。光控電路有GMCV3組成。兩個(gè)繼電器的工作狀態(tài)受單片機(jī)控制,在同一個(gè)時(shí)間內(nèi)兩個(gè)繼電器僅能有一個(gè)吸合。D3是C10的泄放電阻,保證交變信號(hào)的正常耦合。手動(dòng)狀態(tài)下的單片機(jī)非工作期間進(jìn)入睡眠狀態(tài)。比如在程序的編寫上就存在很大的不足。譚忠祥老師治學(xué)嚴(yán)謹(jǐn),學(xué)識(shí)淵博,思想深邃,視野雄闊,為我營(yíng)造了一種良好的精神氛圍。k0鍵輸出頻率300Hz833k1h equ 0f8hk1l equ 0ech 。定時(shí)器T0入口AJMP intt0ORG 001bH 。k4jnb k0,$ acall sett1mov r1,k4h mov r2,k4lacall sett0jnb bz,$ D05: jb k0,d06acall ysJb k0,d06 。BUSYREAD_IRTAILunsigned char data *p1[2]。unsigned char a[2]。unsigned int b。//unsigned char a[2]。 }i。 void tf_1(void)。 void reset_iic(void)。 void stop_iic(void)。//禁止中斷while(!EXF2){//判斷是否是長(zhǎng)低電平脈沖過(guò)來(lái)了//不是長(zhǎng)低電平脈沖而是短低電平} }void rs232(void)//禁止中斷//判斷是否幀開(kāi)頭//判斷接收是否正確//是接收到數(shù)據(jù)幀尾buf1=RECEIVE。sbuf2=SP+1。{*buf1=NACK。//禁止接收else//置標(biāo)志位為1,使主程序能對(duì)接收錯(cuò)誤進(jìn)行處理//把NACK信號(hào)存入接收緩沖里// 將接收狀態(tài)標(biāo)志置為零,重新接收//禁止接收[0]=sbuf2。//判斷是否為復(fù)位命令{//接收錯(cuò)誤,有可能接收的是數(shù)據(jù)幀尾,也有可能是接收錯(cuò)誤if((sbuf2amp。//把高半字節(jié)右移到的半字節(jié)static unsigned char sbuf1,sbuf2,rsbuf1,rsbuf2。}exit:}//檢查有沒(méi)超時(shí),如果超時(shí)則退出interrupt 3{tf_1()。interrupt 1{tf_0()。 unsigned int read_key_data(unsigned char a)。 unsigned char read_byte_nack_iic(void)。 void read_ir(void)。 bit ir_flag。unsigned long c。unsigned char a[4]。//unsigned int data *p2[2]。unsigned char data *p3。SEND0X02//請(qǐng)求信號(hào)definedefinek6jnb k0,$ acall sett1mov r1,k6h mov r2,k6lacall sett0jnb bz,$ D07: jb k0,d08acall ysJb k0,d08 。計(jì)數(shù)器T0、T1工作在方式1setb ea 。k2鍵輸出頻率900Hz278k3h