欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2321|回復(fù): 0
收起左側(cè)

汽車51

[復(fù)制鏈接]
ID:246407 發(fā)表于 2017-11-6 08:45 | 顯示全部樓層 |閱讀模式
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image002.gif
電子與信息工程學(xué)院
本 科 畢 業(yè) 論 文
論文題目  基于51單片機(jī)的紅外遙控的   
        開關(guān)的設(shè)計(jì)           
  


摘  要
本設(shè)計(jì)是基于紅外遙控和AT89C51單片機(jī)控制的紅外遙控開關(guān),這種系統(tǒng)具有很強(qiáng)的適用性、靈活性、先進(jìn)性,它的應(yīng)用大大方便了人們的生活。本文給出了系統(tǒng)的硬件組成和硬軟件設(shè)計(jì)方法,介紹了解碼程序的基本結(jié)構(gòu)和程序框圖,為達(dá)到準(zhǔn)確控制,將發(fā)射脈沖分為連接段、控制段和結(jié)束段等3部分,并再接收端進(jìn)行校驗(yàn)。整個(gè)系統(tǒng)由發(fā)射和接收兩個(gè)部分組成。發(fā)射部分包括鍵盤矩陣、編碼調(diào)制、LED紅外發(fā)送器;接收部分包括LED紅外光、解調(diào)、解碼電路。系統(tǒng)在實(shí)際實(shí)用后,證明其方便、可靠并具有實(shí)用價(jià)值。
關(guān)鍵詞:AT89C51芯片;紅外遙控開關(guān)


ABSTRACT
The design of an infraredremote-control multi-line switch is introduced.This switch is based onprinciple of infrared remote-control and AT89C51 single chip microcomputer controlling .Thissystem has strong applicability,flexibilityand advancement.People's life is improved greatly by Its apply. Itssystem composition and design of hardware and software are presented. The basicstructure and chart of control decode program are also expounded. In order toachieve exact remote-control, the transmitted signal is divided into 3parts:the connecting section, the controlling section and the ending section,then the receiver will verify it.The whole system is composed by the launchespartially and the receives partially two parts.Launches partially including thekeyboard matrix,the coded modulation,the LED infrared transmitter;Receivespartially including the LED infrared light launch,the demodulation,decodes theelectric circuit. It was proved that this kind of remote-control is convenient,reliable and practical after using in remote-control system.
Key words: the chip of AT89C51; infrared remote-control switch


目  錄





1    1.1 課題背景
繼1971年微處理器的研制成功不久,就出現(xiàn)了單片機(jī),但最早的單片機(jī)是一位的,單片機(jī)以其卓越的性能,得到了廣泛的應(yīng)用,已經(jīng)深入到各個(gè)領(lǐng)域。單片機(jī)應(yīng)用在檢測、控制領(lǐng)域中,具有以下特點(diǎn):小巧靈活、成本低、易于產(chǎn)品化。它能方便的組裝成各種智能測控設(shè)備及各種智能儀表儀器。可靠性好,適合溫度范圍寬。單片機(jī)芯片本身是按工業(yè)測控環(huán)境要求設(shè)計(jì)的,分為民用、工業(yè)品、軍品、其中工業(yè)品和軍品具有較強(qiáng)的適應(yīng)惡劣環(huán)境的能力。由于單片機(jī)本身就是一個(gè)計(jì)算機(jī)系統(tǒng),因此,只要在單片機(jī)的外圍適當(dāng)加一些必要的擴(kuò)展電路及通道接口,就可以構(gòu)成各種應(yīng)用系統(tǒng),如工業(yè)控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、自動(dòng)測試系統(tǒng)、檢測監(jiān)視系統(tǒng)、智能儀表、功能模塊等。單片機(jī)的應(yīng)用領(lǐng)域十分廣泛,自20世紀(jì)80年代以來,單片機(jī)的應(yīng)用已經(jīng)深入到工業(yè)、農(nóng)業(yè)、國防、科研、機(jī)關(guān)、教育、商業(yè)以及家電、生活、娛樂、玩具等各個(gè)領(lǐng)域中。
1.2 應(yīng)用前景
本次設(shè)計(jì)是基于單片機(jī)的紅外遙控開關(guān)系統(tǒng),它在我們的生產(chǎn)和生活中有著很廣泛的應(yīng)用前景。在我們所居住的場所,我們就可以通過紅外遙控技術(shù)來控制各種電器、儀表、機(jī)械等。這種系統(tǒng)具有很強(qiáng)的適用性、靈活性、先進(jìn)性。它的應(yīng)用將我們的生活變的更加輕松。大大方便了人們的生活隨著信息技術(shù)的不斷向前發(fā)展,一些功能更強(qiáng)的應(yīng)用系統(tǒng)將出現(xiàn)在我們的各個(gè)方面,這將體現(xiàn)著高科技帶給人們的無窮魅力。



2   總體設(shè)計(jì)方案2.1  機(jī)型及元器件選擇
    此次設(shè)計(jì)所采用的單片機(jī)的名稱是AT89C51,用其控制紅外信號(hào)。在發(fā)射部分的電路中我所采用的元器件有AT89C51芯片、發(fā)光二極管、三極管、警惕振蕩器等。在紅外接收部分采用的元器件有LED數(shù)碼管顯示器、紅外接收器ST188等。
2.1.1單片機(jī)的選擇
單片機(jī)的主要性能指標(biāo)有【1,2】:字長、主頻、指令執(zhí)行時(shí)間、電源功耗等。選擇單片機(jī)不僅要考慮其主要的性能指標(biāo),更要考慮單片機(jī)的中斷能力、接口、片內(nèi)存儲(chǔ)器大小、抗干擾能力等。本次設(shè)計(jì)所選的單片機(jī)為AT89C51,AT89C51單片機(jī)的引腳結(jié)構(gòu)圖如圖2-1所示。
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image004.gif
圖2-1AT89C51引腳圖
    40只引腳按功能來分,可以分為如下幾類:
    1)電源及時(shí)鐘引腳:Vcc、Vss、XTAL1、XTAL2。
    2)控制引腳:/PSEN、ALE、/EA、RESET(即RST)。
    3)I/O口引腳:P0、P1、P2、P3,為4個(gè)8位I/O的外部引腳。
