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

下載本文檔

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

文檔簡介

1、<p>  第一章 微機應用系統(tǒng)課程設計的目的意義</p><p><b>  1.1設計目的</b></p><p>  通過該課程的學習使學生對微機系統(tǒng)有一個全面的了解、掌握常規(guī)芯片的使用方法、掌握簡單微型計算機應用系統(tǒng)軟硬的設計方法,進一步鍛煉同學們在微型計算機應用方面的實際工作能力。</p><p>  1.2 課程在教學

2、計劃中的地位和作用</p><p>  《微型計算機原理與接口計數(shù)》課程是我們自動化專業(yè)本科生必修的一門技術基礎課程。通過該課程的學習使我們對微機系統(tǒng)有一個基本的了解、掌握常規(guī)芯片的使用方法、掌握簡單微型計算機應用系統(tǒng)軟硬的設計方法。 《微機應用系統(tǒng)設計與綜合實驗》是結(jié)合本學期的課程開設的一門實習,它的主要目的:通過課程設計還要進一步鍛煉同學們在微型計算機應用方面的實際工作能力。計算機科學在應用上得到飛速發(fā)展,因

3、此,學習這方面的知識必須緊密聯(lián)系實際:掌握這方面的知識更要強調(diào)解決實際問題的能力。同學們要著重學會面對一個實際問題,如何去自己收集資料,如何自己去學習新的知識,如何自己去制定解決問題的方案并通過實踐不斷地提高分析和解決問題的能力。</p><p><b>  第二章 設計任務</b></p><p>  2.1 設計內(nèi)容及要求</p><p>

4、;  以8088CPU為核心設計一個溫度巡回檢測系統(tǒng)(A/D采用ADC0809),系統(tǒng)可實現(xiàn)2路溫度信號的采集,在4位LED顯示器上顯示當前溫度和通道號。模擬現(xiàn)場2個點溫度巡回檢測,溫度范圍0~510℃(溫度信號用電位器可調(diào)電壓模擬)。每隔2S檢測一次,經(jīng)標度變換后送LED顯示,2路循環(huán)顯示,,每路持續(xù)2S。4位LED的顯示方式為:</p><p>  2.2 課程設計要求</p><p>

5、;  設計要求畫出電路原理圖,說明工作原理,編寫程序及程序流程圖。</p><p><b>  第三章 系統(tǒng)設計</b></p><p>  3.1 系統(tǒng)的設計意義</p><p>  系統(tǒng)是以8088位核心的系統(tǒng),主要用到的芯片有:8088、ADC0809、8255、8253、8259,用到的器件有:電位器、LED數(shù)碼管、我們還用到了LCD。

6、這些芯片都是在微機系統(tǒng)中的重要的成員,設計此系統(tǒng)能幫助我們了解和熟悉這些重要的芯片的管腳、功能、編程。有利于提高我們的硬件設計動手能力。</p><p>  3.2 系統(tǒng)的主要功能</p><p>  改系統(tǒng)為溫度巡回檢測系統(tǒng),功能是將外界的溫度采集、轉(zhuǎn)換、顯示。能夠?qū)崿F(xiàn)兩路的溫度巡回采集</p><p>  系統(tǒng)用電位器的電壓模擬溫度。一路經(jīng)過放大器,形成兩路信號

7、輸入,用ADC0809進行A/D轉(zhuǎn)換,變成數(shù)字信號送入8255的A口,8088從8255得到數(shù)字信號,經(jīng)過8088中載入的程序處理輸出到LED和LCD顯示。</p><p>  系統(tǒng)每經(jīng)過2秒采集一次數(shù)據(jù)送顯示,并改變一次通道,能夠?qū)⑼ǖ捞栆诧@示。改變電位器的電壓,則溫度值隨之改變。溫度值的范圍為0~510℃.</p><p><b>  3.3 系統(tǒng)的實現(xiàn)</b>&

8、lt;/p><p>  8255的初始化為:A口為輸入,B口為輸出,C口為輸出。都工作在方式0.</p><p>  8253的初始化為:OUT2工作在方式2,輸出方波,時間間隔為10ms。</p><p>  8259的初始化為:屏蔽字為7F,用7號中斷。</p><p>  系統(tǒng)的采樣轉(zhuǎn)換與通道選擇:用ADC0809,將ADC0809的A、B

9、、C管腳中的BC 接+5V高電平,A接8255的PC0腳。則當PC0為0時,選通通道6,當PC0為1時,選通通道7。</p><p>  系統(tǒng)的延時:利用8253輸出的方波作用在8259的IRQ7端,利用程序計數(shù)當中斷次數(shù)達到一定值時,中斷程序進入數(shù)據(jù)顯示部分,則實現(xiàn)了精確的中斷定時。</p><p>  系統(tǒng)的顯示:我們設計該系統(tǒng)采用數(shù)碼管顯示而且還擴展了用LCD顯示,將8255的B口低

