單片機(jī)應(yīng)用課程設(shè)計(jì)_第1頁
單片機(jī)應(yīng)用課程設(shè)計(jì)_第2頁
單片機(jī)應(yīng)用課程設(shè)計(jì)_第3頁
單片機(jī)應(yīng)用課程設(shè)計(jì)_第4頁
單片機(jī)應(yīng)用課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 單片機(jī)應(yīng)用 課程設(shè)計(jì)任務(wù)書20162017學(xué)年 第一學(xué)期第18周20周題目基于51單片機(jī)的紅外遙控內(nèi)容及要求1、 利用紅外遙控控制數(shù)碼管和流水燈;2、 元件:AT89C52、數(shù)碼管、CHQ1838,配套遙控器、分立元件。進(jìn)度安排1、方案論證 2天2、分析、設(shè)計(jì)、 3天3、焊接、調(diào)試、實(shí)現(xiàn) 3天4、檢查、整理、寫設(shè)計(jì)報(bào)告、小結(jié) 2天學(xué)生姓名:劉星、孔劍、黃世昱、李建民指導(dǎo)時(shí)間指導(dǎo)地點(diǎn): 樓 室任務(wù)下達(dá)2016年12月28日任務(wù)完成2016年1月7日考核方式1.評(píng)閱 2.答辯 3.實(shí)際操作 4.其它指導(dǎo)教師系(部)主任注:1、此表一組一表二份,課程設(shè)計(jì)小組組長一份;任課教師授課時(shí)自帶一份備查。2

2、、 課程設(shè)計(jì)結(jié)束后與“課程設(shè)計(jì)小結(jié)”、“學(xué)生成績單”一并交院教務(wù)存檔。 目 錄1.設(shè)計(jì)方案11.1 系統(tǒng)方案選擇11.2 系統(tǒng)構(gòu)成框圖32. 系統(tǒng)設(shè)計(jì)52.1 硬件原理52.1.1 硬件組成介紹52.1.2 電路各部分功能原理62.2 軟件流程112.3 實(shí)驗(yàn)與仿真162.4 實(shí)物圖17附錄1焊接電路圖17附錄2心得體會(huì)18基于單片機(jī)紅外遙控LED燈控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)1. 設(shè)計(jì)方案該設(shè)計(jì)由硬件和軟件共同組成。首先是硬件部分,該系統(tǒng)的最終實(shí)現(xiàn)選用的單片處理器(89S52)、鍵盤、LED顯示、單片機(jī)的串行接口電路。因此應(yīng)充分了解單片機(jī),包括存儲(chǔ)空間,并行口,串行口,串行通信,定時(shí)器等,掌握非編碼鍵

3、盤和LED的動(dòng)態(tài)顯示,并要在充分滿足系統(tǒng)可實(shí)現(xiàn)的功能的基礎(chǔ)上考慮到器件的價(jià)格,制版的復(fù)雜度和軟件的實(shí)現(xiàn)難度。其次是軟件部分,該系統(tǒng)的軟件環(huán)境是S52,因此應(yīng)了解S52的編程方法,常用的一些編程技巧,調(diào)試運(yùn)行程序,盡量使程序簡潔,易懂,便于移植,編譯效率高,健壯性好。為了用計(jì)算機(jī)解決某一具體問題或?qū)崿F(xiàn)某一特定的功能,總要先對(duì)問題或功能要求進(jìn)行分析,確定相應(yīng)的算法和步驟,然后選擇相應(yīng)的指令,并按一定的順序排列起來,這就構(gòu)成了解決某一問題或?qū)崿F(xiàn)某一特定功能的應(yīng)用程序。編制好的程序通過仿真器進(jìn)行調(diào)試,將調(diào)試成功的程序通過T寫入器寫入到芯片AT89S52中,最后把芯片AT89S52插入連接完畢的硬件系統(tǒng)

