單片機(jī)電子系統(tǒng)課程設(shè)計(jì)—紅外遙控密碼鎖_第1頁
已閱讀1頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  《電子系統(tǒng)設(shè)計(jì)》課程設(shè)計(jì)</p><p><b>  實(shí)訓(xùn)報(bào)告</b></p><p><b>  姓 名:</b></p><p><b>  學(xué) 號(hào):</b></p><p><b>  專業(yè)班級(jí):</b><

2、;/p><p><b>  指導(dǎo)教師:</b></p><p>  設(shè)計(jì)題目:紅外遙控密碼鎖</p><p>  完成時(shí)間: 2011年6月20日</p><p><b>  摘 要 </b></p><p>  本文主要闡述一種基于51單片機(jī)和紅外接收管的紅外解碼的單

3、片機(jī)控制系統(tǒng)。文章詳細(xì)介紹了紅外遙控密碼鎖的硬件電路和軟件設(shè)計(jì)。硬件部分利用紅外接收頭的輸出接在AT89C52單片機(jī)INT1中斷口,通過跳變沿觸發(fā)的方式來觸發(fā)單片機(jī)INT1中斷,從而可以對(duì)編碼脈沖進(jìn)行接收、存儲(chǔ)和解碼,然后和用戶所設(shè)置的密碼進(jìn)行比較,來校對(duì)密碼的正確與否,如果密碼正確,伺服電機(jī)(步進(jìn)電機(jī))正反轉(zhuǎn)進(jìn)行開鎖和關(guān)鎖,同時(shí),還有三個(gè)LED來對(duì)系統(tǒng)的復(fù)位、紅外接收、電機(jī)轉(zhuǎn)動(dòng)狀態(tài)進(jìn)行指示。此外,為了防止密碼泄露,該系統(tǒng)還支持用戶重設(shè)

4、密碼,上電復(fù)位的起始密碼為0123,正確輸入密碼后,用戶可以更改密碼。最后,為了防止遙控器失竊,非法人員多次試探嘗試打開遙控鎖,該系統(tǒng)還增加了錯(cuò)誤報(bào)警功能,按五次鍵輸入密碼錯(cuò)誤后,蜂蜜器持續(xù)鳴叫一分鐘進(jìn)行報(bào)警。軟件部分用C語言進(jìn)行編程,采用模塊化設(shè)計(jì)思想。</p><p>  該系統(tǒng)硬件電路簡(jiǎn)單,造價(jià)低廉,操作方便,完全符合設(shè)計(jì)要求,也具有很高的應(yīng)用價(jià)值。例如可以作為汽車車門鎖(較常規(guī)的遙控鎖更安全),也可以作為

5、倉(cāng)庫和家用門鎖等。</p><p>  關(guān)鍵詞:?jiǎn)纹瑱C(jī)、紅外、遙控、密碼鎖</p><p><b>  目 錄</b></p><p><b>  1 緒言1</b></p><p>  1.1 課題背景、發(fā)展及意義1</p><p>  1.2 課程的具體要求及任務(wù)1

6、</p><p>  1.2.1 設(shè)計(jì)任務(wù)1</p><p>  1.2.2 基本要求1</p><p>  1.2.3 發(fā)揮部分1</p><p>  2 紅外遙控鎖總體設(shè)計(jì)方案2</p><p>  2.1 任務(wù)分析與實(shí)現(xiàn)2</p><p>  2.2紅外遙控鎖硬件方案設(shè)計(jì)3&l

7、t;/p><p>  2.3 紅外遙控鎖軟件方案設(shè)計(jì)4</p><p>  3 紅外遙控鎖硬件電路設(shè)計(jì)方法及原理5</p><p>  3.1紅外遙控系統(tǒng)5</p><p>  3.1.1 調(diào)制5</p><p>  3.1.2發(fā)射系統(tǒng)5</p><p>  3.1.3紅外接收頭原理圖6

8、</p><p>  3.2 單片機(jī)的原理及應(yīng)用7</p><p>  3.2.1 單片機(jī)原理簡(jiǎn)介7</p><p>  3.2.2 單片機(jī)最小系統(tǒng)的介紹7</p><p>  3.2.3 單片機(jī)定時(shí)/計(jì)數(shù)功能的介紹8</p><p>  3.3 步進(jìn)電機(jī)工作原理8</p><p> 

9、 3.3.1 步進(jìn)電機(jī)原理8</p><p>  3.3.2 步進(jìn)電機(jī)驅(qū)動(dòng)電路8</p><p>  3.4 LED指示電路9</p><p>  3.5 蜂鳴器電路9</p><p>  3.6 系統(tǒng)原理圖及印刷板圖9</p><p>  3.6.1系統(tǒng)總原理圖9</p><p>

10、  3.6.2 印刷版圖10</p><p>  4軟件設(shè)計(jì)流程11</p><p>  4.1全部軟件12</p><p>  5 系統(tǒng)的調(diào)試與分析12</p><p>  5.1 硬件調(diào)試12</p><p>  5.2 軟件調(diào)試12</p><p>  6 結(jié)論與展望13&l

11、t;/p><p><b>  6.1 結(jié)論13</b></p><p><b>  6.2 展望13</b></p><p><b>  致謝14</b></p><p><b>  參考文獻(xiàn)14</b></p><p><

12、;b>  附錄114</b></p><p><b>  附錄215</b></p><p><b>  1 緒言</b></p><p>  1.1 課題背景、發(fā)展及意義</p><p>  由于紅外線遙控不具有像無線電遙控那樣穿過障礙物去控制被控對(duì)象的能力,所以,在設(shè)計(jì)家用

