2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  微機(jī)原理與接口技術(shù)課程設(shè)計(jì)</p><p><b>  ——數(shù)據(jù)采集</b></p><p><b>  二零一三年一月八號(hào)</b></p><p><b>  一、任務(wù)要求</b></p><p>  對(duì)一路溫度、一路壓力信號(hào)進(jìn)行巡回?cái)?shù)據(jù)采集,并把A/D

2、轉(zhuǎn)換后的結(jié)果在實(shí)驗(yàn)機(jī)的數(shù)碼管上顯示出來(lái)。采集到的數(shù)據(jù)超過(guò)規(guī)定的限值時(shí),使發(fā)光二極管發(fā)光報(bào)警。</p><p><b>  二、硬件連線</b></p><p>  本程序?qū)崿F(xiàn)兩路數(shù)據(jù)采集:一路采集溫度信號(hào),一路采集壓力信號(hào)。對(duì)每一路信號(hào)要連續(xù)采集8次,然后把8次A/D轉(zhuǎn)化后的平均值顯示在數(shù)碼管上。左邊三位顯示壓力值,右邊三位顯示溫度值。</p><

3、p> ?。?)撥碼開關(guān):將撥碼開關(guān)SW2撥上。表示將GAL20V8的地址輸入A-5接至系統(tǒng)地址線A5;A-6接至地址線A6;A-7接至地址線A7。</p><p>  (2)壓力實(shí)驗(yàn)?zāi)K的“壓力輸出”端接至ADC0809的輸入端IN0,溫度實(shí)驗(yàn)?zāi)K的“溫度輸出”端接至ADC0809的輸入端IN1。</p><p> ?。?)0809的EOC的輸出端與8259的IRQ0端相連,0809

4、的CS連CS8(3E0H)。</p><p> ?。?)8259的片選CS-1連地址輸出CS6(3A0H),8259的INT1連總線輸入INTR,8259模塊的INT-A連總線的INTA,8259的SP/1連+5V。</p><p>  (5)8253的片選CS連地址輸出端CS1(300H),8253的A0、A1分別連地址總線的A2、A3,8253的GATE0連+5V,8253的CLK0連

5、74LS393分頻輸出的47K輸出端,8253的OUT0連到任一發(fā)光二極管上;8253的GATE1連+5V,8253的CLK1連74LS393分頻輸出的47K輸出端,8253的OUT1連到溫度實(shí)驗(yàn)?zāi)K的“占空比輸入”端。</p><p> ?。?)8255并行模塊下方的4個(gè)片選信號(hào)CS-1、CS-2、CS-3和CS-4分別與地址譯碼輸出模塊的對(duì)應(yīng)引腳(實(shí)驗(yàn)箱中部的CS-1、CS-2、CS-3和CS-4)連接。&l

6、t;/p><p>  (7)74系列模塊中開放的3根輸出信號(hào)和4根輸入信號(hào)對(duì)鍵盤進(jìn)行控制。鍵盤的行信號(hào)Q_0、Q_1、Q_2、Q_3分別與開放的輸入信號(hào)Q0、Q1、Q2、Q3相連,鍵盤的列信號(hào)P_0和開放的輸出信號(hào)P0相連,片選信號(hào)CS2接CS4(360H)。</p><p>  如按上述連線,則8255的A口、B口、C口和控制口地址分別是200H、204H、208H、20CH;8259的奇地

7、址是3A8H,偶地址是3A0H。</p><p><b>  三、流程圖</b></p><p><b>  主程序模塊:</b></p><p><b>  中斷服務(wù)程序模塊:</b></p><p><b>  四、代碼實(shí)現(xiàn)</b></p>

8、<p><b>  1、8255模塊:</b></p><p>  顯示溫度值、壓力值;</p><p><b>  2、8253模塊:</b></p><p> ?。?)輸出負(fù)脈沖控制LED燈亮,即報(bào)警;</p><p>  (2)8253的OUT1作為“占空比輸入”。</p&

9、gt;<p>  3、8259模塊: </p><p>  實(shí)現(xiàn)中斷服務(wù)程序,即進(jìn)行壓力和溫度的數(shù)據(jù)采集。</p><p><b>  4、74系列模塊:</b></p><p>  實(shí)現(xiàn)數(shù)據(jù)采集的停止;</p><p>  5、A/D轉(zhuǎn)換模塊:</p><p>  實(shí)現(xiàn)溫度、壓力模

10、擬信號(hào)向數(shù)字信號(hào)的轉(zhuǎn)換。</p><p><b>  源代碼如下:</b></p><p><b>  .486p</b></p><p>  data segment use16 at 0 </p><p><b>  org 1000h</b></p>&l

11、t;p>  alarmflag db ?</p><p>  max db?</p><p>  pbai db?</p><p><b>  pshidb?</b></p><p><b>  pgedb?</b></p><p><b>

12、  tbaidb?</b></p><p><b>  tshidb?</b></p><p><b>  tgedb?</b></p><p>  pbufferdb8 dup(?)</p><p>  tbufferdb8 dup(?)</p>&l