4、中投入實(shí)際使用。1.1 系統(tǒng)方案(1)紅外編碼和發(fā)射部分 方案:微處理器單獨(dú)解決方案。電路如圖(a)所示。 該方案使用微處理器的I/O口直接產(chǎn)生38KHZ已調(diào)波,驅(qū)動(dòng)紅外發(fā)光二極管,發(fā)射紅外數(shù)據(jù)。38KHZ方波由CPU的定時(shí)器產(chǎn)生或由軟件編程產(chǎn)生。紅外編碼工作由軟件完成,因此,紅外編碼方案可以任意設(shè)計(jì),外部只需配接非常簡單的硬件電路,大大降低了了電路的復(fù)雜性,有利于降低成本,減小遙控器的體積。由于使用軟件編碼方案,占用了CPU的一定的時(shí)間,CPU處理速度受到一定的影響,但是,對(duì)于遙控器這一類功能比較單一的系統(tǒng)來說,處理任務(wù)比較少,根本影響不了CPU的處理效率,僅僅是增加了軟件編程的負(fù)擔(dān)。 (2

5、)紅外接收和解碼部分 方案:集成電路解決方案,電路如圖(b)所示。該方案使用一體化紅外接收器,集紅外接收和放大于一體,不需任何外接元件,就能完成從紅外接收到輸出與TTL電平兼容的所有工作,而體積和普通的塑封三極管大小一樣。(3)器件選擇:采用12MHZ的晶振;紅外接收端采用價(jià)格便宜,性能可靠的一體化紅外接收頭:HSOO38;采用89S52進(jìn)行控制;控制方面采用小燈進(jìn)行模擬。1.2 系統(tǒng)構(gòu)成框圖單片機(jī)紅外發(fā)射電路一體化紅外接收頭單片機(jī)編碼調(diào)制發(fā)送接收解調(diào)解碼圖1-2 系統(tǒng)結(jié)構(gòu)框圖2. 系統(tǒng)設(shè)計(jì)系統(tǒng)工作原理:紅外遙控有發(fā)送和接收兩個(gè)組成部分:發(fā)送端采用單片機(jī)將待發(fā)送的二進(jìn)制信號(hào)編碼調(diào)制為一系列的脈

6、沖串信號(hào),通過紅外發(fā)射管發(fā)射紅外信號(hào)。紅外接收端普遍采用價(jià)格便宜,性能可靠的一體化紅外接收頭(如HSOO38,它接收紅外信號(hào)頻率為38KHz,周期約26US)接收紅外信號(hào),它同時(shí)對(duì)信號(hào)進(jìn)行放大、檢波、整形,得到相應(yīng)電平的編碼信號(hào),再送給單片機(jī),經(jīng)單片機(jī)解碼并執(zhí)行,去控制相關(guān)對(duì)象。(1)二進(jìn)制信號(hào)的編碼 本設(shè)計(jì)采用不同的脈寬寬度來實(shí)現(xiàn)二進(jìn)制信號(hào)的編碼,可由發(fā)送單片機(jī)來完成。用圖2-1(a)表示二制信號(hào)中的高電平1,其特征是脈沖中低電平的寬度等于0.26ms,相當(dāng)于10個(gè)26us的寬度,高電平的寬度等于0.52ms,相當(dāng)于20個(gè)26us的寬度;用圖2-1(b)表示二進(jìn)制信號(hào)中的低電平0,其特征是脈

