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

下載本文檔

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

文檔簡介

1、<p>  課 程 設(shè) 計 報 告</p><p>  課程名稱: 微機原理與接口技術(shù) </p><p>  設(shè)計題目:基于8086CPU的小鍵盤設(shè)計 </p><p>  設(shè)計時間: 2014年6月 </p><p>  班 級: </p>

2、<p>  姓 名: </p><p>  學(xué) 號: </p><p>  一.課程設(shè)計要求:使用行掃描法或者線反轉(zhuǎn)法識別4*4的非編碼小鍵盤,并將鍵入的鍵值(0-9,A-F)顯示在數(shù)碼管上。</p><p><b>  二.課程設(shè)計目的&l

3、t;/b></p><p>  1.掌握 8255的使用和編程方法。</p><p>  2.通過8255設(shè)計鍵盤掃描及它們的輸入輸出方式和它們的控制字。綜合運用本學(xué)期所學(xué)的關(guān)于匯編的知識,在實驗中進一步熟悉本學(xué)期所學(xué)的課程并結(jié)合實際生活,掌握匯編的應(yīng)用。</p><p>  3.注重鍵盤掃描的方法設(shè)計以及解決問題的思路。</p><p&g

4、t;  4.了解任何微機應(yīng)用開發(fā)工作都離不開接口的技術(shù)、選用及連接。微機應(yīng)用系統(tǒng)需要設(shè)計的硬件是一些接口電路,所要編寫的軟件是控制這些接口電路按要求工作的驅(qū)動程序。重點講述可編程并行接口芯片8255A、內(nèi)部結(jié)構(gòu)、工作方式、初始化編程及其應(yīng)用實例。</p><p><b>  總體方案設(shè)計</b></p><p><b>  設(shè)計注意問題</b>&

5、lt;/p><p>  在唐都實驗箱上實現(xiàn)鍵盤掃描并顯示在LED上,比如當(dāng)按下‘6’時,LED會顯示6的字樣。總體設(shè)計方案如下:</p><p>  1.實現(xiàn)鍵盤的掃描(鍵號與鍵值的對應(yīng))。</p><p><b>  2.防抖動措施。</b></p><p><b>  3.防重鍵的措施。</b>&l

6、t;/p><p><b>  總體思路</b></p><p>  本次試驗報告的整體思路如下:</p><p>  行開放,找到列值并保存;</p><p>  逐行掃描,找到行值并保存;</p><p>  行值和列值組合成鍵特征值;</p><p>  根據(jù)鍵特征值找到鍵

7、號;</p><p>  根據(jù)鍵號查表得段碼;</p><p><b>  送出相應(yīng)位碼。</b></p><p>  鍵盤掃描邏輯性很強,步步相扣。思路顯得尤其重要。</p><p><b>  硬件設(shè)計</b></p><p><b>  8255工作原理<

8、;/b></p><p>  并行接口是以數(shù)據(jù)的字節(jié)為單位與I/O設(shè)備或被控制對象之間傳遞信息。CPU和接口之間的數(shù)據(jù)傳送總是并行的,即可以同時傳遞8位、16位或32位等。8255 A可編程外圍接口芯片是Intel 公司生產(chǎn)的通用并行I/O 接口芯片,它具有A、B、C 三個并行接口,用+5V 單電源供電,能以下三種方式下工作:</p><p>  方式0:基 輸入/輸出方式</

9、p><p>  方式1:選通輸入/輸出方式</p><p>  方式2:雙向選通工作方式</p><p>  8255A的內(nèi)部結(jié)構(gòu)及引腳如圖3.1 所示,8255 工作方式控制字和 C口按位 置位/復(fù)位控制字格式如圖3.2所示。</p><p><b>  雙向選通工作方式。</b></p><p&g

10、t;  8255的內(nèi)部結(jié)構(gòu)及引腳如圖3.1所示,</p><p>  8255工作方式控制字和C口按位置位/復(fù)位控制字如圖3.3所示</p><p>  圖3.1 8255的內(nèi)部結(jié)構(gòu)及引腳</p><p>  圖3.2 8255工作方式控制字和C口按位置位/復(fù)位控制字</p><p><b>  鍵盤工作原理</b>&

11、lt;/p><p>  唐都實驗箱提供的是4*4的小鍵盤,如下圖所示, 列為高電平。并且位選口與行控口共用端口。</p><p><b>  鍵盤原理圖3.2:</b></p><p>  圖3.2 鍵盤原理圖</p><p><b>  鍵盤工作原理闡述:</b></p><p&g