10、三位接LCD的三個管腳,將5、6、7管腳接數(shù)碼管的三個管腳,先將從8255A口采集來的數(shù)據(jù)進行碼制轉(zhuǎn)換,即將十六進制轉(zhuǎn)換為BCD碼,利用驅(qū)動程序就可以將BCD碼顯示在數(shù)碼管和LCD上了。</p><p>  3.4 系統(tǒng)的使用方法</p><p>  該系統(tǒng)為溫度巡回檢測系統(tǒng),理論上不需要人工干涉,只要讀取數(shù)據(jù)。</p><p>  在實驗室,由于是采用電位器模擬溫

11、度,轉(zhuǎn)動電位器的旋鈕就可以讀出數(shù)值。</p><p>  第四章 硬件電路設計及描述</p><p>  4.1 用到的芯片介紹</p><p>  4.1.1可編程中斷控制器8259A</p><p>  8259A是8086/8088系列的可編程中斷控制器,8259A為28個引腳的雙列直插芯片。它的主要功能是:</p>&l

12、t;p> ?。?)據(jù)8級優(yōu)先級控制,通過聯(lián)級可以擴展到64級優(yōu)先控制。</p><p>  (2)每一級中斷可由程序單獨屏蔽或允許。</p><p>  (3)可提供中斷類型號傳送給CPU。</p><p>  (4)可以通過編程選擇多種不同工作方式。</p><p><b>  引腳功能:</b></p&g

13、t;<p>  D7-D0:雙向數(shù)據(jù)線,三態(tài),與數(shù)據(jù)總線相連。</p><p>  IR7-IR0:外設的中斷請求信號輸入端,輸入,中斷請求:可以是電平觸發(fā),或者邊緣觸發(fā)。</p><p>  RD:讀命令信號,輸入,低電平有效,用來控制數(shù)據(jù)由8259A讀</p><p>  WR:寫命令信號,輸入,地點平有效,用來控制寫到8259</p>

14、<p>  CS:片選信號,輸入,通過譯碼器與地址總線相連</p><p>  INT:向CPU發(fā)出中斷請求信號,輸出,與CPU的INTR相連</p><p>  INTA:CPU給8259的中斷響應信號,輸入。</p><p>  4.1.2ADC0809:</p><p>  ADC0809是采樣頻率為8位的、以逐次逼近原理

15、進行模—數(shù)轉(zhuǎn)換的器件。其內(nèi)部有一個8通道多路開關,它可以根據(jù)地址碼鎖存譯碼后的信號,只選通8路模擬輸入信號中的一個進行A/D轉(zhuǎn)換。 </p><p><b>  1.主要特性</b></p><p>  1)8路8位A/D轉(zhuǎn)換器,即分辨率8位。</p><p>  2)具有轉(zhuǎn)換起??刂贫?。 </p>

16、<p>  3)轉(zhuǎn)換時間為100μs</p><p>  4)單個+5V電源供電 </p><p>  5)模擬輸入電壓范圍0~+5V,不需零點和滿刻度校準。 </p><p>  6)工作溫度范圍為-40~+85攝氏度 </p><p>  7)低功耗,約15mW。 </p><p><b>

17、  2.內(nèi)部結(jié)構 </b></p><p>  ADC0809是CMOS單片型逐次逼近式A/D轉(zhuǎn)換器,內(nèi)部結(jié)構如圖13.22所示,它由8路模擬開關、地址鎖存與譯碼器、比較器、8位開關樹型D/A轉(zhuǎn)換器、逐次逼近 </p><p>  3.外部特性(引腳功能) </p><p>  ADC0809芯片有28條引腳,采用雙列直插式封裝,如圖13.23所示。下面

18、說明各引腳功能。 </p><p>  IN0~IN7:8路模擬量輸入端。</p><p>  2-1~2-8:8位數(shù)字量輸出端。</p><p>  ADDA、ADDB、ADDC:3位地址輸入線,用于選通8路模擬輸入中的一路</p><p>  ALE:地址鎖存允許信號,輸入,高電平有效。 </p><p>  ST

19、ART: A/D轉(zhuǎn)換啟動脈沖輸入端,輸入一個正脈沖(至少100ns寬)使其啟動(脈沖上升沿使0809復位,下降沿啟動A/D轉(zhuǎn)換)。 </p><p>  EOC: A/D轉(zhuǎn)換結(jié)束信號,輸出,當A/D轉(zhuǎn)換結(jié)束時,此端輸出一個高電平(轉(zhuǎn)換期間一直為低電平)。 </p><p>  OE:數(shù)據(jù)輸出允許信號,輸入,高電平有效。當A/D轉(zhuǎn)換結(jié)束時,此端輸入一個高電平,才能打開輸出三態(tài)門,輸出數(shù)字量。

