

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 單片機(jī)系統(tǒng)開(kāi)發(fā)與應(yīng)用工程實(shí)習(xí)報(bào)告</p><p> 選題名稱(chēng): 基于STC89C52的學(xué)習(xí)型紅外遙控器的設(shè)計(jì)</p><p> 系(院): </p><p> 專(zhuān) 業(yè): </p><p> 班 級(jí):
2、 </p><p> 姓 名: 學(xué) 號(hào): </p><p> 指導(dǎo)教師: </p><p> 學(xué)年學(xué)期: 2009 ~ 2010 學(xué)年 第 2 學(xué)期</p><p> 2014年 12 月 08
3、 日</p><p><b> 摘要:</b></p><p> 學(xué)習(xí)型紅外線(xiàn)遙控器,通過(guò)自學(xué)習(xí)而擁有對(duì)多臺(tái)電器的遙控功能。該遙控器有兩種狀態(tài):學(xué)習(xí)狀態(tài)和控制狀態(tài)。處于學(xué)習(xí)狀態(tài)時(shí),使用者每按一個(gè)控制鍵紅外接收電路就開(kāi)始接收外來(lái)紅外信號(hào),并將其轉(zhuǎn)換為電信號(hào),然后經(jīng)過(guò)檢波、整形、放大,再由單片機(jī)定時(shí)對(duì)其采樣,將每個(gè)采樣點(diǎn)的二進(jìn)制數(shù)據(jù)以8位為一個(gè)單位,分別存放到指定的存
4、儲(chǔ)單元中去,供以后對(duì)該設(shè)備控制使用;處于控制狀態(tài)時(shí),使用者每按一個(gè)控制鍵單片機(jī)從指定的存儲(chǔ)單元中讀取二進(jìn)制數(shù)據(jù),串行輸出(位和位之間的時(shí)間間隔等于采樣的時(shí)間間隔)給信號(hào)保持電路,同時(shí)由調(diào)制電路進(jìn)行信號(hào)調(diào)制,將調(diào)制信號(hào)經(jīng)放大后,由紅外線(xiàn)發(fā)射二極管進(jìn)行發(fā)射,從而實(shí)現(xiàn)對(duì)該鍵對(duì)應(yīng)設(shè)備功能的控制。</p><p> 關(guān)鍵詞:學(xué)習(xí)型;紅外線(xiàn)遙控器;學(xué)習(xí)狀態(tài);控制狀態(tài);STC89C52</p><p>
5、;<b> 目 錄</b></p><p><b> 1 課題綜述1</b></p><p> 1.1 課題來(lái)源及意義1</p><p> 1.2 預(yù)期目標(biāo)1</p><p> 1.3 面對(duì)的問(wèn)題1</p><p> 1.4 需解決的關(guān)鍵技術(shù)1</
6、p><p><b> 2 系統(tǒng)分析1</b></p><p> 2.1 涉及的基礎(chǔ)知識(shí)1</p><p> 2.2 解決問(wèn)題的基本思路2</p><p> 2.3 總體方案3</p><p> 2.3 功能模塊框圖3</p><p><b> 3
7、 系統(tǒng)設(shè)計(jì)4</b></p><p> 3.1電路原理圖4</p><p><b> 3.2實(shí)現(xiàn)方法5</b></p><p> 3.3 詳細(xì)流程圖5</p><p><b> 4 代碼編寫(xiě)6</b></p><p> 4.1 STC89C52
8、單片機(jī)與各模塊電路的連接端口分配6</p><p> 4.2 復(fù)位電路的設(shè)計(jì)6</p><p> 4.3 按鍵電路設(shè)計(jì)的實(shí)現(xiàn)7</p><p> 4.4 中斷程序的實(shí)現(xiàn)8</p><p> 4.5 主函數(shù)的實(shí)現(xiàn)10</p><p><b> 5 程序調(diào)試10</b><
9、/p><p> 6 運(yùn)行與測(cè)試11</p><p><b> 總 結(jié)12</b></p><p><b> 參考文獻(xiàn)13</b></p><p><b> 1 課題綜述</b></p><p> 1.1 課題來(lái)源及意義</p>
10、<p> 目前,人們的物質(zhì)文化生活水平日益提高,各種各樣的家用電器走進(jìn)了千家萬(wàn)戶(hù),其中,大多數(shù)的家用電器都有各自不同的遙控器,人們常常為了控制某臺(tái)電器到處尋找其對(duì)應(yīng)的遙控器,這樣就給人們的生活帶來(lái)了很多步便。為了解決這個(gè)問(wèn)題,笨項(xiàng)目提出了一個(gè)多功能遙控器的設(shè)計(jì)方案:該遙控器可以通過(guò)自學(xué)習(xí)而擁有對(duì)多臺(tái)電器的遙控功能,既省時(shí)又省力,從而使人們免除同時(shí)面對(duì)眾多遙控器的苦惱。</p><p><b&
11、gt; 1.2 預(yù)期目標(biāo)</b></p><p> 設(shè)計(jì)一種基于STC89C52單片機(jī)控制的紅外線(xiàn)遙控器,具有以下功能:</p><p> 1、適用于編碼式紅外線(xiàn)遙控型家用電器</p><p> 2、可遙控多臺(tái)家用電器</p><p> 3、具有一個(gè)學(xué)習(xí)/控制復(fù)用鍵</p><p> 4、可通過(guò)
12、一個(gè)設(shè)備選擇鍵和各個(gè)功能控制鍵實(shí)現(xiàn)對(duì)多臺(tái)設(shè)備的常用功能的學(xué)習(xí)和控制</p><p> 5、成本低,抗干擾能力強(qiáng)</p><p><b> 1.3 面對(duì)的問(wèn)題</b></p><p> 1、對(duì)于STC89C52單片機(jī)的了解及應(yīng)用</p><p> 2、對(duì)于抗干擾能力的解決</p><p>
13、 1.4 需解決的關(guān)鍵技術(shù)</p><p> 本項(xiàng)目是通過(guò)掃描按鍵的狀態(tài)、單片機(jī)外中斷0和定時(shí)/計(jì)數(shù)器程序來(lái)判斷遙控器處于什么狀態(tài),實(shí)現(xiàn)什么功能,因此,對(duì)于功能鍵的設(shè)計(jì)和中斷程序的設(shè)計(jì)是難點(diǎn)。同時(shí),對(duì)于紅外發(fā)射和紅外接收的工作原理和設(shè)計(jì)對(duì)于我們來(lái)說(shuō)也是陌生的,都要從頭開(kāi)始,對(duì)其進(jìn)行了解、掌握及使用,所以也是一個(gè)難題。</p><p><b> 2 系統(tǒng)分析</b>
14、</p><p> 2.1 涉及的基礎(chǔ)知識(shí)</p><p> 通過(guò)對(duì)本項(xiàng)目的了解,為了實(shí)現(xiàn)該項(xiàng)目的各個(gè)功能,必須要掌握以下知識(shí)點(diǎn):</p><p><b> 1、電源原理及設(shè)計(jì)</b></p><p> 2、單片機(jī)復(fù)位電路工作原理及設(shè)計(jì)</p><p> 3、單片機(jī)晶振電路工作原理及設(shè)計(jì)
15、</p><p><b> 4、按鍵電路的設(shè)計(jì)</b></p><p> 5、驅(qū)動(dòng)74LS07的特性及使用</p><p> 6、一體化紅外遙控接收器的特性及使用</p><p> 7、STC89C52單片機(jī)引腳</p><p> 8、單片機(jī)C語(yǔ)言程序設(shè)計(jì)</p><
16、p> 2.2 解決問(wèn)題的基本思路</p><p> 2.2.1 STC89C52單片機(jī)的基本知識(shí)</p><p> 功能特性:STC89C52是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash 存儲(chǔ)器。使用Atmel 公司高密度非 易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完 全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于 常規(guī)編
17、程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng) 可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提 供高靈活、超有效的解決方案。 STC89C52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM, 32 位I/O 口線(xiàn),看門(mén)狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16 位 定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口, 片內(nèi)晶振及時(shí)鐘電路。另外,STC89C52 可降至0Hz 靜態(tài)邏 輯操作,支持2種軟件可選擇節(jié)
18、電模式。空閑模式下,CPU 停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。8 位微控制器 8K 字節(jié)在系統(tǒng)可編程 Flash STC89C52。</p><p> 主要性能:與MCS-51單片機(jī)產(chǎn)品兼容、8K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器、1000次擦寫(xiě)周期、全靜態(tài)操作:0Hz~33Hz 、
19、 三級(jí)加密程序存儲(chǔ)器 、32個(gè)可編程I/O口線(xiàn) 、三個(gè)16位定時(shí)器/計(jì)數(shù)器八個(gè)中斷源、全雙工UART串行通道、低功耗空閑和掉電模式、掉電后中斷可喚醒、看門(mén)狗定時(shí)器、雙數(shù)據(jù)指針、掉電標(biāo)識(shí)符。</p><p> 圖2-1 STC89C52引腳圖</p><p> 2.2.2 對(duì)于抗干擾能力的解決</p><p> 該項(xiàng)目中采用一體化紅
20、外遙控接收器HX1838,該接收器的內(nèi)部包括紅外光敏二極管、諧振電路、放大電路、解碼器、濾波器等,其工作電壓為+5V,輸出引腳直接輸出不帶副載波的負(fù)極性RC-5V信號(hào),具有電路簡(jiǎn)單、靈敏度高、抗干擾性好等優(yōu)點(diǎn)。</p><p><b> 2.3 總體方案</b></p><p> 學(xué)習(xí)型紅外線(xiàn)遙控器,通過(guò)自學(xué)習(xí)而擁有對(duì)多臺(tái)電器的遙控功能。該遙控器有兩種狀態(tài):學(xué)習(xí)狀
21、態(tài)和控制狀態(tài)。處于學(xué)習(xí)狀態(tài)時(shí),使用者每按一個(gè)控制鍵紅外接收電路就開(kāi)始接收外來(lái)紅外信號(hào),并將其轉(zhuǎn)換為電信號(hào),然后經(jīng)過(guò)檢波、整形、放大,再由單片機(jī)定時(shí)對(duì)其采樣,將每個(gè)采樣點(diǎn)的二進(jìn)制數(shù)據(jù)以8位為一個(gè)單位,分別存放到指定的存儲(chǔ)單元中去,供以后對(duì)該設(shè)備控制使用;處于控制狀態(tài)時(shí),使用者每按一個(gè)控制鍵單片機(jī)從指定的存儲(chǔ)單元中讀取二進(jìn)制數(shù)據(jù),串行輸出(位和位之間的時(shí)間間隔等于采樣的時(shí)間間隔)給信號(hào)保持電路,同時(shí)由調(diào)制電路進(jìn)行信號(hào)調(diào)制,將調(diào)制信號(hào)經(jīng)放大后
22、,由紅外線(xiàn)發(fā)射二極管進(jìn)行發(fā)射,從而實(shí)現(xiàn)對(duì)該鍵對(duì)應(yīng)設(shè)備功能的控制。</p><p> 2.3 功能模塊框圖</p><p> 遙控器由紅外接收及紅外發(fā)射電路、復(fù)位電路、控制器STC89C52、按鍵及狀態(tài)指示電路組成,其組成框圖如圖2-1所示。</p><p> 圖2-2基于STC89C52學(xué)習(xí)型紅外線(xiàn)遙控器系統(tǒng)框圖</p><p><
23、;b> 3 系統(tǒng)設(shè)計(jì)</b></p><p><b> 3.1電路原理圖</b></p><p> 控制芯片選擇STC89C52單片機(jī),控制系統(tǒng)按最小化工作模式設(shè)計(jì),P1.0接紅外線(xiàn)發(fā)射,P1.6和P1.7接兩個(gè)發(fā)光二極管用來(lái)指示遙控器的工作狀態(tài),P3.4和P3.5用來(lái)接收和發(fā)射紅外線(xiàn)。紅外接收采用一體化紅外遙控接收器(HX1838)。其原理圖
24、如圖3-1所示。</p><p> 圖3-1 基于STC89C52學(xué)習(xí)型紅外遙控器原理圖</p><p><b> 3.2實(shí)現(xiàn)方法</b></p><p> 當(dāng)紅外遙控器的某個(gè)按鍵按下時(shí),發(fā)射出的一組串行二進(jìn)制編碼脈沖,該脈沖由引導(dǎo)碼、系統(tǒng)碼、功能碼和反碼組成,通過(guò)設(shè)置這些編碼以及碼長(zhǎng)便可區(qū)分不同的紅外遙控器。紅外接收器負(fù)責(zé)紅外信號(hào)的接收
25、和放大并解調(diào)出TTL電平信號(hào)送至微處理器進(jìn)行處理,微處理器通過(guò)比較和識(shí)別接收來(lái)的紅外遙控編碼便可執(zhí)行相應(yīng)的遙控功能,本系統(tǒng)的設(shè)計(jì)思想是不考慮紅外編碼方式,僅利用單片機(jī)STC89C52對(duì)多個(gè)紅外遙控編碼的脈沖寬度進(jìn)行測(cè)量,并原封不動(dòng)地把發(fā)射信號(hào)中高、低電平的時(shí)間寬度記憶至存儲(chǔ)區(qū)的指定地址。當(dāng)要發(fā)射紅外信號(hào)時(shí),從存儲(chǔ)區(qū)中還原出相應(yīng)的紅外遙控編碼,并調(diào)制到38kHz的載波信號(hào)上,最后,通過(guò)74LS07驅(qū)動(dòng)發(fā)光二極管發(fā)射紅外信號(hào),達(dá)到學(xué)習(xí)和發(fā)射
26、的目的,從而實(shí)現(xiàn)一個(gè)遙控器控制多種遙控設(shè)備的功能。</p><p><b> 3.3 詳細(xì)流程圖</b></p><p> 在程序中主程序完成初始化、按鍵掃描和調(diào)用信號(hào)發(fā)射程序的功能,學(xué)習(xí)功能通過(guò)中斷0來(lái)完成。程序的具體流程圖如圖3-2所示。</p><p> (a)主程序流程圖 (b)中
27、斷程序流程圖</p><p> 圖3-2 基于STC89C52學(xué)習(xí)型紅外線(xiàn)遙控器程序流程圖</p><p><b> 4 代碼編寫(xiě)</b></p><p> 4.1 STC89C52單片機(jī)與各模塊電路的連接端口分配</p><p> P1.6和P1.7分別接學(xué)習(xí)燈指示燈和發(fā)射指示燈</p><
28、p> sbit studylamp=P2^7;//學(xué)習(xí)指示燈</p><p> sbit lamp=P2^6;//發(fā)射指示燈</p><p> sbit studykey=P3^2;//學(xué)習(xí)鍵(中斷口)</p><p> sbit remotein=P1^1;//遙控信號(hào)輸入口</p><p> sbit remoteout=
29、P1^2;//遙控信號(hào)輸出口</p><p> sbit txkey=P1^0;//發(fā)射鍵</p><p> 4.2 復(fù)位電路的設(shè)計(jì)</p><p> 復(fù)位電路實(shí)現(xiàn)的是對(duì)單片機(jī)以及整個(gè)電路的初始化 </p><p> uint i,j,n;//定義各個(gè)變量</p><p> uint idata FH[55
30、]; //存脈沖寬度高電平數(shù)據(jù)用 </p><p> uint idata FL[55]; //存脈沖寬度低電平數(shù)據(jù)用 </p><p> uint head,head2;//存起始位用</p><p> clearmen()//初始化函數(shù)</p><p><b> {</b></p>&l
31、t;p> studylamp=1;//關(guān)學(xué)習(xí)指示燈</p><p> lamp=1;//關(guān)發(fā)射指示燈</p><p> remoteout=1;//關(guān)遙控輸出</p><p> remotein=1;</p><p> head=0; //起始位1 清0</p><p> head2=0; //
32、起始位2 清0</p><p> for(i=0;i<55;i++)//清內(nèi)存 </p><p><b> {</b></p><p> FH[i]=0x0000;</p><p> FL[i]=0x0000;</p><p><b> }</b></p
33、><p> IE=0x00;//中斷允許控制寄存器置0</p><p> IP=0x01;//定義中斷優(yōu)先級(jí)</p><p> TMOD=0x21;//8位自動(dòng)重裝模式和定時(shí)器0為16位模式</p><p> TCON=0x00;//定時(shí)器溢出位清零</p><p> TH1=0xf3;//40khz初值<
34、/p><p><b> TL1=0xf3;</b></p><p> IT0=1;//脈沖觸發(fā)方式,負(fù)跳變有效</p><p> EX0=1;//外中斷允許</p><p> EA=1;//開(kāi)總中斷</p><p><b> }</b></p><p
35、> 定義延時(shí)1ms子程序</p><p> delay1ms(uint t) //1ms延時(shí)子程序</p><p><b> {</b></p><p> for(i=0;i<t;i++)</p><p> for(j=0;j<120;j++);</p><p><
36、;b> }</b></p><p> 4.3 按鍵電路設(shè)計(jì)的實(shí)現(xiàn)</p><p> 通過(guò)掃描按鍵來(lái)判斷實(shí)現(xiàn)的功能,并通過(guò)按鍵進(jìn)入中斷程序</p><p> void keywork()//鍵功能鍵</p><p><b> {</b></p><p> if(txk
37、ey==0)</p><p><b> { </b></p><p> delay1ms(100);</p><p> if(txkey==0)</p><p><b> {</b></p><p> remoteout=1; //關(guān)閉紅外輸出口 <
38、/p><p> TH0=~head/256;</p><p> TL0=~head%256;</p><p> ET1=1;TR1=1;// 產(chǎn)生脈沖</p><p><b> TR0=1;</b></p><p> while(TF0==0);</p><p>
39、;<b> TR0=0;</b></p><p><b> TF0=0;</b></p><p> ET1=0;TR1=0;// 不產(chǎn)生脈沖</p><p> remoteout=1; //關(guān)閉紅外輸出口 </p><p> TH0=~head2/256;</p>
40、<p> TL0=~head2%256;</p><p><b> TR0=1;</b></p><p> while(TF0==0);</p><p><b> TR0=0;</b></p><p><b> TF0=0;</b></p>&
41、lt;p><b> n=0;</b></p><p><b> while(1)</b></p><p><b> {</b></p><p> TH0=~FL[n]/256;</p><p> TL0=~FL[n]%256;</p><p&
42、gt; ET1=1;TR1=1;// 產(chǎn)生脈沖</p><p> lamp=~lamp;</p><p><b> TR0=1;</b></p><p> while(TF0==0);</p><p><b> TR0=0;</b></p><p><b
43、> TF0=0;</b></p><p> ET1=0;TR1=0;// 不產(chǎn)生脈沖</p><p> remoteout=1; //關(guān)閉紅外輸出口</p><p> TH0=~FH[n]/256;</p><p> TL0=~FH[n]%256;</p><p> lamp=~
44、lamp;</p><p><b> TR0=1;</b></p><p> while(TF0==0);</p><p><b> TR0=0;</b></p><p><b> TF0=0;</b></p><p> if(FH[n]==0
45、)</p><p><b> {</b></p><p><b> lamp=0;</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> n++;
46、</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> 4.4 中斷程序的實(shí)現(xiàn)<
47、/p><p> 4.4.1定時(shí)器中斷T1的服務(wù)程序</p><p> 定時(shí)器中斷T1的服務(wù)程序,實(shí)現(xiàn)控制紅外發(fā)射燈是否發(fā)射。當(dāng)remoteout為低電平時(shí),紅外發(fā)射處于工作狀態(tài),會(huì)發(fā)出紅外信號(hào);當(dāng)送入的為高電平時(shí),紅外發(fā)射不工作。</p><p> void time_intt1(void) interrupt 3//定時(shí)器中斷T1</p>&l
48、t;p><b> {</b></p><p> remoteout=~remoteout;</p><p><b> }</b></p><p> 4.4.2 外中斷0的服務(wù)程序</p><p> 外中斷服務(wù)程序?qū)崿F(xiàn)的是接收遙控器發(fā)射的紅外信號(hào),判斷其高低電平,并存入單片機(jī)指定的位置
49、,以供當(dāng)系統(tǒng)處于學(xué)習(xí)狀態(tài)時(shí),該紅外遙控器進(jìn)行學(xué)習(xí),并控制家電的使用。</p><p> void intt0(void) interrupt 0//外中斷0 接收遙控器發(fā)射的紅外信號(hào),判斷其高低電平,并存入單片機(jī)指定的位置</p><p><b> {</b></p><p> ET1=0;//關(guān)定時(shí)器1中斷 </p>
50、<p> TR1=0;//關(guān)定時(shí)器1 </p><p> EX0=0;//關(guān)外部中斷0</p><p> EA=0; //關(guān)總中斷 </p><p><b> n=0;</b></p><p> head=0; //起始位1 清0</p><p> hea
51、d2=0; //起始位2 清0</p><p> for(i=0;i<55;i++)//清內(nèi)存 </p><p><b> {</b></p><p> FH[i]=0x0000;</p><p> FL[i]=0x0000;</p><p><b> }</b&
52、gt;</p><p> studylamp=0; //學(xué)習(xí)指示燈亮 </p><p> lamp=1; //發(fā)射指示燈滅 </p><p><b> TH0=0x00;</b></p><p><b> TL0=0x00;</b></p><p><
53、;b> TR0=0;</b></p><p> while(remotein==1);//等待遙控碼輸入 </p><p> TR0=1; //啟動(dòng)定時(shí)器 </p><p> while(remotein==0); //低電平 </p><p><b> TR0=0;</b></p
54、><p> head=TH0*256+TL0; //起始位低電平脈寬寬度測(cè)量 </p><p><b> TH0=0x00;</b></p><p><b> TL0=0x00;</b></p><p><b> TR0=1;</b></p><p&g
55、t; while(remotein==1); //高電平 </p><p><b> TR0=0;</b></p><p> head2=TH0*256+TL0; //起始位高電平脈寬寬度測(cè)量 </p><p><b> while(1)</b></p><p><b&
56、gt; {</b></p><p><b> TH0=0x00;</b></p><p><b> TL0=0x00;</b></p><p><b> TR0=1;</b></p><p> while(remotein==0); //低電平</
57、p><p><b> TR0=0;</b></p><p> FL[n]=TH0*256+TL0;//數(shù)據(jù)位低電平脈寬寬度測(cè)量 </p><p><b> TH0=0x00;</b></p><p><b> TL0=0x00;</b></p><p&
58、gt;<b> TR0=1;</b></p><p> while(remotein==1) //高電平</p><p><b> {</b></p><p> if(TH0>0x0E)</p><p><b> {</b></p><
59、p> goto end; </p><p><b> } </b></p><p><b> } </b></p><p><b> TR0=0;</b></p><p> FH[n]=TH0*256+TL0;//數(shù)據(jù)位高電平脈寬寬度測(cè)量 </p>
60、;<p> n++;//FH和FL共用一個(gè) n</p><p><b> } </b></p><p> end:FH[n]=0x0000;</p><p> studylamp=1; //學(xué)習(xí)指示燈滅 </p><p> lamp=0; //發(fā)射指示燈亮 </p>
61、;<p><b> TR0=0;</b></p><p><b> TF0=0;</b></p><p><b> TH0=0x00;</b></p><p><b> TL0=0x00;</b></p><p><b>
62、 EX0=1;</b></p><p><b> EA=1;</b></p><p><b> }</b></p><p> 4.5 主函數(shù)的實(shí)現(xiàn)</p><p> 主函數(shù)只需調(diào)用初始化函數(shù)實(shí)現(xiàn)電路復(fù)位,調(diào)用按鍵函數(shù)實(shí)現(xiàn)學(xué)習(xí)、控制功能。</p><p>&
63、lt;b> main()</b></p><p><b> {</b></p><p> clearmen();</p><p><b> while(1)</b></p><p><b> {</b></p><p> k
64、eywork();//按鍵掃描</p><p><b> }</b></p><p><b> }</b></p><p><b> 5 程序調(diào)試</b></p><p> 各個(gè)函數(shù)實(shí)現(xiàn)后,對(duì)該函數(shù)整體實(shí)現(xiàn),并進(jìn)行調(diào)試了,調(diào)試過(guò)程中出現(xiàn)了一些低級(jí)錯(cuò)誤,如變量的書(shū)寫(xiě)錯(cuò)誤,
65、定義的錯(cuò)誤等等,但整體的模塊規(guī)劃設(shè)計(jì)實(shí)現(xiàn)跟設(shè)想的還是一樣比較完整、正確的,故軟件的實(shí)現(xiàn)還是比較順利的。</p><p><b> 6 運(yùn)行與測(cè)試</b></p><p> 本項(xiàng)目設(shè)計(jì)的是一個(gè)多功能紅外線(xiàn)遙控器,控制電路板的安裝與調(diào)試在整個(gè)系統(tǒng)研制中占有重要位置,它是把理論付諸實(shí)踐的過(guò)程,也是把紙面設(shè)計(jì)轉(zhuǎn)變成實(shí)際產(chǎn)品的必經(jīng)階段。在調(diào)試過(guò)程中藥注意以下幾個(gè)特點(diǎn)。<
66、;/p><p> 正確使用測(cè)量?jī)x器的接地端,儀器的接地端與電路的接地端要可靠連接。</p><p> 在信號(hào)較弱的輸入端,盡可能使用屏蔽線(xiàn)連線(xiàn),屏蔽線(xiàn)的外屏蔽層要接到公共地線(xiàn)上,在頻率較高時(shí)要設(shè)法隔離連接線(xiàn)分布電容的電影,例如用示波器測(cè)量時(shí)應(yīng)該使用使用示波器探頭連接,以減少分布電容的影響。</p><p> 測(cè)量電壓所用儀器的輸入阻抗必須遠(yuǎn)大于被測(cè)處的等效阻抗。&
67、lt;/p><p> 測(cè)量?jī)x器的帶寬必須大于被測(cè)量電路的帶寬。</p><p> 正確選擇測(cè)量點(diǎn)和測(cè)量。</p><p> 認(rèn)真觀察記錄實(shí)驗(yàn)過(guò)程,包括條件、現(xiàn)象、數(shù)據(jù)、波形、相位等。</p><p> 出現(xiàn)故障時(shí)要認(rèn)真查找原因。</p><p> 在程序調(diào)試成功之后,我將該程序燒入STC89C52芯片中,并對(duì)整個(gè)
68、系統(tǒng)進(jìn)行了測(cè)試。剛開(kāi)始時(shí),當(dāng)按下學(xué)習(xí)鍵時(shí),其學(xué)習(xí)指示燈不亮,于是,我用萬(wàn)能表對(duì)焊接的狀態(tài)指示電路進(jìn)行了測(cè)試,最后發(fā)現(xiàn)是與單片機(jī)的P1.6端口接入處沒(méi)有焊實(shí)。但經(jīng)焊實(shí)后,發(fā)現(xiàn)跟我要系統(tǒng)實(shí)現(xiàn)的功能還是不完全,于是我又對(duì)程序進(jìn)行了修改,經(jīng)多次燒寫(xiě)、運(yùn)行、調(diào)試,終于實(shí)現(xiàn)了學(xué)習(xí)型紅外線(xiàn)遙控功能。</p><p> 遙控器在使用時(shí)按下學(xué)習(xí)鍵,待學(xué)習(xí)指示燈亮后,用原遙控器對(duì)著紅外接收頭按下某一功能鍵,當(dāng)學(xué)習(xí)指示燈滅時(shí),就可按
69、發(fā)射鍵進(jìn)行遙控操作了。本設(shè)計(jì)還有較多的擴(kuò)展空間,若在系統(tǒng)中擴(kuò)展一個(gè)存儲(chǔ)器,再加入相應(yīng)的按鍵就可以制作成一個(gè)學(xué)習(xí)型的萬(wàn)能遙控器。</p><p><b> 總 結(jié)</b></p><p> 本次單片機(jī)系統(tǒng)開(kāi)發(fā)與應(yīng)用工程實(shí)習(xí)報(bào)告前后歷時(shí)兩周。此次工程實(shí)習(xí)的前一周,我們對(duì)整個(gè)系統(tǒng)的進(jìn)行了深入的了解,并對(duì)其進(jìn)行了整體規(guī)劃,分別劃分為STC89C52控制器模塊、紅外接收
70、電路模塊、紅外發(fā)射電路模塊、狀態(tài)指示電路模塊、復(fù)位電路模塊、電源電路模塊。當(dāng)我把該系統(tǒng)的模塊確定以后,就初步畫(huà)出該系統(tǒng)的硬件電路原理圖,經(jīng)過(guò)確定以后,就開(kāi)始了硬件電路的焊接。經(jīng)過(guò)對(duì)焊接的電路運(yùn)行和測(cè)試成功后,就對(duì)軟件設(shè)計(jì)進(jìn)行了簡(jiǎn)單的設(shè)計(jì)。實(shí)習(xí)的第二周主要是將程序燒寫(xiě)入硬件電路中,并對(duì)其進(jìn)行運(yùn)行與調(diào)試。</p><p> 在學(xué)習(xí)這門(mén)課程時(shí),感到單片機(jī)的概念抽象,對(duì)其中的引腳的分配、寄存器的功能等基本理論也不能很好
71、地理解與掌握。通過(guò)本次工程實(shí)習(xí),我對(duì)學(xué)到的單片機(jī)知識(shí)有了更深一步的深入,而且,本次實(shí)習(xí)讓我對(duì)于實(shí)踐也有了基本認(rèn)識(shí)。剛開(kāi)始時(shí),我有的只是書(shū)本上的東西,只有表面記憶,通過(guò)該次實(shí)習(xí),我對(duì)其有了進(jìn)一步的了解,如STC89C52單片機(jī)芯片的具體功能、默認(rèn)輸出的值,元器件的如何正確焊接,如何驗(yàn)證元器件的焊接是否正確等等。</p><p> 本次工程實(shí)習(xí)是本科學(xué)習(xí)階段很有價(jià)值的理論與實(shí)踐相結(jié)合的機(jī)會(huì),這次實(shí)習(xí)能這么順利的完成
72、,首先感謝淮陰工學(xué)院、計(jì)算機(jī)工程學(xué)院提供的實(shí)踐機(jī)會(huì),同時(shí)也感謝實(shí)驗(yàn)室老師給我們提供的良好的實(shí)驗(yàn)環(huán)境。當(dāng)然,更要感謝一直陪伴在實(shí)驗(yàn)室的老師孜孜不倦的教誨、細(xì)心的指導(dǎo)和不懈的支持,以及同班同學(xué)的幫忙調(diào)試,讓我學(xué)會(huì)了很多東西。這次比較系統(tǒng)的學(xué)習(xí)型紅外遙控器的設(shè)計(jì)提高了我運(yùn)用所學(xué)的專(zhuān)業(yè)基礎(chǔ)知識(shí)來(lái)解決面臨實(shí)際問(wèn)題的能力,讓我見(jiàn)證了單片機(jī)應(yīng)用的價(jià)值,同時(shí)也提高了我查閱各種文獻(xiàn)資料、設(shè)計(jì)手冊(cè)、設(shè)計(jì)規(guī)范以及軟件編程的水平。</p><
73、;p><b> 參考文獻(xiàn)</b></p><p> 1 趙鑫,蔣亮,齊兆群等.數(shù)字電路設(shè)計(jì).北京:機(jī)械工業(yè)出版社,2005</p><p> 2 蘇家健,曹柏榮,汪志鋒.單片機(jī)原理及應(yīng)用技術(shù). 北京:高等教育出版社,2003</p><p> 3 李朝青. 單片機(jī)原理及接口技術(shù). 北京:北京航天航空大學(xué)出版色,2001</p
74、><p> 4 胡漢才. 單片機(jī)原理及其接口技術(shù). 北京:清華大學(xué)出版社,2004.</p><p> 5 潭浩強(qiáng).C語(yǔ)言程序設(shè)計(jì).北京:清華大學(xué)出版社.2005</p><p> 6 李華,李東.MCS51/98系列單片機(jī)原理與應(yīng)用.北京:機(jī)械工業(yè)出版社.1997</p><p> 7 楊居義,楊堯,楊曉琴等.單片機(jī)課程設(shè)計(jì)指導(dǎo).北京:
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于at89s52的學(xué)習(xí)型紅外遙控器設(shè)計(jì)畢業(yè)論文
- 基于at89s52的學(xué)習(xí)型紅外遙控器設(shè)計(jì)2畢業(yè)論文
- 基于at89s52的學(xué)習(xí)型紅外遙控器的設(shè)計(jì)2畢業(yè)論文
- c語(yǔ)言基于at89s52的紅外遙控器設(shè)計(jì)畢業(yè)論文
- 畢業(yè)設(shè)計(jì)---基于at89s52單片機(jī)的遙控器設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----基于at89s52單片機(jī)的遙控器設(shè)計(jì)
- c語(yǔ)言基于at89s52的紅外遙控器的設(shè)計(jì)論文
- 畢業(yè)設(shè)計(jì) pic學(xué)習(xí)型紅外遙控器設(shè)計(jì)
- 基于at89s52單片機(jī)的遙控器設(shè)計(jì)畢業(yè)論文
- 單片機(jī)基于at89s52單片機(jī)的遙控器設(shè)計(jì)畢業(yè)論文
- 單片機(jī)基于at89s52單片機(jī)的遙控器設(shè)計(jì)畢業(yè)論文
- 基于單片機(jī)的學(xué)習(xí)型遙控器設(shè)計(jì)
- 基于at89s52單片機(jī)的紅外遙控小車(chē)制作畢業(yè)論文
- 畢業(yè)設(shè)計(jì)---基于at89s52的交通燈控制器設(shè)計(jì)
- 基于at89s52的智能數(shù)字鐘畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于at89s52單片機(jī)信號(hào)發(fā)生器的設(shè)計(jì)
- 基于at89s52單片機(jī)的光電計(jì)數(shù)器畢業(yè)設(shè)計(jì)
- 基于at89s52的多功能設(shè)計(jì)時(shí)鐘畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于at89s52的倉(cāng)庫(kù)溫濕度的檢測(cè)設(shè)計(jì)
- 基于at89s52的簡(jiǎn)易計(jì)算器設(shè)計(jì)畢業(yè)論文
評(píng)論
0/150
提交評(píng)論