7、沖中高電平的寬度等于0.26mS,而低電平的寬度是高電平的二倍,等于0.52ms,相當(dāng)于20個(gè)26us的寬度。上述10個(gè)和20個(gè)脈沖寬度還可適當(dāng)調(diào)整,以適應(yīng)不同數(shù)據(jù)傳輸速度的需要。圖2-1(a) 1的表示圖2-1(b) 0的表示(3)二進(jìn)制信號(hào)的解調(diào) 二進(jìn)制信號(hào)的解調(diào)由一體化紅外接收頭HSOO38來完成,它把收到的紅外信號(hào)(圖2-2中波形D,經(jīng)內(nèi)部處理并解調(diào)復(fù)原,輸出圖2-2中波形E,HS0038的解調(diào)可理解為:在輸入有脈沖串時(shí),輸出端輸出低電平,否則輸出高電平。二進(jìn)制信號(hào)的解碼由接收單片機(jī)來完成的它把紅外接收頭送來的二進(jìn)制編碼波形通過解碼,還原出發(fā)送端發(fā)送的數(shù)據(jù)。如圖2-2,把波形E解碼后還

8、原成數(shù)據(jù)信息101。D、紅外接收頭接收的波形(輸入)E、解調(diào)后的輸出波形圖2-2、HS0038的輸入輸出波形(4)基于字節(jié)傳輸?shù)募t外遙控?cái)?shù)據(jù)格式在發(fā)送字節(jié)的開始先通過單片機(jī)發(fā)送20個(gè)脈沖寬度(每個(gè)脈沖周期26uS)的高電平作為傳輸開始,接著發(fā)送8位數(shù)據(jù)(字節(jié)高位在前,低位在后),最后發(fā)送10個(gè)脈沖寬度的低電平作為傳輸結(jié)束,如圖2-3所示。傳輸開始8位數(shù)據(jù)傳輸結(jié)束20個(gè)脈沖高位在前,低位在后10個(gè)脈沖圖2-3 基于字節(jié)傳輸?shù)募t外遙控?cái)?shù)據(jù)格式2.1 硬件原理2.1.1 硬件組成介紹 LED彩燈顯示電路:LED彩燈顯示電路(如圖所示)實(shí)際上是由8個(gè)發(fā)光二極管和8個(gè)電阻構(gòu)成的電路。發(fā)光二極管與電阻對(duì)應(yīng)

9、串聯(lián),然后接在與之相對(duì)應(yīng)的P2口上。通過軟件編程對(duì)P2口輸出高低電平來實(shí)現(xiàn)不同的閃爍花型。由于發(fā)光二極管的導(dǎo)通電壓一般為1.7V以上,另外,他的工作電流根據(jù)型號(hào)不同一般為1mA到30mA,電阻選擇范圍100歐姆3千歐姆在此我們這里選用560歐姆的電阻。新型 LED 彩燈系統(tǒng)包括 2 大部分,即 LED 彩燈控制器( 89C51 主控模塊)和 LED 彩燈管(管內(nèi) LED 板模塊)。前者是主控模塊,具有按鍵、顯示等功能,并利用 89C51 的 P 口輸出控制信號(hào);后者是受控模塊,上面焊有三色 LED 彩燈和信號(hào)驅(qū)動(dòng)芯片,模塊置于 LED 的透明燈管內(nèi)。彩燈控制器可直接與 220 V 交流市電相連

10、接,經(jīng)過開關(guān)電源變換,輸出直流工作電壓,一方面為管內(nèi) LED 模塊提供 12 V 工作電源,另一方面為主控模塊單片機(jī)系統(tǒng)(彩燈控制器)提供 5 V 工作電源。整個(gè)系統(tǒng)工作由軟件程序控制運(yùn)行,根據(jù)需要,用戶可以在 LED 彩燈工作時(shí)通過主控模塊上的按鍵來設(shè)定亮燈時(shí)間和燈光閃動(dòng)頻率。 芯片AT89S52:(1)主要性能: 與MCS-51單片機(jī)產(chǎn)品兼容、8K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器、1000次擦寫周期、全靜態(tài)操作:0Hz33Hz、三級(jí)加密程序存儲(chǔ)器、32個(gè)可編程I/O口線、三個(gè)16位定時(shí)器/計(jì)數(shù)器、八個(gè)中斷源、全雙工UART串行通道、低功耗空閑和掉電模式、掉電后中斷可喚醒、看門狗定時(shí)器、雙數(shù)

