單片機(jī)流水燈_第1頁
單片機(jī)流水燈_第2頁
單片機(jī)流水燈_第3頁
單片機(jī)流水燈_第4頁
單片機(jī)流水燈_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、單片機(jī)課程設(shè)計(jì)第1章 概 述隨著科學(xué)技術(shù)的發(fā)展,單片機(jī)因其高可靠性和高性價(jià)比,在智能家用電器、儀器儀表等諸多領(lǐng)域內(nèi)得到了極為廣泛的應(yīng)用。當(dāng)前單片機(jī)對(duì)家用電器呈現(xiàn)出外形簡單化、功能多樣化、性能優(yōu)越化的發(fā)展趨勢。紅外遙控器具有使用方便、功耗低、抗干擾能力強(qiáng)的特點(diǎn),因此它的前景是不可估量的。簡單紅外收發(fā)器是在紅外遙控的基礎(chǔ)上,利用紅外線進(jìn)行點(diǎn)對(duì)點(diǎn)的數(shù)據(jù)通信裝置。目前,其相應(yīng)的軟件和硬件技術(shù)都已比較成熟。它是把紅外線作為載體的遙控方式。紅外遙控是一種無線、非接觸控制技術(shù),具有結(jié)構(gòu)簡單、制作方便、成本低廉、抗干擾能力強(qiáng)、信息傳輸可靠、易實(shí)現(xiàn),同時(shí),由于采用紅外線收發(fā)器件時(shí),工作電壓低、功耗低、外圍電路簡

2、單等優(yōu)點(diǎn),因此,被諸多電子設(shè)備,特別是家用電器廣泛采用,并越來越多的應(yīng)用到計(jì)算機(jī)系統(tǒng)中。  系統(tǒng)要實(shí)現(xiàn)的功能:紅外發(fā)射器、紅外接收器,要實(shí)現(xiàn)遠(yuǎn)距離(10米)的發(fā)射與接收。  紅外收發(fā)的特點(diǎn)是不影響周邊環(huán)境、不干擾其它電器設(shè)備。電路調(diào)試簡單,只要按給定電路連接無誤,一般不需任何調(diào)試即可投入工作;編解碼容易。  信息可以直接通過紅外光進(jìn)行調(diào)制傳輸,例如,信息直接調(diào)制紅外光的強(qiáng)弱進(jìn)行傳輸,也可以用紅外線產(chǎn)生一定頻率的載波,再用信息對(duì)載波進(jìn)行調(diào)制,接收端去掉載波,取到信息。第2章 設(shè)計(jì)目的及設(shè)計(jì)要求2.1 設(shè)計(jì)目的訓(xùn)練學(xué)生綜合運(yùn)用己學(xué)課程的基本知識(shí),獨(dú)立進(jìn)行單片機(jī)應(yīng)用技術(shù)

3、開發(fā)工作,掌握單片機(jī)程序設(shè)計(jì)、調(diào)試,應(yīng)用電路設(shè)計(jì)、分析及調(diào)試檢測。2.2 設(shè)計(jì)要求本次單片機(jī)課程設(shè)計(jì)的設(shè)計(jì)要求如下:  1、 應(yīng)用MCS-51單片機(jī)設(shè)計(jì)簡單紅外收發(fā)器;  2、 選用紅外發(fā)射、紅外接收器,紅外發(fā)射、接收距離大于10M;3、 硬件設(shè)計(jì)根據(jù)設(shè)計(jì)的任務(wù)選定合適的單片機(jī),根據(jù)控制對(duì)象設(shè)計(jì)接口電路。設(shè)計(jì)的單元電路必須有工作原理,器件的作用,分析和計(jì)算過程;  4、 軟件設(shè)計(jì)根據(jù)電路工作過程,畫出軟件流程圖,根據(jù)流程圖編寫相應(yīng)的程序,進(jìn)行調(diào)試并打印程序清單; 5、 原理圖設(shè)計(jì)根據(jù)所確定的設(shè)計(jì)電路,利用

