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

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  微機(jī)原理與接口技術(shù)</b></p><p><b>  課程設(shè)計(jì)報(bào)告</b></p><p><b>  ——倒計(jì)電子時(shí)鐘</b></p><p>  倒計(jì)電子時(shí)鐘課程設(shè)計(jì)報(bào)告</p><p><b>  一、設(shè)計(jì)題目:</b>

2、;</p><p><b>  倒計(jì)電子時(shí)鐘</b></p><p><b>  二、設(shè)計(jì)目的:</b></p><p>  1、掌握多位計(jì)數(shù)器相連的設(shè)計(jì)方法。</p><p>  2、掌握十進(jìn)制、六十進(jìn)制、二十四進(jìn)制計(jì)數(shù)器的設(shè)計(jì)方法。</p><p>  3、進(jìn)一步掌握定時(shí)

3、器的使用和編程方法。 </p><p>  4、進(jìn)一步掌握中斷處理程序的編程方法。 </p><p>  5、進(jìn)一步掌握數(shù)碼顯示電路的驅(qū)動(dòng)方法。</p><p><b>  三、設(shè)計(jì)要求:</b></p><p>  1.用時(shí)、分、秒計(jì)數(shù)顯示功能,以24小時(shí)開始倒計(jì)時(shí)。</p><p><b

4、>  格式如下: </b></p><p>  24: 60: 60 由左向右分別為:時(shí)、分、秒</p><p>  2.具有重新調(diào)節(jié)開始時(shí)間為12:60:60,暫停,繼續(xù)的功能。</p><p><b>  四、設(shè)計(jì)環(huán)境:</b></p><p>  偉福Lab6000通用微控制器實(shí)驗(yàn)系統(tǒng)實(shí)驗(yàn)儀以及

5、偉福6000仿真模擬軟件。</p><p><b>  五、設(shè)計(jì)說明:</b></p><p>  定時(shí)器每100us中斷一次,在中斷服務(wù)程序中,對(duì)中斷次數(shù)進(jìn)行計(jì)數(shù),100us計(jì)數(shù)10000次就是1秒。然后再對(duì)秒計(jì)數(shù)得到分和小時(shí)值,并送入顯示緩沖區(qū)。</p><p>  六、設(shè)計(jì)連接電路圖:</p><p>  1、電路

6、連接圖描述:</p><p>  本實(shí)驗(yàn)利用8253做定時(shí)器,用定時(shí)器輸出的脈沖控制8259產(chǎn)生中斷</p><p>  在8259中斷處理程序中,對(duì)時(shí)、分、秒進(jìn)行計(jì)數(shù),在等待中斷的循</p><p>  環(huán)中用LED顯示時(shí)間。</p><p>  8253用定時(shí)器/計(jì)數(shù)器1,8253片選接CS4,地址為0C000H。8253時(shí)鐘</p

7、><p>  源CLK1接分頻電路的F/64輸出。分頻器的Fin接4MHz時(shí)鐘。8253的</p><p>  GATE1接VCC。</p><p>  8259中斷INT0接8253的OUT1,片選接CS5,地址為0D000H。</p><p>  顯示電路的KEY/LED CS 接CS0,地址為08000H。</p><p

8、>  2、電路連接圖如下:</p><p>  七、設(shè)計(jì)程序框架圖:</p><p>  八、設(shè)計(jì)原理和步驟:</p><p><b>  1.設(shè)計(jì)原理:</b></p><p> ?。?)、數(shù)字電路設(shè)計(jì)理論</p><p> ?。?)、時(shí)鐘倒計(jì)數(shù):秒---60進(jìn)制BCD碼計(jì)數(shù);分---60