13、電器的紅外線遙控器時(shí),不必要像無線電遙控器那樣,每套(發(fā)射器和接器)要有不同的遙控頻率或編碼(否則,就會(huì)隔墻控制或干擾鄰居的家用電器),所以同類產(chǎn)品的紅外線遙控器,可以有相同的遙控頻率或編碼,而不會(huì)出現(xiàn)遙控信號(hào)“串門”的情況。這對(duì)于大批量生產(chǎn)以及在家用電器上普及紅外線遙控提供了極大的方便。由于紅外線為不可見光,因此對(duì)環(huán)境影響很小,再由紅外光波動(dòng)波長(zhǎng)遠(yuǎn)小于無線電波的波長(zhǎng),所以紅外線遙控不會(huì)影響其他家用電器,也不會(huì)影響臨近的無線電設(shè)備。隨著

14、科技的進(jìn)步,人們對(duì)物質(zhì)生活的水平的要求也越來越高,以指代步,是人們對(duì)科技的要求。紅外技術(shù)的發(fā)展和紅外線的諸多特性,決定了它在短距里遙控上的應(yīng)用。出于方便性和安全性和方便性的設(shè)計(jì)要求,我設(shè)計(jì)了紅外遙控密碼鎖。</p><p>  1.2 課程的具體要求及任務(wù)</p><p>  1.2.1 設(shè)計(jì)任務(wù)</p><p>  利用單片機(jī)、紅外遙控器、紅外接收頭、LED、蜂鳴

15、器等設(shè)計(jì)一個(gè)紅外遙控密碼鎖。</p><p>  1.2.2 基本要求</p><p>  1.根據(jù)方案設(shè)計(jì)原理電路</p><p>  2.供電電壓5V穩(wěn)壓電源,遙控最大操作距離8m。</p><p>  3.利用EDA仿真軟件對(duì)設(shè)計(jì)電路進(jìn)行仿真</p><p>  1.2.3 發(fā)揮部分</p><

16、;p>  連續(xù)輸入密碼輸入N(N可以軟件設(shè)定)次,實(shí)現(xiàn)可調(diào)報(bào)警功能。</p><p>  2 紅外遙控鎖總體設(shè)計(jì)方案</p><p>  2.1 任務(wù)分析與實(shí)現(xiàn)</p><p>  本設(shè)計(jì)的任務(wù)是:以AT89C52單片機(jī)為處理核心,用紅外接收管接收來自遙控器的紅外波形,經(jīng)過接收管解調(diào)后轉(zhuǎn)化成的脈沖送入單片機(jī)進(jìn)行處理。紅外波的解碼是通過AT89C52單片機(jī)對(duì)紅外

17、接收頭產(chǎn)生的信號(hào)的脈寬進(jìn)行檢測(cè),從而判斷接收到多少個(gè)0和1,最后合成為4個(gè)字節(jié)的8位代碼。通過軟件編碼,給該遙控器編寫相應(yīng)的初始化密碼(啟動(dòng)系統(tǒng)是可以修改成任意的四位密碼),然后通過解碼來識(shí)別密碼,以進(jìn)行進(jìn)一步的操作。</p><p>  本系統(tǒng)總體思路如下:根據(jù)遙控器的按鍵編碼值對(duì)遙控鎖進(jìn)行編程,從而設(shè)置開鎖的初始化密碼。當(dāng)系統(tǒng)啟動(dòng)時(shí),系統(tǒng)進(jìn)入設(shè)正常工作狀態(tài),此時(shí),如果用戶更改了初始密碼,用戶輸入新的密碼,步進(jìn)

18、電機(jī)正轉(zhuǎn)90度開鎖。為了使用方便,專門設(shè)置了一個(gè)按鍵關(guān)鎖(電機(jī)反轉(zhuǎn))。采用初始密碼的操作同上。如果連續(xù)五次輸入的密碼均為錯(cuò)誤,蜂鳴器會(huì)長(zhǎng)鳴30秒報(bào)警(報(bào)警時(shí)間可以通過軟件設(shè)定)。</p><p>  要求達(dá)到的各項(xiàng)指標(biāo)及實(shí)現(xiàn)方法如下:</p><p>  利用紅外接收頭接收來自紅外遙控器的編碼波形,經(jīng)紅外接收頭解調(diào)放大后的脈沖送入單片機(jī)進(jìn)行處理。</p><p> 

19、 對(duì)脈沖信號(hào)的高低電平的時(shí)間長(zhǎng)短進(jìn)行存儲(chǔ)和計(jì)數(shù)。</p><p>  實(shí)現(xiàn):通過軟件編程,用單片機(jī)的定時(shí)和計(jì)數(shù)器對(duì)脈沖的高低電平進(jìn)行計(jì)時(shí)和計(jì)數(shù)。</p><p>  對(duì)數(shù)據(jù)進(jìn)行處理,根據(jù)紅外的編碼方式以脈寬為0.565ms、間隔0.56ms、周期為1.125ms 的組合表示二制的“0”;以脈寬為0.565ms、間隔1.685ms、周期為2.25ms 的組合表示二進(jìn)制的“1”。解碼出的32位

20、二進(jìn)制碼前16為位用戶識(shí)別碼,能識(shí)別不同的電器設(shè)備,后16位為8 位操作碼(功能碼)及其反碼。</p><p>  實(shí)現(xiàn):利用軟件編程,對(duì)數(shù)據(jù)進(jìn)行處理得到相應(yīng)按鍵對(duì)應(yīng)的編碼值。</p><p>  最終實(shí)現(xiàn)目標(biāo):對(duì)遙控器的按鍵值進(jìn)行識(shí)別、存儲(chǔ)和計(jì)數(shù),然后和設(shè)定的密碼組進(jìn)行比較以識(shí)別密碼和控制步進(jìn)電機(jī)開關(guān)鎖??傁到y(tǒng)框圖如圖2.1.1所示。</p><p>  圖2.