2.1.2 AT89C51單片及的硬件結(jié)構(gòu)
1) 微處理器(CPU):一個(gè)8位的CPU,與通常的CPU基本相同,同樣還包括了運(yùn)算器和控制器兩部分,只是增加了面向控制的出路功能,不僅可以處理字節(jié)數(shù)據(jù)還可以進(jìn)行變量的處理。
2)數(shù)據(jù)存儲(chǔ)器(RAM):片內(nèi)為128B,片外最多可以外擴(kuò)64KB。片內(nèi)的128B的RAM以告訴RAM形式集成在單片機(jī)內(nèi)。可以加快但單片機(jī)的運(yùn)行速度,而且這種結(jié)果的RAM可以降低功耗。
3)程序存儲(chǔ)器(ROM/EPROM):用來存儲(chǔ)程序,8031沒有此部件,8051為4KB的ROM;8751為4KB的EPROM。片外最多可以擴(kuò)至64KB。
4)4個(gè)8位并行I/O口(P0、P1、P2、P3)
5)1個(gè)串行口:1個(gè)全雙工的串行口,具有4種工作方式?梢杂脕磉M(jìn)行串行通信,擴(kuò)展并行I/O口,甚至與多個(gè)單片機(jī)相連接構(gòu)成多機(jī)系統(tǒng),從而使單片機(jī)的功能更加強(qiáng)且應(yīng)用更廣。
6)2個(gè)16位定時(shí)器/計(jì)數(shù)器。
7) 中斷系統(tǒng):具有5個(gè)中斷源,2級(jí)中斷優(yōu)先權(quán)。
8) 特殊功能寄存器(SFR):共有21個(gè)、用于CPU對(duì)片內(nèi)各功能部件進(jìn)行管理、控制、監(jiān)視。是一些控制器和狀態(tài)寄存器,具有特殊功能的RAM區(qū)。
AT89C51是一種低功耗、高性能、內(nèi)含4KB閃速存儲(chǔ)器(FlashMemory)的8位CMOS控制器。這種器件系以ATMEL高密度不揮發(fā)存儲(chǔ)技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)MCS——51指令系統(tǒng)和引腳完全兼容。片內(nèi)閃速存儲(chǔ)器的程序代碼或數(shù)據(jù)可以在線寫入,亦可通過常規(guī)的編程器編程。例如MP——100這樣的經(jīng)濟(jì)型編程器,它支持痛喲個(gè)EPROM等各種存儲(chǔ)器、PAL(可編程陣列邏輯)、GAL(通用陣列邏輯)以及Intel,ATMEL和Philips等公司全系列51單片機(jī)的編程。ME5103和ME5105仿真器支持AT89系列所有器件的調(diào)試、仿真和編程。
AT89C51芯片內(nèi)部具有下列硬件資源:4KB閃速存儲(chǔ)器、128個(gè)字節(jié)RAM、32條I/O線,兩個(gè)16位定時(shí)/計(jì)數(shù)器、五源兩級(jí)終端結(jié)構(gòu)、全雙工串行口、片內(nèi)振蕩器及時(shí)鐘電路等。
正是由于AT89C51具有以上優(yōu)點(diǎn),所以我選擇了它作為系統(tǒng)硬件所選單片機(jī)類型。
2.2 軟、硬件功能劃分
本次設(shè)計(jì)的硬件部分包括紅外發(fā)射和紅外遙控接收兩個(gè)部分的電路【3,4】。關(guān)于電路的工作原理將在相應(yīng)的章節(jié)介紹,在次就不做贅述。
系統(tǒng)的軟件部分的設(shè)計(jì)就要求在紅外遙控發(fā)射端對(duì)紅外信號(hào)進(jìn)行編碼,在接收端對(duì)所讀取的編碼進(jìn)行解碼,這就要求編譯顯影的功能程序執(zhí)行各自操作,最終實(shí)現(xiàn)對(duì)硬件電路的智能控制的目的。軟件部分的程序包括鍵盤掃描程序、剪號(hào)處理程序、38KHz載波及編碼脈沖發(fā)射程序、遙控接收及處理程序、延遲子程序。
2.3 總體方案設(shè)計(jì)
系統(tǒng)組成如圖2-2所示【5】。系統(tǒng)由發(fā)射部分和接收部分組成。發(fā)射部分采用脈沖個(gè)數(shù)編碼,將待發(fā)射信號(hào)調(diào)制成38KHz的載波信號(hào),由紅外發(fā)射管進(jìn)行發(fā)射。接收部分由紅外接收管進(jìn)行解碼接收,單片機(jī)通過對(duì)所接收信號(hào)的分析,輸出相應(yīng)的控制信號(hào),由發(fā)光二極管和數(shù)碼管指示出發(fā)射部分按下的按鍵號(hào)。
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image006.jpg
圖2-2 紅外遙控開關(guān)系統(tǒng)組成