4、Protel等有關(guān)工具軟件繪制電路原理圖、PCB板圖、提供元器件清單。2.3 紅外收發(fā)器簡介紅外線發(fā)射器是一種遙控設(shè)備,具有遙控功能。它通過紅外線發(fā)射管在一定范圍內(nèi)向外發(fā)射光線,從而達(dá)到控制信號(hào)的作用,廣泛應(yīng)用于消費(fèi)電子、工業(yè)和通信等紅外線接發(fā)器、數(shù)據(jù)傳輸技術(shù)等領(lǐng)域。紅外線接收器是一種可以接收紅外信號(hào)并能獨(dú)立完成從紅外線接收到輸出與TTL電平信號(hào)兼容的器件,體積和普通的塑封三極管差不多,適合于各種紅外線遙控和紅外線數(shù)據(jù)傳輸。具有小型設(shè)計(jì)、內(nèi)置專用IC 寬角度及長距離接收、抗干擾能力強(qiáng)、能抵擋環(huán)境干擾光纖、低電壓工作的特點(diǎn)。第3章 紅外收發(fā)器硬件電路設(shè)計(jì)及電路描述3.1 電路總體設(shè)計(jì)框架按照系統(tǒng)

5、設(shè)計(jì)的功能的要求,確定設(shè)計(jì)系統(tǒng)主要由發(fā)射模塊與接收模塊兩部分組成。  發(fā)送模塊先由輸入信號(hào),以二進(jìn)制信號(hào)的形式,傳送給單片機(jī),然后單片機(jī)將待發(fā)送的二進(jìn)制信號(hào)編碼調(diào)制為一系列的脈沖串信號(hào),通過紅外發(fā)射管發(fā)射紅外信號(hào)。紅外接收模塊普遍采用價(jià)格便宜,性能可靠的一體化紅外接收頭接收紅外信號(hào),它同時(shí)對(duì)信號(hào)進(jìn)行放大、檢波、整形,得到TTL電平的編碼信號(hào),再傳送給單片機(jī),經(jīng)單片機(jī)解碼并由數(shù)碼管顯示接收到的數(shù)據(jù)。紅外發(fā)射電路單片機(jī)輸入信號(hào)紅外接收頭輸出信號(hào)單片機(jī)圖1 總體設(shè)計(jì)框圖3.2 單片機(jī)AT89C2051簡介單片機(jī)就是在一塊半導(dǎo)體硅片上集成了未處理器(CPU),存儲(chǔ)器(RAM,ROM,EPRO

6、M)和各種輸入、輸出接口(定時(shí)器/計(jì)數(shù)器,并行I/O口,串行口,A/D轉(zhuǎn)換器以及脈寬調(diào)制器PWM等),這樣一塊集成電路芯片具有一臺(tái)計(jì)算機(jī)的屬性。  MCS-51單片機(jī)的類型包含:基本型、增強(qiáng)型、低功耗型、專用型、超8位型、片內(nèi)閃爍存儲(chǔ)器型。  MCS-51單片機(jī)的硬件結(jié)構(gòu):微處理器、數(shù)據(jù)存儲(chǔ)器、程序存儲(chǔ)器、4個(gè)8位并行I/O口、1個(gè)串行口、2個(gè)16位定時(shí) 器/計(jì)數(shù)器、中斷系統(tǒng)、特殊功能寄存器AT89C2051引腳如圖2所示。(RXD)P3.0(TXD)P3.1XTAL2RST/VPPXTAL1(INT0)P3.2(INT1)P3.3(T0)P3.4(T1)P3.5GNDVC

7、CP1.7P1.6P1.5P1.4P1.3P1.2P1.1(AIN1)P1.0(AIN0)P3.71234567891011121314151617181920圖2 AT89C2051引腳圖3.2.1 單片機(jī)內(nèi)部結(jié)構(gòu)AT89C2051是一帶有2K字節(jié)閃速可編程可擦除只讀存儲(chǔ)器(EEPROM)的低電壓,高性能8位CMOS微型計(jì)算機(jī)。它采用ATMEL的高密非易失存儲(chǔ)技術(shù)制造并和工業(yè)標(biāo)準(zhǔn)MCS51指令集和引腳結(jié)構(gòu)兼容。通過在單塊芯片上組合通用的CPLI和閃速存儲(chǔ)器,ATMEL AT89C2051是一強(qiáng)勁的微型計(jì)算機(jī),它對(duì)許多嵌入式控制應(yīng)用提供一定高度靈活和成本低的解決辦法3.2.2 單片機(jī)