20、</p><p>  CLK:時鐘脈沖輸入端。要求時鐘頻率不高于640KHZ。 </p><p>  REF(+)、REF(-):基準電壓。 </p><p>  Vcc:電源,單一+5V。 </p><p><b>  GND:地。 </b></p><p>  ADC0809的工作過程是:首先

21、輸入3位地址,并使ALE=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通8路模擬輸入之一到比較器。START上升沿將逐次逼近寄存器復位。下降沿啟動 A/D轉(zhuǎn)換,之后EOC輸出信號變低,指示轉(zhuǎn)換正在進行。直到A/D轉(zhuǎn)換完成,EOC變?yōu)楦唠娖?,指示A/D轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個信號可用作中斷申請。當OE輸入高電平 時,輸出三態(tài)門打開,轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。</p><p>  4.1.3 825

22、3芯片</p><p>  1.基本概述   intel8253是NMOS工藝制成的可編程計數(shù)器/定時器,有幾種芯片型號,外形引腳及功能都是兼容的,只是工作的最高計數(shù)速率有所差異,例如8253(2.6MHz),8253-5(5MHz) </p><p>  8253內(nèi)部有三個計數(shù)器,分別成為計數(shù)器0、計數(shù)器1和計數(shù)器2,他們的機構完全相同。每個計數(shù)器的輸入和輸出都決定于設置在控制寄存器中

23、的控制字,互相之間工作完全獨立。每個計數(shù)器通過三個引腳和外部聯(lián)系,一個為時鐘輸入端CLK,一個為門控信號輸入端GATE,另一個為輸出端OUT。每個計數(shù)器內(nèi)部有一個8位的控制寄存器,還有一個16位的計數(shù)初值寄存器CR、一個計數(shù)執(zhí)行部件CE和一個輸出鎖存器OL。</p><p>  執(zhí)行部件實際上是一個16位的減法計數(shù)器,它的起始值就是初值寄存器的值,而初始值寄存器的值是通過程序設置的。輸出鎖存器的值是通過程序設置的

24、。輸出鎖存器OL用來鎖存計數(shù)執(zhí)行部件CE的內(nèi)容,從而使CPU可以對此進行讀操作。順便提一下,CR、CE和OL都是16位寄存器,但是也可以作8位寄存器來用。</p><p><b>  2讀寫控制邏輯</b></p><p>  讀寫控制邏輯接受系統(tǒng)控制總線送來的輸入信號,經(jīng)由組合后形成控制信號,對各部分操作進行控制??山邮艿男盘栍校?lt;/p><p&

25、gt;  CS片選,低電平有效,由數(shù)據(jù)總線經(jīng)由IO端口譯碼電路產(chǎn)生。只有CS低電平時,CPU才能對8253進行讀寫操作。</p><p>  RD讀信號,低電平有效,當RD位地電平時,表示CPU正在讀取所選定的計數(shù)器的通道的內(nèi)容。</p><p>  WR寫信號,低電平有效。當WR為低電平時,表示CPU正在將計數(shù)器初值寫入所選中的通道口中,或者將控制字寫入內(nèi)部寄存器中。</p>

26、<p>  A1A2 端口選擇信號,改變它的值,來選擇8253內(nèi)三個計數(shù)器通道。</p><p>  如果8253和與8位數(shù)據(jù)總線的微機相連,只要將A1A0分別與地址總</p><p>  相聯(lián)。如果系統(tǒng)采用的是8086CPU,則數(shù)據(jù)總線為16位,傳輸數(shù)據(jù)時,總是將低8位數(shù)據(jù)送往偶地址,將高8位送往奇地址。</p><p><b>  3計數(shù)

27、器</b></p><p>  8253內(nèi)部包含三個完全相同俄計數(shù)器定時器通道,對3個通道的操作,</p><p>  完全獨立的。每個通道都包含1個8位的控制字寄存器,1個16位的減寄存器,和一個鎖存器,執(zhí)行部件是一個16位的減法計數(shù)器。每個通道工作時,對輸入到CLK引腳上的脈沖按2進制或10 進制格式進行計數(shù)。每當輸入一個時鐘脈沖,計數(shù)器減1,當計數(shù)器的值減為0時從,從OU