3   系統(tǒng)的設(shè)計(jì)3.1 系統(tǒng)硬件設(shè)計(jì)3.1.1 硬件要求
一個(gè)單片機(jī)應(yīng)用系統(tǒng)的硬件設(shè)計(jì)包括兩大部分內(nèi)容:
1.單片機(jī)系統(tǒng)的擴(kuò)展部分設(shè)計(jì)。它包括存儲(chǔ)器擴(kuò)展和I/O接口擴(kuò)展。存儲(chǔ)器的擴(kuò)展指RPROM、EEPROM和RAM的擴(kuò)展。他們屬于單片機(jī)系統(tǒng)擴(kuò)展的內(nèi)容。
2.各個(gè)功能模塊的設(shè)計(jì)。如信號(hào)測量功能模塊、信號(hào)控制功能模塊、人機(jī)對(duì)話功能模塊、通信功能模塊等,根據(jù)系統(tǒng)功能要求配置相應(yīng)的A/D、D/A、鍵盤、顯示器、打印機(jī)等外圍設(shè)備。
由HRM5700B紅外先發(fā)射管及相關(guān)元件組成的紅外發(fā)射電路中的紅外信號(hào)經(jīng)過AT89C51單片機(jī)處理時(shí)對(duì)其定時(shí)器/計(jì)數(shù)器的工作方式的選擇有直接影響。首先了解AT89C51單片機(jī)的4種工作方式是硬件設(shè)計(jì)必不可少的步驟。
AT89C51單片機(jī)的定時(shí)器/計(jì)數(shù)器的結(jié)構(gòu)如下乳3-1所示【6】。
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image008.jpg
圖3-189C51 定時(shí)器/計(jì)數(shù)器結(jié)構(gòu)圖
定時(shí)器/計(jì)數(shù)器 T0由特殊功能寄存器TH0、TL0構(gòu)成,定時(shí)器/計(jì)數(shù)器T1由特殊功能寄存器T1、TL1構(gòu)成。特設(shè)功能寄存器TMOD用于選擇定時(shí)器/計(jì)數(shù)器T0、T1得工作模式和工作方式。特殊功能寄存器TCON用于控制T0、T1得啟動(dòng)和停止計(jì)數(shù),同時(shí)包含了T0、T1得狀態(tài)。TMOD、TCON這兩個(gè)寄存器得內(nèi)容由軟件設(shè)置。單片機(jī)復(fù)位時(shí),兩個(gè)寄存器得所有位都被清0。
定時(shí)器/計(jì)數(shù)器得4種工作方式:
1.方式0:為13位計(jì)數(shù)器,由TLX(X=0,1)得低5位和THX得高8位所構(gòu)成。TLX低5位溢出則向THX進(jìn)位,THX計(jì)數(shù)溢出則置位TCON中的溢出標(biāo)志位TFX。
這時(shí)定時(shí)器/計(jì)數(shù)器的等效框圖如圖3-2所示。
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image010.jpg
圖3-2 定時(shí)器/計(jì)數(shù)器方式0邏輯結(jié)構(gòu)圖
圖中C/T位控制的電子開關(guān)決定了定時(shí)器/計(jì)數(shù)器得工作模式:
(1) C/T=0,電子開關(guān)打在上面位置,T1為定時(shí)器工作模式,以系統(tǒng)時(shí)鐘振蕩器12分頻后的信號(hào)作為計(jì)數(shù)信號(hào)。
(2) C/T=1,電子開關(guān)打在下面位置,T1位計(jì)數(shù)器工作模式,計(jì)數(shù)器脈沖為P3.5引角上的外部輸入脈沖,當(dāng)引腳上發(fā)生負(fù)跳變時(shí),計(jì)數(shù)器加1.
GATE位的狀態(tài)決定定時(shí)器/計(jì)時(shí)器運(yùn)行控制取決于TRX一個(gè)條件還是TRX和INTX引腳這兩件。
    2.  方式1:當(dāng)M1、M0為01是,定時(shí)器/計(jì)數(shù)器工作于方式1,這時(shí)定時(shí)器/計(jì)數(shù)器的等效電路如下圖3-3
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image011.jpg
圖3-3定時(shí)器/計(jì)數(shù)器方式1邏輯結(jié)構(gòu)圖
3  方式2:
方式0和方式1的最大特點(diǎn)是計(jì)數(shù)溢出后,計(jì)數(shù)器為全0.因此在循環(huán)定時(shí)或循環(huán)計(jì)數(shù)用時(shí)就存在反復(fù)裝入計(jì)數(shù)初值的問題。這不僅影響定時(shí)精數(shù),而且也給程序設(shè)計(jì)帶來麻煩。方式2就是針對(duì)此問題而設(shè)置的。當(dāng)M1、M2為10時(shí),定時(shí)器/計(jì)數(shù)器處于工作方式2,這時(shí)定時(shí)器/計(jì)數(shù)器得等效框圖如圖3-4所示。這種工作方式可以省去用戶軟件中得重裝初值的程序,簡化定時(shí)初值的計(jì)算方法,可以相當(dāng)精確的確定定時(shí)時(shí)間。
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image012.jpg
圖3-4定時(shí)器/計(jì)數(shù)器方式2邏輯結(jié)構(gòu)圖
紅外遙控開關(guān)系統(tǒng)的硬件電路包括紅外發(fā)射電路和接收電路兩部分。
3.1.2 鍵盤接口
鍵盤在單片機(jī)應(yīng)用系統(tǒng)中能實(shí)現(xiàn)向單片機(jī)輸入數(shù)據(jù)、傳送命令等功能,是人工干預(yù)單片機(jī)的主要手段。鍵盤實(shí)質(zhì)上是一組案件開關(guān)的集合。通常,鍵盤開關(guān)利用了機(jī)械觸點(diǎn)的斷開、閉合作用。鍵的閉合與否,反映在行線輸出電壓上就是呈現(xiàn)高電平或低電平,如果高電平表示鍵斷開,低電平表示鍵閉合,通過對(duì)行線電平高低狀態(tài)的檢測,便可以確認(rèn)案件按下與否。為了確保CPU對(duì)一次按鍵動(dòng)作只確認(rèn)一次案件有效,必須消除抖動(dòng)期的影響。
常用的鍵盤接口分為獨(dú)立式和行列式鍵盤接口【7】。獨(dú)立式鍵盤適用于按鍵較少或操作速度較高的場合。行列式(也稱矩陣式)鍵盤用于按鍵數(shù)目較多的場合,它由行線和列線組成,按鍵位于行、列的交叉點(diǎn)上。本次設(shè)計(jì)所采用的鍵盤接口就是這種。行列鍵盤的結(jié)構(gòu)如下圖3-5所示。
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image013.jpgfile:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image014.jpg
圖3-5行列式鍵盤結(jié)構(gòu)
行列式鍵盤的工作原理:按鍵設(shè)置在行、列線分別連接到按鍵開關(guān)的兩端。行線通過上拉電阻接到+5V上。無按鍵按下時(shí)行線處于高電平狀態(tài),而當(dāng)有按鍵按下時(shí),行線電平狀態(tài)將由此行線相連的列線的電平?jīng)Q定。列線的電平如果為低,則行線電平為低;列線的電平如果為高,則行線亦為高。這一點(diǎn)是識(shí)別行列式鍵盤是否按鍵的關(guān)鍵所在。由于行列式鍵盤中行、列線為多鍵共用,各按鍵均影響該鍵所在行和列的電平。因此各按鍵彼此將互相發(fā)生影響,所以必須將行、列信號(hào)配合起來并做適當(dāng)?shù)奶幚,才能確定閉合鍵的位置。
3.1.3 LED顯示器
常用的LED顯示器為8段或7段(8段比7段多了以個(gè)小數(shù)點(diǎn)“dp”段)【8】。每一個(gè)段對(duì)應(yīng)以個(gè)發(fā)光二極管。這種顯示器由共陽極和共陰極兩種。如圖3-6所示。共陰極LED顯示器的發(fā)光二極管的陰極連接在一起,通常次共陰極接地。當(dāng)某個(gè)發(fā)光二極管的陽極為高電平時(shí),發(fā)光二極管點(diǎn)亮,相應(yīng)的段被現(xiàn)實(shí)。同樣,共陽極LED顯示器的發(fā)光二極管的陽極連接在一起,通常此公共陽極接正電壓,當(dāng)某個(gè)發(fā)光二極管的陰極接低電平時(shí),發(fā)光二極管被點(diǎn)亮,相應(yīng)的段被顯示。為了使LED顯示器顯示不同的符號(hào)和數(shù)字,就要把不同段的發(fā)光二極管點(diǎn)亮,這樣就要為LED顯示器提供代碼,因?yàn)檫@些代碼可使LED相應(yīng)的段發(fā)光,從而顯示不同字型,因此該代碼稱之為段碼(或稱為字型代碼)。7段發(fā)光二極管在加上一個(gè)小數(shù)點(diǎn),共計(jì)8段。因此提供給LED顯示器的段碼正好是1B。各段于字節(jié)中各位對(duì)應(yīng)關(guān)系如下圖3-6:
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image016.jpg   file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image018.jpg
圖3-6 8段LED結(jié)構(gòu)及外形
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image020.jpg
圖3-7 發(fā)射部分電路圖
3.1.4 發(fā)射部分
發(fā)射部分的電路原理圖如圖3-7所示【9】。圖中AT89C51單片機(jī)為控制核心,P0作為鍵掃描端口,具有16個(gè)操作鍵,可分別控制單片機(jī)發(fā)出16種不同脈沖,執(zhí)行16種操作。你9腳為單片機(jī)的復(fù)位腳,采用RC上電復(fù)位電路,第14腳作為紅外遙控發(fā)射編碼的輸出腳,用于輸出38KHz的載波編碼信號(hào)。脈沖經(jīng)T1放大然后由紅外發(fā)射管HRM5700B輸出。18、19腳接12M晶振。值得注意的是單片機(jī)的P0.0-P0.7口必須外接上拉電阻,否則發(fā)射部分將無法正常工作。
3.1.5 接收部分
接受部分的電路原理圖如圖3-8所示【9】。其中AT89C51(2)單片機(jī)為控制核心:P1.0~P1.7口作為數(shù)碼管的二進(jìn)制數(shù)據(jù)輸出,通過數(shù)碼管顯示發(fā)射終端的按鍵號(hào),同時(shí)P0口和P2口相應(yīng)的二極管會(huì)顯示亮燈;P3.0、P3.3口接收調(diào)解后的紅外遙控信號(hào),需要說明的是:
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image022.jpg
圖3-8 接收部分電路原理圖
1) 處于在開關(guān)機(jī)時(shí)燈應(yīng)全滅的考慮,P0和P2口在系統(tǒng)上電初始化后將一直保持為高電平,知道接收到發(fā)射部分的控制信號(hào),其狀態(tài)才會(huì)發(fā)生改變;
2) 紅外接收頭采用一體化接收器HRM5700B,其解調(diào)頻率為38KHz,當(dāng)HRM5700B接收到38KHz的紅外脈沖信號(hào)時(shí)輸出為低電平,反之輸出高電平。它是將光探測器與前置放大器封裝在一起,以實(shí)現(xiàn)對(duì)脈沖編碼信號(hào)調(diào)制的紅外光信號(hào)的接收。
在系統(tǒng)工作時(shí),HRM5700B對(duì)接收到的脈沖編碼信號(hào)進(jìn)行解調(diào),解調(diào)后的信號(hào)輸入至單片機(jī)的P3.0、P3.3口。
3.2 系統(tǒng)軟件設(shè)計(jì)
本設(shè)計(jì)的軟件分為發(fā)射部分和接收部分。
3.2.1發(fā)射部分的工作原理
系統(tǒng)上電初始化,然后調(diào)用鍵掃描處理子程序。當(dāng)無按鍵按下時(shí),系統(tǒng)處于等待狀態(tài);當(dāng)有按鍵按下時(shí),系統(tǒng)通過按鍵檢查子程序,,檢查按鍵號(hào)并轉(zhuǎn)入相應(yīng)的發(fā)射子程序。在發(fā)射子程序中,將待發(fā)射信號(hào)調(diào)制成38KHz的載波信號(hào),由單片機(jī)的14腳輸出,經(jīng)三極管9013放大后驅(qū)動(dòng)紅外發(fā)射管ST188,發(fā)射調(diào)制脈沖信號(hào)。發(fā)射信號(hào)采用脈沖個(gè)數(shù)編碼,不同的脈沖個(gè)數(shù)代表不同的編碼,最小為6個(gè)脈沖,最大為21個(gè)脈沖,遙控碼數(shù)據(jù)幀間隔為8ms。為達(dá)到控制準(zhǔn)確的目的,將發(fā)射脈沖分為連接段、控制段和結(jié)束段。連接段為發(fā)射信號(hào)的前3個(gè)脈沖,脈沖寬度分別為4ms、2ms、4ms,脈沖間隔為1ms。結(jié)束段為發(fā)射信號(hào)的最后2個(gè)脈沖,脈沖寬度分別為2ms、4ms,脈沖間隔為1ms。中間為控制段,脈沖寬度和賣出那個(gè)間隔均為1ms。發(fā)射8個(gè)編碼時(shí)的輸出信號(hào)波形如圖3-9所示。其中前3個(gè)脈沖為連接段。中間3個(gè)脈沖為控制段,最后2個(gè)脈沖為結(jié)束段。
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image023.jpg
圖3-9 發(fā)射8個(gè)編碼時(shí)的輸出信號(hào)波形圖
3.2.2 接收部分工作原理
系統(tǒng)上電初始化后,對(duì)單片機(jī)的P3.3口進(jìn)行檢測,當(dāng)其為高電平時(shí),系統(tǒng)處于等待狀態(tài)。當(dāng)其為低電平時(shí),將啟動(dòng)中斷服務(wù)程序,實(shí)現(xiàn)接收數(shù)據(jù)幀。需要說明的是:數(shù)據(jù)幀采用中斷方式進(jìn)行接收,單片機(jī)在外中斷1方式下工作。在數(shù)據(jù)幀接收時(shí),將對(duì)所接收數(shù)據(jù)的前3位碼的碼寬進(jìn)行驗(yàn)證。前3位碼的碼寬分別為4ms、2ms、4ms,若任意一位的碼寬不滿足要求,都將作為錯(cuò)誤碼處理,當(dāng)系統(tǒng)接收到的高電平脈寬大于5ms時(shí),結(jié)束脈沖接收。然后系統(tǒng)會(huì)對(duì)所接收脈沖的最后兩位脈寬進(jìn)行驗(yàn)證,其值應(yīng)分別是2ms和4ms,否則將會(huì)作為錯(cuò)誤碼處理,最后系統(tǒng)根據(jù)累加器A中的脈沖個(gè)數(shù),在單片機(jī)P0或P2口的某一對(duì)應(yīng)引腳輸出控制信號(hào),同時(shí)在P1口輸出相應(yīng)的二進(jìn)制數(shù)據(jù)。此時(shí)即完成一次數(shù)據(jù)的接收處理。HRM5700B接收8個(gè)編碼時(shí)的輸出信號(hào)波形如圖3-10所示。
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image024.jpg
圖3-10 ST188 接收8個(gè)編碼時(shí)的輸出信號(hào)波形圖
3.3 遙控系統(tǒng)的編碼及解碼3.3.1 遙控發(fā)射編碼格式
采用脈寬調(diào)制的串行碼,以脈寬為0.565ms、間隔0.56ms、周期為1.125ms的組合表示二進(jìn)制的“0” ;以脈寬為0.565ms、間隔1.685ms、周期為2.25ms的組合二進(jìn)制的“1” ,其波形如圖3-11所示。
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image026.gif
圖3-11 遙控碼的“0”和“1”(注:所有波形為接收端的與發(fā)射相反)
上述“0”和“1”組成的32位二進(jìn)制碼經(jīng)38khz的載頻進(jìn)行二次調(diào)制以提高發(fā)射頻率,達(dá)到降低電源功耗的目的。然后再通過紅外發(fā)射二極管產(chǎn)生紅外線向空間發(fā)射,如圖3-12所示。
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image028.gif
圖3-12 遙控信號(hào)編碼波形圖
遙控器在按鍵按下后,周期性地發(fā)出同一種32位二進(jìn)制碼,周期約為108ms。一組碼本身的持續(xù)時(shí)間隨它包含的二進(jìn)制“0”和“1”的個(gè)數(shù)不同而不同,大約在45ms~63ms之間,圖3-13為發(fā)射波形圖。
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image030.gif
圖3-13 遙控連發(fā)信號(hào)波形
當(dāng)一個(gè)鍵按下超過36ms,振蕩器使芯片激活,將發(fā)射一組108ms的編碼脈沖,這108ms發(fā)射代碼由一個(gè)引導(dǎo)碼(9ms),一個(gè)結(jié)果碼(4.5ms),低8位地址碼(9ms~18ms),高8位地址碼(9ms~18ms),8位數(shù)據(jù)碼(9ms~18ms)和這8位數(shù)據(jù)的反碼(9ms~18ms)組成。如果鍵按下超過108ms仍未松開,接下來發(fā)射的代碼(連發(fā)碼)將僅由起始碼(9ms)和結(jié)束碼(2.25ms)組成。
3.3.2 數(shù)據(jù)幀的接收處理
當(dāng)紅外線接收器輸出脈沖幀數(shù)據(jù)時(shí),第一位碼的低電平將啟動(dòng)中斷程序,實(shí)時(shí)接收數(shù)據(jù)幀。在數(shù)據(jù)接收時(shí),先對(duì)第一位(起始位)碼的碼寬進(jìn)行驗(yàn)證。若第一位低電平碼的脈寬小于2ms,將作為錯(cuò)誤碼處理;否則認(rèn)為是起始碼,累加器A加1.當(dāng)間隔位的高電平大于3ms時(shí),結(jié)束接收,然后根據(jù)累加器A中的脈沖個(gè)數(shù),執(zhí)行相應(yīng)的輸出操作。圖3-14為紅外線接收器輸出的一幀遙控碼波形圖。
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image032.gif
圖3-14 一幀遙控碼波形圖
3.4 遙控發(fā)射及接收控制程序流程圖3.4.1 遙控發(fā)射控制流程圖
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image034.gif
圖3-15 遙控發(fā)射程序控制流程圖
上左圖是遙控發(fā)射的主程序,首先初始化程序,然后調(diào)用鍵掃描處理子程序。上右圖為掃鍵過程,首先判斷控制鍵是否按下,若有控制鍵按下則進(jìn)行逐行掃描,按照P口值查找鍵號(hào)轉(zhuǎn)至相應(yīng)的發(fā)射程序。
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image036.gif
圖3-16遙控發(fā)射控制流程圖
紅外信號(hào)發(fā)射過程:首先裝入發(fā)射脈沖個(gè)數(shù)(發(fā)射時(shí)為3ms脈沖,停發(fā)時(shí)為1ms脈沖),此時(shí)若發(fā)射脈沖個(gè)數(shù)為1則返回主程序,若不為1則發(fā)1ms脈沖,然后停發(fā)1ms脈沖,這樣便結(jié)束整個(gè)發(fā)射過程。
在實(shí)踐中,采用紅外線遙控方式時(shí),由于受遙控距離,角度等影響,實(shí)用效果不是很好,如采用調(diào)頻或調(diào)幅發(fā)射接收碼,可提高遙控距離,并且沒有角度影響。
3.4.2 遙控接收控制流程圖
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image038.gif
圖3-17 遙控接收控制主流程圖
遙控接收部分的主程序及初始化及延時(shí)過程如上:首先初始化,然后按照顯示亮度數(shù)據(jù)設(shè)定調(diào)光脈沖延時(shí)值,看P3.0口的脈沖是否為0,若不為0則調(diào)入延時(shí)程序,此時(shí)P2.7口輸出調(diào)光脈沖然后返回;若為0則直接返回。
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image040.gif
圖3-18遙控接收中斷流程圖
中斷過程:首先判斷低電平脈寬度是否大于2ms,若脈寬不到2ms,中斷返回;若低電平大于2ms,則接收并地低電平脈沖計(jì)數(shù),接下來看判斷高電平脈沖寬度是否大于3ms,若脈寬不到3ms,則返回上一接收計(jì)數(shù)過程;若高電平脈寬大于3ms,則按照脈沖個(gè)數(shù)至對(duì)應(yīng)功能程序。此時(shí)中斷返回。


