微機原理課程設(shè)計---壓力測量系統(tǒng)的設(shè)計_第1頁
已閱讀1頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  課 程 設(shè) 計</p><p> ?。ㄎC原理及應(yīng)用A)</p><p>  班  級 09網(wǎng)絡(luò)1班 </p><p>  姓  名 </p><p>  學(xué)  號 </p><p>  指導(dǎo)教師

2、 </p><p>  二○一一 年 七 月 八 日</p><p>  課程設(shè)計任務(wù)書及成績評定</p><p>  課題名稱 壓力測控系統(tǒng)的設(shè)計 </p><p>  I、題目的目的和要求:</p><p>  設(shè)計一個對壓力傳感器的信號進行檢測并在LED數(shù)碼顯示器上

3、顯示壓力值的系統(tǒng),當(dāng)壓力低于30pa時,黃燈閃爍,閃爍周期為1秒。當(dāng)壓力高于150pa時,紅燈閃爍。LED的顯示內(nèi)容為P=XXX。X為測試值。</p><p>  II、設(shè)計進度及完成情況</p><p>  III、主要參考文獻及資料</p><p>  《微型計算機原理及應(yīng)用》 清華大學(xué)出版社 鄭學(xué)堅 周斌</p><p>  《微型計算

4、機技術(shù)及應(yīng)用》清華大學(xué)出版社 史嘉權(quán)</p><p>  《微機原理與接口技術(shù)基礎(chǔ)與應(yīng)用》海洋出版社 鄧振杰</p><p>  《微機原理與接口技術(shù)實驗及課程設(shè)計》西南交通大學(xué)出版社 楊斌 </p><p>  《單片機原理及接口技術(shù)》 清華大學(xué)出版社 梅麗鳳 王艷秋</p><p>  學(xué)科部主任 (簽字)</p&g

5、t;<p><b>  Ⅵ、成績評定:</b></p><p>  設(shè)計成績: (教師填寫)</p><p>  指導(dǎo)老師: (簽字)</p><p>  二○一一 年 七 月 八 日</p><p><b>  一、設(shè)計要求&l

6、t;/b></p><p>  設(shè)計一個對壓力傳感器的信號進行檢測并在LED數(shù)碼顯示器上顯示壓力值的系統(tǒng),當(dāng)壓力低于30pa時,黃燈閃爍,閃爍周期為1秒。當(dāng)壓力高于150pa時,紅燈閃爍。LED的顯示內(nèi)容為P=XXX。X為測試值。</p><p><b>  二.設(shè)計思想</b></p><p>  壓力測試系統(tǒng)的設(shè)計,必然要牽涉到壓力的

7、感應(yīng)與轉(zhuǎn)化,所以必須要有壓力傳感與A/D轉(zhuǎn)換器。將自然中的模擬量轉(zhuǎn)化為電壓信號,再轉(zhuǎn)化位數(shù)字信號進行處理。一個小型的微機系統(tǒng),必須要有8086cpu來進行整體的控制,將其通過8255與A/D傳感器進行連接。這就是這個系統(tǒng)的主要框架。</p><p>  而具體的應(yīng)用框架則是在主要的框架上添加。要當(dāng)壓力低于30pa時,黃燈閃爍。當(dāng)壓力高于150pa時,紅燈閃爍。則應(yīng)添加8255。模塊。通過編程來控制黃燈與紅燈的亮滅

8、情況,考慮到要進行比較,所以我用了兩個比較器進行數(shù)據(jù)的比較。同時,由于燈要閃爍,閃爍周期要一秒,所以我們考慮到還要加一個8253芯片去控制。但根據(jù)個人情況,這個模塊我省略了。而至于LED顯示,且顯示內(nèi)容為三位。我只在程序之中體現(xiàn),而在硬件圖中沒有去體現(xiàn)。</p><p><b>  三.系統(tǒng)設(shè)計框圖</b></p><p><b>  四.程序流程圖<

9、/b></p><p><b>  五.源程序</b></p><p><b>  ;宏定義</b></p><p>  addr_8253 equ 208h</p><p>  a_8253 equ addr_8253 </p><

10、p>  b_8253 equ addr_8253+1h</p><p>  ctrl_8253 equ addr_8253+3h</p><p>  addr_adc0809 equ 210h </p><p>  addr_8255 equ 200h</p><

11、;p>  a_8255 equ addr_8255</p><p>  b_8255 equ addr_8255+1h</p><p>  c_8255 equ addr_8255+2h</p><p>  ctrl_8255 equ addr_8255+3h&l

12、t;/p><p>  ;******************************************</p><p>  codesegment</p><p>  assume cs:code,ds:code</p><p><b>  start:</b></p><p><b&g

13、t;  movax,cs</b></p><p><b>  movds,ax</b></p><p>  ;******************************************</p><p>  ;8253產(chǎn)生方形波,周期為1s,通道0</p><p>  movdx,ctrl_82