28、T引腳輸出一個脈沖信號。GATE引腳上的門控制信號,決定他是否允許計數(shù)。</p><p>  4.1.4 8255芯片</p><p><b>  1.8255特性</b></p><p>  (1)一個并行輸入/輸出的LSI芯片,多功能的I/O器件,可作為CPU總線與外圍的接口.</p><p>  (2)具有24個可

29、編程設置的I/O口,即使3組8位的I/O口為PA口,PB口和PC口.它們又可分為兩組12位的I/O口,A組包括A口及C口(高4位,PC4~PC7),B組包括B口及C口(低4位,PC0~PC3).A組可設置為基本的I/O口,閃控(STROBE)的I/O閃控式,雙向I/O3種模式;B組只能設置為基本I/O或閃控式I/O兩種模式,而這些操作模式完全由控制寄存器的控制字決定.</p><p>  2. 8255引腳功能&

30、lt;/p><p>  RESET:復位輸入線,當該輸入端處于高電平時,所有內(nèi)部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成輸入方式。 </p><p>  CS:芯片選擇信號線,當這個輸入引腳為低電平時,即/CS=0時,表示芯片被選中,允許8255與CPU進行通訊;/CS=1時,8255無法與CPU做數(shù)據(jù)傳輸. </p><p>  RD:讀信號線,當這個輸

31、入引腳為低電平時,即/RD=0且/CS=0時,允許8255通過數(shù)據(jù)總線向CPU發(fā)送數(shù)據(jù)或狀態(tài)信息,即CPU從8255讀取信息或數(shù)據(jù)。 </p><p>  WR:寫入信號,當這個輸入引腳為低電平時,即/WR=0且/CS=0時,允許CPU將數(shù)據(jù)或控制字寫入8255。 </p><p>  D0~D7:三態(tài)雙向數(shù)據(jù)總線,8255與CPU數(shù)據(jù)傳送的通道,當CPU 執(zhí)行輸入輸出指令時,通過它實現(xiàn)8

32、位數(shù)據(jù)的讀/寫操作,控制字和狀態(tài)信息也通過數(shù)據(jù)總線傳送。 </p><p>  PA0~PA7:端口A輸入輸出線,一個8位的數(shù)據(jù)輸出鎖存器/緩沖器, 一個8位的數(shù)據(jù)輸入鎖存器。 </p><p>  PB0~PB7:端口B輸入輸出線,一個8位的I/O鎖存器, 一個8位的輸入輸出緩沖器。 </p><p>  PC0~PC7:端口C輸入 輸出線,一個8位的數(shù)據(jù)輸出鎖存

33、器/緩沖器, 一個8位的數(shù)據(jù)輸入緩沖器。端口C可以通過工作方式設定而分成2個4位的端口, 每個4位的端口包含一個4位的鎖存器,分別與端口A和端口B配合使用,可作為控制信號輸出或狀態(tài)信號輸入端口。'</p><p>  A0,A1:地址選擇線,用來選擇8255的PA口,PB口,PC口和控制寄存器.</p><p>  當A0=0,A1=0時,PA口被選擇;</p>&l

34、t;p>  當A0=0,A1=1時,PB口被選擇;</p><p>  當A0=1,A1=0時,PC口被選擇;</p><p>  當A0=1.A1=1時,控制寄存器被選擇.</p><p><b>  4.2 實驗電路圖</b></p><p><b>  第五章 軟件設計</b></

35、p><p>  5.1 程序流程圖:</p><p><b>  第六章 源程序代碼</b></p><p>  CSPB EQU 61H</p><p>  ;============================</p><p>  ;用法:TSF_PUSH <REG1,RE

36、G2,...></p><p>  ;作用:將<>中的寄存器依次入棧</p><p>  ;============================</p><p>  TSF_PUSH MACRO REGLIST</p><p>  IFB <REGLIST></p><

37、;p>  IRP REG,<AX,BX,CX,DX,SI,DI,SP,BP,DS,SS,ES></p><p>  PUSH REG</p><p><b>  ENDM</b></p><p><b>  ELSE</b></p><p>  IRP

38、 REG,<REGLIST></p><p>  PUSH REG</p><p><b>  ENDM</b></p><p><b>  ENDIF</b></p><p><b>  ENDM</b></p><p>  

39、;============================</p><p>  ;用法:TSF_POP <REG1,REG2,...></p><p>  ;作用:將<>中的寄存器依次出棧</p><p>  ;============================</p><p>  TSF_POP MACRO

40、 REGLIST</p><p>  IFB <REGLIST></p><p>  IRP REG,<ES,SS,DS,BP,SP,DI,SI,DX,CX,BX,AX></p><p>  POP REG</p><p><b>  ENDM</b>&l