4   系統(tǒng)調(diào)試
一個(gè)單片機(jī)應(yīng)用系統(tǒng)經(jīng)過總體設(shè)計(jì)、硬件設(shè)計(jì)、軟件設(shè)計(jì)、制板、元器件安裝后,在系統(tǒng)的程序存儲(chǔ)器中放入編制好的應(yīng)用程序,系統(tǒng)即可運(yùn)行。但一次性成功幾乎是不可能的,多少會(huì)出現(xiàn)一些硬、軟件上的錯(cuò)誤,這就需要通過調(diào)試來發(fā)現(xiàn)錯(cuò)誤并加以改正,本設(shè)計(jì)常用的調(diào)試儀器有:萬用表、穩(wěn)壓電源、示波器、信號(hào)發(fā)生器等。
調(diào)試步驟[17]
    1. 調(diào)試前不加電源的檢查
對(duì)照電路圖和實(shí)際線路檢查連線是否正確,包括錯(cuò)接、少接、多接等;用萬用表電阻檔檢查焊接和接插是否良好:元器件引腳之間有無短路,連接處有無接觸不良,二極管、三極管、集成電路和電解電容的極性是否正確;電源供電包括極性、信號(hào)源連線是否正確;電源對(duì)地是否存在短路(萬用表測量電阻)。
經(jīng)過上述檢查,我們發(fā)現(xiàn)我們所設(shè)計(jì)的電路存在錯(cuò)接和連接處不良接觸的問題,經(jīng)過細(xì)心的檢查后,解決了上述的一些電路上的問題。
    2.靜態(tài)檢測與調(diào)試