21、1.1 紅外電控鎖系統(tǒng)框圖</p><p>  2.2紅外遙控鎖硬件方案設(shè)計(jì)</p><p>  遙控鎖,首先要解決是編碼和解碼的問題。編碼部分采用編碼芯片為HT6221的遙控器面板,當(dāng)發(fā)射器按鍵按下后,即有遙控碼發(fā)出,所按的鍵不同遙控編碼也不同。這種遙控碼具有以下特征:采用脈寬調(diào)制的串行碼,以脈寬為0.565ms、間隔0.56ms、周期為1.125ms 的組合表示二制的“0”;以脈寬為0

22、.565ms、間隔1.685ms、周期為2.25ms 的組合表示二進(jìn)制的“1”。上述“0”和“1”組成的32 位二進(jìn)制碼經(jīng)38kHz 的載頻進(jìn)行二次調(diào)制以提高發(fā)射效率,達(dá)到降低電源功耗的目的,然后再通過紅外發(fā)射二極管產(chǎn)生紅外線向空間發(fā)射。HT6221 產(chǎn)生的遙控編碼是連續(xù)的32 位二進(jìn)制碼組,其中前16 位為用戶識(shí)別碼,能區(qū)別不同的電器設(shè)備,防止不同機(jī)種遙控碼互相干擾。該芯片的用戶識(shí)別碼固定為十六進(jìn)制01H;后16位為8 位操作碼(功能

23、碼)及其反碼。UPD6121G 最多額128 種不同組合的編碼。在解碼的時(shí)候,可以通過單片機(jī)對(duì)紅外接收頭產(chǎn)生的信號(hào)的脈寬進(jìn)行檢測(cè),從而判斷接收到多少個(gè)0和1,最后合成為4個(gè)字節(jié)的8位代碼。接收部分,采用紅外接收頭和單片機(jī)系統(tǒng)。紅外接收頭把接收到的紅外波形轉(zhuǎn)化成紅外脈</p><p>  本設(shè)計(jì)用到的紅外接收頭來接收、放大和解調(diào)接收到的紅外波,只要把該接收頭的輸出引腳連接單片機(jī)的外部中斷口,就可以搭建簡(jiǎn)單的紅外接收

24、電路。通過對(duì)紅外接收頭輸出的正負(fù)脈沖進(jìn)行計(jì)時(shí)和計(jì)數(shù),通過計(jì)算就可以得到按鍵編碼對(duì)應(yīng)的二進(jìn)制數(shù)組。通過該數(shù)組獲得按鍵值。利用紅外接收頭來接收紅外編碼信號(hào),電路簡(jiǎn)單,很容易操作實(shí)現(xiàn),硬件開銷小。</p><p>  紅外信號(hào)收發(fā)系統(tǒng)的典型電路如圖1所示,紅外接收電路通常被廠家集成在一個(gè)元件中,成為一體化紅外接收頭。 內(nèi)部電路包括紅外監(jiān)測(cè)二極管,放大器,限副器,帶通濾波器,積分電路,比較器等。紅外監(jiān)測(cè)二極管監(jiān)測(cè)到紅外信

25、號(hào),然后把信號(hào)送到放大器和限幅器,限幅器把脈沖幅度控制在一定的水平,而不論紅外發(fā)射器和接收器的距離遠(yuǎn)近。交流 信號(hào)進(jìn)入帶通濾波器,帶通濾波器可以通過30khz到60khz的副載波,通過解調(diào)電路和積分電路進(jìn)入比較器,比較器輸出 高低電平,還原出發(fā)射端的信號(hào)波形。注意輸出的高低電平和發(fā)射端是反相的,這樣的目的是為了提高接收的靈敏度。 </p><p>  紅外接收頭的種類很多,引腳定義也不相同,一般都有三個(gè)引腳,包括

26、供電腳,接地和信號(hào)輸出腳。根據(jù)發(fā)射端調(diào)制 載波的不同應(yīng)選用相應(yīng)解調(diào)頻率的接收頭。 </p><p>  大體積紅外接收頭IRM38A引腳說明</p><p>  紅外接收頭內(nèi)部放大器的增益很大,很容易引起干擾,因此在接收頭的供電腳上須加上濾波電容,一般在22uf以上。 有的廠家建議在供電腳和電源之間接入330歐電阻,進(jìn)一步降低電源干擾。 </p><p>  紅外發(fā)

27、射器可從遙控器廠家定制,也可以自己用單片機(jī)的PWM產(chǎn)生,家庭遙控推薦使用紅外發(fā)射管(L5IR4-45)的可產(chǎn)生37.91KHz的PWM, PWM占空比設(shè)置為1/3, 通過簡(jiǎn)單的定時(shí)中斷開關(guān)PWM, 即可產(chǎn)生發(fā)射波形。 </p><p>  2.3 紅外遙控鎖軟件方案設(shè)計(jì)</p><p>  通過軟件控制單片機(jī)的功能是單片機(jī)的主要特點(diǎn)和優(yōu)點(diǎn),程序的設(shè)計(jì)要考慮合理性和可讀性,遵循模塊化設(shè)計(jì)的原

28、則,采用自頂向下的設(shè)計(jì)方法。模塊化設(shè)計(jì)使程序的可讀性好、修改及完善方便。</p><p>  軟件設(shè)計(jì)包括主程序,密碼校驗(yàn)子程序,步進(jìn)電機(jī)正反準(zhǔn)子程序,定時(shí)器0和外部中斷1初始化子程序,延時(shí)子程序,紅外解碼子程序,蜂鳴器子程序等等。</p><p>  密碼校驗(yàn)子程序用來將解碼得到的密碼數(shù)組和設(shè)定的密碼數(shù)組進(jìn)行比較,從而判斷密碼正誤。</p><p>  步進(jìn)電機(jī)正