9、進(jìn)制BCD碼計(jì)數(shù);時(shí)---24進(jìn)制BCD碼計(jì)數(shù);開始時(shí)計(jì)數(shù)器顯示的是初始化的時(shí)鐘時(shí)間:24:60:60。時(shí)鐘根據(jù)電路連接圖時(shí)頻的不同接法,其運(yùn)行時(shí)間的快慢也會(huì)有所不同。按不同的按鈕其執(zhí)行的功能也有所不同,整個(gè)計(jì)數(shù)器具有重新運(yùn)行自己所設(shè)置的時(shí)間開始倒計(jì)時(shí)(這里的按鈕鍵是:9)、暫停(按鈕是:7)、繼續(xù)(按鈕是:8)的功能。并且功能鍵的位置也可根據(jù)自己的習(xí)慣在代碼中進(jìn)行相應(yīng)的設(shè)置,如:設(shè)重新運(yùn)行設(shè)置的時(shí)間開始倒計(jì)時(shí)(按鈕鍵是:4)、暫停(按

10、鈕是:5)、繼續(xù)(按鈕是:6)。</p><p><b>  2.設(shè)計(jì)步驟:</b></p><p> ?。?)、在有masm軟件的計(jì)算機(jī)上進(jìn)行設(shè)計(jì)編碼。</p><p> ?。?)、對(duì)masm上的代碼進(jìn)行調(diào)試并進(jìn)行修改。運(yùn)行。</p><p> ?。?)、把已在masm可運(yùn)行的程序移植到EDA實(shí)驗(yàn)室的計(jì)算機(jī)wav600

11、0軟件上。</p><p> ?。?)、對(duì)程序進(jìn)行編譯,修改,直至編譯通過。并對(duì)選擇的環(huán)境進(jìn)行相應(yīng)的設(shè)置。</p><p><b>  編譯通過截圖如下:</b></p><p> ?。?)、根據(jù)電路連接圖的描述和對(duì)應(yīng)的連接圖在試驗(yàn)箱中進(jìn)行電路圖的連接。</p><p>  (6)、把計(jì)算機(jī)wav6000軟件與試驗(yàn)箱相連

12、接進(jìn)行通信,可把程序代碼導(dǎo)入8086cpu芯片中。</p><p> ?。?)、運(yùn)行程序,在試驗(yàn)箱中按根據(jù)已設(shè)的按鈕,觀察其對(duì)應(yīng)的顯示信息??雌涫欠裼邪搭A(yù)設(shè)的功能顯示,并記錄。</p><p> ?。?)、對(duì)電路進(jìn)行不同的連接,并在代碼進(jìn)行相應(yīng)的修改,看其顯示的信息是否有發(fā)生相應(yīng)的變化。</p><p> ?。?)、完成設(shè)計(jì)后,整理實(shí)驗(yàn)儀器。書寫設(shè)計(jì)報(bào)告。</

13、p><p>  九:設(shè)計(jì)結(jié)論和心得:</p><p><b>  結(jié)論:</b></p><p>  實(shí)驗(yàn)達(dá)到了實(shí)驗(yàn)的要求和目的。</p><p> ?。?)、按按鈕7可暫停,按按鈕8可使已暫停的計(jì)數(shù)繼續(xù)倒計(jì)時(shí),按按鈕9可使正在運(yùn)行的倒計(jì)時(shí)從12:60:60開始進(jìn)行倒計(jì)時(shí)。</p><p> ?。?)

14、、對(duì)按鈕的位置修改也可達(dá)到預(yù)期的效果,對(duì)倒計(jì)時(shí)的時(shí)頻進(jìn)行修改,也可加快或減慢其倒計(jì)時(shí)的速度。</p><p> ?。?)、對(duì)電路圖的接口進(jìn)行修改和相應(yīng)的代碼修改也可達(dá)到相同的顯示結(jié)果。</p><p><b>  2.心得體會(huì):</b></p><p>  通過這次倒計(jì)電子時(shí)鐘的設(shè)計(jì)和實(shí)現(xiàn),掌握了六十進(jìn)制和二十四進(jìn)制數(shù)字電路的設(shè)計(jì),同時(shí)復(fù)習(xí)了w

15、av6000這個(gè)軟件和試驗(yàn)箱的連接應(yīng)用。由于匯編原理的有些知識(shí)掌握不牢固,實(shí)驗(yàn)過程中遇到了很多困難,但在老師和同學(xué)的幫助下,順利完成了此次的設(shè)計(jì),同時(shí)也借此機(jī)會(huì)復(fù)習(xí)了匯編原理的知識(shí),提高了自己動(dòng)手能力。希望以后能多做一些這樣的設(shè)來驗(yàn)證已學(xué)過知識(shí),達(dá)到學(xué)以致用的效果。</p><p><b>  十、附加代碼:</b></p><p>  CONTROL equ 0a0

16、03h</p><p>  COUNT0 equ 0a000h</p><p>  COUNT1 equ 0a001h</p><p>  COUNT2 equ 0a002h</p><p>  md8255 equ 82h ; 8255 工作方式</p><p>  PA8255 equ