斷開信號(hào)源,把經(jīng)過準(zhǔn)確測量的電源接入電路,用萬用表電壓檔檢測電源電壓,觀察有無異,F(xiàn)象:如冒煙、異常氣味、手摸元器件發(fā)燙,電源短路等,如果發(fā)現(xiàn)氣場情況,立即切斷電源,排除故障;
我們的電路在此項(xiàng)測試中如無異常情況,接著我們又分別測量各關(guān)鍵點(diǎn)直流電壓,如靜態(tài)工作點(diǎn)、放大電路輸入、輸出端直流電壓等是否在正常工作狀態(tài)下,結(jié)果又個(gè)別電路不符,經(jīng)過調(diào)整電路元器件參數(shù)、更換元器件,使電路最終工作在核實(shí)的工作狀態(tài);
對(duì)于放大電路我們還用示波器觀察是否有自激發(fā)生。結(jié)果一切正常。
3.動(dòng)態(tài)監(jiān)測與調(diào)試
動(dòng)態(tài)調(diào)試時(shí)在靜態(tài)調(diào)試的基礎(chǔ)上進(jìn)行的,調(diào)試的方法在電路的輸入端加上所需的信號(hào)源,并循著信號(hào)的注射逐級(jí)監(jiān)測各有關(guān)點(diǎn)的波形、參數(shù)和性能指標(biāo)是否滿足設(shè)計(jì)要求,如必要,要對(duì)電路參數(shù)做進(jìn)一步調(diào)整。發(fā)現(xiàn)問題,要設(shè)法找出原因,排除故障,繼續(xù)進(jìn)行。
我們所設(shè)計(jì)的遙控器電路時(shí)采用碼分制遙控方式,我們用示波器對(duì)發(fā)射電路輸出端及接收電路輸入端得信號(hào)波型進(jìn)行了檢查,發(fā)現(xiàn)當(dāng)按下不同的開關(guān)按鈕時(shí)所顯示的波型是不同的。這說明了此電路時(shí)工作在正常狀態(tài)的。
4.調(diào)試注意事項(xiàng)
經(jīng)過我們自己動(dòng)手調(diào)試電路。我們從問題之中總結(jié)出來一些常用電路調(diào)試的注意事項(xiàng)。
(1) 正確使用測量儀器的接地端,儀器的接地端與電路的接地端要可靠連接;
(2) 在信號(hào)較弱的輸入端,盡可能使用屏蔽線連線,屏蔽線的外屏蔽層要接到公共地線上,在頻率較高時(shí)要設(shè)法隔離連接線分布電容的影響,例如用示波器測量時(shí)應(yīng)該使用示波器探頭連接,以減少分布電容的影響。
(3) 測量電壓所用儀器的輸入阻抗必須遠(yuǎn)大于被測處的等效阻抗。
(4) 測量儀器的貸款必須大于被測電路的帶寬。
(5) 正確選擇測量點(diǎn)和測量檔
(6) 認(rèn)真觀察記錄實(shí)驗(yàn)過程,包括條件、現(xiàn)象、數(shù)據(jù)、波型、相位等。
(7) 出現(xiàn)故障時(shí)要認(rèn)真查找原因。