29、反轉(zhuǎn)子程序用來控制步進(jìn)電機(jī)正反轉(zhuǎn),從而實(shí)現(xiàn)開關(guān)鎖。</p><p>  定時(shí)器0和外部中斷一用來對(duì)定時(shí)器0和外部中斷1進(jìn)行初始化。</p><p>  紅外解碼程序用來將接收到的紅外脈沖的時(shí)間數(shù)據(jù)轉(zhuǎn)換成二進(jìn)制表示的數(shù)據(jù),然后進(jìn)一步解碼為按鍵編碼值。</p><p>  3 紅外遙控鎖硬件電路設(shè)計(jì)方法及原理</p><p><b> 

30、 3.1紅外遙控系統(tǒng)</b></p><p><b>  紅外遙控的概述: </b></p><p>  紅外線的光譜位于紅色光之外, 波長(zhǎng)是0.76~1.5μm,比紅光的波長(zhǎng)還長(zhǎng)。紅外遙控是利用紅外線進(jìn)行傳遞信息的一種控制方式,紅外遙控具有抗干擾,電路簡(jiǎn)單,容易編碼和解碼,功耗小,成本低的優(yōu)點(diǎn)。紅外遙控幾乎適用所有家電的控制。 </p>&

31、lt;p>  紅外遙控系統(tǒng)的主要部分為調(diào)制、發(fā)射和接收,如圖 所示: </p><p><b>  圖1 紅外遙控系統(tǒng)</b></p><p><b>  3.1.1 調(diào)制</b></p><p>  紅外遙控是以調(diào)制的方式發(fā)射數(shù)據(jù),就是把數(shù)據(jù)和一定頻率的載波進(jìn)行“與”操作,這樣既可以提高發(fā)射效率又可以降低電源 功

32、耗。 </p><p>  調(diào)制載波頻率一般在30khz到60khz之間,大多數(shù)使用的是38kHz,占空比1/3的方波,如圖2所示,這是由發(fā)射端所使用的 455kHz晶振決定的。在發(fā)射端要對(duì)晶振進(jìn)行整數(shù)分頻,分頻系數(shù)一般取12,所以455kHz÷12≈37.9 kHz≈38kHz。 </p><p>  3.1.2發(fā)射系統(tǒng)

33、 </p><p>  目前有很多種芯片可以實(shí)現(xiàn)紅外發(fā)射,可以根據(jù)選擇發(fā)出不同種類的編碼。由于發(fā)射系統(tǒng)一般用電池供電,這就要求芯片 的功耗要很低,芯片大多都設(shè)計(jì)成可以處于休眠狀態(tài),當(dāng)有按鍵按下時(shí)才工作,這樣可以降低功耗芯片所用的晶振應(yīng)該有 足夠的耐物理撞擊能力,不能選用普通的石英晶體,一般是選用陶瓷共鳴器,陶瓷共鳴器準(zhǔn)確性沒有石英晶體高,但通常 一點(diǎn)誤差可以忽略不計(jì)。 </p&

34、gt;<p>  紅外線通過紅外發(fā)光二極管(LED)發(fā)射出去,紅外發(fā)光二極管(紅外發(fā)射管)內(nèi)部構(gòu)造與普通的發(fā)光二極管基本相同,材料和普通發(fā)光二極管不同,在紅外發(fā)射管兩端施加一定電壓時(shí),它發(fā)出的是紅外線而不是可見光。 </p><p>  圖3b 射擊輸出驅(qū)動(dòng)電路</p><p>  圖3a 簡(jiǎn)單驅(qū)動(dòng)電路</p><p>  如圖3a和圖3b是LED的驅(qū)

35、動(dòng)電路,圖3a是最簡(jiǎn)單電路, 選用元件時(shí)要注意三極管的開關(guān)速度要快,還要考慮到LED的正向 電流和反向漏電流,一般流過LED的最大正向電流為100mA,電流越大,其發(fā)射的波形強(qiáng)度越大。 </p><p>  圖3a電路有一點(diǎn)缺陷,當(dāng)電池電壓下降時(shí),流過LED的電流會(huì)降低,發(fā)射波形強(qiáng)度降低,遙控距離就會(huì)變小。圖3b所示的 射極輸出電路可以解決這個(gè)問題,兩個(gè)二極管把三級(jí)管基極電壓鉗位在1.2V左右,因此三級(jí)管發(fā)射極電

36、壓固定在0.6V左右, 發(fā)射極電流IE基本不變,根據(jù)IE≈IC,所以流過LED的電流也基本不變,這樣保證了當(dāng)電池電壓降低時(shí)還可以保證一定的遙 控距離。 </p><p>  3.1.3紅外接收頭原理圖</p><p>  紅外接收頭和復(fù)位電路電路原理圖如圖3.1.3所示。</p><p>  圖 3.1.3紅外接收頭和復(fù)位電路電路原理圖</p><

37、;p>  3.2 單片機(jī)的原理及應(yīng)用</p><p>  3.2.1 單片機(jī)原理簡(jiǎn)介</p><p>  單片機(jī)是指集成在一個(gè)芯片上的微型計(jì)算機(jī),也就是把組成微型計(jì)算機(jī)的各種功能部件,包括CPU、隨機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、基本輸入/輸出接口電路。定時(shí)器/計(jì)數(shù)器等部件都制作在一塊芯片上,構(gòu)成一個(gè)完整的微型計(jì)算機(jī)從而實(shí)現(xiàn)微型計(jì)算機(jī)的基本功能。單片機(jī)內(nèi)部結(jié)構(gòu)示意圖如圖3.2.1所

38、示。</p><p>  圖 3.2.1單片機(jī)內(nèi)部結(jié)構(gòu)示意圖</p><p>  3.2.2 單片機(jī)最小系統(tǒng)的介紹</p><p>  AT89C52提供以下標(biāo)準(zhǔn)功能:8K字節(jié)Flash閃速存儲(chǔ)器,256字節(jié)內(nèi)部RAM,32個(gè)I/O口線,3個(gè)16位定時(shí)/計(jì)數(shù)器,5個(gè)中斷源,一個(gè)全雙工串行通信口,片內(nèi)具有振蕩器及時(shí)鐘電路。單片機(jī)最小系統(tǒng)如圖3.4所示。</p&g