11、據(jù)指針、掉電標(biāo)識(shí)符。(2)功能特性描述: At89s52是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash 存儲(chǔ)器。使用Atmel 公司高密度非 易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完 全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于 常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng) 可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提 供高靈活、超有效的解決方案。 AT89S52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM, 32 位I/O 口線,看門狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16 位 定時(shí)器/計(jì)數(shù)器,一個(gè)

12、6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口, 片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52 可降至0Hz 靜態(tài)邏 輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工 作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié), 單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。8 位微控制器 8K 字節(jié)在系統(tǒng)可編程 Flash AT89S52 (3)管腳說明:P0 口:P0口是一個(gè)8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。對(duì)P0端口寫“1”時(shí),引腳用作高阻抗輸入。 當(dāng)訪問外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也被作為低8位地址/數(shù)據(jù)復(fù)用

13、。在這種模式下, P0具有內(nèi)部上拉電阻。 在flash編程時(shí),P0口也用來接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。程序校驗(yàn)時(shí),需要外部上拉電阻。 P1 口:P1 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,p1 輸出緩沖器能驅(qū)動(dòng)4 個(gè) TTL 邏輯電平。對(duì)P1 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。此外,P1.0和P1.2分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和時(shí)器/計(jì)數(shù)器2 的觸發(fā)輸入(P1.1/T2EX),具體如下所示。 在flash編程和校驗(yàn)時(shí),P1口接收低8位地址字

14、節(jié)。 引腳號(hào)第二功能 P1.0 T2(定時(shí)器/計(jì)數(shù)器T2的外部計(jì)數(shù)輸入),時(shí)鐘輸出 P1.1 T2EX(定時(shí)器/計(jì)數(shù)器T2的捕捉/重載觸發(fā)信號(hào)和方向控制) P1.5 MOSI(在系統(tǒng)編程用) P1.6 MISO(在系統(tǒng)編程用) P1.7 SCK(在系統(tǒng)編程用) P2 口:P2 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅(qū)動(dòng)4 個(gè)TTL 邏輯電平。對(duì)P2 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在訪問外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX DPTR)

15、時(shí),P2 口送出高八位地址。在這種應(yīng)用中,P2 口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用 8位地址(如MOVX RI)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口輸出P2鎖存器的內(nèi)容。 在flash編程和校驗(yàn)時(shí),P2口也接收高8位地址字節(jié)和一些控制信號(hào)。 P3 口:P3 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,p2 輸出緩沖器能驅(qū)動(dòng)4 個(gè)TTL 邏輯電平。對(duì)P3 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。P3口亦作為AT89S52特殊功能(第二功能)使用。在flash編程和校驗(yàn)時(shí),P3口也接收-一些控制信號(hào)。(4

16、)振蕩器特性:XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。(5)時(shí)鐘電路時(shí)鐘電路是計(jì)算機(jī)的心臟,它控制著計(jì)算機(jī)的工作節(jié)奏。MCS-51單片機(jī)允許的時(shí)鐘頻率是因型號(hào)而異的典型值為12MHZMCS-51內(nèi)部都有一個(gè)反相放大器,XTAL1、XTAL2分別為反相放大器輸入和輸出端,外接定時(shí)反饋元件以后就組成振蕩器,產(chǎn)生時(shí)鐘送至單片機(jī)內(nèi)部的各個(gè)部件。AT89S52是屬于CMO