14、53;設(shè)置8253控制口 </p><p>  moval,3eh;控制字00111110 00表示計時器0;11表示先讀寫低八位,后寫讀高八位; X11表示工作在模式3; 0表示二進制計數(shù)</p><p>  outdx,al ;寫控制字</p><p>  movdx,a_8253;設(shè)置計數(shù)初值(計數(shù)器0)</p

15、><p>  movax,1000d</p><p>  outdx,al;先寫低八位,后寫高八位</p><p><b>  moval,ah</b></p><p><b>  outdx,al</b></p><p>  ;8253產(chǎn)生方形波,周期為1s,通道1

16、</p><p>  movdx,ctrl_8253;設(shè)置8253控制口 </p><p>  moval,7eh;控制字01111110 01表示計時器1;11表示先讀寫低八位,后寫讀高八位; X11表示工作在模式3; 0表示二進制計數(shù)</p><p>  outdx,al ;寫控制字</p><p&g

17、t;  movdx,b_8253;設(shè)置計數(shù)初值(計數(shù)器1)</p><p>  movax,500d</p><p>  outdx,al ;先寫低八位,后寫高八位</p><p><b>  moval,ah</b></p><p><b>  outdx,al</b&g

18、t;</p><p>  ;******************************************</p><p><b>  ;啟動A/D</b></p><p>  movdx,addr_adc0809 ;ADC0809 </p><p>  outdx,al </

19、p><p>  ;******************************************</p><p><b>  disp:</b></p><p><b>  ;8255初始化</b></p><p>  ;A口做為段碼輸出,B口做為位碼輸出,C口低2位做為有色燈的輸出</p&

20、gt;<p>  movdx,ctrl_8255;8255初始化 </p><p>  moval,80h;控制字 10000000 1表示方式控制字; 00端口A方式0; 0輸出; 0PC7-PC4 輸出; 0定義端口B為0 輸出;0 PC0-PC3 輸出 </p><p>  outdx,al ;寫控制字</p>

21、<p><b>  repeat:</b></p><p>  ;初始化地址指針和位碼</p><p>  leabx,TABLE;段碼表首址送bx Load effect address——取有效地址,也就是取偏移地址</p><p>  leadi,BUFDA;指向緩沖區(qū)首地址 Load effect a

22、ddress——取有效地址,也就是取偏移地址</p><p>  movcl,0dfh ;11011111b 位碼,共陰極,便于從第六位開始向低位依次顯示</p><p>  next: ;顯示子程序</p><p><b>  ;輸出位碼</b></p><p>

23、;  movdx,b_8255;8255B口,輸出位碼</p><p>  moval,cl</p><p>  outdx,al</p><p>  moval,[di];從緩沖區(qū)取段碼</p><p><b>  xlat</b></p><p>  movdx,a_8

24、255;輸出段碼到8255A口</p><p><b>  outdx,al</b></p><p><b>  ;延遲</b></p><p><b>  pushcx</b></p><p>  movcx,30h</p><p><b

25、>  delay:</b></p><p>  loopdelay</p><p><b>  popcx</b></p><p><b>  ;關(guān)LED顯示</b></p><p>  movdx,a_8255</p><p><b>  

26、moval,0</b></p><p><b>  outdx,al</b></p><p>  cmpcl,11111110b;已經(jīng)顯示最低位</p><p>  jzconvey;顯示完成</p><p>  incdi;指向下一個段碼</p><p>  ro

27、rcl,1;顯示向低一位轉(zhuǎn)移</p><p><b>  jmpnext</b></p><p><b>  convey:</b></p><p>  ;延時,方便LED顯示結(jié)果及有色燈的閃爍</p><p>  cmpcount,0;count在后面定義</p>&l

28、t;p>  jzadcall;延時時間到,開始下一次的數(shù)據(jù)采樣</p><p>  deccount;延時時間未到</p><p>  jmprepeat;******************jmp convey</p><p>  ;******************************************</p>

29、<p>  ;ADC0809接收模擬信號并轉(zhuǎn)化為數(shù)字信號</p><p><b>  adcall:</b></p><p><b>  callad</b></p><p>  movcount,0ffh;設(shè)置下一次數(shù)據(jù)采集的時間間隔</p><p>  jmprepeat<

30、;/p><p>  TABLE:;段碼表</p><p><b>  db3fh;0</b></p><p><b>  db06h;1</b></p><p><b>  db5bh;2</b></p><p><b>  db4

31、fh;3</b></p><p><b>  db66h;4</b></p><p><b>  db6dh;5</b></p><p><b>  db7dh;6</b></p><p><b>  db07h;7</b></p

32、><p><b>  db7fh;8</b></p><p><b>  db6fh;9</b></p><p><b>  db73h;P</b></p><p><b>  db48h;=</b></p><p>  db