5   畢業(yè)設(shè)計(jì)總結(jié)
本設(shè)計(jì)采用紅外發(fā)射和接收的方式,保證了信號(hào)傳輸?shù)目煽啃,并且控制簡單、?shí)施方便、成本低廉,通過接收發(fā)射端得控制信號(hào),在接收部分實(shí)現(xiàn)了相應(yīng)的控制,為達(dá)到控制準(zhǔn)確的目的,將發(fā)射脈沖分為連接段、控制段和結(jié)束段,并在接收端進(jìn)行校驗(yàn)。通過開發(fā)實(shí)驗(yàn)和現(xiàn)場應(yīng)用證明,本次設(shè)計(jì)方案性能良好,工作可靠,完全可以用于各種家用電器的電源遙控控制。但是,由于受紅外線定向性和傳輸距離的限制,該系統(tǒng)只適用于短距離的遙控控制(10m以內(nèi)),而且操作時(shí)遙控要有一定的角度,如果中間有墻、門窗等障礙物時(shí),紅外線將無法穿透。如果采用調(diào)頻或調(diào)幅等發(fā)射接收編碼,可提高遙控距離,并且不受角度的影響。


  
首先感謝吳四清老師在做論文期間對(duì)我的精心指導(dǎo)。在一學(xué)期的論文寫作中,從選題、出發(fā)點(diǎn)到初稿、定稿。在此想我的導(dǎo)師表示衷心的感謝并致以崇高的敬意。
畢業(yè)設(shè)計(jì)是本科最后的一堂課,通過畢業(yè)設(shè)計(jì),我們應(yīng)該更深一步的掌握所學(xué)的專業(yè)知識(shí),同時(shí)培養(yǎng)一個(gè)良好的研究習(xí)慣,為以后的學(xué)習(xí)和工作打下基礎(chǔ)。所以做好畢業(yè)設(shè)計(jì)是我們每一個(gè)大學(xué)生的任務(wù),也是我們所殷切希望的,借此來為自己思念的大學(xué)生涯交上一份滿意的答卷。
其次要感謝同班的同學(xué)給與我的幫助,在畢業(yè)設(shè)計(jì)過程中他們毫無保留的給我提供硬件方便的知識(shí),協(xié)助我編寫本設(shè)計(jì)的程序,并且打架一起討論形成極大的學(xué)習(xí)氛圍,使自己加快了設(shè)計(jì)的步伐。在此向我的同學(xué)表示衷心的感謝。
最后,感謝檢查及檢查本人論文的各位老師,正式你們的嚴(yán)格要求使本人的設(shè)計(jì)不斷得到修改和改進(jìn)。向所有關(guān)心和幫助我的老師們表示最衷心的感謝。



