紅外遙控步進(jìn)電機(jī)(C語言版)_第1頁
紅外遙控步進(jìn)電機(jī)(C語言版)_第2頁
紅外遙控步進(jìn)電機(jī)(C語言版)_第3頁
紅外遙控步進(jìn)電機(jī)(C語言版)_第4頁
紅外遙控步進(jìn)電機(jī)(C語言版)_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、課程設(shè)計(jì)任務(wù)書學(xué)生姓名: 專業(yè)班級:電信0806指導(dǎo)教師: 工作單位:信息工程學(xué)院題目:單片機(jī)原理與應(yīng)用課程設(shè)計(jì)一一設(shè)計(jì)并實(shí)現(xiàn)紅外遙控步進(jìn)電機(jī)初始條件:(1)Proteus仿真軟件或XL1000綜合仿真試驗(yàn)儀一臺(tái);(2)先修課程:微機(jī)原理與接口技術(shù)、單片機(jī)原理。要求完成的主要任務(wù):(包括課程設(shè)計(jì)工作量及其技術(shù)要求,以及說明書撰寫等具體要求)利用紅外遙控器控制步進(jìn)電機(jī)的動(dòng)作,動(dòng)作要有正、反方向轉(zhuǎn)動(dòng);單步;連續(xù);快慢 等動(dòng)作。具體完成以下任務(wù):1. 完成系統(tǒng)的方案設(shè)計(jì),給出系統(tǒng)框圖。2. 完成系統(tǒng)的硬件設(shè)計(jì),給出硬件電路圖和系統(tǒng)資源分配表。3. 完成系統(tǒng)的軟件設(shè)計(jì),給出程序流程圖和程序清單。4.

2、運(yùn)用Proteus仿真軟件對所設(shè)計(jì)的系統(tǒng)進(jìn)行調(diào)試和仿真,直到預(yù)定的功能全部仿真通過,給出仿真結(jié)果;如果條件允許,將程序下載到XL1000綜合仿真試驗(yàn)儀,驗(yàn)證系統(tǒng)功能。5. 對所設(shè)計(jì)的系統(tǒng)進(jìn)行性能分析(精度、實(shí)用性、成本等)。完成課程設(shè)計(jì)報(bào)告。時(shí)間安排:總體設(shè)計(jì)和硬件設(shè)計(jì)二天軟件設(shè)計(jì)一天調(diào)試一天寫報(bào)告,答辯一天參考書目:1 李群芳、張士軍,單片微型計(jì)算機(jī)與接口技術(shù),電子工業(yè)出版社,20082 張毅剛、彭喜元、董繼成,單片機(jī)原理及應(yīng)用,高等教育出版社,20043 趙曉安,MCS-51單片機(jī)原理及應(yīng)用,天津大學(xué)出版社,2001指導(dǎo)教師簽名:年 月 日系主任(或責(zé)任教師)簽名:年 月 日武漢理工大學(xué)單

3、片微型計(jì)算機(jī)與接口技術(shù)課程設(shè)計(jì)課程設(shè)計(jì)說明書目錄1系統(tǒng)設(shè)計(jì)原理 .11.1 總體方案設(shè)計(jì) 12主要模塊設(shè)計(jì) 22.1紅外遙控及LED模塊.22.2步進(jìn)脈沖產(chǎn)生模塊 .63 系統(tǒng)硬件線路設(shè)計(jì) .104系統(tǒng)軟件設(shè)計(jì) .115系統(tǒng)分配表 .136源程序 .147仿真分析 158性能分析 169心得及體會(huì) 1710參考文獻(xiàn) .18附錄一(紅外控制程序)191武漢理工大學(xué)單片微型計(jì)算機(jī)與接口技術(shù)課程設(shè)計(jì)課程設(shè)計(jì)說明書1.系統(tǒng)設(shè)計(jì)原理:利用紅外遙控器控制步進(jìn)電機(jī)其實(shí)和用鍵盤控制步進(jìn)電機(jī)原理類似,只不過按鍵是 用導(dǎo)線傳遞鍵是否按下的信號,而紅外則是利用LED發(fā)射紅外線傳遞按鍵信息。由于紅外采用脈寬調(diào)制的串行