33、00h;NULL</p><p>  BUFDA:;顯示緩沖區(qū)</p><p>  db10,11,12,12,12,0;初始顯示P= 0 </p><p>  countdw0ffh</p><p>  ;******************************************</p><

34、p><b>  adproc</b></p><p>  ;讀取AD轉(zhuǎn)換結(jié)果并啟動AD</p><p><b>  pushax</b></p><p><b>  pushbx</b></p><p><b>  pushcx</b><

35、;/p><p><b>  pushdx</b></p><p><b>  pushdi</b></p><p>  movdx,addr_adc0809 ;通道0</p><p><b>  ;讀結(jié)果</b></p><p>  inal,dx

36、;數(shù)字量存放在al中</p><p><b>  ;啟動A/D</b></p><p>  outdx,al;啟動下一次的ad轉(zhuǎn)換</p><p><b>  pushax</b></p><p>  ;******************************************&

37、lt;/p><p>  ;根據(jù)數(shù)字量的值判斷有色燈是否要亮</p><p>  cmpal,30d</p><p>  jbyellow;小于30 小于則轉(zhuǎn)移到目標(biāo)指令執(zhí)行</p><p>  cmpal,150d</p><p>  jared;大于150 大于則轉(zhuǎn)移到目標(biāo)指令執(zhí)行&l

38、t;/p><p>  movdx,ctrl_8255 ;8255控制口</p><p><b>  pushax</b></p><p>  mov al,00h;介于30和150之間,PC0輸出低電平</p><p><b>  outdx,al</b></p><

39、;p><b>  popax</b></p><p>  jmpred_yellow</p><p>  ;******************************************</p><p>  red:movdx,c_8255 ;控制口</p><p>  mov al,02h;

40、8255 PC1輸出高電平</p><p><b>  outdx,al</b></p><p>  jmpred_yellow</p><p>  yellow:movdx,c_8255 ;控制口</p><p>  moval,01h ;8255 PC0輸出高電平</p>

41、<p>  out dx,al</p><p>  red_yellow:</p><p><b>  popax</b></p><p><b>  movah,0</b></p><p>  ;******************************************

42、</p><p>  ;將數(shù)字量轉(zhuǎn)換成十進制,方便顯示</p><p>  callbinidec</p><p><b>  popdi</b></p><p><b>  popdx</b></p><p><b>  popcx</b>

43、</p><p><b>  popbx</b></p><p><b>  popax</b></p><p><b>  ret</b></p><p><b>  adendp</b></p><p>  ;******

44、************************************</p><p>  binidecproc</p><p>  ;將存放于AL中的數(shù)轉(zhuǎn)換為十進制數(shù)存放到BUFDA中</p><p><b>  pushax</b></p><p>  movah,0;ax=al</p>

45、<p><b>  movbl,10</b></p><p>  movcx,4;</p><p>  leadi,BUFDA+5;指向顯示緩沖區(qū)末尾</p><p>  binidec_next:</p><p>  divbl;al:商,ah:余數(shù)</p><p>

46、  mov[di],ah</p><p><b>  decdi</b></p><p><b>  deccx</b></p><p><b>  movah,0</b></p><p><b>  cmpal,0</b></p>

47、<p>  jnzbinidec_next</p><p>  binidec_null:</p><p>  movbyte ptr [di],12</p><p><b>  decdi</b></p><p>  loopbinidec_null</p><p><

48、b>  popax</b></p><p><b>  ret</b></p><p>  binidecendp</p><p>  ;******************************************</p><p><b>  codeends</b>

49、</p><p>  endstart </p><p><b>  六、設(shè)計心得</b></p><p>  經(jīng)過一周的微機課程設(shè)計,讓我對微機這一門課程有了系統(tǒng)的疏導(dǎo)。在學(xué)習(xí)這門課程是我們只是獨立的講解一些芯片的結(jié)構(gòu)及用法,而通過微機課程設(shè)計,在我們在構(gòu)建一個小型的微機系統(tǒng)時,而真正的去關(guān)注這些芯片的連接。這不但要求我們對各個芯片要有一定

50、的了解與認(rèn)知。而且要懂得怎么融會貫通。這是我在這次微機實習(xí)中體會最深的。其二,通過微機課程設(shè)計,培養(yǎng)了我們想問題的思維方式。以前我們想問題時總是將一些問題孤立出來去思考,而這次實習(xí),他引導(dǎo)我們以多維的方式去解析整個問題。在課程設(shè)計中,我們不但要理解好系統(tǒng)的結(jié)構(gòu),進而畫出硬件連接圖、而且要寫出程序流程圖及源程序就,這些雖然是不同的表現(xiàn)形式,但他們必須用統(tǒng)一的思想去認(rèn)識。其三,通過對壓力測試系統(tǒng)的設(shè)計,讓我們更加了解了CPU8086、ADC

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論