微機(jī)接口課程設(shè)計(jì)--設(shè)計(jì)一個(gè)模擬汽車控制系統(tǒng)_第1頁
已閱讀1頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論