39、t;<p>  圖 3.2.2單片機(jī)最小系統(tǒng)</p><p>  3.2.3 單片機(jī)定時(shí)/計(jì)數(shù)功能的介紹</p><p>  AT89C52單片機(jī)定時(shí)/計(jì)數(shù)器的工作有兩個(gè)特殊功能寄存器控制。TMOD用于設(shè)置其工作方式:TCON用于控制其啟動(dòng)和中斷請(qǐng)求。</p><p>  3.3 步進(jìn)電機(jī)工作原理</p><p>  3.3.1

40、 步進(jìn)電機(jī)原理</p><p>  步進(jìn)電機(jī)是一種感應(yīng)電機(jī),它的工作原理是利用電子電路,將直流電變成分時(shí)供電的,多相時(shí)序控制電流,用這種電流為步進(jìn)電機(jī)供電,步進(jìn)電機(jī)才能正常工作,驅(qū)動(dòng)器就是為步進(jìn)電機(jī)分時(shí)供電的,多相時(shí)序控制器 </p><p>  雖然步進(jìn)電機(jī)已被廣泛地應(yīng)用,但步進(jìn)電機(jī)并不能象普通的直流電機(jī),交流電機(jī)在常規(guī)下使用。它必須由雙環(huán)形脈沖信號(hào)、功率驅(qū)動(dòng)電路等組成控制系統(tǒng)方可使用。

41、因此用好步進(jìn)電機(jī)卻非易事,它涉及到機(jī)械、電機(jī)、電子及計(jì)算機(jī)等許多專業(yè)知識(shí)。 </p><p>  步進(jìn)電機(jī)作為執(zhí)行元件,是機(jī)電一體化的關(guān)鍵產(chǎn)品之一, 廣泛應(yīng)用在各種自動(dòng)化控制系統(tǒng)中。隨著微電子和計(jì)算機(jī)技術(shù)的發(fā)展,步進(jìn)電機(jī)的需求量與日俱增,在各個(gè)國(guó)民經(jīng)濟(jì)領(lǐng)域都有應(yīng)用。</p><p>  3.3.2 步進(jìn)電機(jī)驅(qū)動(dòng)電路</p><p>  步進(jìn)電機(jī)驅(qū)動(dòng)電路原理圖如圖3.

42、2.2所示。</p><p>  圖3.3.2 步進(jìn)電機(jī)驅(qū)動(dòng)電路原理</p><p>  3.4 LED指示電路</p><p>  LDE指示電路原理圖如圖3.4.1。</p><p>  圖3.4.LED指示電路原理圖</p><p><b>  3.5 蜂鳴器電路</b></p>

43、<p>  蜂鳴器電路原理圖如圖3.5.1所示。</p><p>  圖3.5.1 蜂鳴器電路原理圖</p><p>  3.6 系統(tǒng)原理圖及印刷板圖</p><p>  3.6.1系統(tǒng)總原理圖</p><p>  系統(tǒng)總原理圖如圖3.6.1所示。</p><p>  圖3.6.1 系統(tǒng)總原理圖圖<

44、/p><p>  3.6.2 印刷版圖</p><p>  系統(tǒng)印刷板圖如圖3.6.2</p><p>  圖3.6.2 系統(tǒng)印刷板圖</p><p><b>  4軟件設(shè)計(jì)流程</b></p><p><b>  4.1全部軟件</b></p><p>

45、<b>  相關(guān)代碼見附錄</b></p><p>  5 系統(tǒng)的調(diào)試與分析</p><p><b>  5.1 硬件調(diào)試</b></p><p>  首先,找到所有所需的元器件并歸類放好。然后將做好的PCB板放到電腦面前,對(duì)應(yīng)畫好的PCB圖紙,將原件一一對(duì)應(yīng)的插入到板子上,并并稍稍固定以防止焊接過程中原件的掉落。原件放好

46、后便可以拿到后面去一一焊接。焊接完畢后按要求調(diào)試。調(diào)試故障及原因分析如下。</p><p>  1.接收不到紅外信號(hào)</p><p>  原因:紅外接收頭插反。</p><p>  調(diào)試過程:紅外遙控對(duì)接收頭按鍵,蜂鳴器不叫,說明紅外接收管沒有接收到紅外信號(hào),或者是程序沒有正確處理紅外信號(hào)。</p><p>  結(jié)論:紅外接收管種類很多,但常

47、用的只有兩三種,這兩三種輸出引腳不同,使用的時(shí)候要正確識(shí)別。</p><p><b>  2.蜂鳴器叫聲小</b></p><p>  原因:跟蜂鳴器串聯(lián)的電阻過大</p><p>  調(diào)試:更換與蜂鳴器串聯(lián)的電阻,換成阻值較小的電阻。</p><p>  結(jié)論:正確識(shí)別和讀取色環(huán)電阻。</p><p

48、><b>  5.2 軟件調(diào)試</b></p><p>  具體的說這個(gè)應(yīng)該屬于是軟硬件聯(lián)合調(diào)試,在硬件調(diào)試好的情況下,調(diào)試軟件應(yīng)該還是比較容易的。調(diào)試故障及原因分析如下。</p><p>  1.只是燈沒有正常工作</p><p>  原因分析:三個(gè)LED指示燈有一個(gè)沒有正常工作,經(jīng)檢查是壞的</p><p> 