8、功能AT89C2051提供以下標(biāo)準(zhǔn)功能:2K字節(jié)閃速存儲(chǔ)器,128字節(jié)RAM,15根I/O口,兩個(gè)16位定時(shí)器,一個(gè)五向量兩級(jí)中斷結(jié)構(gòu),一個(gè)全雙工串行口,一個(gè)精密模擬比較器以及兩種可選 的軟件節(jié)電工作方式??臻e方停止CPU工作但允許RAM、定時(shí)器/計(jì)數(shù)器、串行工作口和中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM內(nèi)容但振蕩器停止工作并禁止有其它部件的工作到下一個(gè)硬件復(fù)位。3.2.3 單片機(jī)復(fù)位復(fù)位是使CPU和系統(tǒng)中的其他功能部件都處在一個(gè)確定的初始狀態(tài), 并從這個(gè)狀態(tài)開始工作。無論是在單片機(jī)剛開始接上電源時(shí), 還是斷電后或者發(fā)生故障后都要復(fù)位。89系列單片機(jī)的復(fù)位信號(hào)是從R

9、ST引腳輸人到芯片的施密特觸發(fā)器中的。當(dāng)系統(tǒng)處于正常工作狀態(tài)時(shí), 且振蕩器穩(wěn)定后, 如果RST引腳有一個(gè)高電平并維持2個(gè)機(jī)器周期(24個(gè)振蕩周期), 則CPU就可響應(yīng)并且將系統(tǒng)復(fù)位。本此設(shè)計(jì)使用的是上電復(fù)位。上電壓從無到有在RESET處會(huì)先處于高電平一段時(shí)間,然后由于該點(diǎn)通過 電阻接地則RESET該點(diǎn)的電平會(huì)逐漸的改變?yōu)榈碗娖?,從而使得單片機(jī)復(fù) 位口電平從1到0,達(dá)到給單片機(jī)復(fù)位的功能。3.3 紅外收發(fā)模塊3.3.1 紅外發(fā)射模塊復(fù)位是使CPU和系統(tǒng)中的其他功能部件都處在一個(gè)確定的初始狀態(tài), 并從這個(gè)狀態(tài)開始工作。無論是在單片機(jī)剛開始接上電源時(shí),

10、0;還是斷電后或者發(fā)生故障后都要復(fù)位。89系列單片機(jī)的復(fù)位信號(hào)是從RST引腳輸人到芯片的施密特觸發(fā)器中的。當(dāng)系統(tǒng)處于正常工作狀態(tài)時(shí), 且振蕩器穩(wěn)定后, 如果RST引腳有一個(gè)高電平并維持2個(gè)機(jī)器周期(24個(gè)振蕩周期), 則CPU就可響應(yīng)并且將系統(tǒng)復(fù)位。本此設(shè)計(jì)使用的是上電復(fù)位。上電壓從無到有在RESET處會(huì)先處于高電平一段時(shí)間,然后由于該點(diǎn)通過 電阻接地則RESET該點(diǎn)的電平會(huì)逐漸的改變?yōu)榈碗娖?,從而使得單片機(jī)復(fù) 位口電平從1到0,達(dá)到給單片機(jī)復(fù)位的功能。開始輸入信號(hào)初始化,紅外發(fā)射端口信號(hào)掃描紅外數(shù)據(jù)發(fā)射圖3 紅外發(fā)射流程圖3.3.2 紅外接收模塊紅外接收電路主要

11、由單片機(jī)、紅外接收頭和顯示部分組成,發(fā)射端發(fā)射的紅外信號(hào)經(jīng)過接受處理,傳給單片機(jī)。接收電路使用一體化的紅外接裝置,將發(fā)送的信號(hào)接收,放大、檢波、整形,并且經(jīng)P1.0傳輸可以讓單片機(jī)識(shí)別的TTL信號(hào),經(jīng)單片機(jī)解碼由數(shù)碼管顯示。首先初始化紅外接收端口,然后檢測是否接收紅外信號(hào),如果接收到紅外信 號(hào)就調(diào)用接收子程序,然后就通過數(shù)碼管顯示當(dāng)前LED燈熄滅的狀態(tài)如此循環(huán)。開始初始化紅外接收端口 接收紅外信號(hào) N Y調(diào)用接收程序 數(shù)碼管顯示結(jié)束圖4 紅外接收流程圖第4章 總 結(jié)這次課程設(shè)計(jì)是對(duì)我們學(xué)習(xí)微機(jī)原理及單片機(jī)課程的檢驗(yàn)及實(shí)際應(yīng)用能力的一次提高。我們所設(shè)計(jì)的是紅外收發(fā)器。所能實(shí)現(xiàn)的是紅外的發(fā)射和接收