13、t;p>  timesdb?</p><p><b>  chudb?</b></p><p>  countdb?</p><p>  stackp equ 1100h</p><p><b>  data ends</b></p><p>  cod

14、e segment use16</p><p>  assume cs:code,ds:data,ss:data</p><p><b>  org 1500h</b></p><p>  beg:jmp start</p><p>  sevencod db 0C0H,0F9H,0A4H,0B0H,99H,92H,8

15、2H,0F8H</p><p>  db 80H,90H,88H,83H,0C6H,0A1H,86H,8EH </p><p>  start:moveax,60000000h</p><p>  movcr0,eax</p><p>  movax,data</p><p><b>  movds,

16、ax</b></p><p>  movtimes,8</p><p>  movchu,10</p><p>  movmax,200</p><p><b>  cli</b></p><p>  movalarmflag,0</p><p>  m

17、ovcount,0</p><p>  moveax,80808080h</p><p>  movdx,20ch</p><p>  outdx,eax;初始化8255</p><p>  moveax,0ffffffffh</p><p>  movdx,200h</p><p>

18、;  outdx,eax;a口全滅</p><p>  movdx,204h</p><p>  outdx,eax;b口全滅</p><p><b>  ;初始化8259</b></p><p>  movdx,3a0h</p><p>  moval,13h</p>

19、<p>  outdx,al;icw1</p><p>  movdx,3a8h</p><p>  moval,08h</p><p>  outdx,al;icw2</p><p>  moval,03h</p><p>  outdx,al;icw4</p><p>

20、  movdx,30ch</p><p>  moval,56h</p><p><b>  outdx,al</b></p><p>  moval,128</p><p>  movdx,304h</p><p>  outdx,al;占空比</p><p>

21、;  mov ax,offset pic</p><p>  mov bx,20h</p><p>  mov [bx],ax</p><p>  mov ax,seg pic</p><p>  mov [bx+2],ax;中斷向量表</p><p>  movdx,3a8h</p><p>

22、;  movdx,0feh</p><p>  outdx,al;ocw1,開放irq0</p><p><b>  sti</b></p><p>  leabx,pbuffer</p><p>  re:movdx,3e0h</p><p>  outdx,al </p&g

23、t;<p>  call delayint</p><p>  cmpcount,7</p><p><b>  jbere</b></p><p><b>  cli;采集壓力值</b></p><p>  leabx,pbuffer</p><p>&

24、lt;b>  movcx,8</b></p><p><b>  xorax,ax</b></p><p>  count0:addal,[bx]</p><p><b>  adcah,0</b></p><p><b>  incbx</b>&l

25、t;/p><p>  loopcount0</p><p><b>  divtimes</b></p><p><b>  movah,0</b></p><p><b>  divchu</b></p><p>  movpge,ah</

26、p><p><b>  movah,0</b></p><p><b>  divchu</b></p><p>  movpshi,ah</p><p><b>  movah,0</b></p><p><b>  divchu<

27、;/b></p><p>  movpbai,ah</p><p>  moval,pbai</p><p>  leabx,sevencod</p><p><b>  xlat</b></p><p>  movpbai,al</p><p>  mov

28、al,pshi</p><p><b>  xlat</b></p><p>  movpshi,al</p><p>  moval,pge</p><p><b>  xlat</b></p><p>  movpge,al</p><p>

29、  movdx,200h</p><p>  moval,pbai</p><p><b>  outdx,al</b></p><p>  movdx,204h</p><p>  moval,pshi</p><p><b>  outdx,al</b><

30、;/p><p>  movdx,201h</p><p>  moval,pge</p><p>  outdx,al;轉(zhuǎn)換</p><p>  calldelayint</p><p><b>  sti</b></p><p>  movcount,0</p

31、><p>  leabx,tbuffer</p><p><b>  re1:</b></p><p>  movdx,3e4h</p><p>  outdx,al </p><p>  call delayint</p><p>  cmpcount,7</

32、p><p><b>  jbere1</b></p><p><b>  cli;采集溫度值</b></p><p>  leabx,tbuffer</p><p><b>  movcx,8</b></p><p><b>  xorax

33、,ax</b></p><p>  count1:addal,[bx]</p><p><b>  adcah,0</b></p><p><b>  incbx</b></p><p>  loopcount1</p><p><b>  di

34、vtimes</b></p><p><b>  movah,0</b></p><p><b>  divchu</b></p><p>  movtge,ah</p><p><b>  movah,0</b></p><p>

35、<b>  divchu</b></p><p>  movtshi,ah</p><p><b>  movah,0</b></p><p><b>  divchu</b></p><p>  movtbai,ah</p><p>  mo

36、val,tbai</p><p>  leabx,sevencod</p><p><b>  xlat</b></p><p>  movtbai,al</p><p>  moval,tshi</p><p><b>  xlat</b></p>&

37、lt;p>  movtshi,al</p><p>  moval,tge</p><p><b>  xlat</b></p><p>  movtge,al</p><p>  movdx,205h</p><p>  moval,tbai</p><p&g