49、 結(jié)論:在焊接元件前要進(jìn)行元件檢測(cè),確保元件是好的。</p><p><b>  2.步進(jìn)電機(jī)不工作</b></p><p>  原因分析:在開發(fā)箱上別寫的程序在移植到系統(tǒng)板上的時(shí)候沒有修改所用的引腳。</p><p>  結(jié)論:在開發(fā)箱上的程序,移植到自己的功能電路中時(shí)要認(rèn)真檢查所用的引腳,把該修改的地方要正確修改,確保移植無誤。</p

50、><p><b>  6 結(jié)論與展望</b></p><p><b>  6.1 結(jié)論</b></p><p>  該課程的主要任務(wù)是開發(fā)一個(gè)以AT89C52單片機(jī)為核心的紅外遙控密碼鎖。本設(shè)計(jì)主要分硬件部分和軟件部分,硬件部分著重考慮硬件電路的簡(jiǎn)單性,故盡可能簡(jiǎn)單硬件電路,節(jié)省線路板的空間,達(dá)到硬件電路最優(yōu)化設(shè)計(jì)。軟件采用C

51、語言編寫,采用模塊化設(shè)計(jì)思想,程序可讀性強(qiáng),能滿足設(shè)計(jì)要求,達(dá)到設(shè)計(jì)指標(biāo),實(shí)現(xiàn)了遙控開鎖、關(guān)鎖啟動(dòng)系統(tǒng)修改密碼,多次輸入錯(cuò)誤報(bào)警等功能。速度</p><p>  本設(shè)計(jì)符合設(shè)計(jì)要求,操作簡(jiǎn)單,方便易用,功能性較強(qiáng),具有一定的實(shí)踐意義和使用價(jià)值,但也有一些不足,如沒有設(shè)計(jì)忘記密碼的應(yīng)急措施和掉電保護(hù)功能,功能有待完善。</p><p><b>  6.2 展望</b>&

52、lt;/p><p>  本操作簡(jiǎn)單,易于實(shí)現(xiàn)。硬件部分采用的器件應(yīng)用比較廣泛,且價(jià)格低廉,如AT89C52單片機(jī)、紅外遙控器、紅外接收管、uln2003驅(qū)動(dòng)芯片、步進(jìn)電機(jī)、發(fā)光二極管等。這意味著所用的器件功能比較強(qiáng)大、穩(wěn)定,尤其是本次設(shè)計(jì)的核心元件的核心元件AT89C52單片機(jī),軟件技術(shù)成熟。這類微處理器既可用作控制器有適合于做數(shù)據(jù)處理,而且成本低廉。軟件采用模塊化設(shè)計(jì),可讀性強(qiáng),方便二次開發(fā)。</p>

53、<p>  這個(gè)紅外要空密碼鎖系統(tǒng),具有較低的成本和穩(wěn)定的可靠性,具有較好的開發(fā)前景。</p><p><b>  致謝</b></p><p>  在本次設(shè)計(jì)過程中我獲益匪淺,在當(dāng)中我遇到了許多問題。比如在畫圖過程中,封裝不會(huì)畫,沒有根據(jù)實(shí)物畫,在PCB圖連線時(shí),線的粗細(xì),焊盤的大小都沒有設(shè)定,在同學(xué)的幫助下,最后成功畫出了PCB與,并制作出了PCB板。

54、調(diào)試過程中,在老師的幫助下,發(fā)現(xiàn)了不少問題,并都解決了。</p><p>  在這我非常感謝他們,是他們幫助我順利完成了我的設(shè)計(jì)。</p><p><b>  參考文獻(xiàn)</b></p><p>  李朝青.單片機(jī)原理與接口技術(shù).北京航空大學(xué)出版社,1994</p><p>  劉燦軍.使用傳感器.國(guó)防工業(yè)出版社.2004

55、</p><p>  何希才.傳感器及其應(yīng)用. 國(guó)防工業(yè)出版社.2004</p><p>  童詩白華成英主編. 模擬電子技術(shù)基礎(chǔ). 高等教育出版社。2006</p><p>  【5】 李金平 沈明山 姜余祥編著. 電子系統(tǒng)設(shè)計(jì). 電子工業(yè)出版社2009</p><p><b>  附錄1</b></p>

56、<p><b>  紅外遙控鎖元件清單</b></p><p><b>  附錄2</b></p><p>  /**********************************************************************</p><p><b>  紅外遙控鎖全部程

57、序</b></p><p>  ***********************************************************************/</p><p>  #include<reg52.h></p><p>  #define uint unsigned int</p><p>

58、;  #define uchar unsigned char</p><p>  uchar code table[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; </p><p>  uchar code table1[]={0x80,0x40,0x20,0x

59、10};</p><p>  uchar code table2[]={0x10,0x20,0x40,0x80};</p><p>  sbit P2_0=P2^0;</p><p>  sbit P0_0=P0^0;</p><p>  sbit P0_1=P0^1;</p><p>  sbit P0_2=P0^2

60、;</p><p>  uchar htime;//紅外時(shí)間變量</p><p>  uchar startflag;//紅外數(shù)據(jù)開始提取變量</p><p>  uchar hdata[33];//紅外數(shù)據(jù)的數(shù)組</p><p>  uchar bytenumber;</p><p>  uchar endflag;

61、</p><p>  uchar date[4];</p><p><b>  uchar hp;</b></p><p>  uchar disp[8];</p><p>  void delay1(uint a)</p><p>  {while(a--);</p><p&

62、gt;<b>  }</b></p><p>  void delay(uint del)</p><p>  {uint i,j;</p><p>  for(i=0;i<del;i++)</p><p>  for(j=0;j<110;j++);</p><p><b>

63、  }</b></p><p>  void time0_init()</p><p>  {TMOD=0x02;</p><p><b>  TH0=0x00;</b></p><p><b>  TL0=0x00;</b></p><p><b> 

64、 EA=1;</b></p><p><b>  ET0=1;</b></p><p><b>  TR0=1;</b></p><p><b>  }</b></p><p>  void int1init()</p><p><b&