4、碼,以脈寬為 0.565ms、間隔0.56ms、周期為1.125ms的組合表示二 進(jìn)制的“0” ;以脈寬為0.565ms、間隔1.685ms、周期為2.25ms的組合表示二進(jìn)制的“ 1” 在解碼時(shí)通過判斷高低電平持續(xù)時(shí)間的長短來識別發(fā)送的鍵值。控制步進(jìn)電機(jī)正、反方向轉(zhuǎn)動(dòng)、單步、連續(xù)、快慢等動(dòng)作,原理其實(shí)并不困難。步 進(jìn)電機(jī)將電脈沖信號轉(zhuǎn)換成角位移,即給一個(gè)脈沖,步進(jìn)電機(jī)就轉(zhuǎn)動(dòng)一個(gè)角度,轉(zhuǎn)動(dòng)的角 度大小與施加的脈沖數(shù)成正比,因此,單步和連續(xù)的動(dòng)作區(qū)別只是單片機(jī)給步進(jìn)電機(jī)脈沖 個(gè)數(shù)不同而已。每按一次單步鍵就是給電機(jī)一個(gè)脈沖,而連續(xù)則是不斷的給電機(jī)脈沖,達(dá) 到連續(xù)運(yùn)轉(zhuǎn)的目的。單片機(jī)的晶振為12MHz

5、單周期指令執(zhí)行時(shí)間為1MHz由于機(jī)械動(dòng)作需要一定時(shí)間 來完成,如果以這么快的速度來給脈沖,電機(jī)是不會(huì)轉(zhuǎn)動(dòng)的,因此,在兩個(gè)脈沖之間必須 要有一定時(shí)間差,電機(jī)才有時(shí)間來執(zhí)行動(dòng)作。電機(jī)轉(zhuǎn)動(dòng)的速度與脈沖頻率成正比,控制脈 沖間隔時(shí)間就相當(dāng)于控制了步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)角頻率即快慢。步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)需要向電機(jī)以一定的順序分配驅(qū)動(dòng)脈沖。如四相單四拍,其脈沖分 配的方式和順序?yàn)锳-B-C-D-A,如此周而復(fù)始,即可轉(zhuǎn)動(dòng)。轉(zhuǎn)動(dòng)方向與脈沖順序有關(guān),如果 給相反脈沖,那么電機(jī)就會(huì)反轉(zhuǎn)。1.1總體方案設(shè)計(jì):根據(jù)該系統(tǒng)設(shè)計(jì)要求,需要通過紅外遙控器按下按鍵和顯示器來改變步進(jìn)電機(jī)的運(yùn) 動(dòng)狀態(tài)以及顯示,只需要紅外遙控器中6個(gè)按鍵就可

6、滿足需求,外加 8位LED數(shù)碼顯示管 即可。由于實(shí)驗(yàn)箱上只有8個(gè)連體數(shù)碼管,因此需要?jiǎng)討B(tài)掃描。通過從鍵盤上輸入正、反 轉(zhuǎn)命令,按鍵數(shù)值顯示在數(shù)碼管上,CPU再讀取正、反轉(zhuǎn)命令,加減速后執(zhí)行。經(jīng)鍵盤可完成 啟動(dòng)、停止、正轉(zhuǎn)、反轉(zhuǎn)、速度設(shè)置控制功能。按下紅外遙控器上的相關(guān)按鈕電機(jī)執(zhí)行相關(guān)動(dòng)作,同時(shí)數(shù)碼管上顯示按鍵的數(shù)值,系 統(tǒng)大部分都是軟件實(shí)現(xiàn)的,整個(gè)設(shè)計(jì)框圖如下:2主要模塊設(shè)計(jì):2.1紅外遙控及LED模塊:本模塊應(yīng)完成對紅外遙控器有無鍵按下進(jìn)行確認(rèn),當(dāng)有鍵按下時(shí),確定按鍵值,并根據(jù)所得鍵值進(jìn)行處理(包括所按鍵是不是停止鍵還是執(zhí)行鍵。如是停止鍵,不斷掃描鍵盤程序,等待執(zhí)行鍵按下;如是執(zhí)行鍵就啟動(dòng)產(chǎn)

7、生步進(jìn)電機(jī)控制信號程序)。顯示模塊主要是完成在進(jìn)行鍵盤按下時(shí),顯示輸入的數(shù)據(jù)值(轉(zhuǎn)矩?cái)?shù)、轉(zhuǎn)動(dòng)方向、轉(zhuǎn)動(dòng)速率及運(yùn)行方式)。2.1.1紅外遙控編解碼原理:紅外遙控系統(tǒng)由發(fā)射和接收兩大部份組成,應(yīng)用編 /解碼專用集成電路芯片來進(jìn)行控 制操作,如圖1所示。發(fā)射部份包括鍵盤矩陣、編碼調(diào)制、LED紅外發(fā)送器;接收部份包括光、電轉(zhuǎn)換放大器、解調(diào)、解碼電路。由于采用不同芯片其發(fā)送和接受的過程是不一樣 的,我們用的實(shí)驗(yàn)箱采用的是 HT6221紅外編碼芯片,因此以HT6221為例來說明紅外遙控 器編碼和解碼原理。燙盤離謀調(diào)農(nóng)】E口 |_ 追挖發(fā)射器產(chǎn) 1 f M l-a- 4 -1 -IE7” I. A. IBU