12、,發(fā)射部分通過鍵盤輸入數(shù)字通過AT89C51編碼并用紅外二極管發(fā)射出去。接收部分通過另外一塊AT89C51通過中斷方式接收紅外信號(hào)并解碼,最后從數(shù)碼管顯示所按下的鍵號(hào)。    原理圖的設(shè)計(jì)時(shí)我們使用了Altium6.0這個(gè)強(qiáng)大的繪圖工具,由于一些實(shí)際的器件在器件庫中無法找到,我們只有自己制作,在這個(gè)過程中我們學(xué)到了很多的知識(shí)和方法。在制作PCB印刷電路板的時(shí)候,很多器件的封裝與實(shí)際尺寸存在很大的差別,為了獲得準(zhǔn)確的封裝,我們實(shí)際測量了所給器件的大小與規(guī)格,自己制作與之匹配的封裝庫,這讓我們明白實(shí)踐是出真知的唯一途徑,只有親自動(dòng)手,實(shí)際才能測試才能獲得最可靠的設(shè)計(jì)數(shù)

13、據(jù)。當(dāng)然我們也出現(xiàn)了嚴(yán)重的失誤,由于對(duì)電源與地的距離估計(jì)不足,導(dǎo)致兩者過近,出現(xiàn)了短接的危險(xiǎn)。因此我們不得不重新處理這個(gè)問題,這個(gè)教訓(xùn)也告誡了我們,對(duì)于任何小的 細(xì)節(jié)都不能掉以輕心,小的疏忽也會(huì)造成大的損失。對(duì)于電路圖和電路板都應(yīng)當(dāng)采取科學(xué)謹(jǐn)慎的態(tài)度,這是保證是的基本實(shí)驗(yàn)結(jié)果產(chǎn)生的前提,在正式焊接前,對(duì)電路板的核查測試應(yīng)當(dāng)細(xì)心備至,反復(fù)檢測才不會(huì)導(dǎo)致最終的失敗。    程序的編寫過程也給了我們很大的收獲。在編寫程序之前,我們查閱了大量的相關(guān)資料,力求做到規(guī)范清晰。在把握了整體的思路后,我們先從程序流程圖  著手, 將整個(gè)程序分成若干模塊,分開編

14、寫,一邊發(fā)現(xiàn)問題一邊解決問題,并在實(shí)驗(yàn)板上檢驗(yàn)程序測試情況,根據(jù)現(xiàn)象不斷修改。在這個(gè)過程中我們體會(huì)到編程的技巧,設(shè)置子程序的合理性,同時(shí)對(duì)單片機(jī)最小系統(tǒng)的設(shè)計(jì)有了整體的理解和深刻的體會(huì),使我們的思維的鍛煉與能力培養(yǎng)有了很大的提高和長足的進(jìn)步。    本次課程設(shè)計(jì)雖然時(shí)間很短,但收獲卻很大。首先我們對(duì)單片機(jī)最小系統(tǒng)的設(shè)計(jì)有了整體的把握,對(duì)程序編寫的合理與規(guī)范性有了深刻的理解,建立起程序設(shè)計(jì)的一般思路,以及Altium6.0的使用方法,其強(qiáng)大的功能給我們提供了很大的幫助,通過原理圖的設(shè)計(jì)過程,使我們認(rèn)識(shí)到了這個(gè)軟件的重要性,我們會(huì)以此為契機(jī),在日后的學(xué)習(xí)中會(huì)繼續(xù)使用它

15、,使其發(fā)揮更大的功能。參考文獻(xiàn)1 單片微型計(jì)算機(jī)與接口技術(shù),李群芳、黃建編著,電子工業(yè)出版社; 2 單片機(jī)原理及應(yīng)用,張毅剛編著,高等教育出版社;   3 51系列單片機(jī)及C51程序設(shè)計(jì),王建校,楊建國等編著,科學(xué)出版社;4 單片機(jī)原理及接口技術(shù),李朝青編著,北京航空航天大學(xué)出版社;   5 張毅剛,彭喜源.MCS-51單片機(jī)應(yīng)用設(shè)計(jì)M.哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1997.附錄1 系統(tǒng)電路圖圖5 程序仿真原理圖附錄2 主要源代碼紅外發(fā)射模塊#include <reg52.H>#define

16、 uchar unsigned char#define uint unsigned int /共陽極/*0,1,2,3,4,5,6,7,8,9,*/uchar code seg=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90;uint count;uint buf_count=0;uchar buf=0; uchar sys1; /系統(tǒng)碼1bit endcode=0,new_code=0;uchar sys2,common_code_count=0,key_bit_count,buf_key_code,key_code,ir_status;