38、t;<b>  outdx,al</b></p><p>  movdx,202h</p><p>  moval,tshi</p><p><b>  outdx,al</b></p><p>  movdx,206h</p><p>  moval,tge&l

39、t;/p><p>  outdx,al;轉(zhuǎn)換</p><p><b>  exit: </b></p><p><b>  cli</b></p><p>  movdx,3a8h</p><p>  moval,00h</p><p>  out

40、dx,al;恢復(fù)屏蔽寄存器</p><p>  call delayint</p><p><b>  jmp start</b></p><p><b>  hlt</b></p><p>  delayint proc</p><p><b>  push d

41、x</b></p><p><b>  push ax</b></p><p><b>  push cx</b></p><p>  mov cx,1024</p><p><b>  loop $</b></p><p><b>

42、;  pop cx</b></p><p><b>  pop ax</b></p><p><b>  pop dx</b></p><p><b>  ret</b></p><p>  delayint endp</p><p>  

43、picproc far</p><p><b>  cli</b></p><p><b>  pushdx</b></p><p><b>  pushax</b></p><p><b>  pushcx</b></p><

44、p><b>  inal,dx</b></p><p>  cmpal,max</p><p><b>  jaexit2</b></p><p>  mov[bx],al</p><p><b>  incbx</b></p><p>

45、<b>  inccount</b></p><p><b>  jmpexit1</b></p><p><b>  exit2:</b></p><p>  movdx,30ch</p><p>  moval,10h</p><p><

46、;b>  outdx,al</b></p><p>  movax,128</p><p>  movdx,300h</p><p>  outdx,al;報(bào)警</p><p>  exit1:movdx,3a0h</p><p>  moval,20h</p><p&

47、gt;  outdx,al;關(guān)中斷</p><p>  mov al,0feh</p><p>  mov dx,360h</p><p><b>  out dx,al</b></p><p><b>  nop</b></p><p><b>  nop<

48、;/b></p><p><b>  in al,dx</b></p><p>  and al,0fh</p><p>  cmp al,0fh</p><p><b>  je next</b></p><p><b>  hlt</b><

49、;/p><p><b>  next:</b></p><p><b>  popcx</b></p><p><b>  popax</b></p><p><b>  popdx</b></p><p><b>  

50、sti</b></p><p><b>  iret</b></p><p><b>  picendp</b></p><p><b>  codeends</b></p><p><b>  endbeg</b></p>

51、<p><b>  五、調(diào)試運(yùn)行</b></p><p>  在調(diào)試運(yùn)行過(guò)程中,我遇到了以下幾個(gè)問(wèn)題:</p><p>  1、當(dāng)壓力、溫度超過(guò)限值時(shí),LED燈不能報(bào)警;</p><p>  2、單步調(diào)試時(shí),停止鍵有用,全速運(yùn)行時(shí)就不起作用;</p><p>  3、剛?cè)龠\(yùn)行時(shí),溫度值、壓力值的顯示亮度不

52、一樣,壓力值較亮,溫度值較暗。</p><p>  經(jīng)過(guò)多次單步調(diào)試及I/O檢測(cè),終于發(fā)現(xiàn)了癥結(jié)所在,原因及解決辦法如下:</p><p>  1、針對(duì)第一個(gè)問(wèn)題,我的想法是可以采用8253的定時(shí)計(jì)數(shù)功能,使得OUT0口定時(shí)輸出負(fù)脈沖,將OUT0與LED燈連接,即可以報(bào)警。由于我采用了方式2,輸出的負(fù)脈沖只持續(xù)很短的時(shí)間,所以肉眼幾乎看不到LED燈在閃爍。于是,我改用了方式3。</p

53、><p>  2、針對(duì)第二個(gè)問(wèn)題,每一輪采樣中,我都初始化一遍8253,使得按鍵無(wú)效。所以,我將初始化8253的計(jì)數(shù)器1改放在了整個(gè)程序的初始化部分。</p><p>  3、針對(duì)第三個(gè)問(wèn)題,我詢問(wèn)了老師和同學(xué),但是還是沒(méi)有解決亮度的問(wèn)題,這是這次課設(shè)的一個(gè)未解癥狀之一。</p><p><b>  六、總結(jié)</b></p><

54、p>  這次課程設(shè)計(jì)讓我充分認(rèn)識(shí)到了我思考問(wèn)題不周到全面。比如,在報(bào)警方面,我沒(méi)有考慮到8253工作在方式2時(shí)輸出的負(fù)脈沖只持續(xù)很短暫的時(shí)間,我也沒(méi)有認(rèn)識(shí)到進(jìn)入中斷服務(wù)程序時(shí)保護(hù)現(xiàn)場(chǎng)的重要性。這些都是在以后的學(xué)習(xí)、工作中需要注意的問(wèn)題。</p><p>  同時(shí),通過(guò)這次課程設(shè)計(jì),我對(duì)自己更加充滿了信心。在老師的幫助下,在與同學(xué)的討論中,我認(rèn)識(shí)到了自己的問(wèn)題,并加以改正,獨(dú)立完成了這次課程設(shè)計(jì)??吹阶约号?/p>

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論