12、t; ?、?每一個鍵跨接在行、列線之間;</p><p> ?、?在無按鍵時,列線固定為高電平;</p><p>  列控制口用于讀入列線狀態(tài),即列值。</p><p> ?、?行線電平受控于“行控制口”,行控口輸出的信號稱為行值</p><p> ?、?某鍵未按下,該鍵關(guān)聯(lián)的行、列線不通;按下,則把行線的電平引入列線。設(shè)置行線為低電平,

13、則把行線的低電平引入列線。</p><p><b>  鍵特征值的形成</b></p><p>  根據(jù)鍵盤的工作原理可以得到如下鍵特征值表3.3:</p><p><b>  3.3鍵特征值表</b></p><p><b>  段值的形成</b></p>&l

14、t;p> ?。蹋牛娘@示段值見表3.4</p><p><b>  表3.4 段碼表</b></p><p><b>  8255接線圖</b></p><p><b>  +5V </b></p><p>  圖3.5 8255接線圖</p><p&g

15、t;<b>  寄存器地址選取</b></p><p>  根據(jù)唐都實驗儀器提供的手冊,選取IOY1作為8255芯片的片選端口,A1 A0為片內(nèi)譯碼。即:</p><p>  PA口地址: 0640H</p><p>  PB口地址: 0642H</p><p>  PC口地址: 0644PD(控制口) 地址: 0646

16、H.</p><p><b>  軟件設(shè)計</b></p><p><b>  8255初始化</b></p><p><b>  以PC為列控口;</b></p><p>  以PA低4位為行控口;</p><p>  列口為輸入,行口輸出;</

17、p><p>  顯示以PB為段選口;</p><p><b>  PB口輸出;</b></p><p><b>  PA低6位為位選。</b></p><p>  根據(jù)3.1與3.2 得出8255芯片的控制字為:10001001B,即:89H。</p><p><b>

18、  鍵盤掃描的處理方法</b></p><p>  判斷是否有鍵被按下的方法 </p><p>  行開放:使所有行線輸出低電平,從列控口讀入列狀態(tài)(列值)即: 通過行控口,輸出全0 。4條行線均為低電平。</p><p>  如果沒有鍵按下,則行線低電平不會引入到列線,從列控口讀入的必為全1;</p><p>  只要有一個鍵按

19、下,如‘F’鍵,則行1的低電平引入列3,從列控口讀入的列值為1110,非全1,由此得出判斷是否有鍵按下的條件: </p><p>  讀入的列值為全1,無按鍵;非全1,必有按鍵!</p><p>  判斷是否有鍵被按下的流程:</p><p><b>  讓行線輸出全為0;</b></p><p><b>  

20、讀列的值;</b></p><p>  判斷列值是否全為0;</p><p>  若不全為0,則說明有按鍵按下;</p><p>  全為0,則說明沒有按鍵按下,繼續(xù)等待輸入。</p><p>  判斷是否有鍵被按下的源程序</p><p>  MOV DX,0640H</p><p&

21、gt;  MOV AL,00H </p><p>  OUT DX,AL</p><p>  JXSR: MOV DX,0644H</p><p><b>  IN AL,DX</b></p><p>  AND AL,0FH</p><p>  CMP AL,0FH</p>

22、<p><b>  JE JXSR</b></p><p>  對源程序的解釋:程序中只需要C口低四位,所以用“AND AL,0FH”</p><p><b>  對低4位保存</b></p><p><b>  防抖動</b></p><p>  防抖動措施對按鍵來

23、說是必需的,可以讓微機準確輸入,在課程設(shè)計中,利用延時子程序來實現(xiàn)防抖動。</p><p><b>  防抖動的延時子程序</b></p><p>  DELAY PROC NEAR ;延時子程序</p><p>  MOV CX,0F000H</p><p>  DLP: LOO

24、P DLP</p><p><b>  RET</b></p><p>  DELAY ENDP</p><p><b>  程序核心部分</b></p><p><b>  逐行掃描</b></p><p>  問題:怎么判斷按鍵說在行的位置

25、?</p><p>  查閱資料,判斷按鍵所在行的位置用逐行掃描的方法。</p><p>  逐行掃描:使行線輸出逐一為低電平,從列控口讀入列狀態(tài)(列值)。</p><p>  此時如果列值讀入為全1,則按鍵不在本行;非全1,在本行。</p><p>  判斷是否有鍵被按下的流程:</p><p>  使第0行為0(掃

26、描0行);</p><p><b>  讀入列值;</b></p><p><b>  判斷列值是否全為0</b></p><p>  若列值全為0,則說明按鍵不在本行;</p><p>  列值移位,再次讀入列值,進行判斷。</p><p><b>  逐行掃描的