17、/系統(tǒng)碼2uchar dat; /數(shù)據(jù)碼uchar undat;/數(shù)據(jù)反碼sbit ir=P33 ;sbit led=P32 ;/延時(shí)子程序10usvoid delay_10us(unsigned char y)unsigned char x;for(x=y;x>0;x-); /主函數(shù)-void main() TMOD=0x02; EA=1; EX1=1; ET0=1; IT1=1; ir=1; TH0=0Xd2; /定時(shí)50us TL0=0Xd2; TR0=1;/開定時(shí)器中斷 P2=segkey_code%10; while(1) while(!new_code); P2=segkey

18、_code%10; new_code=0; TR0=1; /-void recive() interrupt 2 using 1 /如果信號(hào)合法,則放入buf_count,count清0,對(duì)下一個(gè)脈沖信號(hào)計(jì)時(shí) if(count>20&&count<300) buf_count=count; count=0; delay_10us(10);/延時(shí)100us以消除下降沿跳變抖動(dòng) if(ir=0)/INT1引腳穩(wěn)定為低電平,則表法確實(shí)是信號(hào),count重新計(jì)時(shí),因上面延時(shí)了50us,故要補(bǔ)償1次TO中斷 count=2; if(buf_count>20&&a

19、mp;buf_count<300)/若收到的信號(hào)合法,則再進(jìn)行信號(hào)分析 if(ir_status=0)/如果之前未收到引導(dǎo)碼 if(buf_count>250&&buf_count<300)/判斷是否引導(dǎo)碼13.5ms ir_status=1;/系統(tǒng)標(biāo)記 buf_count=0;/ else if(ir_status=1)/收到引導(dǎo)碼 if(common_code_count>=15)/若收完16個(gè)脈沖 ir_status=2;/數(shù)據(jù)解碼標(biāo)記 common_code_count=0;/系統(tǒng)碼計(jì)算清零 buf_count=0;/中斷計(jì)數(shù)暫存清0 else

20、if(buf_count>40&&buf_count<50)|(buf_count>20&&buf_count<30) buf_count=0; common_code_count+;/每收到一個(gè)信號(hào)自加1 else if(ir_status=2)/進(jìn)入數(shù)據(jù)編碼接收 if(key_bit_count<8)/收到數(shù)據(jù)少于8位,則將收到的數(shù)據(jù)寫入buf_key_code if(buf_count>40&&buf_count<50) buf_count=0; buf_key_code>>=1; bu

21、f_key_code|=0x80;/收到1 key_bit_count+;/數(shù)據(jù)脈沖累加 else if(buf_count>20&&buf_count<30)/收到0 buf_count=0; buf_key_code>>=1;/收到0 key_bit_count+; else /若收完8位數(shù)據(jù)則做以下處理 ir_status=0;/接收狀態(tài)返回到空閑 key_code=buf_key_code; key_bit_count=0; buf_key_code=0; buf_count=0; TR0=0; new_code=1; /定時(shí)器中斷void ti

22、me0() interrupt 1 using 1 count+;/定時(shí)器中斷次數(shù)累加 紅外接收模塊#include <reg52.H>#include <intrins.h> #include <absacc.h> #define uchar unsigned char#define uchar unsigned char#define uint unsigned intsbit key1=P20;sbit key2=P21;sbit key3=P22;sbit key4=P23;sbit key5=P24;sbit key6=P25;sbit key7=

23、P26;sbit key8=P27;sbit T=P30;sbit TT=P31;uchar S1=0x55;uchar S2=0xAA;uchar buf;uchar i; /結(jié)束碼void TR_OVER() T=1; TH0=0XA6;TL0=0X28; /23MS while(TF0=0) ; T=0; TF0=0; TH0=0XDC;TL0=0X5C; /9.12MS while(TF0=0); T=1; TF0=0; TH0=0Xf7;TL0=0X36; /2.25MS while(TF0=0); TF0=0; T=0; /數(shù)據(jù)碼void TR_DATA(uchar dat) fo

24、r(i=0;i<8;i+) buf=dat&0x01; if(buf=1) TH0=0XFD;TL0=0XD0; /0.56MS T=1;while(TF0=0); T=0;TF0=0; TH0=0XF9;TL0=0X6B; /1.685MS while(TF0=0) ; TF0=0; if(buf=0) TH0=0XFD;TL0=0XD0; /0.56MS T=1;while(TF0=0); T=0;TF0=0; TH0=0XFD;TL0=0XCB; /0.565MS while(TF0=0) ;TF0=0; dat=dat>>1; /起始碼void TR_START() T=1; TH0=0XDC;TL0=0X5C; /9.12MS TR0=1; while(TF0=0); T=0;TF

溫馨提示

  • 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)論