畢業(yè)設(shè)計(jì)(論文)智能學(xué)習(xí)型遙控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
畢業(yè)設(shè)計(jì)(論文)智能學(xué)習(xí)型遙控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
畢業(yè)設(shè)計(jì)(論文)智能學(xué)習(xí)型遙控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
畢業(yè)設(shè)計(jì)(論文)智能學(xué)習(xí)型遙控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
畢業(yè)設(shè)計(jì)(論文)智能學(xué)習(xí)型遙控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、引言智能學(xué)習(xí)型遙控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)第 41 頁( 共 42 頁)系統(tǒng)綜述1 引言1 引言11.11選題背景22 系統(tǒng)綜述22.1遙控系統(tǒng)綜述32.1.1紅外遙控系統(tǒng)編碼及譯碼技術(shù)32.1.2脈寬調(diào)制控制技術(shù)32.2 系統(tǒng)及需求分析42.2.1 主要功能42.2.2 可行性分析42.3 遙控器設(shè)計(jì)背景62.4 遙控器功能簡介62.4.1 紅外信號產(chǎn)生發(fā)送功能62.4.2 紅外信號接收整形功能62.4.3 紅外信號學(xué)習(xí)功能62.4.4 復(fù)合macro功能62.4.5 操作蜂鳴提示功能72.5 系統(tǒng)開發(fā)目標(biāo)73 系統(tǒng)分析73.1 硬件結(jié)構(gòu)圖73.2 功能模塊圖74 系統(tǒng)設(shè)計(jì)84.1 硬件模塊結(jié)構(gòu)設(shè)計(jì)

2、84.1.1 總電路圖84.1.3 蜂鳴器提示部分設(shè)計(jì)104.2 軟件設(shè)計(jì)134.2.1 譯碼原理134.2.2 主體程序流程圖164.2.3 譯碼程序流程圖175 系統(tǒng)實(shí)現(xiàn)185.1 硬件部分的實(shí)現(xiàn)185.2 軟件的實(shí)現(xiàn)205.2.1 譯碼信號發(fā)送程序的實(shí)現(xiàn)215.2.4 對蜂鳴器鳴叫控制程序的實(shí)現(xiàn)266 系統(tǒng)的開發(fā)環(huán)境及測試分析266.1 系統(tǒng)開發(fā)環(huán)境266.2 系統(tǒng)測試分析276.2.1 硬件測試分析276.2.2 程序測試分析276.2.3 全系統(tǒng)測試286.2.4 用戶驗(yàn)收測試287 總結(jié)291選題背景隨著科學(xué)技術(shù)的迅猛發(fā)展,我國電子市場在不斷增大,電子產(chǎn)品走進(jìn)千家萬戶。而在眾多電子

3、產(chǎn)品中紅外線的應(yīng)用相當(dāng)廣泛,一些家用電器控制幾乎都是用紅外遙控器完成。紅外線遙控是目前應(yīng)用最廣泛的一種通信和遙控手段。由于紅外線遙控器具有體積小、功耗低、功能強(qiáng)、成本低等特點(diǎn)。因此,彩電、錄像機(jī)、音響設(shè)備、空調(diào)、玩具、門鈴以及遙控汽車路牌等其它小型裝置上也紛紛采用紅外線遙控。紅外線是一種光線,具有普通光的性質(zhì),可以以光速直線傳播,強(qiáng)度可調(diào),可以通過光學(xué)透鏡聚焦,可以被不透明物體遮擋等等。特別制造的半導(dǎo)體發(fā)光二極管,可以發(fā)出特定波長的紅外線,通過控制二極管的電流可以很方便地改變紅外線的強(qiáng)度,達(dá)到調(diào)制的目的。因此,在現(xiàn)代電子工程應(yīng)用中,紅外線常常被用做近距離視線范圍內(nèi)的通訊載波,最典型的應(yīng)用就是家

4、電遙控器。隨著社會科學(xué)技術(shù)的發(fā)展與俱增,人們的生活水平也是益提高,為了減少人的工作量,所以是對各種家用電器、電子器件的非人工控制的要求也是越來越高,針對與這種情況,設(shè)計(jì)出一種集成度比較高的控制體系是必然的。帶紅外遙控器的家電給我們的生活帶來極大的方便,但遙控器多了很容易弄混,如果有一種可對家中各種紅外遙控器發(fā)射的控制信號進(jìn)行識別、存儲和再現(xiàn)的智能型紅外遙控器,用這樣一個遙控器控制家中所有電器該有多好。為此,我們試著設(shè)計(jì)一種以單片機(jī)為核心的智能型遙控器。經(jīng)指導(dǎo)老師同意,確定了此畢業(yè)設(shè)計(jì)的題目。2 系統(tǒng)綜述本智能學(xué)習(xí)型遙控系統(tǒng)是將紅外發(fā)送與接收技術(shù)應(yīng)用在遙控系統(tǒng)上,它完全可以替代普通的遙控器,而且

5、可以集多個遙控器于一身,解決了日常生活中由于遙控器過多造成的許多不便。本遙控系統(tǒng)將紅外傳送遙控系統(tǒng)智能化,可使產(chǎn)品縮小體積,增強(qiáng)功能,并且能夠?qū)W習(xí)和控制各種不同類型的紅外遙控設(shè)備。本系統(tǒng)所涉及的技術(shù)主要包括:紅外載波數(shù)據(jù)傳輸技術(shù)、單片機(jī)控制技術(shù)、紅外遙控系統(tǒng)編碼及譯碼技術(shù)、脈寬調(diào)制控制技術(shù)、電路pcb設(shè)計(jì)與制作技術(shù)等。 2.1遙控系統(tǒng)綜述2.1.1紅外遙控系統(tǒng)編碼及譯碼技術(shù)本系統(tǒng)中使用的紅外遙控發(fā)射電路sc6122。它是一塊用于紅外遙控系統(tǒng)中的專用發(fā)射集成電路,采用cmos工藝制造,可以在20v至55v的低電壓下工作,它通過sel選擇管腳,可支持128+6條指令碼,用戶編碼可自由選擇。接64個