27、源程序</b></p><p>  LOP1:MOV DX,0640H</p><p><b>  OUT DX,AL</b></p><p>  MOV DX,0644H</p><p><b>  IN AL,DX</b></p><p>  AND AL,

28、0FH</p><p>  CMP AL,0FH</p><p><b>  JNE ZJSC</b></p><p><b>  ROL AH,1</b></p><p><b>  MOV AL,AH</b></p><p><b>  J

29、MP LOP1</b></p><p>  逐行掃描的源程序的解釋:’ROL AH,1’,行值移位后繼續(xù)掃描。 </p><p><b>  源程序代碼</b></p><p>  根據(jù)整體思路以及軟件設(shè)計得到的代碼</p><p>  DATA SEGMENT</p><p>  

30、DZTABLE DB 3FH,06H,5BH,4FH,66DB 6DH,7DH,07H,7FH,6FH</p><p>  DB 77H,7CH,39H,5EH,79H,71H</p><p>  JZTABLE DB 7EH,7DH,7BH,77H</p><p>  DB 0BEH,0BDH,0BBH,0B7H</p><p>  DB

31、0DEH,0DDH,0DBH,0D7H</p><p>  DB 0EEH,0EDH,0EBH,0E7H</p><p><b>  DATA ENDS</b></p><p>  CODE SEGMENT</p><p>  ASSUME CS:CODE,DS:DATA</p><p>  ST

32、ART: MOV AX,DATA</p><p><b>  MOV DS,AX</b></p><p>  MOV DX,0646H</p><p>  MOV AL,89H</p><p>  OUT DX,AL ;初始化</p><p>  T1: MOV DX,0640H

33、 ;行開放</p><p>  MOV AL,00H</p><p><b>  OUT DX,AL</b></p><p>  JXSR: MOV DX,0644H</p><p><b>  IN AL,DX</b></p><p>  AND AL,0FH&l

34、t;/p><p>  CMP AL,0FH</p><p><b>  JE JXSR</b></p><p>  CALL DELAY ;防抖動</p><p>  MOV BL,AL ;保存列值</p><p>  MOV AL,0FEH ;逐行掃描</p><p>

35、;<b>  MOV AH,AL</b></p><p>  LOP1:MOV DX,0640H</p><p><b>  OUT DX,AL</b></p><p>  MOV DX,0644H</p><p><b>  IN AL,DX</b></p>

36、<p>  AND AL,0FH</p><p>  CMP AL,0FH</p><p><b>  JNE ZJSC</b></p><p><b>  ROL AH,1</b></p><p><b>  MOV AL,AH</b></p><

37、;p><b>  JMP LOP1</b></p><p>  ZJSC:SHL BL,4</p><p>  AND AH,0FH</p><p>  OR BL,AH ;形成鍵特征值</p><p>  JNP AAA ;防重鍵</p><p>  LEA SI,JZT

38、ABLE</p><p><b>  MOV CL,0</b></p><p>  LOP3:CMP BL,[SI]</p><p><b>  JE LOP2</b></p><p><b>  INC CL</b></p><p><b>

39、;  INC SI</b></p><p><b>  JMP LOP3</b></p><p>  LOP2:MOV DX,0640H</p><p>  MOV AL,00H</p><p><b>  OUT DX,AL</b></p><p>  LOP4

40、: MOV DX,0644H</p><p><b>  IN AL,DX</b></p><p>  AND AL,0FH</p><p>  CMP AL,0FH</p><p><b>  JNE LOP4</b></p><p>  CALL DELAY</p

41、><p>  LEA DI,DZTABLE</p><p><b>  MOV BX,DI</b></p><p><b>  MOV AL,CL</b></p><p><b>  XLAT</b></p><p>  MOV DX,0642H</p

42、><p><b>  OUT DX,AL</b></p><p>  MOV DX,0640H</p><p>  MOV AL,00H</p><p><b>  OUT DX,AL</b></p><p>  AAA JMP T1</p><p&

43、gt;  MOV DX,0640H</p><p>  MOV AL,00H</p><p><b>  OUT DX,AL</b></p><p>  MOV AH,4CH</p><p><b>  INT 21H</b></p><p>  DELAY PROC

44、 NEAR ;延時子程序</p><p>  MOV CX,0F000H</p><p>  DLP: LOOP DLP</p><p><b>  RET</b></p><p>  DELAY ENDP</p><p><b>  CODE

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論