41、t;/p><p><b>  ELSE</b></p><p>  IRP REG,<REGLIST></p><p>  POP REG</p><p><b>  ENDM</b></p><p><b>  ENDIF</

42、b></p><p><b>  ENDM</b></p><p>  ;============================</p><p>  ;用法:TSF_DELAY t,k</p><p>  ;作用:延時時間由t*k來決定,其中t,k可以為AX,BX,CX,DX,或者數(shù)字</p>&l

43、t;p>  ;============================</p><p>  TSF_DELAY MACRO TIM,AMPF</p><p>  LOCAL LP1,LP2</p><p>  IFB <TIM></p><p><b>  EXITM</b>

44、;</p><p><b>  ENDIF</b></p><p>  PUSH CX</p><p>  PUSH DX</p><p>  IFDIF <TIM>,<CX></p><p>  MOV CX,TIM</p&g

45、t;<p><b>  ENDIF</b></p><p>  IFNB <AMPF></p><p>  IFDIF <AMPF>,<DX></p><p>  MOV DX,TIM</p><p><b>  ENDIF<

46、/b></p><p><b>  ENDIF</b></p><p><b>  LP2:</b></p><p><b>  LP1:</b></p><p><b>  NOP</b></p><p>  DEC

47、 CX</p><p>  JNZ LP1</p><p>  IFNB <AMPF></p><p><b>  NOP</b></p><p>  DEC DX</p><p>  JNZ LP2</p><p&

48、gt;<b>  ENDIF</b></p><p>  POP DX</p><p>  POP CX</p><p><b>  ENDM</b></p><p>  ;============================</p><p>  

49、;用法:TSF_INIT8255 CS,MODE</p><p>  ;作用:以不同的方式初始化8255</p><p>  ;說明:cs為片選地址,mode為控制方式,可以取PAIN,PAOUT,PBIN,PBOUT,PCIN,PCOUT</p><p>  ;============================</p><p>  T

50、SF_INIT8255 MACRO CS,MODE</p><p>  IFB <CS></p><p><b>  EXITM</b></p><p><b>  ENDIF</b></p><p>  PUSH AX</p><p&

51、gt;  PUSH DX</p><p>  IFDIF <CX>,<DX></p><p>  MOV DX,CS</p><p><b>  ENDIF</b></p><p>  IFIDN <MODE>,<PBOUT></

52、p><p>  MOV AL,80H ;Initiate 8255-B(OUT)</p><p>  OUT CS,AL</p><p>  MOV AL,00H</p><p>  SUB DX,2</p><p>  OUT DX,AL</p&

53、gt;<p><b>  ENDIF</b></p><p>  POP DX</p><p>  POP AX</p><p><b>  ENDM</b></p><p>  ;============================</p>

54、<p>  ;用法:LEDSENDWORD DAT</p><p>  ;作用:向LED控制芯片MAX7219發(fā)送數(shù)據(jù)。</p><p>  ;說明:DAT為兩個字節(jié)的數(shù)據(jù),或者寄存器</p><p>  ;============================</p><p>  ;=======================

55、=====</p><p>  ;用法:LCDSENDWORD DAT</p><p>  ;作用:向LED控制芯片MAX7219發(fā)送數(shù)據(jù)。</p><p>  ;說明:DAT為兩個字節(jié)的數(shù)據(jù),或者寄存器</p><p>  ;============================</p><p>  LCDSEND

56、WORD MACRO DAT ;DAT=DX || DAT=NUM (10BIT)</p><p>  LOCAL LP1,LP2,LP3,STD0,STD1,STD_END</p><p>  PUSH AX</p><p>  PUSH CX</p><p>  PUSH D

57、X</p><p>  IFDIF <DAT>,<DX></p><p>  MOV DX,DAT</p><p><b>  ENDIF</b></p><p>  ;OUT 11111B</p><p>  MOV CX,0000H<

58、;/p><p>  MOV CL,5</p><p><b>  LP1:</b></p><p>  MOV AL,00000111B ;SCLK=1,STD=1,CS=1</p><p>  OUT CSPB,AL</p><p>  MO

59、V AL,00000011B ;SCLK=0,STD=1,CS=1</p><p>  OUT CSPB,AL</p><p>  LOOP LP1</p><p><b>  ;OUT RW</b></p><p>  MOV AL,DH</p&

60、gt;<p>  AND AL,00000001B ;GET RW</p><p>  SHL AL,1 ;SCLK=0,STD=RW,CS=0</p><p>  OR AL,00000101B ;SCLK=1,STD=RW,CS=1</p><p>  

61、OUT CSPB,AL</p><p>  AND AL,11111011B ;SCLK=0,STD=RW,CS=1</p><p>  OUT CSPB,AL</p><p><b>  ;OUT RS</b></p><p>  MOV AL,DH