參考文獻(xiàn)
             韓太林.單片機(jī)原理及應(yīng)用[M].北京:電子工業(yè)出版社,2005.
             張毅剛.單片機(jī)原理及應(yīng)用[M].北京:高等教育出版社,2004.
             盧飛躍.紅外遙控多路搶答器的設(shè)計(jì)[J].番禺職業(yè)技術(shù)學(xué)院學(xué)報(bào),.2003,2(2):25-29.
             黃尊熹.單片機(jī)原理接口與應(yīng)用[M].西北工業(yè)大學(xué)出版社,2000.147-150.
             樓然苗,李光飛.51系列單片機(jī)設(shè)計(jì)實(shí)例[M].北京:北京航空航天大學(xué)出版社,2003,103-120.
             李必紅,王忠魁.基于單片機(jī)控制的機(jī)床數(shù)控改造[J].山西工學(xué)院學(xué)報(bào),2004,20(1):70-79.
             余永權(quán).Flash單片機(jī)原理及應(yīng)用[M]. 北京:電子工業(yè)出版社,1997.
             何立民.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)[M]北京:北京航空航天大學(xué)出版社,1990.
             李洪明.漫談紅外遙控[J]. 電子世界, 2000, (1):53.
             高建榮.基于單片機(jī)控制紅外線遙控的編碼實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2004,25(11):2105.2107
             劉曉明,安敏,王軍.兩種紅外解碼技術(shù)的探討[J].測控技術(shù),2001,20(12):51-52.
             肖圣兵,仲興榮,徐清源.一種紅外遙控信號(hào)的解碼方法[J].蘇州大學(xué)學(xué)報(bào)(自然科學(xué)),2002,18(2):104.105.
             付家才.單片機(jī)控制工程實(shí)踐技術(shù)[M].北京:北京化學(xué)工業(yè)出版社,2004
             姚凱學(xué),孟傳良.單片機(jī)原理及應(yīng)用[M].重慶:重慶大學(xué)出版社,1998.
             周立功.增強(qiáng)型80C51單片機(jī)速成與實(shí)戰(zhàn)[M].北京:北京航空航天大學(xué)出版社,2003.
             嚴(yán)天峰.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)與仿真調(diào)試[M].北京:北京航空航天大學(xué)出版社,2005.
             馮建華.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)與產(chǎn)品開發(fā)[M].北京:人民郵電出版社,2004.
             裴彥純.基于單片機(jī)系統(tǒng)的紅外遙控器應(yīng)用[M].北京:現(xiàn)代電子技術(shù),2007.