17、 8001h ; 8255 PA口輸出地址</p><p>  CTL8255 equ 8003h ; 8255 控制口地址</p><p>  OUTBIT equ 08002h ; 位控制口</p><p>  OUTSEG equ 08004h ; 段控制口</p><p>  IN_KEY

18、 equ 08001h ; 鍵盤讀入口</p><p>  ICW1 equ 00010011b ; 單片8259, 上升沿中斷, 要寫ICW4</p><p>  ICW2 equ 00100000b ; 中斷號(hào)為20H</p><p>  ICW4 equ 00000001b ; 工作在8086/88 方式</

19、p><p>  OCW1 equ 11111110b ; 只響應(yīng)INT0 中斷</p><p>  CS8259A equ 0d000h ; 8259地址</p><p>  CS8259B equ 0d001h</p><p>  data segment</p><p>  CNT

20、 db 0</p><p>  LEDBuf db 6 dup(?) ; 顯示緩沖</p><p>  Num db 1 dup(?) ; 顯示的數(shù)據(jù)</p><p>  DelayT db 1 dup(?)</p><p>  Hour db 0</p><p>  Minute db 0&

21、lt;/p><p>  Second db 0</p><p>  LEDMAP: ; 八段管顯示碼(使用軟件譯碼的方式顯示LED數(shù)碼管)</p><p>  db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h</p><p>  db 7fh, 6fh, 77h, 7ch,

22、 39h, 5eh, 79h, 71h</p><p>  KeyTable: ; 鍵碼定義</p><p>  db 16h, 15h, 14h, 0ffh</p><p>  db 13h, 12h, 11h, 10h</p><p>  db 0dh, 0ch, 0bh, 0ah</p&

23、gt;<p>  db 0eh, 03h, 06h, 09h</p><p>  db 0fh, 02h, 05h, 08h</p><p>  db 00h, 01h, 04h, 07h</p><p>  data ends</p><p>  code segment</p><

24、;p>  assume cs:code, ds: data</p><p>  Delay proc near</p><p>  push ax ; 延時(shí)子程序</p><p><b>  push cx</b></p><p>  mov al, 0</p><p>

25、;  mov cx,ax</p><p><b>  loop $</b></p><p><b>  pop cx</b></p><p><b>  pop ax</b></p><p><b>  ret</b></p>

26、<p>  Delay endp</p><p>  DisplayLED proc near</p><p>  mov bx, offset LEDBuf</p><p>  mov cl, 6 ; 共6個(gè)八段管</p><p>  mov ah, 00100000b ; 從左邊開始顯示</p

27、><p><b>  DLoop:</b></p><p>  mov dx, OUTBIT</p><p>  mov al, 0</p><p>  out dx,al ; 關(guān)所有八段管</p><p>  mov al, [bx]</p><p

28、>  mov dx, OUTSEG</p><p>  out dx,al</p><p>  mov dx, OUTBIT</p><p>  mov al, ah</p><p>  out dx, al ; 顯示一位八段管</p><p><b>  push a

29、x</b></p><p>  mov ah, 1</p><p>  call Delay</p><p><b>  pop ax</b></p><p>  shr ah, 1</p><p><b>  inc bx</b></p&

30、gt;<p><b>  dec cl</b></p><p>  jnz DLoop</p><p>  mov dx, OUTBIT</p><p>  mov al, 0</p><p>  out dx,al ; 關(guān)所有八段管</p><p>

31、;<b>  ret</b></p><p>  DisplayLED endp</p><p>  IEnter proc near</p><p><b>  push ax</b></p><p><b>  push dx</b></p><p

32、>  dec Second ;秒數(shù)減少1</p><p>  mov al, Second</p><p>  cmp al, 0 ;比較,若秒數(shù)小于0則結(jié)束本次中斷,若等于0則秒數(shù)為60,分?jǐn)?shù)減1 </p><p>  jne Exit</p><p>  mov Second, 0<

33、/p><p>  dec Minute</p><p>  mov al, Minute</p><p>  cmp al, 0</p><p>  jne Exit</p><p>  mov Minute, 0</p><p>  dec Hour</p>

34、<p>  mov al, Hour</p><p>  cmp al, 0</p><p>  jne Exit</p><p>  mov Hour, 0</p><p><b>  Exit:</b></p><p>  mov dx, CS8259A</