8、 U.亠 I - - B J. 1 -3 -fa ih 4 S Sh g|光/電故人|解iW 斤対解科I!逋薩聶詼廊i圖1紅外UE扌空系統(tǒng)框圖bitbic 1 j0.56tnsi* 0.56m$IA411 JIIk 1亠1.155ms112.25tns圖2 遙控碼的5和和T ”1 HT6221鍵碼的形成當(dāng)發(fā)射器按鍵按下后,即有遙控碼發(fā)出,所按的鍵不同遙控編碼也不同。這種遙控碼 具有以下特征:采用脈寬調(diào)制的串行碼,以脈寬為0.565ms、間隔0.56ms、周期為1.125ms 的組合表示二進(jìn)制的“ 0”;以脈寬為0.565ms、間隔1.685ms、周期為2.25ms的組合表 示二進(jìn)制的“ 1”。

9、當(dāng)一個(gè)鍵按下超過36ms振蕩器使芯片激活如果這個(gè)鍵按下且延遲大約108ms,這108ms發(fā)射代碼由一個(gè)起始碼 9ms,一個(gè)結(jié)果碼4.5ms,低8位地址碼9ms18ms高8位 地址碼9ms18ms,8位數(shù)據(jù)碼9ms18ms和這8位數(shù)據(jù)的反碼9ms18ms組成 如果鍵按 下超過108ms仍未松開接下來發(fā)射的代碼 連發(fā)代碼將僅由起始碼9ms和結(jié)束碼2.5ms組 成。1.12ms為0,2.24ms為1,如下圖:* data period (1J2ms)* 38kHz earnerOneK- data period (2.24ms)# 4 5ms每發(fā)送一個(gè)碼,HT6221會(huì)先送出一個(gè)9ms的頭碼和4.5