65、gt;  {EA=1;</b></p><p><b>  EX1=1;</b></p><p><b>  IT1=1;</b></p><p><b>  }</b></p><p>  //紅外數(shù)據(jù)提取函數(shù)</p><p>  void

66、 hpros()</p><p>  {uchar k=1,i,j;</p><p>  uchar value;</p><p>  for(j=0;j<4;j++)</p><p><b>  {</b></p><p>  for(i=0;i<8;i++)</p>

67、<p>  { value=value>>1;</p><p>  if(hdata[k]>6)</p><p>  {value=value|0x80;</p><p><b>  }</b></p><p><b>  k++;</b></p><

68、p><b>  }</b></p><p>  date[j]=value;</p><p><b>  }</b></p><p><b>  hp=1;</b></p><p><b>  }</b></p><p>  

69、//紅外數(shù)據(jù)處理函數(shù)</p><p>  void hchuli()</p><p>  {disp[0]=date[0]/16;</p><p>  disp[1]=date[0]%16;</p><p>  disp[2]=date[1]/16;</p><p>  disp[3]=date[1]%16;</

70、p><p>  disp[4]=date[2]/16;</p><p>  disp[5]=date[2]%16;</p><p>  disp[6]=date[3]/16;</p><p>  disp[7]=date[3]%16;</p><p><b>  }</b></p>&l

71、t;p>  //蜂鳴器發(fā)聲和Led亮</p><p>  void BEEP()</p><p>  {uchar m=20;</p><p><b>  P0_0=0;</b></p><p>  while(m--)</p><p><b>  {P2_0=1;</b&g

72、t;</p><p><b>  delay(1);</b></p><p><b>  P2_0=0;</b></p><p><b>  delay(1);</b></p><p><b>  }</b></p><p><

73、;b>  P0_0=1;</b></p><p><b>  }</b></p><p>  void main()</p><p>  {uint i=0,k,flag=0,b=0,d=0,FLAG=1,rflag=1,RFLAG=1,alarm=0,G=0,g=0,rag=0;</p><p>  

74、uchar key[8]={4,5,4,6,4,7,4,4},key1[8],key2[8]={4,0,4,3,0,7,1,5};//電控鎖密碼數(shù)組為key,key2為正轉(zhuǎn)和反轉(zhuǎn),key1為轉(zhuǎn)載紅外數(shù)據(jù)的數(shù)組</p><p>  time0_init();</p><p>  int1init();</p><p><b>  while(1)</b

75、></p><p>  { if(endflag)</p><p><b>  {hpros();</b></p><p>  endflag=0;</p><p><b>  }</b></p><p><b>  if(hp)</b></

76、p><p>  {hchuli();</p><p><b>  hp=0;</b></p><p>  flag=1;//按鍵按下蜂鳴器發(fā)聲和led亮的標(biāo)志</p><p><b>  }</b></p><p><b>  //電控鎖復(fù)位標(biāo)志</b>&l

77、t;/p><p>  if((disp[4]==1)&&(disp[5]==6))</p><p><b>  {uchar a;</b></p><p>  for(a=0;a<8;a++)</p><p>  {key1[a]=0;}</p><p><b>  F

78、LAG=1;</b></p><p><b>  rflag=1;</b></p><p><b>  alarm=0;</b></p><p><b>  RFLAG=1;</b></p><p><b>  i=0;</b></p&g

79、t;<p><b>  }</b></p><p><b>  if(flag)</b></p><p><b>  {BEEP();</b></p><p>  key1[i]=disp[4];</p><p>  key1[i+1]=disp[5];</

80、p><p><b>  i=i+2;</b></p><p><b>  flag=0;</b></p><p><b>  rag=1;</b></p><p><b>  alarm++;</b></p><p><b>

81、  if(i==8)</b></p><p><b>  {i=0;}</b></p><p><b>  }</b></p><p><b>  //修改密碼</b></p><p>  if((disp[4]==1)&&(disp[5]==9))

82、</p><p>  { uchar a;</p><p>  for(a=0;a<8;a++)</p><p>  {key1[a]=0;}</p><p><b>  RFLAG=0;</b></p><p><b>  i=0;</b></p>&l

83、t;p><b>  }</b></p><p>  //進(jìn)入修改密碼的具體的實(shí)現(xiàn)</p><p>  if(RFLAG==0)</p><p><b>  {</b></p><p>  //確認(rèn)要修改的密碼的原密碼</p><p>  if((key[0]==key1

84、[0])&&(key[1]==key1[1])&&(key[2]==key1[2])&&(key[3]==key1[3])&&(key[4]==key1[4])&&(key[5]==key1[5])&&(key[6]==key1[6])&&(key[7]==key1[7]))</p><p><b

85、>  {uint H;</b></p><p><b>  G=1;</b></p><p>  for(H=0;H<10;H++)</p><p>  { P0_1=0;</p><p>  delay(20);</p><p><b>  P0_1=1;&l

86、t;/b></p><p>  delay(20);</p><p><b>  }</b></p><p>  for(H=0;H<8;H++)</p><p>  {key1[H]=0;}</p><p><b>  i=0;</b></p>

87、<p><b>  rag=0;</b></p><p><b>  }</b></p><p>  if((key2[0]==key1[0])&&(key2[1]==key1[1])&&(key2[2]==key1[2])&&(key2[3]==key1[3])&&(ke

88、y2[4]==key1[4])&&(key2[5]==key1[5])&&(key2[6]==key1[6])&&(key2[7]==key1[7]))</p><p><b>  {uint h;</b></p><p><b>  g=1;</b></p><p>  f

89、or(h=0;h<10;h++)</p><p><b>  {P0_2=0;</b></p><p>  delay(30);</p><p><b>  P0_2=1;</b></p><p>  delay(30);</p><p><b>  }<

90、;/b></p><p>  for(h=0;h<8;h++)</p><p>  {key1[h]=0;}</p><p><b>  i=0;</b></p><p><b>  rag=0;</b></p><p><b>  }</b>

91、;</p><p>  //修改密碼,輸入新密碼</p><p><b>  if(G)</b></p><p><b>  {if(rag)</b></p><p><b>  { uint B;</b></p><p>  key[b]=disp[4

92、];</p><p>  key[b+1]=disp[5];</p><p><b>  b=b+2;</b></p><p><b>  if(b==8)</b></p><p><b>  {b=0;</b></p><p><b>  G

93、=0;</b></p><p><b>  RFLAG=1;</b></p><p><b>  alarm=0;</b></p><p>  for(B=0;B<8;B++)</p><p>  {key1[B]=0;</p><p><b> 

94、 }</b></p><p>  for(B=0;B<10;B++)</p><p><b>  {P0_1=0;</b></p><p>  delay(20);</p><p><b>  P0_1=1;</b></p><p>  delay(20);

95、</p><p><b>  }</b></p><p><b>  i=0;</b></p><p><b>  }</b></p><p><b>  rag=0;</b></p><p><b>  }</b&