35、p><p>  mov al, 20h ; 中斷服務(wù)程序結(jié)束指令</p><p>  out dx, al</p><p><b>  pop dx</b></p><p><b>  pop ax</b></p><p><b>  i

36、ret</b></p><p>  IEnter endp</p><p>  IInit proc ;8259A初始化子程序</p><p>  mov dx, CS8259A</p><p>  mov al, ICW1 </p><p>  ou

37、t dx, al ;寫控制字ICW1 </p><p>  mov dx, CS8259B</p><p>  mov al, ICW2</p><p>  out dx, al ;寫控制字ICW2</p><p>  mov al, ICW4</p>&l

38、t;p>  out dx, al ;寫控制字ICW4 </p><p>  mov al, OCW1</p><p>  out dx, al ;寫控制字OCW1</p><p><b>  ret</b></p><p>  IInit endp

39、 ;初始化結(jié)束 </p><p>  TestKey proc near</p><p>  mov dx, OUTBIT</p><p>  mov al, 0</p><p>  out dx, al ; 輸出線置為0</p><p>  mov d

40、x, IN_KEY</p><p>  in al, dx ; 讀入鍵狀態(tài)</p><p><b>  not al</b></p><p>  and al, 0fh ; 高四位不用</p><p><b>  ret</b></p><p&

41、gt;  TestKey endp</p><p>  GetKey proc near</p><p>  mov ch, 00100000b</p><p>  mov cl, 6</p><p><b>  KLoop:</b></p><p>  mov dx, OUTBIT&

42、lt;/p><p>  mov al, ch ; 找出鍵所在列</p><p><b>  not al</b></p><p>  out dx, al</p><p>  shr ch, 1</p><p>  mov dx, IN_KEY</p>

43、;<p>  in al, dx</p><p><b>  not al</b></p><p>  and al, 0fh</p><p>  jne Goon_ ; 該列有鍵入</p><p><b>  dec cl</b></p>

44、;<p>  jnz KLoop</p><p>  mov cl, 0ffh ; 沒有鍵按下, 返回 0ffh</p><p>  jmp Exit1</p><p><b>  Goon_:</b></p><p><b>  dec cl</b></p

45、><p>  shl cl, 2 ; 鍵值 = 列 X 4 + 行</p><p>  mov ch, 4</p><p><b>  LoopC:</b></p><p>  test al, 1</p><p>  jnz Exit1</p><p&g

46、t;  shr al, 1</p><p><b>  inc cl</b></p><p><b>  dec ch</b></p><p>  jnz LoopC</p><p><b>  Exit1:</b></p><p>  

47、mov dx, OUTBIT</p><p>  mov al, 0</p><p>  out dx, al</p><p>  mov ch, 0</p><p>  mov bx, offset KeyTable</p><p>  add bx, cx</p><p&

48、gt;  mov al, [bx] ; 取出鍵碼</p><p>  mov bl, al</p><p>  WaitRelease:</p><p>  mov dx, OUTBIT</p><p>  mov al, 0</p><p>  out dx, al

49、 ; 等鍵釋放</p><p>  mov ah, 10</p><p>  call Delay</p><p>  call TestKey</p><p>  jne WaitRelease</p><p>  mov al, bl</p><p><b>

50、;  ret</b></p><p>  GetKey endp</p><p>  start proc near ;主程序</p><p>  mov ax, data</p><p>  mov ds, ax</p><p>  mov Hour, 24 ;分別給時(shí),分,

51、秒賦初值</p><p>  mov Minute, 60</p><p>  mov Second, 60</p><p>  cli ;關(guān)中斷</p><p>  mov ax, 0</p><p>  mov ds, ax ;數(shù)據(jù)段段地址為0</p>

52、;<p>  mov al, 76h; 01110110B ;初始化8253 計(jì)數(shù)器1,16位,方式3,二進(jìn)制</p><p>  mov dx, CONTROL</p><p>  out dx, al</p><p>  mov ax, 62500</p><p>  mov dx, COUNT1<

53、;/p><p>  out dx, al ; 計(jì)數(shù)器低字節(jié)</p><p>  mov al, ah</p><p>  out dx, al ; 計(jì)數(shù)器高字節(jié)</p><p>  mov al, MD8255</p><p>  mov dx, CT