62、</p><p>  AND AL,00000010B ;GET RS</p><p>  OR AL,00000101B ;SCLK=1,STD=RS,CS=1</p><p>  OUT CSPB,AL</p><p>  AND AL,1111

63、1011B ;SCKL=0,STD=RS,CS=1</p><p>  OUT CSPB,AL</p><p><b>  ;OUT 0B</b></p><p>  MOV AL,00000101B ;SCLK=1,STD=0,CS=1</p><p>

64、;  OUT CSPB,AL</p><p>  MOV AL,00000001B ;SCLK=0,STD=0,CS=1</p><p>  OUT CSPB,AL</p><p>  ;OUT DB7~DB0</p><p>  MOV DH,DL</p>

65、<p>  AND DH,0F0H</p><p>  SHL DL,4 ;DX=****0000****0000</p><p>  MOV CX,16</p><p><b>  LP2:</b></p><p>  SHL DX,1</p

66、><p>  JC STD1</p><p><b>  STD0:</b></p><p>  MOV AL,00000101B ;SCLK=1,STD=0,CS=1</p><p>  OUT CSPB,AL</p><p>  MOV

67、 AL,00000001B ;SCLK=0,STD=0,CS=1</p><p>  OUT CSPB,AL</p><p>  JMP STD_END</p><p><b>  STD1:</b></p><p>  MOV AL,00000111B

68、 ;SCLK=1,STD=1,CS=1</p><p>  OUT CSPB,AL</p><p>  MOV AL,00000011B ;SCLK=0,STD=1,CS=1</p><p>  OUT CSPB,AL</p><p><b>  STD

69、_END:</b></p><p>  LOOP LP2</p><p>  AND AL,11111110B ;SCLK=*,STD=*,CS=0</p><p>  OUT CSPB,AL</p><p><b>  ;DELAY</b></p

70、><p>  MOV CX,0FFFH</p><p><b>  LP3:</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  NOP</b><

71、/p><p>  LOOP LP3</p><p>  POP DX</p><p>  POP CX</p><p>  POP AX</p><p><b>  ENDM</b></p><p>  SENDWORD MACR

72、O DAT ;DAT=DX</p><p>  LOCAL RE,BIT0,BIT1,BIT_END</p><p>  PUSH DX</p><p>  PUSH AX</p><p>  PUSH CX</p><p>  MOV CX,0

73、000H</p><p>  MOV CL,16</p><p><b>  RE:</b></p><p>  ROL DAT,1</p><p>  JC BIT1</p><p><b>  BIT0:</b></p>

74、<p>  MOV AL,00H ;0000LOAD=0,CLK=0,BIN=0</p><p>  OUT CSPB,AL</p><p>  MOV AL,40H ;0100LOAD=0,CLK=1,BIN=0</p><p>  OUT CSPB,AL</p>&

75、lt;p>  JMP BIT_END</p><p><b>  BIT1:</b></p><p>  MOV AL,20H ;0010LOAD=0,CLK=0,BIN=1</p><p>  OUT CSPB,AL</p><p>  MOV AL,6

76、0H ;0110LOAD=0,CLK=1,BIN=1</p><p>  OUT CSPB,AL</p><p><b>  BIT_END:</b></p><p>  LOOP RE</p><p>  OR AL,10H ;LOAD=1</p>

77、<p>  OUT CSPB,AL</p><p>  POP CX</p><p>  POP AX</p><p>  POP DX</p><p><b>  ENDM</b></p><p>  ;MSKCLKEQU </

78、p><p>  ;MSKDINEQU </p><p>  STACK SEGMENT STACK</p><p>  DW 256 DUP(?)</p><p>  STACK ENDS</p><p>  DATA SEGMENT</p><p>  DATA END

79、S</p><p>  CODE SEGMENT</p><p>  ASSUME CS:CODE,DS:DATA</p><p>  START: MOV AL,90H ;初始化8255芯片,送控制字,A組工作在方式0下,</p><p>  OUT 63H,AL ;并為輸入方式 ,B

80、組工作在方式0下,輸出方式</p><p>  MOV AL,0A7H ;初始化8253芯片,送控制字,使用2號計數(shù)器</p><p>  OUT 43H,AL ;并工作在方式2下,只讀寫高位字節(jié)</p><p>  MOV AL,2EH ;8253的2號計數(shù)器計數(shù)初值,計數(shù)10毫秒</p>

81、<p>  OUT 42H,AL</p><p>  MOV AL,00H</p><p>  OUT CSPB,AL</p><p>  ;------------------------------------------------------初始化LED</p><p>  MOV

