版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 微機(jī)接口課程設(shè)計(jì)</b></p><p><b> 班級: </b></p><p><b> 姓名: </b></p><p><b> 學(xué)號:</b></p><p><b> 任課老師:</b&
2、gt;</p><p><b> 微機(jī)接口課程設(shè)計(jì)</b></p><p><b> 一.設(shè)計(jì)目標(biāo)。</b></p><p> 二.設(shè)計(jì)所用儀器和器件。</p><p><b> 三.設(shè)計(jì)內(nèi)容。</b></p><p><b> 四.
3、設(shè)計(jì)過程。</b></p><p><b> 1.設(shè)計(jì)方案</b></p><p> 2.所設(shè)計(jì)系統(tǒng)的硬件連接圖</p><p> 五.微機(jī)接口實(shí)驗(yàn)心得。</p><p><b> 六.實(shí)驗(yàn)代碼分析。</b></p><p><b> 一.設(shè)計(jì)
4、目標(biāo)。</b></p><p> 設(shè)計(jì)一個(gè)模擬汽車控制系統(tǒng),用簡單邏輯電平控制車的檔位(前進(jìn)1,前進(jìn)2,前進(jìn)3,后退),用步進(jìn)電機(jī)的轉(zhuǎn)速模擬車的速度(若步進(jìn)電機(jī)不能用,也可以用流水燈的刷新方向和速度,或數(shù)碼管顯示的數(shù)值來模擬車的速度),用A/D 轉(zhuǎn)換器模擬車的油門大小。用Visual</p><p> C++ 6.0(推薦使用)編程,并設(shè)計(jì)程序界面。</p>
5、<p> 設(shè)計(jì)所用儀器和器件。</p><p> 步進(jìn)電機(jī),A/D轉(zhuǎn)換器,邏輯開關(guān)</p><p> 用所本課程學(xué)過的接口芯片,設(shè)計(jì)一個(gè)微機(jī)應(yīng)用系統(tǒng),要求系統(tǒng)中包含至少三種不同類型的</p><p><b> 接口。</b></p><p><b> 可用接口:</b></
6、p><p> 1. 基本I/O 實(shí)驗(yàn)(實(shí)驗(yàn)箱上的發(fā)光管控制、撥鍵開關(guān))</p><p> 讀、寫端口均為:0c860H</p><p> 無需另外接線(實(shí)驗(yàn)箱內(nèi)部已經(jīng)連接好)</p><p> 2. CMOS 實(shí)時(shí)鐘實(shí)驗(yàn)(讀、寫PC 機(jī)主板上的CMOS 實(shí)時(shí)鐘)</p><p><b> 地址端口:70
7、H</b></p><p><b> 數(shù)據(jù)端口:71H</b></p><p> 沒有用到實(shí)驗(yàn)箱,只需要PC 機(jī)即可,無需接線。</p><p> 3. 實(shí)驗(yàn)箱的定時(shí)計(jì)數(shù)器8253(方波輸出,用邏輯筆顯示閃爍快慢)</p><p> 數(shù)據(jù)端口0:0c820H</p><p>
8、 數(shù)據(jù)端口1:0c821H</p><p> 數(shù)據(jù)端口2:0c822H</p><p> 命令端口:0c823H</p><p> 需要在實(shí)驗(yàn)箱上接線,輸入時(shí)鐘由實(shí)驗(yàn)箱上B 區(qū)的時(shí)鐘頻率輸出插孔引出,輸輯筆顯示(實(shí)驗(yàn)箱M 區(qū)),高電平可由實(shí)驗(yàn)箱上A 區(qū)+5V 插孔提供。</p><p> 4. 七段數(shù)碼管顯示(實(shí)驗(yàn)箱上的6 個(gè)數(shù)碼管顯
9、示)</p><p> 由并行接口8255 控制</p><p> PA 口地址:0c800H</p><p> PB 口地址:0c801H</p><p> PC 口地址:0c802H</p><p> 命令口地址:0c803H</p><p> 數(shù)碼管的選通由PB0~PB5 控制
10、(從左至右),數(shù)碼管上的七段和小數(shù)點(diǎn)顯示由制,PC 口未使用</p><p> 無需另外接線(實(shí)驗(yàn)箱內(nèi)部已經(jīng)連接好)</p><p> 5. 步進(jìn)電機(jī)的驅(qū)動(dòng)(實(shí)驗(yàn)箱右上方的步進(jìn)電機(jī))</p><p> PA 口地址:0c800H</p><p> PB 口地址:0c801H</p><p> PC 口地址:0
11、c802H</p><p> 命令口地址:0c803H</p><p> 任意選擇并行接口8255 的PA、PB 或PC 口之一,用4 根線驅(qū)動(dòng)步進(jìn)電機(jī)的輸入要連線)</p><p> 6. 小鍵盤輸入顯示</p><p> PA 口地址:0c800H</p><p> PB 口地址:0c801H</p
12、><p> PC 口地址:0c802H</p><p> 命令口地址:0c803H</p><p> 從PC0~PC3 輸入預(yù)定的值,從PC4~PC7 讀出,根據(jù)輸入和輸出的值,判斷小鍵盤并在PC 機(jī)屏幕輸出</p><p> 無需另外接線(實(shí)驗(yàn)箱內(nèi)部已經(jīng)連接好)</p><p> 7. A/D 轉(zhuǎn)換接口(查詢方
13、式)</p><p> 啟動(dòng)A/D 轉(zhuǎn)換端口(寫任意值):0c880H</p><p> 讀轉(zhuǎn)換結(jié)果數(shù)據(jù):0c880H(與啟動(dòng)端口相同)</p><p> 無需另外接線(實(shí)驗(yàn)箱內(nèi)部已經(jīng)連接好)</p><p><b> 設(shè)計(jì)內(nèi)容。</b></p><p> 1.設(shè)計(jì)步進(jìn)電機(jī)的順時(shí)針和逆時(shí)
14、針旋轉(zhuǎn):</p><p> 2.使用A/D轉(zhuǎn)換器轉(zhuǎn)換模擬信號為數(shù)字信號.</p><p> 3.設(shè)計(jì)電平開關(guān)控制輸入,并將輸入結(jié)果顯示出來.</p><p><b> 四.設(shè)計(jì)過程。</b></p><p> 根據(jù)撥動(dòng)的邏輯電平,用I/O端口讀出數(shù)值,來判斷并決定小車的動(dòng)作。</p><p&g
15、t; 后退檔用步進(jìn)電機(jī)逆時(shí)針旋轉(zhuǎn)來模擬,前進(jìn)擋用步進(jìn)電機(jī)的順時(shí)針旋轉(zhuǎn)模擬。</p><p> 檔位的控制用限制Sleep的時(shí)間乘以一定速率來實(shí)現(xiàn)。即用簡單邏輯電平控制車的檔位(前進(jìn) 1,前進(jìn) 2 ,前進(jìn) 3,后退)。</p><p> unsigned short a= 0x0c860;</p><p><b> int i;</b>&
16、lt;/p><p><b> while(1)</b></p><p> {i = _inp(a);</p><p> _outp(a, i);</p><p> if(i==128) </p><p><b> back(); </b></p><
17、;p> else if(i==64)</p><p><b> move(4);</b></p><p> else if(i==32)</p><p><b> move(2); </b></p><p> else if(i==16)</p><p>&l
18、t;b> move(1); </b></p><p><b> else</b></p><p><b> stop();</b></p><p><b> }</b></p><p> 步進(jìn)電機(jī)順時(shí)針旋轉(zhuǎn)相序表加電代碼順序:05H 15H 14H
19、54H 50H 51H 41H 45H</p><p> 步進(jìn)電機(jī)順時(shí)針旋轉(zhuǎn)相序表加電代碼順序:45H 41H 51H 50H 54H 14H 15H 05H </p><p> 即剛好與順時(shí)針的順序相反。</p><p> A/D 轉(zhuǎn)換器轉(zhuǎn)換的數(shù)值模擬車的油門大小數(shù)值越高,Sleep的時(shí)間越短,速度越快。</p><p> unsi
20、gned short b=0x0c880;</p><p><b> int t;</b></p><p> _outp(b,1);</p><p> t=_inp(b);</p><p><b> Sleep(t);</b></p><p> 2.所設(shè)計(jì)系統(tǒng)的硬件
21、連接圖</p><p> 用四根導(dǎo)線分別將步進(jìn)電機(jī)的四個(gè)接口線分別連上</p><p><b> A0,</b></p><p><b> A2,</b></p><p><b> A4,</b></p><p><b> A6。&l
22、t;/b></p><p><b> 實(shí)驗(yàn)心得。</b></p><p> 在本學(xué)期,我們學(xué)習(xí)了微機(jī)接口這門課程,并在課程學(xué)習(xí)過后完成了微機(jī)接口課程設(shè)計(jì)的實(shí)踐環(huán)節(jié)。在這次的微機(jī)接口課程設(shè)計(jì)的過程中,我更好地了解了微機(jī)接口的相關(guān)知識(shí),在經(jīng)過了課本上的理論知識(shí)的學(xué)習(xí)后,我也通過自己的實(shí)踐和努力把所學(xué)到的微機(jī)接口的知識(shí)運(yùn)用到了這次的課程設(shè)計(jì)中去,在遇到自己不明白或
23、學(xué)習(xí)不牢固的地方,我積極的請教身邊的同學(xué),在經(jīng)過了相互交流過后,我們很好的解決了遇到的困難,最終完成了這次的微機(jī)接口課程設(shè)計(jì)的題目要求。</p><p> 通過這次的課程設(shè)計(jì),我不僅僅經(jīng)微機(jī)接口的理論知識(shí)運(yùn)用到實(shí)踐中去,還更好地與同學(xué)針對自己沒有鞏固的知識(shí)點(diǎn)進(jìn)行了很好的交流,在交流的過程中,使得自己對微機(jī)接口知識(shí)更好地了解。</p><p> 希望在以后的日子里,能更好地了解和運(yùn)用所學(xué)
24、到的微機(jī)接口的相關(guān)知識(shí),更好地提高自己對于微機(jī)接口技術(shù)的理解,為以后的工作打下堅(jiān)實(shí)的基礎(chǔ)。</p><p><b> 五、分析與討論。</b></p><p> #include "conio.h"</p><p> #include "stdio.h"</p><p>
25、#include "windows.h"</p><p> void back() </p><p><b> {</b></p><p> unsigned short a=0x0c800;</p><p> unsigned short b=0x0c880;</p&g
26、t;<p><b> int t;</b></p><p> _outp(a,0x05);</p><p> _outp(b,1);</p><p> t=_inp(b);</p><p><b> Sleep(t);</b></p><p> _o
27、utp(a,0x15);</p><p> t=_outp(b,1);</p><p><b> Sleep(t);</b></p><p> _outp(a,0x14);</p><p> t=_outp(b,1);</p><p><b> Sleep(t);</b&
28、gt;</p><p> _outp(a,0x54);</p><p> t=_outp(b,1);</p><p><b> Sleep(t);</b></p><p> _outp(a,0x50);</p><p> t=_outp(b,1);</p><p>
29、;<b> Sleep(t);</b></p><p> _outp(a,0x51);</p><p> t=_outp(b,1);</p><p><b> Sleep(t);</b></p><p> _outp(a,0x41);</p><p> t=_ou
30、tp(b,1);</p><p><b> Sleep(t);</b></p><p> _outp(a,0x45);</p><p> t=_outp(b,1);</p><p><b> Sleep(t);</b></p><p><b> }<
31、/b></p><p> void move(int j)</p><p> {unsigned short a=0x0c800;</p><p> unsigned short b=0x0c880;//AD</p><p><b> int t;</b></p><p> _ou
32、tp(a,0x45);</p><p> _outp(b,1);</p><p> t=_inp(b);</p><p> Sleep(t*j);</p><p> _outp(a,0x41);</p><p> t=_outp(b,1);</p><p> Sleep(t*j);&
33、lt;/p><p> _outp(a,0x51);</p><p> t=_outp(b,1);</p><p> Sleep(t*j);</p><p> _outp(a,0x50);</p><p> t=_outp(b,1);</p><p> Sleep(t*j);</p&
34、gt;<p> _outp(a,0x54);</p><p> t=_outp(b,1);</p><p> Sleep(t*j);</p><p> _outp(a,0x14);</p><p> t=_outp(b,1);</p><p> Sleep(t*j);</p>&
35、lt;p> _outp(a,0x15);</p><p> t=_outp(b,1);</p><p> Sleep(t*j);</p><p> _outp(a,0x05);</p><p> t=_outp(b,1);</p><p> Sleep(t*j);</p><p&g
36、t;<b> }</b></p><p> void stop()</p><p><b> {}</b></p><p> void main()</p><p> {unsigned short a= 0x0c860;</p><p><b> in
37、t i;</b></p><p><b> while(1)</b></p><p><b> {</b></p><p> i = _inp(a);</p><p> _outp(a, i);</p><p> if(i==128)</p>
38、<p><b> back();</b></p><p> else if(i==64)</p><p><b> move(4);</b></p><p> else if(i==32)</p><p><b> move(2);</b></p&
39、gt;<p> else if(i==16)</p><p><b> move(1);</b></p><p><b> else</b></p><p><b> stop();</b></p><p><b> }</b>&l
溫馨提示
- 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. 眾賞文庫僅提供信息存儲(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 微機(jī)接口家用電器模擬控制系統(tǒng)課程設(shè)計(jì)
- 微機(jī)課程設(shè)計(jì)---溫度控制系統(tǒng)
- 微機(jī)接口課程設(shè)計(jì)
- 《微機(jī)原理與接口技術(shù)》課程設(shè)計(jì)---交通急救控制系統(tǒng)
- 課程設(shè)計(jì)-- 微機(jī)步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)
- 微機(jī)原理與接口課程設(shè)計(jì)--用匯編語言編寫一個(gè)時(shí)鐘程序
- 評分系統(tǒng)課程設(shè)計(jì)-微機(jī)接口課程設(shè)計(jì)報(bào)告
- 微機(jī)接口課程設(shè)計(jì)報(bào)告
- 微機(jī)課程設(shè)計(jì)---交通燈控制系統(tǒng)設(shè)計(jì)
- 微機(jī)控制技術(shù)課程設(shè)計(jì)---步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)
- 微機(jī)控制課程設(shè)計(jì)--電阻爐溫度控制系統(tǒng)設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)--步進(jìn)電機(jī)控制系統(tǒng)
- 電冰箱溫度控制系統(tǒng)微機(jī)課程設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)--流水燈控制系統(tǒng)
- 微機(jī)原理課程設(shè)計(jì)--交通燈控制系統(tǒng)設(shè)計(jì)
- 模擬路燈控制系統(tǒng)課程設(shè)計(jì)
- 《微機(jī)接口及應(yīng)用》課程設(shè)計(jì)——交通信號燈控制系統(tǒng)
- 微機(jī)原理與接口課程設(shè)計(jì)---汽車信號燈
- 微機(jī)課程設(shè)計(jì)報(bào)告 小型步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)----交通燈控制系統(tǒng)
評論
0/150
提交評論