54、L8255</p><p>  out dx, al</p><p>  mov bx, 4*ICW2 ; 中斷號(hào)</p><p>  mov ax, code ;獲取中斷向量段地址cs值 </p><p>  shl ax, 4 ; x 16</p&

55、gt;<p>  add ax, offset IEnter ; 中斷入口地址(段地址為0)</p><p>  mov [bx], ax</p><p>  mov ax, 0</p><p><b>  inc bx</b></p><p><b>  inc bx&l

56、t;/b></p><p>  mov [bx], ax ; 將cs:ip的地址附給中斷向量[bx+2]:[bx]</p><p>  call IInit ;初始化8259 </p><p>  mov ax, data</p><p>  mov ds, ax<

57、;/p><p>  mov CNT, 0 ; 計(jì)數(shù)值初始為0</p><p>  mov al, CNT</p><p>  mov dx, PA8255</p><p>  out dx, al</p><p><b>  sti</b></p>

58、<p>  LP: call TestKey ;判斷是否簡(jiǎn)易鍵盤是否有鍵入,有則轉(zhuǎn)至</p><p>  ;set,無則往下執(zhí)行 </p><p>  jnz Set ; 等待中斷,并計(jì)數(shù)。</p><p>  mov al, Hour

59、 ;把時(shí)鐘時(shí)數(shù)為10位和個(gè)位</p><p>  mov ah, 0</p><p>  mov cl, 10</p><p><b>  div cl</b></p><p>  mov ch, ah</p><p>  mov ah, 0

60、 ;把時(shí)數(shù)的十位數(shù)送到數(shù)據(jù)緩沖區(qū)</p><p>  mov bx, offset LEDMAP</p><p>  add bx, ax</p><p>  mov al, [bx]</p><p>  mov LEDBuf, al</p><p>  mov bx, offse

61、t LEDMAP ;把時(shí)數(shù)的個(gè)位數(shù)送到數(shù)據(jù)緩沖區(qū)</p><p>  mov al, ch</p><p>  mov ah, 0</p><p>  add bx, ax</p><p>  mov al, [bx]</p><p>  or al, 80h</p>&

62、lt;p>  mov LEDBuf+1, al</p><p>  mov al, Minute</p><p>  mov ah, 0</p><p>  mov cl, 10</p><p><b>  div cl</b></p><p>  mov ch,

63、 ah</p><p>  mov ah, 0</p><p>  mov bx, offset LEDMAP</p><p>  add bx, ax</p><p>  mov al, [bx]</p><p>  mov LEDBuf+2, al</p><p>  m

64、ov bx, offset LEDMAP</p><p>  mov al, ch</p><p>  mov ah, 0</p><p>  add bx, ax</p><p>  mov al, [bx]</p><p>  or al, 80h</p><p>

65、  mov LEDBuf+3, al</p><p>  mov al, Second</p><p>  mov ah, 0</p><p>  mov cl, 10</p><p><b>  div cl</b></p><p>  mov ch, ah</

66、p><p>  mov ah, 0</p><p>  mov bx, offset LEDMAP</p><p>  add bx, ax</p><p>  mov al, [bx]</p><p>  mov LEDBuf+4, al</p><p>  mov bx,

67、 offset LEDMAP</p><p>  mov al, ch</p><p>  mov ah, 0</p><p>  add bx, ax</p><p>  mov al, [bx]</p><p>  or al, 80h</p><p>  mov

68、LEDBuf+5, al</p><p>  call DisplayLED ;調(diào)用LED數(shù)碼管數(shù)據(jù)顯示子程序,使上面的數(shù)值顯示出來 </p><p><b>  jmp LP</b></p><p>  Set: call GetKey</p><p>  cmp al,07h</p&g

69、t;<p><b>  jz pause</b></p><p>  cmp al,08h</p><p>  jz contiue</p><p>  cmp al,09h</p><p><b>  jz Reset</b></p><p><b

70、>  jmp LP</b></p><p>  pause: CLI</p><p><b>  jmp LP</b></p><p>  contiue:sti</p><p><b>  jmp LP</b></p><p>  Reset: cli&l

71、t;/p><p>  mov Hour,12</p><p>  MOV Minute,0</p><p>  MOV Second,0</p><p><b>  sti</b></p><p><b>  jmp LP</b></p><p>  st

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論