10、ms的間隙,然后依次送出16 位的地址碼(18ms36m)、8位數(shù)據(jù)碼(9ms18mS和8位數(shù)據(jù)反碼,如下圖:lllllllllllllllllllllllllIIIIIIIIH瞬5llllllll IIJ* *| I* 2.5rTO那制梯2.5ms:9msH(A0-A15+D0-D7+D(FD7)9ma P1.I F11P1.3PA科陽PJ.tVRJDP3.IJTKO科訓(xùn)IBP3 M NT1 RJ.4H)P14 P1 0旳曲浜F1.7F3.7JRD#武漢理工大學(xué)單片微型計(jì)算機(jī)與接口技術(shù)課程設(shè)計(jì)課程設(shè)計(jì)說明書11武漢理工大學(xué)單片微型計(jì)算機(jī)與接口技術(shù)課程設(shè)計(jì)課程設(shè)計(jì)說明書4系統(tǒng)軟件設(shè)計(jì):系統(tǒng)的軟

11、件設(shè)計(jì)通常采用模塊化結(jié)構(gòu),軟件系統(tǒng)總體框架一般包括三部分:主程序、中斷服務(wù)子程序以及其他相應(yīng)的輔助子程序 (包括正轉(zhuǎn)子程序、反轉(zhuǎn)子 程序、LED顯示子程序、紅外鍵盤子程序)單步鍵Yes抬起否初始化定時(shí)計(jì) 數(shù)器t加速鍵下?鍵No調(diào)用紅外按, 掃描子程序有鍵按下?Yes連續(xù)鍵No開計(jì)數(shù)器中斷調(diào)用紅外按鍵掃描子程序0NoYes20H單元內(nèi)容取反YesYesSpee值減 1發(fā)送一個(gè)脈珂有鍵按下?NoYesSpee值加Speed=maxspdSpeed=min spd返回.圖4.1主程序總流程圖采用模塊化結(jié)構(gòu),分功能模塊結(jié)構(gòu),可實(shí)現(xiàn)無擾動(dòng)重入軟件模塊按功能劃分,是以子程序的形式設(shè)計(jì)的,程序分別對各個(gè)功能

12、進(jìn)行調(diào)用,各個(gè)模塊功能清晰明了本次設(shè)計(jì)采用單極性直流電源供電,只要對步進(jìn)電機(jī)的各相繞組按合適的時(shí)序通電,就能使步進(jìn)電機(jī)步進(jìn)轉(zhuǎn)動(dòng).按鍵子程序中包括按鍵掃描、按鍵去抖動(dòng)、按鍵的鍵后處理按鍵掃描采用單個(gè)按鍵的掃描,分別對不同功能的按鍵掃描并存放不同的按鍵標(biāo)志按鍵去抖動(dòng)采用延時(shí)去抖法 根據(jù)按鍵掃描后的按鍵標(biāo)志位結(jié)果來處理相應(yīng)的子 程序顯示模塊采用傳統(tǒng)的 LED數(shù)碼管顯示數(shù)字,程序編譯容易,資源占用少使用八位數(shù)碼管,動(dòng)態(tài)掃 描顯示的方式總程序流程框圖見圖 1.12武漢理工大學(xué)單片微型計(jì)算機(jī)與接口技術(shù)課程設(shè)計(jì)課程設(shè)計(jì)說明書5資源分配表:在上面的仿真圖中,由于Proteus中沒有紅外模塊,只能用普通按鍵鍵盤

13、代替,下面 的說明為實(shí)際在試驗(yàn)箱上的實(shí)驗(yàn)情況1. P0.0 P0I.3輸出字形碼到LED數(shù)碼管,用于顯示按下的鍵值。2. P1.7:紅外接收信號口,紅外遙控器發(fā)出的信號經(jīng)過接收器接收后通過P1.7進(jìn)行動(dòng)態(tài)掃描和鍵值處理。3. P2.0、P2.1、P2.2、P2.3:步進(jìn)電機(jī)控制脈沖輸出口,通過控制給脈沖的頻率和數(shù)量達(dá) 到加減速和單步、連續(xù)的目的。詳細(xì)接線見系統(tǒng)硬件連接圖。13武漢理工大學(xué)單片微型計(jì)算機(jī)與接口技術(shù)課程設(shè)計(jì)課程設(shè)計(jì)說明書6源程序:見附錄14武漢理工大學(xué)單片微型計(jì)算機(jī)與接口技術(shù)課程設(shè)計(jì)課程設(shè)計(jì)說明書7仿真分析:1. 方向設(shè)定:在停機(jī)或運(yùn)行狀態(tài)下按方向鍵進(jìn)行選擇。開始默認(rèn)為正向。電機(jī)的

14、運(yùn)行 正反向表示的是順時(shí)針還是逆時(shí)針是由操作者在接步進(jìn)電機(jī)時(shí)的相序決定的,按下反轉(zhuǎn)鍵 后數(shù)碼管會(huì)有相應(yīng)顯示。2. 步數(shù)設(shè)定:在設(shè)定為連續(xù)模式后,按UP鍵可以加速:按下Down鍵為減速。當(dāng)加到 35時(shí),再按UP鍵,速度不變;當(dāng)減到25時(shí),再按一下DOW鍵,速度也不變。3. 單步運(yùn)行模式:電機(jī)以設(shè)定的運(yùn)行方式正向運(yùn)行一步;按P1.1鍵一下,電機(jī)以設(shè)定 的運(yùn)行方式反向運(yùn)行一步。單步運(yùn)行時(shí),與方向鍵設(shè)定的運(yùn)行方向無關(guān)。5. 連續(xù)模式運(yùn)行:按下連續(xù)鍵后,電機(jī)以設(shè)定的方式和方向連續(xù)運(yùn)行,同時(shí)七段LED顯示當(dāng)前按鍵值。在運(yùn)行時(shí),按加速鍵一下,速度上升一檔;按減速鍵,速度下降一檔,七段LED會(huì)相應(yīng)的顯示數(shù)值。

15、在運(yùn)行時(shí),按方向鍵可以進(jìn)行方向切換。再次按下啟停鍵后, 電機(jī)停止運(yùn)行。6. 強(qiáng)行復(fù)位:按下P1.5鍵即可。圖7.1按下單步鍵的情況從上圖中可以看出,按下單步鍵后,數(shù)碼管顯示 0,提示用戶按鍵有效,同時(shí)從示波 器波形可以看到按下有一個(gè)脈沖,電機(jī)會(huì)轉(zhuǎn)動(dòng)一次。圖7.2按下連續(xù)鍵的情況從圖形上我們可以看到,單片機(jī)給步進(jìn)電機(jī)的脈沖為連續(xù)的,有很多個(gè),因此,電 機(jī)的運(yùn)轉(zhuǎn)也應(yīng)是連續(xù)的,于此同時(shí)數(shù)碼管顯示1,提示用戶按的是連續(xù)鍵。圖7.3按下加速鍵的情況圖7.5按下減速鍵的情況對比上面兩張圖形,就可以看到加速和減速的效果了,加速后脈沖頻率明顯變高,減 速后脈沖變稀疏,說明步進(jìn)電機(jī)加減速有效,數(shù)碼管顯示相應(yīng)的按

16、鍵值,表明用戶按鍵有 相應(yīng).當(dāng)數(shù)碼管顯示5時(shí)表明系統(tǒng)已經(jīng)啟動(dòng),可以相應(yīng)用戶的需求,按下按鍵后就可以執(zhí)行 相應(yīng)的動(dòng)作。17武漢理工大學(xué)單片微型計(jì)算機(jī)與接口技術(shù)課程設(shè)計(jì)課程設(shè)計(jì)說明書8性能分析:因?yàn)殡姍C(jī)步進(jìn)角為7.5。,一圈需要360/7.5=48個(gè)脈沖。電機(jī)轉(zhuǎn)速為1/(T*48),其中T 為定時(shí)計(jì)數(shù)器中斷時(shí)間,開始時(shí)電機(jī)以最小速度運(yùn)行,即查表中第一個(gè)數(shù)據(jù), HT0=15H,TL0=A0H通過計(jì)算為60ms因?yàn)閱纹瑱C(jī)給48個(gè)脈沖步進(jìn)電機(jī)才轉(zhuǎn)一圈,因此電 機(jī)的速度為0.35轉(zhuǎn)/s。表中各種值對應(yīng)的速度如下表:轉(zhuǎn)速(r/s)中斷時(shí)間(m9TH0TL00.356015HA0H0.385529H28H0.

17、42503CHB0H0.464550H38H0.524063HC0H0.603577H48H0.69308AHD0H0.83259EH58H1.0420B1HE0H1.3915C5H68H電機(jī)單步運(yùn)行:7.5 /次電機(jī)連續(xù)運(yùn)行:0.35 r/s1.39r/s數(shù)碼管顯示:紅外按鍵值05可能程序還有不足的地方,按下加減速,可以感到電機(jī)有加速和減速的情況,但和原來 設(shè)計(jì)初衷有點(diǎn)出入。在加到最大速度時(shí),即每秒1.39圈,在Proteus中仿真明顯感到電機(jī)有強(qiáng)烈的搖晃感,每轉(zhuǎn)一下。感覺都要向后退一下,在試驗(yàn)箱上根本就不會(huì)轉(zhuǎn)。18武漢理工大學(xué)單片微型計(jì)算機(jī)與接口技術(shù)課程設(shè)計(jì)課程設(shè)計(jì)說明書9心得及體會(huì):本次

18、課設(shè)中我做的是紅外遙控步進(jìn)電機(jī),以前并沒有好好的在板子上實(shí)現(xiàn)什么功能,盡管有時(shí)間和條件,所以在板子上實(shí)現(xiàn)功能有點(diǎn)摸不著頭腦,但在查閱資料以及在對資料的理解上,開始有頭緒.首先做的是步進(jìn)電機(jī)仿真模塊。由于在PROTUSE7.5上沒有紅外模塊的仿真,所以只能用簡單按鍵開關(guān)代替紅外模塊,當(dāng)按下一個(gè)鍵,輸入一個(gè)脈沖信號控制。 本步進(jìn)電機(jī)工作在四相八拍的工作方式。 控制步進(jìn)電機(jī)主要有單步,連續(xù),反轉(zhuǎn)3,加速,減速和停止幾個(gè)功能,總共需要6個(gè)按鍵。當(dāng)按下一個(gè)鍵,讀按鍵情況,并通過P2 口輸出控制步進(jìn)電機(jī),通過P1 口控制7段數(shù)碼管,當(dāng)按下單步鍵時(shí),控制P2 口輸出一個(gè)脈沖,連續(xù)鍵時(shí),控制P2 口輸出連續(xù)的

19、脈沖,并且每個(gè)脈沖后給一個(gè)延時(shí)程序,延遲長度可調(diào),通過加速減速鍵可以調(diào)延時(shí)長度。反轉(zhuǎn)可以改變輸入脈沖的勵(lì)磁方向,且總共5個(gè)減速加速檔可調(diào)。仿真上遇到的問題主要是按鍵后的反應(yīng),一開始為設(shè)置按鍵后的延時(shí)響應(yīng),所以當(dāng)按鍵時(shí)間一長一點(diǎn),便出現(xiàn)連續(xù)響應(yīng)按鍵情況,出現(xiàn)按下反轉(zhuǎn)鍵后,出現(xiàn)兩次轉(zhuǎn)向,還有單步鍵多次運(yùn)轉(zhuǎn)。以及加速減 速鍵中會(huì)跳過某些檔位,出現(xiàn)連續(xù)加速減速效果,不過在加入按鍵延時(shí)響應(yīng)后問題解決。在上板子上運(yùn)行需要加入紅外模塊, 在對紅外模塊編碼以及其他紅外匯編程序的理解上,自己寫出了紅外模塊, 并和仿真中的步進(jìn)電機(jī)控制程序聯(lián)合在一起,引入了中斷對紅外模塊的解碼。也許是自己的紅外程序設(shè)計(jì)的過于理想話

20、,把 9ms的低電平起始碼和 4.5ms的高電平結(jié)果碼嚴(yán)格檢測,以至于檢測不要鍵的按下。所以后來改用別的紅外程序,和自己的程序匹配,發(fā)現(xiàn)可用,至于自己的程序的錯(cuò)誤在哪里,需要對兩個(gè)C語言紅外程序進(jìn)行比較才能得到確切答案。改用程序后按123,4,5,6鍵能實(shí)現(xiàn)前面仿真中的功能,需要注意的是,前面仿真中加入的按鍵延時(shí)響應(yīng)的程序,在實(shí)物中不再需要,因?yàn)榘聪骆I后鍵值數(shù)據(jù)保存在數(shù)據(jù)區(qū)的固定區(qū)域,然后查詢其值控制步進(jìn)電機(jī)。本次課設(shè)我學(xué)到和鞏固了很多東西。比如編寫程序并生成 HEX文件,并使用XLISP軟件下載到單片機(jī)中,寫程序中比較有趣的是,自己一開始由于學(xué)習(xí)C語言和匯編以及 VHDL語言中沒有深入的了解

