2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩13頁(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>  課 程 設(shè) 計(jì) 報(bào) 告</p><p>  課程名稱: 微機(jī)原理與接口技術(shù) </p><p>  設(shè)計(jì)題目:基于8086CPU的小鍵盤(pán)設(shè)計(jì) </p><p>  設(shè)計(jì)時(shí)間: 2014年6月 </p><p>  班 級(jí): </p>

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

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

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

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

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

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

8、;/b></p><p>  并行接口是以數(shù)據(jù)的字節(jié)為單位與I/O設(shè)備或被控制對(duì)象之間傳遞信息。CPU和接口之間的數(shù)據(jù)傳送總是并行的,即可以同時(shí)傳遞8位、16位或32位等。8255 A可編程外圍接口芯片是Intel 公司生產(chǎn)的通用并行I/O 接口芯片,它具有A、B、C 三個(gè)并行接口,用+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>  鍵盤(pán)工作原理</b>&

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

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

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

14、t;p> ?。蹋牛娘@示段值見(jiàn)表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ù)唐都實(shí)驗(yàn)儀器提供的手冊(cè),選取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è)計(jì)</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、  鍵盤(pán)掃描的處理方法</b></p><p>  判斷是否有鍵被按下的方法 </p><p>  行開(kāi)放:使所有行線輸出低電平,從列控口讀入列狀態(tài)(列值)即: 通過(guò)行控口,輸出全0 。4條行線均為低電平。</p><p>  如果沒(méi)有鍵按下,則行線低電平不會(huì)引入到列線,從列控口讀入的必為全1;</p><p>  只要有一個(gè)鍵按

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

20、讀列的值;</b></p><p>  判斷列值是否全為0;</p><p>  若不全為0,則說(shuō)明有按鍵按下;</p><p>  全為0,則說(shuō)明沒(méi)有按鍵按下,繼續(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>  對(duì)源程序的解釋:程序中只需要C口低四位,所以用“AND AL,0FH”</p><p><b>  對(duì)低4位保存</b></p><p><b>  防抖動(dòng)</b></p><p>  防抖動(dòng)措施對(duì)按鍵來(lái)

23、說(shuō)是必需的,可以讓微機(jī)準(zhǔn)確輸入,在課程設(shè)計(jì)中,利用延時(shí)子程序來(lái)實(shí)現(xiàn)防抖動(dòng)。</p><p><b>  防抖動(dòng)的延時(shí)子程序</b></p><p>  DELAY PROC NEAR ;延時(shí)子程序</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>  問(wèn)題:怎么判斷按鍵說(shuō)在行的位置

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

26、描0行);</p><p><b>  讀入列值;</b></p><p><b>  判斷列值是否全為0</b></p><p>  若列值全為0,則說(shuō)明按鍵不在本行;</p><p>  列值移位,再次讀入列值,進(jìn)行判斷。</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è)計(jì)得到的代碼</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、 ;行開(kāi)放</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 ;防抖動(dòng)</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 ;延時(shí)子程序</p><p>  MOV CX,0F000H</p><p>  DLP: LOOP DLP</p><p><b>  RET</b></p><p>  DELAY ENDP</p><p><b>  CODE

溫馨提示

  • 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)論