




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、- 30 -目 錄摘要1英文摘要1引言21 設(shè)計(jì)要求32 元器件的選擇32.1單片機(jī)的選擇32.2 共陽(yáng)數(shù)碼管43 系統(tǒng)硬件設(shè)計(jì)53.1硬件組成及工作原理53.2單片機(jī)最小系統(tǒng)53.3 紅外遙控發(fā)射電路63.4 紅外遙控接受電路63.5 顯示電路73.6 矩陣式鍵盤電路73.7 電源電路84 系統(tǒng)軟件設(shè)計(jì)94.1 設(shè)計(jì)與分析94.2 軟件設(shè)計(jì)流程圖95 系統(tǒng)調(diào)試115.1 調(diào)試的過程和結(jié)果11結(jié)論和謝辭12參考文獻(xiàn)13附件1元器件清單14附件2程序清單15附件3電路圖27附件4. PCB圖28附件5. 實(shí)物圖29基于51單片機(jī)的多路電器遙控器的設(shè)計(jì)信息工程學(xué)院應(yīng)用電子技術(shù) 黃靈燕摘要: 本文介
2、紹的是用單片機(jī)制作的15路電器遙控器,可以分別控制15個(gè)電器的電源開關(guān),并且可對(duì)一路電燈進(jìn)行亮度的遙控。該遙控器采取脈沖個(gè)數(shù)編碼,4×8鍵盤開關(guān),可擴(kuò)充到對(duì)32個(gè)電器的控制。通過控制按鍵來(lái)控制相應(yīng)的15電路,紅外遙控器其體積小、功耗低、功能強(qiáng)、成本低的特點(diǎn)! 采用紅外遙控器做控制器的單片機(jī)系統(tǒng),不僅價(jià)格低廉,而且電路簡(jiǎn)單、實(shí)用,操作方便,性能穩(wěn)定,易于推廣。關(guān)鍵詞:電器遙控器 紅外接收器 紅外發(fā)射器Design of multi-appliance remote control Based on 51 Microcontroller(Major of Applied Electron
3、ic Technology,Information and Engineering college, JinHua College of Vocation And Technology, Huang Lingyan)Abstract :This article has analyzed and describes the use of the Microcontroller 15 way electric remote control.Can separately control the electrical power switch 15. And the brightness can be
4、 remote-controlled lights the way. The number of coded remote control to take pulse. 4 × 8 keyboard switch. Can be expanded to control electrical appliances on the 32. Through the control buttons to control the corresponding circuit 15. The Infrared have small size,low power consunption functio
5、n , low cost. Using the infrared do controller, inexpensive SCM system, and simple, practical, easy operation, stable performance, easy extension.Key words: Electric Remote Control Infrared receiver infrared transmit引言隨著電子技術(shù)的飛速發(fā)展,新型大規(guī)模遙控集成電路的不斷出現(xiàn),使遙控技術(shù)有了日新月異的發(fā)展,遙控裝置的中心控制部件已從早期的分立元件、集成電路逐步發(fā)展到現(xiàn)在的單片微型計(jì)
6、算機(jī),智能化程度大大提高。近年來(lái),遙控技術(shù)在工業(yè)生產(chǎn)、家用電器、安全保衛(wèi)以及人們的日常生活中使用越來(lái)越廣泛。而紅外遙控技術(shù)近年來(lái)得到了迅猛發(fā)展,尤其在家電領(lǐng)域如彩電、DVD、空調(diào)等,也在其它電子領(lǐng)域得到廣泛應(yīng)用。隨著人們生活水平的提高,電器在家庭中已經(jīng)十分普及,人們對(duì)產(chǎn)品的追求是使用更方便、更具智能化,紅外遙控技術(shù)正是一個(gè)重點(diǎn)的發(fā)展方向。通過基于51單片機(jī)的多路電器遙控器的硬件和軟件設(shè)計(jì)有利于鞏固和提高學(xué)生對(duì)小型電子產(chǎn)品設(shè)計(jì)的能力,培養(yǎng)思考問題及解決問題的能力,提高創(chuàng)新能力和動(dòng)手操作能力有幫助課題主要是圍繞無(wú)線遙控密碼鎖控制系統(tǒng)的相關(guān)的理論和實(shí)進(jìn)行研究。主要包括以下的內(nèi)容:無(wú)線遙控模塊發(fā)送與接
7、受以及單片機(jī)系統(tǒng)設(shè)計(jì)的應(yīng)用。1 設(shè)計(jì)要求在這個(gè)設(shè)計(jì)中,遙控器控制15個(gè)電器的開關(guān),并且可對(duì)一路電燈進(jìn)行亮暗的控制。采取的是紅外控制技術(shù),紅外技術(shù)通過光信號(hào)傳遞數(shù)據(jù),因而不受電磁干擾 ,通訊的可靠性高。數(shù)碼管的數(shù)據(jù)輸出顯示數(shù)字為07,7代表最亮,0代表最暗,15個(gè)電器的電源輸出接口用的是繼電器。當(dāng)某個(gè)操作按鍵按下時(shí),單片機(jī)先讀出鍵值,然后根據(jù)鍵值設(shè)定遙控碼的脈沖個(gè)數(shù),再調(diào)制成40KHz的方波由紅外線發(fā)射管發(fā)射出去。當(dāng)紅外線接收器輸出脈沖幀數(shù)據(jù)時(shí),第一碼的低電平將啟動(dòng)中斷程序,實(shí)時(shí)接收數(shù)據(jù)幀。2 元器件的選擇2.1單片機(jī)的選擇選擇的是單片機(jī)為AT89C51,下面是單片機(jī)的管腳說(shuō)明圖:圖2-1 AT
8、89C51引腳圖VCC:供電電壓。GND:接地。 P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。
9、P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它
10、們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。 RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。 /EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。 XTAL2:來(lái)自反向振蕩器的輸出。2.2 共陽(yáng)數(shù)碼管共陽(yáng)數(shù)碼管不用驅(qū)動(dòng),
11、更好的實(shí)現(xiàn)顯示功能。數(shù)碼管按段數(shù)分為七段和八段數(shù)碼管,管不八段數(shù)碼管比七段數(shù)碼管多一個(gè)發(fā)光二極管單元(多一個(gè)小數(shù)點(diǎn)顯示);按能顯示多少個(gè)“8”可分為1位、2位、4位等等數(shù)碼管;按發(fā)光二極管單元連接方式分為共陽(yáng)和共陰極數(shù)碼管。共陽(yáng)數(shù)碼管是指將所有發(fā)光二極管的陽(yáng)極接到一起形成公共陽(yáng)極(COM)的數(shù)碼管。共陽(yáng)數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。3 系統(tǒng)硬件設(shè)計(jì) 遙控器由發(fā)射電路和接收電路兩部分組成。3.1硬件組成及工作原理
12、顯示電路按鍵電路紅外發(fā)射電路和紅外接收電路CPU復(fù)位電路電源電路 圖3-1 控制電路功能圖電器遙控器的組成框圖如圖3-1所示,它是以單片機(jī)作為核心控制器,主要由顯示電路、電源電路、紅外發(fā)射電路、紅外接受電路、復(fù)位電路和按鍵電路等組成。按鍵電路是矩陣式鍵盤適用與按鍵數(shù)量較多的場(chǎng)合,它由行線和列線組成,按鍵位于行、列的交叉點(diǎn)上。一個(gè)4×4的行、列結(jié)構(gòu)可以構(gòu)成一個(gè)有16個(gè)按鍵的鍵盤。矩陣鍵盤與獨(dú)立式按鍵鍵盤相比,要節(jié)省很多I/O口。紅外遙控發(fā)射電路:第9腳為單片機(jī)的復(fù)位腳,采用簡(jiǎn)單的RC上電復(fù)位電路,15腳為紅外線遙控器的輸出口,用于輸出40KHz載波編碼。紅外遙控接收電路:接收器的數(shù)碼管
13、的二進(jìn)制數(shù)據(jù)輸出顯示數(shù)字為07,7代表最亮,0代表最暗,15個(gè)電器的電源輸出接口用的是繼電器。3.2單片機(jī)最小系統(tǒng)AT89C51的上電復(fù)位電路,只要在RST復(fù)位輸入引腳上接一電容至Vcc端,下接一個(gè)電阻到地即可。對(duì)于CMOS型單片機(jī),由于在RST端內(nèi)部有一個(gè)下拉電阻,故可將外部電阻去掉,而將外接電容減至10µF。上電復(fù)位的工作過程是在加電時(shí),復(fù)位電路通過電容加給RST端一個(gè)短暫的高電平信號(hào),此高電平信號(hào)隨著Vcc對(duì)電容的充電過程而逐漸回落,即RST端的高電平持續(xù)時(shí)間取決于電容的充電時(shí)間。為了保證系統(tǒng)能夠可靠地復(fù)位,RST端的高電平信號(hào)必須維持足夠長(zhǎng)的時(shí)間。顯示電路采用的是共陰數(shù)碼顯示
14、管的顯示,用上拉電阻提供電流,并對(duì)電路起保護(hù)作用。電路如3-2圖所示。圖3-2 單片機(jī)最小系統(tǒng)3.3 紅外遙控發(fā)射電路第9腳為單片機(jī)的復(fù)位腳,采用簡(jiǎn)單的RC上電復(fù)位電路,15腳為紅外線遙控器的輸出口,用于輸出40KHz載波編碼。圖3-3 紅外遙控發(fā)射電路圖3.4 紅外遙控接收電路接收器的數(shù)碼管的二進(jìn)制數(shù)據(jù)輸出顯示數(shù)字為07,7代表最亮,0代表最暗,15個(gè)電器的電源輸出接口用的是繼電器。圖3-4 紅外遙控接收器電路圖3.5 顯示電路用單個(gè)共陰數(shù)碼管顯示的,數(shù)碼管的二進(jìn)制數(shù)據(jù)輸出顯示數(shù)字為07,7代表最亮,0代表最暗。圖3-5顯示電路圖3.6 矩陣式鍵盤電路圖3-6 矩陣式鍵盤電路圖矩陣式鍵盤電路
15、如圖3-6圖所示,矩陣式鍵盤適用與按鍵數(shù)量較多的場(chǎng)合,它由行線和列線組成,按鍵位于行、列的交叉點(diǎn)上。一個(gè)4×4的行、列結(jié)構(gòu)可以構(gòu)成一個(gè)有16個(gè)按鍵的鍵盤。如3-6圖所示,這是本課題所設(shè)計(jì)的矩陣鍵盤電路。很明顯,在按鍵數(shù)量較多的場(chǎng)合,矩陣鍵盤與獨(dú)立式按鍵鍵盤相比,要節(jié)省很多I/O口。在鍵盤的設(shè)計(jì)時(shí),開始選用的是大的按鍵,但是考慮到PCB板的大小,我后來(lái)選用的是小的按鍵,可以節(jié)省覆銅板,按鍵的行線和列線分別接P2的8位。3.7 電源電路電源電路的工作過程是:變壓、整流、濾波、穩(wěn)壓。變壓是把220V的電壓變成12V的電壓。為了克服半波整流的缺點(diǎn),采用的是橋式整流電路,將交流變成脈動(dòng)直流電。
16、為了獲得平滑的直流電源,整流電路后面加了濾波電路,濾掉交流成分。7805穩(wěn)壓器中設(shè)有比較完善的保護(hù)電路,主要用來(lái)保護(hù)調(diào)整管,它具有過流、過壓和過熱保護(hù)功能。7805將電壓整流成5V的電源電壓。電源電壓如圖3-7所示。 圖3-7電源電路圖4 系統(tǒng)軟件設(shè)計(jì)4.1 設(shè)計(jì)與分析采用的是AT89C51的單片機(jī),系統(tǒng)的軟件工作過程如下:1)上電時(shí),顯示器上顯示的是“0”,代表最暗,其他按鈕是處于關(guān)閉狀態(tài)。2)當(dāng)某個(gè)操作按鍵按下時(shí),單片機(jī)先讀出鍵值,然后根據(jù)鍵值設(shè)定遙控碼的脈沖個(gè)數(shù),再調(diào)制成40KHz的方波由紅外線發(fā)射管發(fā)射出去。3)當(dāng)紅外線接收器輸出脈沖幀數(shù)據(jù)時(shí),第一碼的低電平將啟動(dòng)中斷程序,實(shí)時(shí)接收數(shù)據(jù)
17、幀,在數(shù)據(jù)幀接收時(shí),將對(duì)第一位(起始位)碼的碼寬進(jìn)行驗(yàn)證。若第一位低電平碼的脈寬小于2ms,將作為錯(cuò)誤碼處理,當(dāng)間隔位的高電平脈寬大于3ms時(shí),結(jié)束接收,然后根據(jù)累加器A中的脈沖個(gè)數(shù),執(zhí)行相應(yīng)輸出的操作。4.2 軟件設(shè)計(jì)流程圖軟件設(shè)計(jì)流程圖主要分為遙控發(fā)射電路和遙控接收兩個(gè)流程圖,圖4-1遙控發(fā)射信號(hào)流程圖和圖4-2遙控接收信號(hào)流程圖。 圖4-1遙控發(fā)射器程序流程圖圖4-2 遙控接收器主程序中斷程序流程圖5 系統(tǒng)調(diào)試5.1 調(diào)試的過程和結(jié)果在電路板通電測(cè)試之前,必須認(rèn)真對(duì)安裝電路進(jìn)行下列事項(xiàng)的檢查:先檢查電路上電解電容的正負(fù)極是否插反,插反可能會(huì)導(dǎo)致電路板燒掉。檢查電路否是通的,用萬(wàn)用表查各個(gè)
18、可以接通的兩個(gè)點(diǎn)的電路是否是通路,接電源的和接地的點(diǎn)呀要檢查是否接錯(cuò)。將遙控器和接收器都接上電時(shí),數(shù)碼管顯示為“0”,LED燈都不亮的,依次的按15個(gè)按鍵時(shí),剛開始1燈是不亮的,就檢查紅外接受部分可能出錯(cuò)了,依次的檢查各個(gè)點(diǎn)的電壓,發(fā)現(xiàn)有電路被我短接了,最終電路沒成功。 參考文獻(xiàn)1彭為 等編著.單片機(jī)典型系統(tǒng)設(shè)計(jì)實(shí)例精講M,電子工業(yè)出版社,2006,1:1532.2李朝青 主編.無(wú)線發(fā)送/接收IC芯片及其數(shù)據(jù)通信技術(shù)選編2J北京航天航空大學(xué)出版社,2004,2:3456.3杜小平,契桂花,雷道振. 單片機(jī)初級(jí)教程單片機(jī)基礎(chǔ)M.北京: 北京航空航天大學(xué)出版社, 2006,4:7756.4樓然苗,
19、李光飛. 51系列單片機(jī)設(shè)計(jì)實(shí)例M.北京: 北京航空航天大學(xué)出版社, 2008,4:4689.5胡宴如. 模擬電子技M.北京:高等教育出版社,2000,7:5699.6中國(guó)電子網(wǎng) ,7中國(guó)電子設(shè)計(jì)網(wǎng),附件1元器件清單元器件名稱數(shù)量元器件名稱數(shù)量1K電阻712V繼電器143K電阻14兩孔接插件24.7K電阻13紅外接收管110K電阻3紅外發(fā)射頭147K電阻112電源1470電阻1按鈕開關(guān)16100電阻112M晶振210uf/6V電容3二極管4007522pf電容4LED紅光14104電容3共陽(yáng)數(shù)碼管11000uf/25V電容278051AT89C512可控硅1三極管901415三極管90151附
20、件2程序清單1. 紅外發(fā)射程序#define uchar unsigned char#define uint unsigned int#include <math.h>#include<intrins.h>#include"reg51.h"#define THO_int 0xff /定時(shí)器高8位初值 #define TL0_int 55 /定時(shí)器低8位初值 #defineTMOD_int 0x01 /設(shè)置定時(shí)器工作模式 #define TCON_int 0x10 /啟動(dòng)定時(shí)器 sbit HW_OUT=P10;/*uchar tx_delay;ucha
21、r IRF_buf;uchar old_buf; uchar IRF_step_cont;uchar IRF_cont;uchar IRF_tmfige;uchar IRF_step;uchar IRF_cont_buf;uchar DA_step;uchar tx_cont;uchar tx_cn;uchar IRF_data_buf24;uchar IRF_data_buf4;uchar TX_BUF6;uchar TX_BUF26;/*uchar key_cont;uchar key_buf;uchar key;uchar old_key,new_key;uchar key_out;/*
22、uchar sec;uchar cont_10ms;uchar code key_scan_tap4=0x10,0x20,0x40,0x80;uchar code key_tap16=0x1e,0x1d,0x1b,0x17,0x2e,0x2d,0x2b,0x27,0x4e,0x4d,0x4b,0x47,0x8e,0x8d,0x8b,0x87;struct flagunsigned hw_tx_ok:1;/允許發(fā)送紅外線標(biāo)記unsigned tou_ma:1;/頭碼發(fā)送標(biāo)記unsigned sen_en:1;/發(fā)送使能unsigned T_10ms:1;/10MS標(biāo)記flag1;/位變量定義,主
23、要用來(lái)作標(biāo)記struct SYS_flagunsigned DA_GX:1; /8位數(shù)據(jù)發(fā)送完標(biāo)記unsigned sen_vor:1;/電平標(biāo)記,0時(shí)發(fā)送高電平,1時(shí)發(fā)送低電平unsigned sen_jg:1; /一幀數(shù)據(jù)發(fā)送完成標(biāo)記unsigned Pwer:1; /開關(guān)機(jī)標(biāo)記SYS_flag;/*/定時(shí)器初值化 void T0_int(void)TMOD=TMOD_int; /設(shè)置定時(shí)器工作模式0 TCON=TCON_int; /啟動(dòng)定時(shí)器TL0=TL0_int; /裝入定時(shí)器低8位初值TH0=THO_int; /裝入定時(shí)器高8位初值A(chǔ)UXR=AUXR|0x80;/設(shè)置定時(shí)器為傳統(tǒng)定時(shí)
24、器的12倍ET0=1; /定時(shí)器0允許中斷 EA=1; /開總中斷 /*/ 發(fā)void key_scan(void)uchar i;P2=P2|0x0f;old_key=new_key;new_key=P2&0x0f;if(new_key=old_key)if(key_cont<10)key_cont+;if(key_cont=10)key_buf=new_key;for(i=0;i<4;i+)P2=key_scan_tapi;if(new_key!=P2&0x0f)key_buf=key_buf|key_scan_tapi;i=4;for(i=0;i<16;
25、i+)if(key_buf=key_tapi)key=i;key_out=1;/啟動(dòng)發(fā)送 TX_BUF20=111; /發(fā)送地址位高8位TX_BUF21=11;/發(fā)送地址位低8位TX_BUF22=key;/用鍵碼作為用戶碼TX_BUF23=key0xff;/發(fā)送用戶反碼TX_BUF0=TX_BUF20; TX_BUF1=TX_BUF21;TX_BUF2=TX_BUF22;TX_BUF3=TX_BUF23;i=16;elsekey_cont=0; void timer0_(void)interrupt 1 using 1/ 定時(shí)器溢出周期為100us已加入16t TR0=0;/ TL0=TL0_
26、int;TH0=THO_int;TR0=1;if(tx_delay>0) tx_delay-;/以下為紅外發(fā)送編碼管理if(key_out=1)&&(tx_delay=0)if(flag1.tou_ma=1) /如果頭碼已發(fā)送 if(SYS_flag.sen_jg=1)/如果一幀已發(fā)送完畢,則進(jìn)入幀與幀之前的間隔時(shí)間SYS_flag.sen_jg=0;/清第一幀發(fā)送標(biāo)記 DA_step=0; /發(fā)送階段清0SYS_flag.sen_vor=0;/下一次準(zhǔn)備發(fā)送紅外線tx_delay=20; /幀與幀之前的間隔時(shí)間2MStx_cont=0; /發(fā)送計(jì)數(shù)器清0flag1.to
27、u_ma=0; /清頭碼發(fā)送標(biāo)記flag1.sen_en=0; /關(guān)閉發(fā)送 else if(SYS_flag.sen_vor=1)/是否是發(fā)送間隔時(shí)間 if(TX_BUFDA_step&0x01)/如果發(fā)送據(jù)最低為1 tx_delay=16;/送發(fā)1碼寬為1.6MS elsetx_delay=6;/送發(fā)0碼寬為0.6MSflag1.sen_en=0;SYS_flag.DA_GX=1;SYS_flag.sen_vor=0;TX_BUFDA_step=TX_BUFDA_step>>1;else tx_delay=6;/發(fā)送數(shù)據(jù)0或1紅外發(fā)送寬度f(wàn)lag1.sen_en=1;SY
28、S_flag.sen_vor=1; if(SYS_flag.DA_GX=1)/如果發(fā)送完一位數(shù)據(jù)SYS_flag.DA_GX=0; /清標(biāo)記tx_cont+; /發(fā)送計(jì)數(shù)器加1if(tx_cont>=8) /發(fā)送完一個(gè)字節(jié)tx_cont=0;DA_step+; /指向下一個(gè)字節(jié),準(zhǔn)備發(fā)送下一字節(jié)if(DA_step>=6) tx_cn+;/發(fā)送幀計(jì)數(shù)器if(tx_cn>=2)/如果已發(fā)送送了兩幀 tx_cn=0;/清幀計(jì)數(shù)器key_out=0; /禁止發(fā)送 elseif(tx_cn=1)/讓第二幀數(shù)據(jù)進(jìn)入發(fā)送緩沖 TX_BUF0=TX_BUF20; TX_BUF1=TX_BU
29、F21;TX_BUF2=TX_BUF22;TX_BUF3=TX_BUF23;tx_delay=2; /第一幀結(jié)束后間隔時(shí)間SYS_flag.sen_jg=1;/第一幀發(fā)完標(biāo)記flag1.sen_en=1; /打開紅外發(fā)射else if(SYS_flag.sen_vor=0) /如果允許發(fā)送紅外線tx_delay=45;/發(fā)送紅外時(shí)間 flag1.sen_en=1;/打開紅外發(fā)射SYS_flag.sen_vor=1;/讓下一次發(fā)送間隔脈沖elsetx_delay=45;/發(fā)送低電平 flag1.sen_en=0;/關(guān)閉紅外發(fā)射SYS_flag.sen_vor=0;flag1.tou_ma=1;e
30、lseif(flag1.hw_tx_ok=0)&&(tx_delay=0)/如果數(shù)據(jù)發(fā)送已結(jié)束,后面再發(fā)送1MS寬脈沖if(SYS_flag.sen_vor=0) /如果允許發(fā)送紅外線 flag1.sen_en=1; /打開經(jīng)紅外發(fā)射 tx_delay=10; /發(fā)送紅外時(shí)間 SYS_flag.sen_vor=1; /讓下一次發(fā)送間隔脈沖 /不允許發(fā)送紅外線,進(jìn)行發(fā)送間隔狀態(tài)elseflag1.sen_en=0; /關(guān)閉紅外發(fā)射 tx_delay=10; /關(guān)閉紅外發(fā)射時(shí)間 cont_10ms+; if(cont_10ms>=100)cont_10ms=0;flag1.T
31、_10ms=1; if(flag1.sen_en=1)HW_OUT=0;elseHW_OUT=1;void main(void) T0_int(); for(;) 2. 紅外接收程序#include"reg51.h"#define uchar unsigned char#define uint unsigned int#define THO_int 0xff#define TL0_int 0x37#defineTMOD_int 0x01#define TCON_int 0x10sbit OUT=P10;/調(diào)光輸出sbit read_hw=P17;sbit read_zero
32、=P11;sbit OUT1=P27;sbit OUT2=P26;sbit OUT3=P25;sbit OUT4=P24;sbit OUT5=P23;sbit OUT6=P22;sbit OUT7=P21;sbit OUT8=P20;sbit OUT9=P37;sbit OUT10=P36;sbit OUT11=P35;sbit OUT12=P34;sbit OUT13=P33;sbit OUT14=P32;/表格存于ROM*uchar code HW_code_tap16=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16;uchar code P_tap6=30,
33、25,20,15,12,9;/變量定義存于RAM*uchar cont_4ms;uint cont_1s;uchar old_v;uchar new_v;uchar OUT_P_CONT;uchar set_p_time;uchar out_delay;uchar p_cont;/*uchar fige;/*uchar sec_cont; /uchar key;/*uchar IRF_tmfige;uchar IRF_step;uchar IRF_step_cont;uchar IRF_data_buf24;uchar IRF_cont_buf;uchar rx_rf_cont;uchar I
34、RF_data_buf4;uchar IRF_buf;uchar IRF_cont;uchar old_buf;uchar out_flag;/*uchar bdata sys_flag;sbit key_out=sys_flag0;sbit zero_flag=sys_flag1;/*void T0_int(void)TMOD=TMOD_int; TCON=TCON_int;TL0=TL0_int;TH0=THO_int;ET0=1; EA=1; /*/單片機(jī)初始化 void MCU_init(void) P1=0x00; P2=0x00;/關(guān)閉繼電器P3=0x00;/關(guān)閉繼電器P0=0x0
35、0; void hw_control(void)uchar i;if(out_flag=1)out_flag=0;for(i=0;i<15;i+) if(IRF_data_buf22=HW_code_tapi)key_out=1;key=i;i=15; void out_control(void) if(key_out) key_out=0;switch(key) case 0: OUT1=!OUT1;break;case 1:; OUT2=!OUT2;break;case 2: OUT3=!OUT3;break;case 3:; OUT4=!OUT4;break;case 4:; OU
36、T5=!OUT5;break;case 5:; OUT6=!OUT6;break;case 6:; OUT7=!OUT7;break;case 7:; OUT8=!OUT8;break;case 8:; OUT9=!OUT9;break;case 9:; OUT10=!OUT10;break;case 10:;OUT11=!OUT11;break;case 11:;OUT12=!OUT12;break;case 12:;OUT13=!OUT13;break;case 13:;OUT14=!OUT14;break;case 14:;OUT_P_CONT+;if(OUT_P_CONT>=6)
37、 OUT_P_CONT=0;set_p_time=P_tapOUT_P_CONT;set_p_time=P_tapOUT_P_CONT;break; /* /定時(shí)器中斷 void timer0_(void)interrupt 1 using 1/ 定時(shí)器溢出周期為200us已加入16t TR0=0;/ TL0=TL0_int;TH0=THO_int;TR0=1;if(out_delay) OUT=0;else OUT=1;read_zero=1;old_v=new_v;new_v=read_zero; if(old_v=new_v)/zero_flag=0;else zero_flag=1;p_cont=0;if
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 家紡企業(yè)社會(huì)責(zé)任報(bào)告編寫考核試卷
- 面門出租合同范本
- 電影合同范本4篇
- 煤炭居間費(fèi)合同范本
- 小學(xué)生頒獎(jiǎng)視頻模板課件
- 基于大數(shù)據(jù)的智能種植管理平臺(tái)構(gòu)建
- 人才派遣與招聘協(xié)議
- 日常照護(hù)培訓(xùn)課件
- 農(nóng)業(yè)生產(chǎn)安全防范指南
- 互聯(lián)網(wǎng)行業(yè)數(shù)據(jù)安全防護(hù)策略
- 關(guān)愛婦女防治兩癌講座課件
- DL∕T 584-2017 3kV~110kV電網(wǎng)繼電保護(hù)裝置運(yùn)行整定規(guī)程
- (正式版)FZ∕T 80018-2024 服裝 防靜電性能要求及試驗(yàn)方法
- 玻璃體腔注藥及圍注射期管理
- 北師大版八年級(jí)下冊(cè)生物教案全冊(cè)
- 技術(shù)學(xué)院各部門廉政風(fēng)險(xiǎn)點(diǎn)、防控措施匯編
- JGJ133-2001 金屬與石材幕墻工程技術(shù)規(guī)范
- 穩(wěn)定性冠心病診斷與治療指南
- DL-T5704-2014火力發(fā)電廠熱力設(shè)備及管道保溫防腐施工質(zhì)量驗(yàn)收規(guī)程
- (高清版)JGT 225-2020 預(yù)應(yīng)力混凝土用金屬波紋管
- JT-T-610-2004公路隧道火災(zāi)報(bào)警系統(tǒng)技術(shù)條件
評(píng)論
0/150
提交評(píng)論