6、按鍵,其中有三組雙重按鍵。sc6122所發(fā)射的一幀碼含有一個引導(dǎo)碼,16位的用戶編碼和8位的鍵數(shù)據(jù)碼。鍵數(shù)據(jù)碼的反碼也同時被傳送。引導(dǎo)碼由一個9ms的載波波形和4.5ms的關(guān)斷時間構(gòu)成,它作為隨后發(fā)射的碼的引導(dǎo)。這樣,當(dāng)接收系統(tǒng)是由微處理器構(gòu)成的時候,能更有效地處理碼的接收與檢測及其它各項(xiàng)控制之間的時序關(guān)系。編碼采用脈沖位置調(diào)制方式(ppm)。利用脈沖之間的時間間隔來區(qū)分“0”和“1”。每次8位的碼被傳送的同時,它們的反碼也被傳送,以大大減少系統(tǒng)的誤碼率。 2.1.2脈寬調(diào)制控制技術(shù)采樣控制理論中有一個重要結(jié)論:沖量相等而形狀不同的窄脈沖加在具有慣性的環(huán)節(jié)上時,其效果基本相同。脈寬調(diào)制(pwm

7、)控制技術(shù)就是以該結(jié)論為理論基礎(chǔ),對半導(dǎo)體開關(guān)器件的導(dǎo)通和關(guān)斷進(jìn)行控制,使輸出端得到一系列幅值相等而寬度不相等的脈沖,用這些脈沖來代替正弦波或其他所需要的波形。按一定的規(guī)則對各脈沖的寬度進(jìn)行調(diào)制,既可改變逆變電路輸出電壓的大小,也可改變輸出頻率脈寬調(diào)制是一種調(diào)制或改變某個方波的簡單方法。方波占空比基本形式是隨輸入信號變化的。占空比是指方波的高電平時間和低電平時間之比。一個50%占空比的波形會具有50%的高電平時間和50%的低電平時間,而一個10%占空比的波形則具有10%的高電平時間和90%的低電平時間。2.2 系統(tǒng)及需求分析2.2.1 主要功能通過對生活中經(jīng)常用到的遙控系統(tǒng)的了解以及調(diào)查,本系

8、統(tǒng)基本要實(shí)現(xiàn)以下功能:(1) 紅外信號產(chǎn)生發(fā)送功能。在遙控系統(tǒng)接通電源后,就處于工作準(zhǔn)備好狀態(tài),可以通過遙控器上的矩陣按鍵,就可以發(fā)送紅外信號。(2) 紅外信號學(xué)習(xí)功能。在遙控器進(jìn)入學(xué)習(xí)狀態(tài)后,可以按下遙控器的矩陣按鍵,紅外接收頭就會采集到對方發(fā)送的紅外信號,并將電信號轉(zhuǎn)換成數(shù)字信號將其存儲。從而實(shí)現(xiàn)學(xué)習(xí)功能。(3) 復(fù)合macro功能。該功能能夠?qū)崿F(xiàn)一個按鍵可以實(shí)現(xiàn)多個按鍵的功能。(4) 數(shù)據(jù)存儲功能。在對遙控系統(tǒng)在學(xué)習(xí)狀態(tài)下獲取到信號轉(zhuǎn)換成數(shù)字信號的時候,就需要將數(shù)字信號保存到存儲模塊當(dāng)中。2.2.2 可行性分析要完成本系統(tǒng)功能,主要需要解決三大方面的內(nèi)容:第一個就是對紅外信號的譯碼問題,

9、通過查找具體型號遙控器的技術(shù)資料,了解其編碼規(guī)則,并在存儲式示波儀上觀察其具體波形,在以上基礎(chǔ)上還可直接用單片機(jī)將數(shù)據(jù)通過串口傳到pc機(jī)上進(jìn)行具體分析;第二個就是通過按鍵發(fā)送相應(yīng)的數(shù)據(jù)功能的實(shí)現(xiàn),通過單片機(jī)譯出各按鍵的鍵碼值,然后通過紅外發(fā)送頭發(fā)送信號。第三個就是數(shù)據(jù)存儲功能的實(shí)現(xiàn),將接收后轉(zhuǎn)換得到的數(shù)字信號存儲在存儲器中。在技術(shù)難度方面,由于有指導(dǎo)老師的指導(dǎo)和相關(guān)參考文獻(xiàn),因此完全可以實(shí)現(xiàn)。在系統(tǒng)中使用的單片機(jī)是at89s52,at89s52是一個低功耗,高性能cmos 8位單片機(jī),片內(nèi)含8k bytes isp(in-system programmable)的可反復(fù)擦寫1000次的flas

10、h只讀程序存儲器,器件采用atmel公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)mcs-51指令系統(tǒng)及80c51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和isp flash存儲單元,功能強(qiáng)大的微型計(jì)算機(jī)的at89s52可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。at89s52具有如下特點(diǎn):40個引腳,8k bytes flash片內(nèi)程序存儲器,256 bytes的隨機(jī)存取數(shù)據(jù)存儲器(ram),32個外部雙向輸入/輸出(i/o)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計(jì)數(shù)器,2個全雙工串行通信口,看門狗(wdt)電路,片內(nèi)時鐘振蕩器。該單片機(jī)可組成獨(dú)立系統(tǒng),并且成本低,運(yùn)行

11、速度快,其強(qiáng)大的功能是完全可以實(shí)現(xiàn)該系統(tǒng)的。紅外信號譯碼的實(shí)現(xiàn)本系統(tǒng)最重要的就是譯碼的準(zhǔn)確性,為了做到這一點(diǎn)最主要的是要對紅外接收頭輸出信號的徹底分析,主要是通過輸入到存儲式示波儀上觀察其波形,記錄其波形規(guī)則及具體的維持時間,也可以通過單片機(jī)對紅外接收頭輸出的信號通過對高低電平計(jì)數(shù)的方式通過串口輸入到pc機(jī)上,觀察單片機(jī)對信號接收的誤差,再有針對性的進(jìn)行比較準(zhǔn)確的譯碼。在對遙控器發(fā)碼規(guī)則搞清楚的基礎(chǔ)上,就可以在單片機(jī)程序上下功夫進(jìn)行譯碼了,當(dāng)紅外線信號由低跳高或由高跳低的時候啟動定時計(jì)數(shù)器,并對計(jì)數(shù)結(jié)果進(jìn)行保存,再對一系列的數(shù)據(jù)分析判斷其屬于哪個范圍,若屬于編碼規(guī)則“0”的范圍則譯碼“0”,若