21、以及注意區(qū)分各程序的區(qū)別。在寫程序時(shí)對于語句的形式及變量的格式等等,感到混淆,一開始還有很大問題,不過后來在重新熟悉C語言后,寫程序又可以輕松入手了。總之這次課設(shè)在先讀懂一些資料的前提下,慢慢的琢磨出了自己的程序,盡管不是很完美,但能夠驅(qū)動(dòng)步進(jìn)電機(jī)實(shí)現(xiàn)所要求的功能, 收獲甚大。19武漢理工大學(xué)單片微型計(jì)算機(jī)與接口技術(shù)課程設(shè)計(jì)課程設(shè)計(jì)說明書10參考文獻(xiàn):1 韓全立。單片機(jī)控制技術(shù)及應(yīng)用。北京:電子工業(yè)出版社,20042 求是科技。單片機(jī)典型模塊設(shè)計(jì)實(shí)例導(dǎo)航。北京:人民郵電出版社,20043 胡漢才。單片機(jī)原理及系統(tǒng)設(shè)計(jì)。北京:清華大學(xué)出版社,20024 王曉明。電動(dòng)機(jī)的單片機(jī)控制。北京:北京航天

22、航空大學(xué)出版社,2002汪道輝。單片機(jī)系統(tǒng)設(shè)計(jì)與實(shí)踐。北京:電子工業(yè)出版社,200620武漢理工大學(xué)單片微型計(jì)算機(jī)與接口技術(shù)課程設(shè)計(jì)課程設(shè)計(jì)說明書附錄一:紅外控制電機(jī)程序(板子上可運(yùn)行)#in cludevoid delayO();void delay();可能是漏了函數(shù)原型.如果在main .以后定義了函數(shù),main以前要加函數(shù)原型聲明.un sig ned char bdata ab4;sbit P3_2=P3A2;char h=0;bit f0=0;int i=0;mai n()char code zz8=0x07,0x03,0x0B,0x09,0x0D,0x0c,0x0E,0x06;c