96、gt;</p><p><b>  }</b></p><p><b>  if(g)</b></p><p>  { if(rag)</p><p><b>  {uint D;</b></p><p>  key2[d]=disp[4];</

97、p><p>  key2[d+1]=disp[5];</p><p><b>  d=d+2;</b></p><p><b>  if(d==8)</b></p><p><b>  {d=0;</b></p><p><b>  g=0;<

98、;/b></p><p><b>  RFLAG=1;</b></p><p><b>  alarm=0;</b></p><p>  for(D=0;D<8;D++)</p><p>  {key1[D]=0;</p><p><b>  }<

99、/b></p><p>  for(D=0;D<10;D++)</p><p><b>  {P0_2=0;</b></p><p>  delay(20);</p><p><b>  P0_2=1;</b></p><p>  delay(20);</p

100、><p><b>  }</b></p><p><b>  i=0;</b></p><p><b>  }</b></p><p><b>  rag=0;</b></p><p><b>  }</b><

101、;/p><p><b>  }</b></p><p><b>  }</b></p><p>  //紅外控制電控鎖旋轉(zhuǎn)</p><p><b>  if(RFLAG)</b></p><p><b>  {</b></p>

102、;<p>  if((key[0]==key1[0])&&(key[1]==key1[1])&&(key[2]==key1[2])&&(key[3]==key1[3])&&(key[4]==key1[4])&&(key[5]==key1[5])&&(key[6]==key1[6])&&(key[7]==key1[

103、7]))</p><p>  {uint j=128;</p><p><b>  if(FLAG)</b></p><p><b>  {P0_1=0;</b></p><p>  while(j--)</p><p>  {for(k=0;k<4;k++)</

104、p><p>  {P2=table1[k];</p><p>  delay1(800);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  P0_1=1;</b></p><p&

105、gt;<b>  FLAG=0;</b></p><p><b>  rflag=1;</b></p><p><b>  alarm=0;</b></p><p><b>  i=0;</b></p><p><b>  }</b>

106、</p><p><b>  }</b></p><p>  if((key2[0]==key1[0])&&(key2[1]==key1[1])&&(key2[2]==key1[2])&&(key2[3]==key1[3])&&(key2[4]==key1[4])&&(key2[5]==k

107、ey1[5])&&(key2[6]==key1[6])&&(key2[7]==key1[7]))</p><p>  { uint j=128;</p><p><b>  if(rflag)</b></p><p><b>  {P0_2=0;</b></p><p&g

108、t;  while(j--)</p><p>  {for(k=0;k<4;k++)</p><p>  {P2=table2[k];</p><p>  delay1(800);</p><p><b>  }</b></p><p><b>  }</b></

109、p><p><b>  P0_2=1;</b></p><p><b>  rflag=0;</b></p><p><b>  FLAG=1;</b></p><p><b>  alarm=0;</b></p><p><b&

110、gt;  i=0;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if((disp[4]==0)&&(disp[5]==9))</p><p><b>  {if(FLAG)</b><

111、;/p><p><b>  {uchar n;</b></p><p>  for(n=0;n<10;n++)</p><p><b>  {P0_1=0;</b></p><p>  delay(20);</p><p><b>  P0_1=1;</b&

112、gt;</p><p>  delay(20);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  if(rflag)</b></p><p><b>  {uchar m;</b

113、></p><p>  for(m=0;m<10;m++)</p><p><b>  {P0_2=0;</b></p><p>  delay(20);</p><p><b>  P0_2=1;</b></p><p>  delay(20);</p&g

114、t;<p><b>  }</b></p><p><b>  }</b></p><p>  disp[4]=0;</p><p>  disp[5]=0;</p><p><b>  i=0;</b></p><p><b>

115、  }</b></p><p>  if(alarm>5)</p><p>  {uint f=20;</p><p>  while(f--)</p><p><b>  {BEEP();}</b></p><p><b>  i=0;</b></p

116、><p><b>  alarm=0;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b><

117、/p><p>  void time0() interrupt 1</p><p><b>  {htime++;</b></p><p><b>  }</b></p><p>  void int1() interrupt 2</p><p><b>  { <

118、;/b></p><p>  if(startflag)</p><p><b>  {</b></p><p>  if(htime>35)</p><p>  bytenumber=0;</p><p>  hdata[bytenumber]=htime;</p>&

119、lt;p><b>  htime=0;</b></p><p>  bytenumber++;</p><p>  if(bytenumber==33) </p><p>  {bytenumber=0;</p><p>  endflag=1;</p><p><b>  }&l

120、t;/b></p><p><b>  }</b></p><p><b>  else </b></p><p><b>  {</b></p><p>  startflag=1;</p><p><b>  htime=0;<

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲(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)論