West Germany.Intersection Without Signals[M]. Proceeding of an International Workshop 16-18 March. 1998.30-40.



  
/******************************************************************/
//              send.c
//            遙控發(fā)射器
/******************************************************************/
//使用AT89C51單片機(jī),12Mhz晶振
//
//#pragmasrc(E:\remote.asm)
#include"reg52.h"
#include"intrins.h"      //_nop_():延時(shí)函數(shù)用
//
#define ucharunsigned char
#define uintunsigned int
//
sbit  remoteout=P3^5;      // 遙控輸出口
//
//
uinti,j,m,n,k,s;
Ucharkeyvol,temp;        // 鍵值存放
//
////
/*************1毫秒延時(shí)程序***************/
void delay(uintz)
{
     uint t1,y;
     for(t1=z;t1>0;t1--)
          For(y=110;y>0;y--);
}
//
//
/**************初始化函數(shù)****************/
clearmen()
{
Remoteout=0;         // 關(guān)遙控輸出
IE=0x00;
TMOD=0x02;         // 8位自動(dòng)沖撞模式
TH0=0xf3;           // 40Khz初值
TL0=0xf3;
EA=1;               // 開關(guān)中斷
}
//
//
//
/**************發(fā)射函數(shù)****************/
sed ()
{
ET0=1;TR0=1;delay(#);et0=0;remoteout=0;  // 40Khz發(fā)3毫秒
for(m=keyvol;m>0;m--)
  {
   delay(1);                             //停1毫秒
   ET0=1;TR0=1;delay(1);ET0=0;TR0=0;remoteout=0;   //40毫秒Khz發(fā)1毫秒
   }
delay(10)
}
//
tx()
{
switch(keyvol)
  {
    case0:keyvol=keyvol+1;sed();break;
    case1:keyvol=keyvol+1;sed();break;
    case2:keyvol=keyvol+1;sed();break;
    case3:keyvol=keyvol+1;sed();break;
    case4:keyvol=keyvol+1;sed();break;
    case5:keyvol=keyvol+1;sed();break;
    case6:keyvol=keyvol+1;sed();break;
    case7:keyvol=keyvol+1;sed();break;
    case8:keyvol=keyvol+1;sed();break;
    case9:keyvol=keyvol+1;sed();break;
    case10:keyvol=keyvol+1;sed();break;
    case11:keyvol=keyvol+1;sed();break;
    case12:keyvol=keyvol+1;sed();break;
    case13:keyvol=keyvol+1;sed();break;
    case14:keyvol=keyvol+1;sed();break;
    case15:keyvol=keyvol+1;sed();break;
    default:break;
  }
}
//
//
/**************鍵功能函數(shù)****************/
void keywork()
{
Ucharscancode,tmpcode;
P0=0xf0;                          //  發(fā)全0行掃描碼
If((P0&0xf0)!=0xf0)                 //若有鍵按下
{
    Delay(5);                      //延時(shí)去抖動(dòng)
If((P0&0xf0)!=0xf0)                 //延時(shí)后在判斷一次,去除抖動(dòng)影響
   {
    Scancode=0xfe;
    While((scancode&0x10)!=0)//       //逐行掃描,剛好掃到第五位就推出了
        {
          P0=scancode;              //輸出行掃描碼
          If((P0&0xf0)!=0xf0)        //本行有鍵按下
             {
               Tmpcode=(P0&0xf0)|0x0f;
                  // 返回特征字節(jié)碼,為1的位即對(duì)應(yīng)于行和列
                Temp=(~scancode)+(~tmpcode);
                Switch(temp)
                 {
                   Case0x11:keycol=0;tx();break;
                   Case0x21:keycol=1;tx();break;
                   Case0x41:keycol=2;tx();break;
                   Case0x81:keycol=3;tx();break;
                    Case0x12:keycol=4;tx();break;
                   Case0x22:keycol=5;tx();break;
                   Case0x42:keycol=6;tx();break;
                   Case0x82:keycol=7;tx();break;
                   Case0x14:keycol=8;tx();break;
                    Case0x24:keycol=9;tx();break;
                   Case0x44:keycol=10;tx();break;
                   Case0x84:keycol=11;tx();break;
                   Case0x18:keycol=12;tx();break;
                   Case0x28:keycol=13;tx();break;
                    Case0x48:keycol=14;tx();break;
                   Case0x88:keycol=15;tx();break;
                  }
             }
            Elsescancode=(scancode<<1)|0x01;    //行掃描碼左移一位
         }
    }
}
}
//
//
/**************主函數(shù)****************/
Void main()
{
   Clearmen();          //初始化
   While(1)
{
    Keywork();    //按鍵掃描
    }
}
//
//
/**************40Khz發(fā)生器****************/
//定時(shí)中斷T0
Void time_intt()(void) interrupt 1
{
  Remoteout=~remoteout;
}
//
//
//**********************結(jié)束************************//

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表