12、屬于編碼規(guī)則“1”的范圍則譯碼“1”。然后再對譯碼產(chǎn)生二進(jìn)制位進(jìn)行組合區(qū)分,以分離開客戶碼和按鍵碼等,得到鍵碼值就可以了。按鍵發(fā)送數(shù)據(jù)信號的實(shí)現(xiàn)在遙控器上有按鍵矩陣和學(xué)習(xí)按鍵,當(dāng)在按鍵矩陣中的任意一個鍵按下時,遙控器進(jìn)入發(fā)送信號狀態(tài),紅外發(fā)送頭會將該按鍵的相關(guān)信息發(fā)出。如果按下學(xué)習(xí)按鍵,遙控器進(jìn)入學(xué)習(xí)狀態(tài),然后按下矩陣按鍵中的任意一個,遙控器進(jìn)入等待紅外信號的接收,接收成功后,當(dāng)再次按下矩陣中的那個按鍵后,遙控器又將進(jìn)入發(fā)送信號狀態(tài)。復(fù)合macro功能的實(shí)現(xiàn)在遙控系統(tǒng)學(xué)習(xí)狀態(tài)中,復(fù)合macro功能能夠使一個鍵的集成多個按鍵的功能。在一些單片機(jī)系統(tǒng)中,一鍵多功能的技術(shù),開關(guān)sp1接在p3.7/r

13、d管腳上,在at89s52單片機(jī)的p1端口接有四個發(fā)光二極管,上電的時候,l1接在p1.0管腳上的發(fā)光二極管在閃爍,當(dāng)每一次按下開關(guān)sp1的時候,l2接在p1.1管腳上的發(fā)光二極管在閃爍,再按下開關(guān)sp1的時候,l3接在p1.2管腳上的發(fā)光二極管在閃爍,再按下開關(guān)sp1的時候,l4接在p1.3管腳上的發(fā)光二極管在閃爍,再按下開關(guān)sp1的時候,又輪到l1在閃爍了,如此輪流下去。這樣就實(shí)現(xiàn)了具有一鍵多功能的按鍵識別技術(shù)。操作聲音提示的實(shí)現(xiàn)在本系統(tǒng)中,通過按鍵對系統(tǒng)操作或按鍵發(fā)送信號的時都會有蜂鳴音的提示,蜂鳴是通過和cpu來控制的,其蜂鳴時間長度和頻率都是通過程序控制的。2.3 遙控器設(shè)計(jì)背景以方

14、便人們生活對電器的控制為宗旨,以減輕工人的勞動負(fù)擔(dān)為主要目的。采用先進(jìn)的技術(shù)和方法,依靠高素質(zhì)的科研人員和高水平的檢測檢驗(yàn)隊(duì)伍,提供分析監(jiān)控服務(wù),同時進(jìn)行監(jiān)控技術(shù)和方法的研究。給人們的日常生活帶來更多的方便,建立智能學(xué)習(xí)型遙控系統(tǒng),對電器進(jìn)行遙控,還可以學(xué)習(xí)其它遙控器的按鍵功能,操作的同時還有蜂鳴聲音提示。無論何時何地,都能在你的手中遙控著。2.4 遙控器功能簡介本系統(tǒng)主要實(shí)現(xiàn)以下各功能:紅外信號產(chǎn)生發(fā)送功能、紅外信號接收整形功能、紅外信號學(xué)習(xí)功能、復(fù)合macro功能、操作時蜂鳴提示功能。2.4.1 紅外信號產(chǎn)生發(fā)送功能本紅外遙控系統(tǒng)運(yùn)行后,并不立刻發(fā)送數(shù)據(jù),必須要按下按鍵矩陣中的任何一個鍵后

15、才會發(fā)送信號,若持續(xù)按鍵時間超過一定時間將會自動默認(rèn)你已經(jīng)松開按鍵,發(fā)送頭將按正常情況發(fā)送信號。2.4.2 紅外信號接收整形功能當(dāng)遙控系統(tǒng)進(jìn)入學(xué)習(xí)狀態(tài)下的時候,當(dāng)外界有相應(yīng)的紅外信號發(fā)送過來,紅外接收頭將會接收到該信號并將該信號轉(zhuǎn)換成數(shù)字傳輸給單片機(jī)。2.4.3 紅外信號學(xué)習(xí)功能當(dāng)單片機(jī)收到紅外接收頭傳送來的數(shù)字信號的時候靜態(tài)穩(wěn)定高亮顯示,用來顯示系統(tǒng)所處狀態(tài)。2.4.4 復(fù)合macro功能復(fù)合macro功能就是能夠人那個單片機(jī)的學(xué)習(xí)功能更加強(qiáng)大,減小遙控器的體積,復(fù)合macro功能就是一個鍵可以學(xué)習(xí)多個功能,即可以發(fā)送多種不同的信號。2.4.5 操作蜂鳴提示功能在本系統(tǒng)中只要按鍵就發(fā)出不同的

16、蜂鳴提示。在系統(tǒng)剛接通時,蜂鳴器會連續(xù)鳴叫兩聲,表示系統(tǒng)已經(jīng)準(zhǔn)備好工作。在按鍵矩陣任意按下鍵時,蜂鳴器都會鳴叫一聲,表示信號發(fā)送成功。2.5 系統(tǒng)開發(fā)目標(biāo)(1)開發(fā)出滿足上述功能的系統(tǒng);(2)努力使該系統(tǒng)具有穩(wěn)定、耐用、可靠度高、使用方便等特點(diǎn);(3)盡量降低成本、優(yōu)化系統(tǒng);(4)改進(jìn)設(shè)計(jì)以適合廣泛應(yīng)用。系統(tǒng)分析3 系統(tǒng)分析3.1 硬件結(jié)構(gòu)圖本系統(tǒng)的功能設(shè)計(jì)電路應(yīng)該包括以下幾個基本電路。其電路組成圖如下:mcu按 鍵 矩 陣 led 指示電路紅外發(fā) 射電路功率放大電路eeporm存儲放大電路紅外接收傳 感 器 圖1 智能學(xué)習(xí)型遙控系統(tǒng)結(jié)構(gòu)圖3.2 功能模塊圖根據(jù)本系統(tǒng)設(shè)計(jì)思想,本系統(tǒng)具有紅外信