82、 DX,0B07H</p><p>  SENDWORD DX</p><p>  MOV DX,09FFH</p><p>  SENDWORD DX</p><p>  MOV DX,0A0AH</p><p>  SENDWORD

83、 DX</p><p>  MOV DX,0C01H</p><p>  SENDWORD DX</p><p>  ;----------------------------------------------------設置中斷向量表</p><p>  MOV AX,OFFSET IRQ7&l

84、t;/p><p>  MOV SI,003CH</p><p>  MOV [SI],AX</p><p>  MOV AX,SEG IRQ7</p><p>  MOV SI,003EH</p><p>  MOV [SI],AX</p><

85、p>  ;----------------------------------------------------設置中斷屏蔽字</p><p>  IN AL,21H</p><p>  AND AL,7FH</p><p>  OUT 21H,AL</p><p>  MOV AL,

86、01H</p><p>  OUT 62H,AL</p><p>  MOV BX,0001H</p><p>  AGAIN: STI</p><p><b>  HLT</b></p><p>  JMP AGAIN</p><p>

87、;  ;-------------- --------------------------------------------</p><p>  IRQ7: DEC BX ;中斷服務子程序</p><p>  JNZ FLAGE ;BX不為零跳轉(zhuǎn)</p><p>  IN AL,60H

88、 ;讀采樣值</p><p>  PUSH AX</p><p>  PUSH AX ;顯示空格</p><p>  MOV AX,0120H</p><p>  INT 10H</p><p>  POP AX</p><p

89、>  CALL FAR PTR DISPLAY1 ;調(diào)顯示子程序(將采樣值送至液晶顯示)</p><p>  CALL FAR PTR LED</p><p>  POP AX</p><p>  CALL FAR PTR LCD</p><p>  ;-------------------

90、-------------------------------------換通道</p><p>  IN AL,62H</p><p>  NOT AL</p><p>  OUT 62H,AL</p><p>  MOV BX,800 ;中斷計時賦值</p><

91、;p>  FLAGE: MOV AL,20H</p><p>  OUT 20H,AL</p><p><b>  IRET</b></p><p>  DISPLAY1 PROC FAR ;屏幕顯示子程序</p><p>  PUSH AX</

92、p><p>  MOV CL,04H ;先將采樣值轉(zhuǎn)換成ASCII碼,再送至液晶顯示</p><p>  MOV DL,AL</p><p>  SHR AL,CL</p><p>  CMP AL,09H</p><p>  JBE DIS1</

93、p><p>  ADD AL,07H</p><p>  DIS1: ADD AL,30H</p><p>  MOV AH,01H</p><p>  INT 10H</p><p>  AND DL,0FH</p><p>  CMP

94、 DL,09H</p><p>  JBE DIS2</p><p>  ADD DL,07H</p><p>  DIS2: ADD DL,30H</p><p>  MOV AL,DL</p><p>  MOV AH,01H</p&g

95、t;<p>  INT 10H</p><p>  POP AX</p><p><b>  RET</b></p><p>  DISPLAY1 ENDP</p><p>  LCD PROC FAR ;LCD 顯示子程序</p><

96、;p>  ;- -------------------------------------------------初始化LCD</p><p>  LCDSENDWORD 0030H</p><p>  LCDSENDWORD 0001H</p><p>  LCDSENDWORD 0006H</p><

97、p>  LCDSENDWORD 000CH</p><p>  LCDSENDWORD 0030H</p><p>  LCDSENDWORD 0080H</p><p>  ;----------------------------------------------------------顯示通道號</p>

98、<p>  LCDSENDWORD 0254H</p><p>  PUSH AX</p><p>  IN AL,62H</p><p>  TEST AL,01H</p><p>  JNZ L4</p><p>  L3: MOV

99、 DX,0236H</p><p>  LCDSENDWORD DX</p><p>  JMP FINISH1</p><p>  L4: MOV DX,0237H</p><p>  LCDSENDWORD DX</p><p>  ;---------------

100、----- ----------------------------------顯示溫度</p><p>  FINISH1: LCDSENDWORD 0220H</p><p>  LCDSENDWORD 0249H</p><p>  LCDSENDWORD 0253H</p><p>  LCDSE

101、NDWORD 023AH</p><p>  POP AX</p><p>  MOV CL,2</p><p>  MUL CL</p><p>  MOV CL,100</p><p>  DIV CL</p><p>

102、  XCHG AL,AH</p><p>  MOV DH,2</p><p>  MOV DL,AH</p><p>  ADD DX,30H</p><p>  LCDSENDWORD DX</p><p>  MOV CL,10</p&g