17、S8位微處理器,它的時(shí)鐘電路在結(jié)構(gòu)上有別于NMOS型的單片機(jī)。CMOS型單片機(jī)內(nèi)部(如AT89S52)有一個(gè)可控的負(fù)反饋反相放大器,外接晶振(或陶瓷諧振器)和電容組成振蕩器,圖31為CMOS型單片機(jī)時(shí)鐘電路框圖。振蕩器工作受/PD端控制,由軟件置“1”PD(即特殊功能寄存器PCON.1)使/PD0,振蕩器停止工作,整個(gè)單片機(jī)也就停止工作,以達(dá)到節(jié)電目的。清“0”PD,使振蕩器工作產(chǎn)生時(shí)鐘,單片機(jī)便正常運(yùn)行。圖中SYS為晶振或陶瓷諧振器,振蕩器產(chǎn)生的時(shí)鐘頻率主要由SYS參數(shù)確定(晶振上標(biāo)明的頻率)。電容C1和C2的作用有兩個(gè):其一是使振蕩器起振,其二是對(duì)振蕩器的頻率f起微調(diào)作用(C1、C2大,f

18、變?。涞湫椭禐?0pF。(6)復(fù)位電路計(jì)算機(jī)在啟動(dòng)運(yùn)行時(shí)都需要復(fù)位,使中央處理器CPU和系統(tǒng)中的其它部件都處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開始工作。MCS-51單片機(jī)有一個(gè)復(fù)位引腳RST,它是史密特觸發(fā)輸入(對(duì)于CHMOS單片機(jī),RST引腳的內(nèi)部有一個(gè)拉低電阻),當(dāng)振蕩器起振后,該引腳上出現(xiàn)2個(gè)機(jī)器周期(即24個(gè)時(shí)鐘周期)以上的高電平,使器件復(fù)位,只要RST保持高電平,MCS-51保持復(fù)位狀態(tài)。此時(shí)ALE、PSEN、P0、P1、P2、P3接口都輸出高電平。RST變?yōu)榈碗娖胶?,退出?fù)位,CPU從初始狀態(tài)開始工作。本設(shè)計(jì)采用的復(fù)位方式是自動(dòng)復(fù)位方式。對(duì)于MOS(AT89S52)單片機(jī)只要接

19、一個(gè)電容至VCC即可(見圖2-4)。在加電瞬間,電容通過電阻充電,就在RST端出現(xiàn)一定時(shí)間的高電平,只要高電平時(shí)間足夠長,就可以使MCS-51有效的復(fù)位。RST端在加電時(shí)應(yīng)保持的高電平時(shí)間包括VCC的上升時(shí)間和振蕩器起振的時(shí)間,Vss上升時(shí)間若為10ms,振蕩器起振的時(shí)間和頻率有關(guān)。10MHZ時(shí)約為1ms,1MHZ時(shí)約為10ms,所以一般為了可靠的復(fù)位,RST在上電進(jìn)應(yīng)保持20ms以上的高電平。RC時(shí)間常數(shù)越大,上電進(jìn)RST端保持高電平的時(shí)間越長。若復(fù)位電路失效,加電后CPU從一個(gè)隨機(jī)的狀態(tài)開始工作,系統(tǒng)就不能正常運(yùn)轉(zhuǎn)。圖2-4 接收器HS0038一體化紅外接收頭HSOO38的外部結(jié)構(gòu)如圖2-

20、5所示,1腳GND接電源地,2腳VCC接十SV,3腳OUT為數(shù)據(jù)輸出端( TTL電平,反相輸出),可直接與單片機(jī)相聯(lián)。以HSOO38作為紅外接收頭,介紹了紅外遙控信號(hào)的單片機(jī)軟件編碼解碼方法,包括編碼、調(diào)制和解碼的原理,以及硬件電路和程序?qū)崿F(xiàn)。經(jīng)實(shí)驗(yàn)測(cè)試,該方法能使紅外遙控信號(hào)可靠發(fā)送和接收,并執(zhí)行相應(yīng)的功能。圖2-5 HS0038的外觀及引腳2.1.2 電路各部分功能原理(1)接收電路原理圖如圖2-6所示:圖2-6接收電路原理圖各個(gè)基本電路圖的設(shè)計(jì)(2)發(fā)射接收電路如圖2-7所示:圖2-7(a)接收電路 圖2-7(b) 發(fā)射電路(3)控制電路:采用小燈的亮滅來模擬實(shí)際應(yīng)用中的電路,電路如圖2