23、har code fz8=0x06,0x0E,0x0C,0x0D,0x09,0x0B,0x03,0x07;char djh5=0x15,0x63,0x78,0xB1,0xEC;char djl5=0xA0,0xC0,0xD0,0xE0,0x78;P0=0x00;EA=1;EX0=1;/必須先初始化才能賦值;IT0=1;doif(ab2=0x10)/單步/開始ab2未賦值的時(shí)候? P0=0x01;P2=f0=0?zzi:fzi;/中斷通過改變ab2的值來控制步進(jìn)電機(jī)/f0決定正轉(zhuǎn)反轉(zhuǎn)i+;if(i7)i=0;ab2=0;else if(ab2=0x03)/ 連續(xù)P0=0x02;for(;)P2=

24、f0=0?zzi:fzi;TH0=djhh;TL0=djlh;delay();i+;if(i7)i=0;if(ab2=0x10 )ab2=0;break;22武漢理工大學(xué)單片微型計(jì)算機(jī)與接口技術(shù)課程設(shè)計(jì)課程設(shè)計(jì)說明書23武漢理工大學(xué)單片微型計(jì)算機(jī)與接口技術(shù)課程設(shè)計(jì)課程設(shè)計(jì)說明書/停止鍵和單步鍵能退出連續(xù)運(yùn)行else if(ab2=0x1D )break; while(1);void delayO (un sig ned char x) x*0.14MSun sig ned char i; while(x-)for (i = 0; i13; i+) /簡單的紅外遙控解碼程序void hon gw