17、號產(chǎn)生發(fā)送功能、紅外信號接收整形功能、紅外信號學(xué)習(xí)識別功能、復(fù)合macro功能、數(shù)據(jù)存儲功能。其功能框圖如下:智能學(xué)習(xí)型遙控系統(tǒng)紅外學(xué)習(xí)識別功能紅外信號發(fā)射功能紅外信號接收功能復(fù)合macho功能數(shù)據(jù)存儲功能圖2 智能學(xué)習(xí)型遙控系統(tǒng)功能圖系統(tǒng)設(shè)計(jì)4 系統(tǒng)設(shè)計(jì)4.1 硬件模塊結(jié)構(gòu)設(shè)計(jì)在該設(shè)計(jì)中,電路的設(shè)計(jì)都是經(jīng)過再三斟酌的,并且用protel畫出電路圖,為以后做pcb以及焊接電路做好準(zhǔn)備。4.1.1 總電路圖 本系統(tǒng)電路包括電源部分電路、紅外接發(fā)送與接收點(diǎn)路、單機(jī)最小系統(tǒng)電路、蜂鳴器聲音提示電路、數(shù)字信號存儲電路,在本電路中,主要用到單片機(jī)的p0和p1口,p0口把單片機(jī)產(chǎn)生的信號傳送到三極管基極,

18、然后再由紅外發(fā)送頭將它發(fā)送出去。p1口連接矩陣按鍵,來控制單片機(jī)應(yīng)該發(fā)送那個信號。圖3 紅外遙控系統(tǒng)總電路4.1.2 紅外接收部分電路設(shè)計(jì)該圖是紅外線遙控器信號接收頭的簡易電路,它可接收載波頻率從3357khz的遙控器信號。10電阻起到限流的作用,47uf電容濾波減少干擾,當(dāng)紅外接收頭out端沒有信號輸出時,10k的電阻能使紅外接收頭out端保持高電平。以邏輯筆接觸紅外線接收模塊的信號輸出端(out),便可以偵測當(dāng)按下紅外線遙控器某一按鍵時,紅外線數(shù)字信號的發(fā)射。若有發(fā)射紅外線數(shù)字信號則經(jīng)過紅外線接收模塊取出數(shù)字信號數(shù)據(jù),邏輯筆脈沖led便會閃動。這是檢測紅外線遙控器好壞最簡單的方法。當(dāng)外部有

19、紅外線信號時,該led燈會閃爍提示。pnp型三極管的基極接在紅外接收頭的信號輸出引腳,三極管的集電極極接地,發(fā)射極接光發(fā)二極管,然后通過1k的電阻接電源正極,其中1k的電阻在此電路中起限流的作用。當(dāng)沒有紅外線信號的時候,其輸出腳保持高電平,此時三極管截止,當(dāng)有紅外線信號時,紅外線接收頭的輸出會出現(xiàn)低變,此時三極管出現(xiàn)導(dǎo)通電流,所以發(fā)光二極管閃動。圖4 紅外遙控系統(tǒng)接收電路4.1.3 蜂鳴器提示部分設(shè)計(jì)本紅外遙控系統(tǒng)的蜂鳴器聲音提示部分電路如上圖所示,在單片機(jī)的p25腳通過1k的電阻與8550三極管的基極相連,三極管的集電極接地,發(fā)射極與蜂鳴器的負(fù)極相連,蜂鳴器的正極接電源正極。電源正極通過10

20、k電阻與單片機(jī)的p25腳相連。因此當(dāng)p25腳沒有信號輸出高電平時,p25腳相當(dāng)與接一個10k上拉電阻而保持高電平,三極管截止,沒有電流通過蜂鳴器。當(dāng)p25腳輸出低電平時,三極管導(dǎo)通,有電流通過蜂鳴器,蜂鳴器發(fā)出鳴叫聲音,其中1k的電阻起限流作用。因此可以通過程序控制單片機(jī)p25腳的輸出狀態(tài)來控制蜂鳴器的蜂鳴頻率及蜂鳴時間。圖5 遙控系統(tǒng)蜂鳴器提示電路4.1.4 單片機(jī)最小系統(tǒng)及部分周邊電路設(shè)計(jì)單片機(jī)的最小系統(tǒng)包括震蕩電路、復(fù)位電路、工作指示燈等。系統(tǒng)中采用11.0592的振和2個30p的片電容構(gòu)成震蕩電路,由1k電阻和22uf電容和一個按鍵構(gòu)成上電復(fù)位電路,通電工作時工作指示燈為亮。圖6 單片

21、機(jī)最小電路4.1.5 遙控系統(tǒng)按鍵矩陣電路設(shè)計(jì)本實(shí)用新型涉及按鍵控制技術(shù),針對現(xiàn)有技術(shù)端口用量大、成本高的缺陷,提供一種按鍵矩陣,包括按鍵電路和多個按鍵,按鍵電路包括電源、上拉電阻、處理單元和多個分壓支路;多個分壓支路彼此并聯(lián),并與上拉電阻串聯(lián)后接于電源的兩極之間;每一分壓支路對應(yīng)一個按鍵,包括串聯(lián)的按鍵開關(guān)和分壓電阻,各分壓支路分壓電阻的阻值各不相同;處理單元的兩端分別接于多個分壓支路的兩個并聯(lián)端,用于測量按鍵按下時該按鍵對應(yīng)的分壓支路兩端的電壓,并將測得的電壓值與預(yù)先存儲的按鍵電壓值進(jìn)行匹配,輸出匹配按鍵的按鍵值。由于整個按鍵矩陣僅配置一個端口,可大大節(jié)省芯片資源,降低按鍵電路的成本,且使