21、-8所示。圖2-8 小燈控制電路2.2 軟件流程單片機(jī)的應(yīng)用系統(tǒng)由硬件和軟件組成,上述硬件原理圖搭建完成上電之后,我們還不能看到多控制、多閃爍方式的LED燈系統(tǒng)循環(huán)點(diǎn)亮的現(xiàn)象,我們還需要告訴單片機(jī)怎么樣進(jìn)行控制,即編寫程序控制單片機(jī)管腳電平的高低變化,來實(shí)現(xiàn)發(fā)光二極管的明滅。軟件編程是多控制、多閃爍方式的LED燈系統(tǒng)中的一個(gè)重要的組成部分,是本設(shè)計(jì)的重點(diǎn)和難點(diǎn)。下面,我將闡述多控制、多閃爍方式的LED燈系統(tǒng)是如何實(shí)現(xiàn),軟件部分的主要任務(wù)是完成對(duì)光照檢測(cè)電路和對(duì)熱釋電傳感器信號(hào)處理電路的輸出信號(hào)進(jìn)行處理。在光照較強(qiáng)時(shí),系統(tǒng)繼續(xù)對(duì)光照檢測(cè)電路的輸出狀態(tài)進(jìn)行檢測(cè)。光照較弱時(shí),系統(tǒng)對(duì)信號(hào)處理電路的輸出

22、狀態(tài)Vo進(jìn)行檢測(cè)。若室內(nèi)有人時(shí)Vo為高電平,系統(tǒng)控制照明設(shè)備點(diǎn)亮并按設(shè)定的時(shí)間進(jìn)行延時(shí)。在延時(shí)時(shí)間內(nèi)再一次檢測(cè)到有人時(shí),則系統(tǒng)又按設(shè)定的時(shí)間進(jìn)行延時(shí);若在延時(shí)時(shí)間內(nèi)檢測(cè)到室內(nèi)無人時(shí),則系統(tǒng)控制照明設(shè)備熄滅并重新對(duì)信號(hào)處理電路的輸出狀態(tài)Vo進(jìn)行檢測(cè)?;谏鲜龇治?,系統(tǒng)軟件設(shè)計(jì)流程如圖2-9所示。:數(shù)據(jù)10解碼8位結(jié)束yesono開始初始化接收1解碼接收下一位數(shù)據(jù)判別取值控制noyeso圖2-9、流程圖程序如下:#include <reg51.h>#include <intrins.h>#define uchar unsigned charuchar distemp;sbi

23、t IRIN = P33; uchar IRCOM7;table1=0xff,0x00,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0x00;table2=0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0x7e,0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f;table3=0xaa,0x7e,0xbd,0xdb,0xe7,0xff,0xe7,0xdb,0xbd,0x7e,0x55,0xff,0x00;Unsigned char table4=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x83,0

24、xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e;void delay(unsigned char x) /x*0.14MS unsigned char i; while(x-) for (i = 0; i<13; i+) /*/ void Delay100ms(uchar x)/11.0592MHzunsigned char i, j,n;for(n=0;n<x;n+)i = 180;j = 73;dowhile (-j); while (-i); /*/int main() IE = 0x84; TCON = 0x10; IRIN=1; D

25、elay100ms(1); P2 = 0xff; while(1); /*/void IR_IN() interrupt 2 unsigned char j,k,N=0,i=0; EX1 = 0; delay(15); if (IRIN=1) EX1 =1; return; while (!IRIN) delay(1); for (j=0;j<4;j+) for (k=0;k<8;k+) while (IRIN) delay(1); while (!IRIN) delay(1); while (IRIN) delay(1); N+; if (N>=30) EX1=1; return; IRCOMj=IRCOMj >> 1; if (N>=8) IRCOMj = IRCOMj | 0x80; N=0; if (IRCOM2!=IRCOM3) EX1=1; return; switch(IRCOM2case 0x16:for(;i<11;i+)P2 = table1i;P1= table40;Delay100ms(10);break; case 0x0c:for(;i<15;i+)P2 = table2i; P1=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論