103、t;<p>  SUB AH,AH</p><p>  DIV CL</p><p>  MOV DH,2</p><p>  MOV DL,AL</p><p>  ADD DX,30H</p><p>  LCDSENDWORD

104、DX</p><p>  MOV DH,2</p><p>  MOV DL,AH</p><p>  ADD DX,30H</p><p>  LCDSENDWORD DX</p><p><b>  RET</b></p><

105、p><b>  RET</b></p><p><b>  LCD ENDP</b></p><p>  LED PROC FAR ;LED顯示子程序</p><p>  ;-------------------------------------------------------數(shù)據(jù)

106、轉(zhuǎn)換</p><p>  MOV CL,2</p><p>  MUL CL</p><p>  MOV CL,100</p><p>  DIV CL</p><p>  XCHG AL,AH</p><p>  MOV D

107、H,3</p><p>  MOV DL,AH</p><p>  SENDWORD DX</p><p>  MOV CL,10</p><p>  SUB AH,AH</p><p>  DIV CL</p><p>  MO

108、V DH,2</p><p>  MOV DL,AL</p><p>  SENDWORD DX</p><p>  MOV DH,1</p><p>  MOV DL,AH</p><p>  SENDWORD DX</p>

109、;<p>  ;----------------------------------------------------------顯示通道號</p><p>  IN AL,62H</p><p>  TEST AL,01H</p><p>  JNZ L2</p><p>  L1: M

110、OV DX,0406H</p><p>  SENDWORD DX</p><p>  JMP FINISH</p><p>  L2: MOV DX,0407H</p><p>  SENDWORD DX</p><p>  FINISH:

111、RET</p><p><b>  LED ENDP</b></p><p>  CODE ENDS</p><p>  END START</p><p>  第七章 課程設計體會</p><p>  兩周的課程設計結(jié)束了,兩周的時間真的學到了很多東西。</p>&

112、lt;p>  1.首先是在認識上:我們以為把理論知識學好就行了,就能把知識應用好??墒遣⒉皇沁@樣的,我們工科的學生,書本上學到的知識并不一定就能夠用好,必須要經(jīng)過實踐這一重要的環(huán)節(jié)。實踐中,我們能夠?qū)⒗碚撝R和實踐結(jié)合起來,增強自己的動手能力。理論知識才能升華為自己真正掌握的能力。</p><p>  2. 在這次的課程設計中,也遇到了一系列的問題。第一就是怎樣換檢測通道的問題,在ADC0809的管腳中有A

113、、B、C三個腳用來選擇采樣轉(zhuǎn)換的通道,課題只要用到兩個通道,而且是第6和第7號通道,所以,只要將B、C管腳接高電平將A管腳接在PC0管腳,在程序初始化的時候?qū)C0輸出0,在進行了轉(zhuǎn)換輸出以后,將C口取反即可實現(xiàn)通道的轉(zhuǎn)換。</p><p>  第二,在實現(xiàn)定時功能的時候,我們首先是利用的軟件延時,可是在軟件延時時候不能準確地控制延時的長度。于是我們就決定用另一種方法來實現(xiàn)。利用中斷計時程序。在中斷服務子程序中,

114、我們利用了BX,沒進入一次中斷就將BX值減1,在BX的值減到零的時候?qū)?zhí)行中斷服務子程序。這樣只要將中斷信號的脈沖時間設定好,再將計數(shù)的數(shù)值設定好就能實現(xiàn)兩秒的精確計時。</p><p>  第三,在實現(xiàn)顯示的問題上,我們是用了數(shù)碼管顯示溫度,可是在實驗板上的數(shù)碼管模塊只有三個管腳引出,可是,要顯示必須要7個管腳,于是我們看了一下實驗擴展板的說明書,原來,數(shù)碼管的譯碼芯片是串行的,而數(shù)據(jù)時并行的。</p&g

115、t;<p>  這樣,我們就利用數(shù)碼管的測試程序的宏定義,把要顯示的數(shù)據(jù)送到數(shù)碼管顯示出來。這樣,問題就解決了。</p><p>  3. 這次的課程設計,讓我們了解了硬件制作與軟件編程的一些知識,了解了一些常用芯片的使用方法。中間雖然遇到了一些問題,但是解決之后覺得收獲頗多。</p><p><b>  附錄 參考文獻</b></p>&

116、lt;p>  [1].周荷琴.微型計算機原理與接口技術.合肥:中國科學技術大學出版社,2004.12</p><p>  [2] 劉全忠.匯編語言實用程序.天津:天津大學出版社,1991.6</p><p>  [3] 李朝青.單片機&DSP外圍數(shù)字IC技術手冊.北京:北京航空航天大學出版社,2003.</p><p>  [4]劉樂善.微型計算機接口

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論