22、用的器件數(shù)量少,易于實(shí)現(xiàn)。圖7 按鍵矩陣電路4.2 軟件設(shè)計(jì)在本系統(tǒng)中,硬件部分電路設(shè)計(jì)比較簡單,主要的難點(diǎn)就是集中在程序設(shè)計(jì)方面,因?yàn)槌绦蚓褪庆`魂。在譯碼過程中都是要靠嚴(yán)密的程序來實(shí)現(xiàn)的,現(xiàn)在我將具體講解本系統(tǒng)的程序設(shè)計(jì)思想。4.2.1 譯碼原理紅外線遙控器是以紅外發(fā)光led,發(fā)射波長940nm的紅外線不可見光,來傳送信號。整個遙控器系統(tǒng)分為發(fā)射端和接收端兩個部分,發(fā)射端經(jīng)過紅外線發(fā)射led送出紅外線控制信號,這些信號經(jīng)過紅外接收模塊接收端接收進(jìn)來,并對其控制信號做譯碼而做相對的動作輸出,完成遙控的功能。當(dāng)按下遙控器上某鍵后,遙控器上的控制芯片便進(jìn)行編碼產(chǎn)生一組句柄,結(jié)合載波電路的載波信號(

23、一般使用38khz)而成為合成信號,經(jīng)過放大器提升功率而推動紅外線發(fā)射二極管,將紅外線信號發(fā)射出去,所以要發(fā)射的句柄必須加上載波才能使信號傳送的距離加長,一般遙控器的有效距離為7m。紅外接收主要控制組件為紅外線接收模塊,其內(nèi)部含有高頻的濾波電路,專門用來濾除紅外線合成信號的載波信號(38khz)而送出發(fā)射器的控制信號。當(dāng)紅外線合成信號進(jìn)入紅外線接收模塊,在其輸出端便可以得到原先的數(shù)字控制編碼,只要經(jīng)過單片機(jī)譯碼程序進(jìn)行譯碼,便可以得知按下了哪一按鍵,而做出相對應(yīng)的控制處理,完成紅外線遙控的動作。在紅外線信號的傳播中,其編碼方式有:時間調(diào)制、相位調(diào)制、電平調(diào)制等,其中以時間調(diào)制為主。本系統(tǒng)所使用

24、的遙控器的紅外信號編碼方式為時間調(diào)制。要將譯碼做得非常準(zhǔn)確必須先要弄清楚遙控器的編碼規(guī)則及觀察其具體波形,再具體分析其誤差范圍,然后有針對性的譯碼準(zhǔn)確率將大大提高。下面來分析一下所使用的遙控器所發(fā)的紅外信號。首先在存儲式示波儀上觀察其波形如下:圖8 示波儀觀察紅外接收頭信號再查閱該ic遙控器所發(fā)碼的編碼格式如下:圖9 遙控器發(fā)碼格式還了解其邏輯“0”和邏輯“1”的定義:9ms560us560us4.5ms590us1690us引導(dǎo)碼01圖10 遙控器的邏輯位定義圖10為每按下一個按鍵所發(fā)的一串碼的格式,可以觀察看出,該型號遙控器所發(fā)碼包含引導(dǎo)碼、8bit位客戶碼、8bit位客戶碼反碼、8bit

25、按鍵碼、8bit按鍵碼反碼以及結(jié)束碼組成。圖12為其邏輯位的定義,以及其電平時間長度,可以了解其編碼規(guī)則,560us時間的高和590us時間的低電平應(yīng)譯碼“0”,560us時間的高和1690us時間的低電平應(yīng)譯碼“1”。通過大量的實(shí)驗(yàn)測試以及觀察波形發(fā)現(xiàn),紅外接收頭輸出的為遙控器發(fā)射碼的反向,紅外接收頭在沒有信號到達(dá)時,其輸出端一直保持高電平,直到接收到紅外線信號時,才會有低的跳變。這一點(diǎn)是相當(dāng)重要的,因?yàn)閱纹瑱C(jī)對紅外接收頭信號的譯碼正是從第一個低跳變開始的。在圖10中,觀察紅外線信號的波形的時候,一方面是觀察其高低電平的變化,可以直接根據(jù)規(guī)則手工譯碼;另一方面要注意記錄其各電平持續(xù)的時間,確

26、定大概的活動范圍。為了精確起見,可以直接用單片機(jī)將其高低電平計(jì)數(shù)數(shù)據(jù)通過串口傳送到pc機(jī)上仔細(xì)觀察,確定范圍。有了前面的了解,對紅外線信號的譯碼就不是那么困難了??梢杂脝纹瑱C(jī)的一個定時計(jì)數(shù)器,對其高低電平進(jìn)行計(jì)數(shù),具體是這樣的:當(dāng)單片機(jī)檢測到第一個低電平,則定時計(jì)數(shù)器t0立即開始計(jì)數(shù),等到檢測到高電平出現(xiàn),t0停止計(jì)數(shù),讀th0寄存器中的值,檢測是否為引導(dǎo)碼,是就跳過16位的客戶碼,t0計(jì)下每次底電平的時間,再判斷這個時間屬于哪個范圍即可譯碼“0”或者“1”,如此循環(huán),直到譯出所有的位。取鍵值取鍵碼開始系統(tǒng)初始化信號處理生成發(fā)碼波序列發(fā)碼第一幀對方是否有信號發(fā)出繼續(xù)發(fā)一幀碼是否為學(xué)習(xí)鍵否否有等

27、待一定時間接收信號按鍵是否松開鍵4.2.2 主體程序流程圖圖11 主體程序流程圖等待鍵碼下一位高電平,t0停止計(jì)數(shù)等待鍵碼第一位低電平,t0開始計(jì)數(shù)等待鍵碼第一位高電平并置th0、tl0、h_count為零當(dāng)前位為1初始化,置th0、tl0為零判斷其是否為引導(dǎo)碼th00x04進(jìn)入譯碼程序否是h_count8當(dāng)前位為0等待引導(dǎo)碼高電平,t0開始計(jì)數(shù)等待引導(dǎo)碼低電平,t0停止計(jì)數(shù)鍵碼值h_count+是否是否退出譯碼程序4.2.3 譯碼程序流程圖 圖12 譯碼原理程序流程圖系統(tǒng)實(shí)現(xiàn)5 系統(tǒng)實(shí)現(xiàn)5.1 硬件部分的實(shí)現(xiàn)在本系統(tǒng)設(shè)計(jì)中,硬件部分設(shè)計(jì)比較簡單,但也是相當(dāng)重要的。開始可以在萬用板上搭建各部分

28、電路進(jìn)行驗(yàn)證,比如:在電源部分電路的驗(yàn)證中,就可以先在萬用電路板上搭建該部分電路,然后按照輸入的要求輸入9v電壓,用萬用表測試7805的輸出端,看其是否是所需的穩(wěn)定的5v電壓,若是表明該部分是切實(shí)可行的。同樣道理,可以搭建單片機(jī)最小系統(tǒng)、數(shù)碼管顯示電路、蜂鳴電路以及紅外接收頭部分的電路。當(dāng)驗(yàn)證各部分電路都正常運(yùn)行后就可以把它們聯(lián)合起來,進(jìn)行總的程序調(diào)試。搭建實(shí)驗(yàn)電路的目的是為了方便程序的調(diào)試,以及方便硬件電路的修改等,在搭建好的電路上可以很方便的調(diào)試程序,并且可以和單片機(jī)仿真機(jī)連接,直接在pc機(jī)端調(diào)試程序,而不需要往單片機(jī)里反復(fù)地寫程序,對于提高單片機(jī)的使用壽命起到了相當(dāng)大的作用。在所有程序都

29、調(diào)試通過后,就可以用protel設(shè)計(jì)電路板了,在做出電路的pcb圖后,若較簡單的電路可以用熱轉(zhuǎn)印法自己制板,較復(fù)雜的電路板或多面板可送往電路板工廠制作。圖13 示波器顯示一幀信號圖圖14 示波器顯示載波圖圖15 焊接demo實(shí)物圖紅外信號測量報(bào)告(sc6122格式)1、客戶碼00000001 11111111【ff 80】2、鍵碼(01)01010000 10101111【0a】(02)00110000 11001111【0c】(03)10000010 01111101【41】(04)01100000 10011111【06】(05)10111000 01000111【1d】(06)10001

30、000 01110111【11】(07)01001000 10110111【12】(08)11001000 00110111【13】(09)00101000 11010111【14】(10)10101000 01010111【15】(11)01101000 10010111【16】(12)11101000 00010111【17】(13)00011000 11100111【18】(14)00111000 11000111【1c】(15)00000010 11111101【40】(16)00001000 11110111【10】3、占空比4.600ms/13.400ms=1:34、0.1結(jié)構(gòu)0結(jié)

31、構(gòu):高 580.0s 低 540.0s1結(jié)構(gòu):高 580.0s 低 1.680ms5、動態(tài)電流約11.1ma6、靜態(tài)電流約8a該系統(tǒng)元件清單如下:表1 元件清單智能學(xué)習(xí)型遙控系統(tǒng)(元件清單)編號品名型號數(shù)量(個)備注1輕觸按鍵四腳按鍵17無2電解電容22f/22v1無3電解電容220f/220v1無4瓷片電容33pf2無5晶振11.0592khz1無6三極管80851無7發(fā)光二極管紅色2無8蜂鳴器5v1無10紅外接收頭紅外接收頭1無11icat89s521無12電阻1005w1無13電阻15w1無14電阻1k5w3無15電阻10k5w16無16紅外發(fā)送頭紅外發(fā)送頭1無17ic座40pin1無1

32、8ic24c041無5.2 軟件的實(shí)現(xiàn)本系統(tǒng)所采用的ic是at89s52,它的編程語言常用的有二種,一種是匯編語言,一種是c 語言。匯編語言的機(jī)器代碼生成效率很高但可讀性卻并不強(qiáng),復(fù)雜一點(diǎn)的程序就更是難讀懂,而c 語言在大多數(shù)情況下其機(jī)器代碼生成效率和匯編語言相當(dāng),但可讀性和可移植性卻遠(yuǎn)遠(yuǎn)超過匯編語言,而且c 語言還可以嵌入?yún)R編來解決高時效性的代碼編寫問題。對于開發(fā)周期來說,中大型的軟件編寫用c 語言的開發(fā)周期通常要小于匯編語言很多。綜合以上c 語言的優(yōu)點(diǎn),我在本系統(tǒng)的程序設(shè)計(jì)時選擇了c 語言。5.2.1 譯碼信號發(fā)送程序的實(shí)現(xiàn)本系統(tǒng)所使用的遙控器的發(fā)碼格式是采用的日本nec編碼格式,這種格式

33、是很常見的遙控發(fā)碼格式,目前國內(nèi)大多數(shù)遙控器都采用此格式發(fā)碼。要想譯碼必須先了解其發(fā)碼規(guī)則,經(jīng)查閱相關(guān)資料,了解到此遙控器所發(fā)的紅外信號是由引導(dǎo)碼,8位的客戶碼,8位的客戶碼反碼,8位的鍵碼,8位的鍵碼反碼,再加延時,然后再有第二個引導(dǎo)碼,如果按鍵還按著就循環(huán)第二引導(dǎo)碼。經(jīng)過研究此遙控器各鍵的發(fā)碼,發(fā)現(xiàn)各鍵所發(fā)的紅外信號引導(dǎo)碼,客戶碼,第二引導(dǎo)碼都是相同的,不同之處僅只有鍵碼不同,而且鍵碼后8位為前8位的反碼,所以我們所關(guān)注的只是鍵碼部分的波形。從資料上了解到此,此波形的邏輯0定義為560ms的高電平加上560 ms的底電平,邏輯1定義為560ms的高電平加上1690ms的底電平。我們譯碼就是

34、要譯出8位鍵碼的各位是0還是1,從邏輯定義可以發(fā)現(xiàn),它們只是低電平時間不同,因此只要用定時器記住低電平的時間就可以譯碼了,當(dāng)然還要斷判下是否是nec編碼,這里只需要檢測引導(dǎo)碼就可以了。以下程序段是此遙控器的譯碼檢測程序:/ /紅外發(fā)送程序 #include #define uchar unsigned char #define uint unsigned int #define send0 send_pulse_565 (); send_space_1685 (); #define send1 send_pulse_565 (); send_space_560 (); uchar sys_da

35、ta=0x49; /系統(tǒng)碼 sbit out=p37; void send_bit (uchar one_bit); /發(fā)送一位字節(jié) void send_data (uchar one_data); /發(fā)送一個數(shù)據(jù) /包括一個起始標(biāo)志 一個系統(tǒng)碼及其反碼 一個數(shù)據(jù)碼(one_data)及其反碼 char code disp=0x28,0x7e,0xa2,0x62,0x74,0x61,0x21,0x7a,0x20,0x60,0x30,0x25,0xa7,0x26,0xa1,0xb1; char i1=0,i2=0,i3=0,i4=0,i5=0,i6=0,i7=0,i8=0; /顯示緩沖 void

36、 delay(uchar t) char a; while(t-) for(a=255;a0;a-); void display(uchar t) while(t-) p0=dispi1; p2=0x7f; /對p2口進(jìn)行賦值 delay(1); p2=0xff; /對p2口進(jìn)行賦值 p0=dispi2; p2=0xbf; /對p2口進(jìn)行賦值 delay(1); p2=0xff; /對p2口進(jìn)行賦值 p0=dispi3; p2=0xdf; delay(1); p2=0xff; /對p2口進(jìn)行賦值 p0=dispi4; p2=0xef; delay(1); /延時一小段時間 p2=0xff; p

37、0=dispi5; p2=0xf7; delay(1); p2=0xff; p0=dispi6; p2=0xfb; /對p2口進(jìn)行賦值 delay(1); /延時一小段時間 p2=0xff; p0=dispi7; p2=0xfd; delay(1); p2=0xff; p0=dispi8; p2=0xfe; delay(1); p2=0xff; void send_pulse_9000 (void) /9ms脈寬 th0=0xdc; tl0=0xff; tr0=1; tr1=1; while(tr0); tr1=0; out=1; /發(fā)送引導(dǎo)碼中9ms的高電平void send_space_4

38、500 (void) /4.5ms間隔 out=1; th0=0xee; tl0=0x7f; tr0=1; while(tr0); out=1; /發(fā)送引導(dǎo)碼中4.5ms的低電平void send_pulse_565 (void) /0.565ms脈寬 th0=0xfd; tl0=0xee; tr0=1; tr1=1; while(tr0); tr1=0; out=1; /發(fā)送客戶碼565ms的高電平void send_space_1685 (void) /1.685ms間隔 out=1; th0=0xf9; tl0=0x7f; tr0=1; while(tr0); out=1; void s

39、end_space_560 (void) /0.56ms間隔 out=1; th0=0xfd; tl0=0xea; tr0=1; while(tr0); out=1; void send_bit (uchar one_bit) uchar i; uchar key_num=0x01; for(i=0;i1; /one_bit右移一位 void send_data (uchar one_data) uint t=1000; send_pulse_9000(); /起始碼 9ms的脈寬 考慮到誤差 send_space_4500(); /4.5ms的間隔 send_bit (sys_data);

40、/發(fā)系統(tǒng)碼 send_bit (sys_data); /發(fā)系統(tǒng)碼的反碼 send_bit (one_data); /發(fā)數(shù)據(jù)碼 send_bit (one_data); /發(fā)數(shù)據(jù)碼的反碼 tr1=1; while(t-); tr1=0; out=1; void main(void) uchar c=0x77; uint t=65535; tmod=0x21; /t0產(chǎn)生精確時間的延時或脈寬 16位 /t1產(chǎn)生38khz方波 8位自動重裝 th1=0xf3; tl1=0xf3; ie=0x8a; delay(255); display(100); delay(255); display(100);

41、 while(1) send_data(c); void time0 (void) interrupt 1 tr0=0; tr1=0; void time1 (void) interrupt 3 /t1用來產(chǎn)生38khz方波 out=out; 5.2.2 按鍵檢測程序的實(shí)現(xiàn)本系統(tǒng)的按鍵檢測分兩種情況,一種是矩陣按鍵按下的時候,這時候紅外發(fā)射頭會發(fā)送一幀信號,信號里面含有該按鍵的鍵碼。另一種是按下學(xué)習(xí)按鍵后,系統(tǒng)將等待對方的信號輸入,如果有信號輸入,將該信號譯碼并保存至存儲器中備用,如果沒有信號輸入,系統(tǒng)將等待一定得時間,如果超過等待時間還沒有信號輸入,系統(tǒng)將又回到獲取鍵碼的狀態(tài)。以下程序段是此

42、系統(tǒng)檢要的按鍵檢測程序:/判斷是哪鍵接下程序/功能:根據(jù)鍵碼中的值按鍵后需要做出的反應(yīng)/條件:temp_h,temp_l中要有值/結(jié)果:current_n中得到當(dāng)前按鍵if(temp_h=0x00&temp_l=0x09)current_n=1;/判斷是不是矩陣鍵1if(temp_h=0x01&temp_l=0x0d)current_n=2;/判斷是不是矩陣鍵2if(temp_h=0x01&temp_l=0x0f)current_n=3;/判斷是不是矩陣鍵3if(temp_h=0x01&temp_l=0x09)current_n=4;/判斷是不是矩陣鍵4if(temp_h=0x00&temp_

43、l=0x0d) /判斷是不是學(xué)習(xí)按鍵 current_n+; if(current_n=7)current_n=1; 5.2.4 對蜂鳴器鳴叫控制程序的實(shí)現(xiàn)本系統(tǒng)中的蜂鳴器鳴叫控制程序比較簡單,當(dāng)需要鳴叫的時候,給控制蜂鳴器的腳輸出低電平,則蜂鳴器鳴叫,當(dāng)輸出高電平時,蜂鳴器不會鳴叫。通過調(diào)整輸出低電平時間的長短可以控制鳴叫的時間長短。反復(fù)通斷可以讓蜂鳴器連續(xù)鳴叫。以下程序段為對蜂鳴器鳴叫控制程序:/蜂鳴器鳴叫程序beep=1; /一開始蜂鳴器是不應(yīng)該叫的/有按鍵按下時,譯碼,蜂鳴器鳴叫beep=0;/輸出低電平讓蜂鳴器鳴叫delay05s(); /讓蜂鳴器持續(xù)鳴叫0.5秒beep=1;/輸出

44、高電平讓蜂鳴器停止鳴叫 寫入單片機(jī)的部分詳細(xì)程序請參見附錄。系統(tǒng)的開發(fā)環(huán)境及測試分析6 系統(tǒng)的開發(fā)環(huán)境及測試分析6.1 系統(tǒng)開發(fā)環(huán)境系統(tǒng)開發(fā)環(huán)境包括硬件平臺和軟件平臺兩種。硬件環(huán)境。開發(fā)本系統(tǒng)需要一些必須的硬件準(zhǔn)備,如:pc機(jī)、mcs51系列單片機(jī)編程器、萬用電路板、tds220存儲式數(shù)字示波儀、萬用表、5v穩(wěn)壓電源、制板和焊接的一些工具,以及必須的電子元器件等。要很好地完成該設(shè)計(jì)這些都是必須的,pc機(jī)可以實(shí)現(xiàn)程序的編譯產(chǎn)生單片機(jī)可以識別的機(jī)器碼,并可以和外部硬件電路聯(lián)合防真。編程器是單片機(jī)開發(fā)中必不可少的,它的功能是把pc機(jī)編譯后產(chǎn)生的機(jī)器碼寫入單片機(jī)的程序存儲器,因此在單片機(jī)的開發(fā)中起到相

45、當(dāng)大的作用。仿真機(jī)可以通過和pc機(jī)的連接來實(shí)現(xiàn)硬件的防真,而不需要每次都把程序?qū)懭雴纹瑱C(jī)才可以調(diào)試。在本設(shè)計(jì)中還有一個重要的測試工具就是存儲式示波儀,它能較準(zhǔn)確并形象地測試出紅外線信號,并測試出一些必要的數(shù)據(jù),為單片機(jī)的譯碼工作提供重要的依據(jù)。軟件環(huán)境。在本系統(tǒng)的開發(fā)中會用到以下輔助軟件:keil、protel 99se、以及編程器的驅(qū)動等軟件。keil主要是完成程序的編譯及提供防真環(huán)境,應(yīng)用protel可以完成電路及電路板的設(shè)計(jì),protel是一款電路設(shè)計(jì)專業(yè)軟件,應(yīng)用該軟件可以輕松完成電路圖的設(shè)計(jì),并且其超強(qiáng)的自動布線功能,更能出色完成電路pcb的繪制。6.2 系統(tǒng)測試分析在本系統(tǒng)開發(fā)過程

46、中采用了多種措施保證質(zhì)量,但是實(shí)際開發(fā)過程中還是不可避免地會產(chǎn)生差錯,系統(tǒng)中通常可能隱藏著錯誤和缺陷,未經(jīng)周密測試的系統(tǒng)投入應(yīng)用,將會造成難以想像的后果,因此系統(tǒng)測試是開發(fā)過程中為保證質(zhì)量必須進(jìn)行的工作。由于系統(tǒng)中隱藏的某些缺陷只在特定的環(huán)境下才有可靠顯露,系統(tǒng)缺陷通常是由于對某些特定情況考慮不周造成的。因此測試不是為了表明系統(tǒng)正確;成功的測試也不是沒有發(fā)現(xiàn)錯誤的測試。有意義的系統(tǒng)測試應(yīng)該是從“破壞”系統(tǒng)的角度出發(fā),精心設(shè)計(jì)最有可以暴露系統(tǒng)缺陷的測試方案。因此軟件測試的目標(biāo)應(yīng)該是以盡可能少的代價(jià)和時間找出系統(tǒng)中潛在的錯誤和缺陷。6.2.1 硬件測試分析硬件測試一般是對硬件的穩(wěn)定性和可靠度所進(jìn)行

47、的測試,主要是通過改變外部環(huán)境觀察其是否能正常工作,比如電源波動等,并作出相應(yīng)的保護(hù)措施,若發(fā)現(xiàn)問題及時尋求解決的方法,力求增加系統(tǒng)的穩(wěn)定性和安全性。另一方面就是檢測紅外接收頭工作的穩(wěn)定性,在本設(shè)計(jì)中,紅外接收頭是采集紅外線信息的重要元件,所以其能不能正常穩(wěn)定的工作直接影響到測碼系統(tǒng)的穩(wěn)定,可以進(jìn)行多次長時間的測試,看其錯誤的幾率有多大,再根據(jù)具體的情況增加保護(hù),或改善電路,增加抗干擾的能力。6.2.2 程序測試分析單元測試:對每部分功能的單元進(jìn)行測試,單元測試也稱模塊測試或程序測試。單元測試是對每個模塊單獨(dú)進(jìn)行的,驗(yàn)證模塊接口與設(shè)計(jì)說明書是否一致,對模塊的所有主要處理路徑進(jìn)行測試且與預(yù)期的結(jié)

48、構(gòu)進(jìn)行對照,還要對所有錯誤處理路徑進(jìn)行測試。對源碼進(jìn)行審查,對照設(shè)計(jì)說明書,表態(tài)地檢查源程序是否符合功能的邏輯要求,是進(jìn)行單元測試前的重要工作工。組合測試:組合測試的對象是指已經(jīng)通過單元測試的模塊,不是對零散模塊進(jìn)行單個測試,而是用系統(tǒng)化的方法裝配和測試程序系統(tǒng),是一個嚴(yán)格的過程,必須認(rèn)真地進(jìn)行。把各個不同功能的模塊組合起來進(jìn)行相關(guān)功能的嚴(yán)格測試,是否能夠達(dá)到預(yù)期的效果,若出現(xiàn)差錯,客觀認(rèn)真地分析原因,并尋求最佳的解決方案。6.2.3 全系統(tǒng)測試主要把硬件和軟件結(jié)合起來進(jìn)行比較全面的測試,主要可以通過以下各方式進(jìn)行:白盒測試:白盒測試就是在了解系統(tǒng)各功能的情況下所進(jìn)行的有目的的測試,來驗(yàn)證各部

49、分功能是否都已達(dá)到預(yù)期效果,并檢查是否會有新問題的出現(xiàn)。黑盒測試:在對系統(tǒng)功能完全不了解的情況下所進(jìn)行的無目的的測試,對所有按鍵及遙控器的檢測過程中,無目的的隨便操作,觀察其運(yùn)行情況是否有問題出現(xiàn),若有問題及時找出原因,并修改。老化測試:讓系統(tǒng)較長時間工作,觀察其是否能夠長時間正常運(yùn)行,是否有死機(jī)等情況。本系統(tǒng)在該測試中,連續(xù)工作一天各部分功能仍然正常。6.2.4 用戶驗(yàn)收測試在系統(tǒng)測試完成后,進(jìn)行用戶的驗(yàn)收測試,它是用戶在實(shí)際應(yīng)用環(huán)境中所進(jìn)行的真實(shí)測試。產(chǎn)品的服務(wù)者是用戶,用戶的要求高于一切,用戶的意見也代表了一切。該系統(tǒng)在線裝完成后的第一次測試過程中,主要有以下問題:按鍵靈敏度不夠、信號發(fā)

50、送不夠穩(wěn)定,容易受到干擾。針對這些問題我主要對程序做了一定的修改,在按鍵靈敏度問題上,采用結(jié)合實(shí)際情況來完善程序;在信號不穩(wěn)定的問題上,主要是根據(jù)特殊情況解決一些常見的干擾。所以經(jīng)過以上的具體修改問題都有明顯改善。參考文獻(xiàn)7 總結(jié)完成本設(shè)計(jì)需要一定的知識面,和對各種知識的準(zhǔn)備。需要有冷靜的頭腦和分析問題的能力,及解決問題切實(shí)可行的方法。在本設(shè)計(jì)中我認(rèn)為最重要的是以下這些方面和問題:本設(shè)計(jì)中需要注意的重要方面:(1) 需要對單片機(jī)知識有相當(dāng)?shù)牧私?,特別是對定時計(jì)數(shù)器的運(yùn)用,再就是程序設(shè)計(jì)方面,具備對程序運(yùn)行分析的能力,和解決問題的方法;(2) 對紅外接收頭信號的分析一定要準(zhǔn)確,雖然在存儲式示波儀上能夠較形象地觀察到其波形,可畢竟不是最準(zhǔn)確的數(shù)據(jù),若要得到準(zhǔn)確的數(shù)據(jù),在測試階段,可以用單片機(jī)把定時計(jì)數(shù)器所測數(shù)據(jù)直接傳到pc機(jī)進(jìn)行分析,這樣測得數(shù)據(jù)更加準(zhǔn)確,而

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論