25、ai() in terrupt 0 / un sig ned char j,k,N=0; EX0 = 0;delay0(15);if (P3_2=1) EX0 =1;return;/while (!P3_2)/delay0(1);HT6221入口點(diǎn)和出口點(diǎn)確認(rèn)IR信號出現(xiàn)等IR變?yōu)楦唠娖?,跳過9ms的前導(dǎo)低電平信號for (j=0;j4;j+)/for (k=0;k=30) EX0=1;return;/0.14ms /abj=abj 1;/if (N=8) abj = abj | 0x80; / N=0;/end for k/end for jif (ab2!=ab3) EX0=1;retur

26、n; if(ab2=0x10) P0=0x01;else if(ab2=0x03)P0=0x02;else if(ab2=0x01)P0=0x03;f0=f0;else if(ab2=0x06)P0=0x04;h+; if(h4)h=4;else if(ab2=0x09)P0=0x05;h-; if(h0)h=0;else if(ab2=0x1D) P0=0x06;EX0=1;void delay()TM0D=0x01;TR0=1;while(!TF0);TF0=0;計(jì)數(shù)過長自動(dòng)離開。高電平計(jì)數(shù)完畢數(shù)據(jù)最高位補(bǔ)0數(shù)據(jù)最高位補(bǔ)1/數(shù)據(jù)顯示及用于步進(jìn)電機(jī)控制/開外部中斷0TR0=0;26武漢理工大學(xué)單片微型計(jì)算機(jī)與接口技術(shù)課程設(shè)計(jì)課程設(shè)計(jì)說明書/仿真模塊的程序,PROTUS運(yùn)行in cludesbit P3_0=P3A0;void delay(); 可能是漏了函數(shù)原型.如果在main .以后定義了函數(shù),main以前要加函數(shù)原型聲明.void delay1s();mai n() int i=0,k=0;char code zz8=0x07,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論