第一篇:微機(jī)原理與接口技術(shù)試題答案
微機(jī)原理與接口技術(shù)試題答案
一、填空題(20*1)
1、微機(jī)系統(tǒng)由(硬件系統(tǒng))和(軟件系統(tǒng))兩部分組成。2、8086有(20)位地址線,存儲(chǔ)器容量為(1M)B。3、8086CPU 內(nèi)部組成結(jié)構(gòu)從功能上講,可分為(BIU)和(EU)兩部分。4、8086/8088的四個(gè)段寄存器為(DS)、(ES)、(SS)、(CS)
5、用來存放CPU狀態(tài)信息的寄存器是(FLAGS)。
6、用來存放指令地址的寄存器是(IP)。7、8086的16位標(biāo)志寄存器FLAGS中OF=1表示運(yùn)算結(jié)果(溢出),ZF=1表示運(yùn)算結(jié)果為零。PF=0表示運(yùn)算結(jié)果的低8位中1的個(gè)數(shù)為(奇數(shù))。
8、8086的16位標(biāo)志寄存器FLAGS中IF=1表示CPU(允許)中斷,TF=1表示CPU進(jìn)入(單步)工作方式。
9、地址4000H:0300H,其物理地址是(40300H),段地址是(4000H),偏移地址是(0300H)。
11、I/O端口的尋址方式有兩種,分別是(直接尋址),(間接尋址)。
12、指令JO NEXT 表示OF=(1)時(shí)轉(zhuǎn)移。
13、將I/O設(shè)備端口內(nèi)容讀入AL中的指令助記符是(IN)。14、8086CPU的 I/O指令采用間接尋址時(shí),使用的間接寄存器是(DX)。
15、設(shè)置DF=1的指令為(STD)。
16、清除CF標(biāo)志的指令為(CLC)。
17、一對(duì)操作堆棧的指令為(POP)和(PUSH)。
18、LOOPNZ的循環(huán)條件為(CX≠0且ZF=0)。
19、實(shí)現(xiàn)無符號(hào)數(shù)乘2的指令的助記符是(SHL),實(shí)現(xiàn)有符號(hào)數(shù)除2的指令的助記符是(SAR)。22、8086CPU引腳信號(hào)中中斷請(qǐng)求兩個(gè)信號(hào)名稱為(INT)和(NMI)。
26、I/O端口的編址方式一般有(存儲(chǔ)器統(tǒng)一編址)和(獨(dú)立編址)兩種
29.1片8259A中斷控制器可管理(8)級(jí)中斷,用9片8259A可構(gòu)成(64)級(jí)主從式中斷管理系統(tǒng)。
二: 填空題(每題2分, 共20分)1.8086CPU復(fù)位時(shí), 寄存器 CS值為(FFFFH), 寄存器 IP的值為(0000H)2.8086CPU的8個(gè)8位通用寄存器名為(AL),(AH),(BL),(BH),(CL),(CH),(DL),(DH).3.若SS = 3240H, SP = 2000H, 棧頂?shù)膶?shí)際地址為(34400H).4.指令 MOV AX, [BX] 的機(jī)器碼為 8BH, 07H , 指令 MOV [BX], AX的機(jī)器碼為(89H),(07H).5.8255A的工作方式有方式0功能為(基本輸入輸出), 方式1功能為(選通輸入輸出), 方式2功能為(雙向數(shù)據(jù)傳送).6.執(zhí)行指令 PUSH AX有 SP =(SPBUF DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA STAR PROC FAR PUSH DS MOV AX, 0 PUSH AX MOV AX, DATA MOV DS, AX LEA BX, BUF1 MOV CX , COUNT-1 MOV AL, [BX] AG: INC BX CMP AL, [BX] JAE BIG MOV AL, [BX] BIG: DEC CX JNZ AG MOV BUF2, AL RET STAR ENDP CODE ENDS END STAR 問: 該程序執(zhí)行后BUF2中的值為(9).四、程序設(shè)計(jì)題(2*10)
1、編寫一個(gè)匯編語言程序,要求從鍵盤輸入一個(gè)小寫字母,將其轉(zhuǎn)換成大寫字母在屏幕上顯示出來。
DATA SEGMENT BUF DB 0DH,0AH,“PLEASE INPUT A CHAR:$” DATAENDS
STACK SEGMENT
DB 20 DUP(?)STACKENDS
CODESEGMENT
ASSUME DS:DATA,CS:CODE ,SS:STACK BEGIN: MOV AX,DATA
MOV DS,AX
LEA DX,BUF;9號(hào)調(diào)用顯示PLEASE INPUT A CHAR:
MOV AH,9
INT 21H
MOV AH,1;1號(hào)調(diào)用,從鍵盤接收1字符
INT 21H
CMP AL,61H /41H;若比“a”/A小轉(zhuǎn)PEND
JB PEND
CMP AL,7AH /5BH;若比“z”/Z大轉(zhuǎn)PEND
JA PEND;
ADD/SUB AL,20H;如在“a”與“z”之間則減去20變?yōu)榇髮懽址?/p>
MOV DL,AL
MOV AH,2;2號(hào)功能調(diào)用顯示一個(gè)字符
INT 21H
PEND: MOV AH,4CH;程序結(jié)束運(yùn)行,返回DOS
INT 21H CODE ENDS
END BEGIN
2、已知芯片8253的端口地址為4F0H~4F3H,設(shè)計(jì)數(shù)器1工作在方式1,計(jì)數(shù)器初值為3060H,采用二進(jìn)制計(jì)數(shù),請(qǐng)?jiān)O(shè)計(jì)實(shí)現(xiàn)上述功能的8253初始化程序。8253控制字格式如下:
因?yàn)橛?jì)數(shù)器初值為3060H,即為16位的,所以讀/寫格式為11 因此控制字為:01110010 =72 控制字:MOV AL, 72H OUT 4F3H, AL
低8位:MOV AL, 60H OUT 4F1H, AL
高8位:MOV AL, 30H
OUT 4F1H, AL
六: 編程題(7分)編一個(gè)完整的程序, 數(shù)據(jù)段有10個(gè)符號(hào)的ASCII碼值數(shù)據(jù)塊 BUF , 若數(shù)據(jù)為0到 9的ASCII碼值, 在屏上顯示 Y , 否則顯示 N 解: DATA SEGMENT BUF DB 10 DUP(?)DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA NAIN PROC FAR PUSH DS MOV AX, 0 PUSH AX MOV AX, DATA MOV DS, AX MOV CX, 10 LEA BX, BUF AG: MOV AL, [BX] CMP AL, 30H JL DISNO CMP AL, 39H JG DISNO MOV AH, 02H MOV DL, ‘Y’ INT 21H JMP NEXT DISNO: MOV AH, 02H MOV DL, ‘N’ INT 21H NEXT: INC CX DEC CX JNZ AG RET MAIN ENDP CODE ENDS END MAIN 七: 接口編程(7分, 僅編程序段)8255A的A口,B口均工作于方式0, 從A口輸出數(shù)據(jù)30H, 將B口輸入的數(shù)據(jù)放入寄存器BL中.(注:8255A口地址為60H到63H)解: 1 0 0 0 X 0 1 X 方式控制字= 82H MOV AL, 82H OUT 63H, AL MOV AL, 30H OUT 60H, AL IN AL, 61H MOV BL, AL
第二篇:微機(jī)原理與接口技術(shù)小結(jié)
微機(jī)原理與接口技術(shù)基礎(chǔ)
1.為什么在流水CPU中,將一條指令從取指到執(zhí)行結(jié)束的任務(wù)分割為一系列子任務(wù),并使各子任務(wù)在流水線的各個(gè)過程段并發(fā)地執(zhí)行,從而使流水CPU具有更強(qiáng)大的數(shù)據(jù)吞吐能力?
這里可以使用時(shí)空?qǐng)D法證明結(jié)論的正確性。
假設(shè)指令周期包含四個(gè)子過程:取指令(IF)、指令譯碼(ID)、取操作數(shù)(EX)、進(jìn)行運(yùn)算(WB),每個(gè)子過程稱為過程段(Si),這樣,一個(gè)流水線由一系列串連的過程段組成。在統(tǒng)一時(shí)鐘信號(hào)控制下,數(shù)據(jù)從一個(gè)過程段流向相鄰的過程段。
2.譯碼器是如何譯碼的?尋址空間是如何確定的?譯碼器與尋址空間是怎么聯(lián)系的?
譯碼器實(shí)際上是由許多與門、或門、非門和它們的組合構(gòu)成的。它有若干個(gè)輸入端和若干個(gè)輸出端(也可能只有一個(gè)輸出端)。對(duì)某一個(gè)輸出端來說,它的電平高低必然與輸入的某一種狀態(tài)相對(duì)應(yīng)。
例如,具有4個(gè)輸入端的與非門就是一個(gè)簡單的譯碼器,只有四個(gè)輸入端為1111時(shí),它的輸出端才為0。如果將地址總線的A9、A8、A7、A6與它的四個(gè)輸入連接起來,并把它的輸出連到存儲(chǔ)器芯片或某個(gè)需要尋址的外設(shè)接口的片選端(假定低電平有效),那么,只有當(dāng)A9、A8、A7、A6為1111時(shí),存儲(chǔ)器芯片或外設(shè)才會(huì)被選中。
譯碼器的尋址空間取決于地址總線的哪幾根線接到譯碼器的輸入端,例如上例,地址總線的A9、A8、A7、A6與譯碼器的輸入連接,那么其尋址空間應(yīng)該是11 1100 0000~11 1111 1111,即3C0H~3F0H。
注意,沒有參與譯碼的低位地址線必然要參與存儲(chǔ)器芯片或外設(shè)接口的內(nèi)部譯碼。也就是說,內(nèi)部譯碼地址范圍是0--2n11 0000。
可以說,譯碼器的譯碼輸出決定了尋址空間的起始地址,內(nèi)部譯碼決定了尋址空間的大小。由于上一條指令的四個(gè)子過程全部執(zhí)行完畢后才能開始下一條指令,因此每隔4個(gè)單位時(shí)間才有一個(gè)輸出結(jié)果,即一條指令執(zhí)行結(jié)束。表示非流水CPU的時(shí)空?qǐng)D。由于上一條指令與下一條指令的四個(gè)過程在時(shí)間上可以重疊執(zhí)行,因此,當(dāng)流水線滿載時(shí),每一個(gè)單位時(shí)間就可以輸出一個(gè)結(jié)果,即執(zhí)行一條指令。
比較后發(fā)現(xiàn):流水CPU在八個(gè)單位時(shí)間中執(zhí)行了5條指令,而非流水CPU僅執(zhí)行了2條指令,因此流水CPU具有更強(qiáng)大的數(shù)據(jù)吞吐能力。
3.書本上講的是若是計(jì)算結(jié)果中1的個(gè)數(shù)為偶數(shù)時(shí),則PF=1;但我又在另外的輔導(dǎo)書上看到的說如果計(jì)算結(jié)果的低8位中1的個(gè)數(shù)為偶數(shù),PF=1.請(qǐng)問老師是否是低八位?
答:對(duì),PF只與結(jié)果的低8位有關(guān)。
4.80386 CPU包含哪些寄存器?各有什么主要用途?
80386共有7類34個(gè)寄存器。它們分別是通用寄存器、指令指針和標(biāo)志寄存器、段寄存器、系統(tǒng)地址寄存器、控制寄存器、調(diào)試和測試寄存器。
(1)通用寄存器(8個(gè))
EAX,EBX,ECX,EDX,ESI,EDI,EBP和ESP。每個(gè)32位寄存器的低16位可單獨(dú)使用,同時(shí)AX、BX、CX、DX寄存器的高、低8位也可分別當(dāng)作8位寄存器使用。它們與8088/8086中相應(yīng)的16位通用寄存器作用相同。
(2)指令指針和標(biāo)志寄存器。
指令指針EIP是一個(gè)32位寄存器,存放下一條要執(zhí)行的指令的偏移地址。
標(biāo)志寄存器EFLAGS也是一個(gè)32位寄存器,存放指令的執(zhí)行狀態(tài)和一些控制位。
(3)段寄存器(6個(gè))
CS,DS,SS,ES,F(xiàn)S和GS。在實(shí)方式下,它們存放內(nèi)存段的段地址。在保護(hù)方式下,它們被稱為段選擇符。其中存放的是某一個(gè)段的選擇符。當(dāng)選擇符裝入段寄存器時(shí),80386中的硬件章自動(dòng)用段寄存器中的值作為索引從段描述符表中取出一個(gè)8個(gè)字節(jié)的描述符,裝入到與該段寄存器相應(yīng)的64位描述符寄存器中。
(4)控制寄存器(4個(gè))
CR0、CRl、CR2和CR3。它們的作用是保存全局性的機(jī)器狀態(tài)。
(5)系統(tǒng)地址寄存器(4個(gè))
GDTR、IDTR、LDTR和TR。它們用來存儲(chǔ)操作系統(tǒng)需要的保護(hù)信息和地址轉(zhuǎn)換表信息、定義目前正在執(zhí)行任務(wù)的環(huán)境、地址空間和中斷向量空間。
(6)調(diào)試寄存器(8個(gè))
DR0~DR7。它們?yōu)檎{(diào)試提供硬件支持。
(7)測試寄存器(8個(gè))
TR0~TR7,其中TR0~TR5由Intel公司保留,用戶只能訪問TR6、TR7。它們用于控制對(duì)TLB中的RAM和CAM相連存儲(chǔ)器的測試。TR6是測試控制寄存器,TR7是測試狀態(tài)寄存器,保存測試結(jié)果的狀態(tài)
5.什么是外部中斷源?什么是中斷向量碼?什么是讀選通信號(hào)?
答:外部中斷源就是在CPU外部能夠產(chǎn)生中斷請(qǐng)求的設(shè)備/器件;通俗地說,中斷向量碼就是中斷的編號(hào),其值為0-FFH;選通信號(hào)就是打開邏輯門的控制信號(hào),或用來鎖存信息(類似D觸發(fā)器的CP或CLK)的控制信號(hào)。讀選通信號(hào)就是用來打開總線緩沖器,以便把的數(shù)據(jù)送到總線上的控制信號(hào)。
6.CPU處于單步執(zhí)行指令的工作方式(課本49頁),請(qǐng)問什么是單步執(zhí)行指令工作方式? 答:在這種方式下,CPU每執(zhí)行一條指令,就產(chǎn)生一次特殊的中斷,以便可以停下來檢查執(zhí)行的結(jié)果。主要用于各類程序的調(diào)試。
7.片選信號(hào)(CS)到底是起使數(shù)據(jù)有效或無效的作用還是起選擇芯片的作用啊?若是前者,干嗎叫片選?
片選信號(hào)就是選擇芯片的信號(hào)。前者不叫片選信號(hào),應(yīng)該叫允許信號(hào)。
8.書本上講的是若是計(jì)算結(jié)果中1的個(gè)數(shù)為偶數(shù)時(shí),則PF=1;但我又在另外的輔導(dǎo)書上看到的說如果計(jì)算結(jié)果的低8位中1的個(gè)數(shù)為偶數(shù),PF=1.請(qǐng)問老師是否是低八位?
微型計(jì)算機(jī)基礎(chǔ)
1.為什么在流水CPU中,將一條指令從取指到執(zhí)行結(jié)束的任務(wù)分割為一系列子任務(wù),并使各子任務(wù)在流水線的各個(gè)過程段并發(fā)地執(zhí)行,從而使流水CPU具有更強(qiáng)大的數(shù)據(jù)吞吐能力?
這里可以使用時(shí)空?qǐng)D法證明結(jié)論的正確性。
假設(shè)指令周期包含四個(gè)子過程:取指令(IF)、指令譯碼(ID)、取操作數(shù)(EX)、進(jìn)行運(yùn)算(WB),每個(gè)子過程稱為過程段(Si),這樣,一個(gè)流水線由一系列串連的過程段組成。在統(tǒng)一時(shí)鐘信號(hào)控制下,數(shù)據(jù)從一個(gè)過程段流向相鄰的過程段。
2.譯碼器是如何譯碼的?尋址空間是如何確定的?譯碼器與尋址空間是怎么聯(lián)系的?
譯碼器實(shí)際上是由許多與門、或門、非門和它們的組合構(gòu)成的。它有若干個(gè)輸入端和若干個(gè)輸出端(也可能只有一個(gè)輸出端)。對(duì)某一個(gè)輸出端來說,它的電平高低必然與輸入的某一種狀態(tài)相對(duì)應(yīng)。
例如,具有4個(gè)輸入端的與非門就是一個(gè)簡單的譯碼器,只有四個(gè)輸入端為1111時(shí),它的輸出端才為0。如果將地址總線的A9、A8、A7、A6與它的四個(gè)輸入連接起來,并把它的輸出連到存儲(chǔ)器芯片或某個(gè)需要尋址的外設(shè)接口的片選端(假定低電平有效),那么,只有當(dāng)A9、A8、A7、A6為1111時(shí),存儲(chǔ)器芯片或外設(shè)才會(huì)被選中。
譯碼器的尋址空間取決于地址總線的哪幾根線接到譯碼器的輸入端,例如上例,地址總線的A9、A8、A7、A6與譯碼器的輸入連接,那么其尋址空間應(yīng)該是11 1100 0000~11 1111 1111,即3C0H~3F0H。
注意,沒有參與譯碼的低位地址線必然要參與存儲(chǔ)器芯片或外設(shè)接口的內(nèi)部譯碼。也就是說,內(nèi)部譯碼地址范圍是0--2n11 0000。
可以說,譯碼器的譯碼輸出決定了尋址空間的起始地址,內(nèi)部譯碼決定了尋址空間的大小。由于上一條指令的四個(gè)子過程全部執(zhí)行完畢后才能開始下一條指令,因此每隔4個(gè)單位時(shí)間才有一個(gè)輸出結(jié)果,即一條指令執(zhí)行結(jié)束。表示非流水CPU的時(shí)空?qǐng)D。由于上一條指令與下一條指令的四個(gè)過程在時(shí)間上可以重疊執(zhí)行,因此,當(dāng)流水線滿載時(shí),每一個(gè)單位時(shí)間就可以輸出一個(gè)結(jié)果,即執(zhí)行一條指令。
比較后發(fā)現(xiàn):流水CPU在八個(gè)單位時(shí)間中執(zhí)行了5條指令,而非流水CPU僅執(zhí)行了2條指令,因此流水CPU具有更強(qiáng)大的數(shù)據(jù)吞吐能力。
3.書本上講的是若是計(jì)算結(jié)果中1的個(gè)數(shù)為偶數(shù)時(shí),則PF=1;但我又在另外的輔導(dǎo)書上看到的說如果計(jì)算結(jié)果的低8位中1的個(gè)數(shù)為偶數(shù),PF=1.請(qǐng)問老師是否是低八位?
答:對(duì),PF只與結(jié)果的低8位有關(guān)。
4.80386 CPU包含哪些寄存器?各有什么主要用途?
80386共有7類34個(gè)寄存器。它們分別是通用寄存器、指令指針和標(biāo)志寄存器、段寄存器、系統(tǒng)地址寄存器、控制寄存器、調(diào)試和測試寄存器。
(1)通用寄存器(8個(gè))
EAX,EBX,ECX,EDX,ESI,EDI,EBP和ESP。每個(gè)32位寄存器的低16位可單獨(dú)使用,同時(shí)AX、BX、CX、DX寄存器的高、低8位也可分別當(dāng)作8位寄存器使用。它們與8088/8086中相應(yīng)的16位通用寄存器作用相同。
(2)指令指針和標(biāo)志寄存器。
指令指針EIP是一個(gè)32位寄存器,存放下一條要執(zhí)行的指令的偏移地址。
標(biāo)志寄存器EFLAGS也是一個(gè)32位寄存器,存放指令的執(zhí)行狀態(tài)和一些控制位。
(3)段寄存器(6個(gè))
CS,DS,SS,ES,F(xiàn)S和GS。在實(shí)方式下,它們存放內(nèi)存段的段地址。在保護(hù)方式下,它們被稱為段選擇符。其中存放的是某一個(gè)段的選擇符。當(dāng)選擇符裝入段寄存器時(shí),80386中的硬件章自動(dòng)用段寄存器中的值作為索引從段描述符表中取出一個(gè)8個(gè)字節(jié)的描述符,裝入到與該段寄存器相應(yīng)的64位描述符寄存器中。
(4)控制寄存器(4個(gè))
CR0、CRl、CR2和CR3。它們的作用是保存全局性的機(jī)器狀態(tài)。
(5)系統(tǒng)地址寄存器(4個(gè))
GDTR、IDTR、LDTR和TR。它們用來存儲(chǔ)操作系統(tǒng)需要的保護(hù)信息和地址轉(zhuǎn)換表信息、定義目前正在執(zhí)行任務(wù)的環(huán)境、地址空間和中斷向量空間。
(6)調(diào)試寄存器(8個(gè))
DR0~DR7。它們?yōu)檎{(diào)試提供硬件支持。
(7)測試寄存器(8個(gè))
TR0~TR7,其中TR0~TR5由Intel公司保留,用戶只能訪問TR6、TR7。它們用于控制對(duì)TLB中的RAM和CAM相連存儲(chǔ)器的測試。TR6是測試控制寄存器,TR7是測試狀態(tài)寄存器,保存測試結(jié)果的狀態(tài)
5.什么是外部中斷源?什么是中斷向量碼?什么是讀選通信號(hào)?
答:外部中斷源就是在CPU外部能夠產(chǎn)生中斷請(qǐng)求的設(shè)備/器件;通俗地說,中斷向量碼就是中斷的編號(hào),其值為0-FFH;選通信號(hào)就是打開邏輯門的控制信號(hào),或用來鎖存信息(類似D觸發(fā)器的CP或CLK)的控制信號(hào)。讀選通信號(hào)就是用來打開總線緩沖器,以便把的數(shù)據(jù)送到總線上的控制信號(hào)。
6.CPU處于單步執(zhí)行指令的工作方式(課本49頁),請(qǐng)問什么是單步執(zhí)行指令工作方式? 答:在這種方式下,CPU每執(zhí)行一條指令,就產(chǎn)生一次特殊的中斷,以便可以停下來檢查執(zhí)行的結(jié)果。主要用于各類程序的調(diào)試。
7.片選信號(hào)(CS)到底是起使數(shù)據(jù)有效或無效的作用還是起選擇芯片的作用啊?若是前者,干嗎叫片選?
片選信號(hào)就是選擇芯片的信號(hào)。前者不叫片選信號(hào),應(yīng)該叫允許信號(hào)。
8.書本上講的是若是計(jì)算結(jié)果中1的個(gè)數(shù)為偶數(shù)時(shí),則PF=1;但我又在另外的輔導(dǎo)書上看到的說如果計(jì)算結(jié)果的低8位中1的個(gè)數(shù)為偶數(shù),PF=1.請(qǐng)問老師是否是低八位?對(duì),PF只與結(jié)果的低8位有關(guān)
第三篇:微機(jī)原理與接口技術(shù)試題及答案
一、填空題(每空 1 分,共 15 分)得分 評(píng)閱人
1.RESET信號(hào)到來后8088/86的CS和IP 分別為 _FFFF_H 和_0000_H。2.在特殊全嵌套方式下,8259可響應(yīng) 同級(jí)或高級(jí) 中斷請(qǐng)求。3.CPU與外設(shè)接口通過? 數(shù)據(jù) 總線傳送狀態(tài)信號(hào)與命令信號(hào)。4.8255有3種工作方式, 其中 方式2 只允許A口使用。5.有地址重迭現(xiàn)象的譯碼方式為 部分譯碼 和 線選法。
6.外設(shè)端口的編址方式有 I/O端口獨(dú).立編址 和 I/O端口與存儲(chǔ)器統(tǒng)一編址。7.INT8253采用BCD碼計(jì)數(shù)時(shí),其最大計(jì)數(shù)值為__10000__,此時(shí)的計(jì)數(shù)初值為__0000__。
8.8088/8086的AD7-AD0是地址數(shù)據(jù)復(fù)用引腳,在T1時(shí)傳送__地址信號(hào)__。9.8259A作為主片時(shí)其引腳CAS0-CAS2的信息傳送方向是_向外_。
10.RS-232C是適用于__數(shù)據(jù)終端設(shè)備DTE__和__數(shù)據(jù)通信設(shè)備DCE__間的接口。
二、單項(xiàng)選擇題(每小題1分,共20分)得分 評(píng)閱人
1.8086CPU尋址I/O端口最多使用(4)條地址線。(1)8(2)10(3)12(4)16 2.CPU執(zhí)行IN指令時(shí)有效的信號(hào)組合是(1)。(1)=0, =1(2)=0, =0(3)=0, =1(4)=0, =0
3.某計(jì)算機(jī)的字長是16位,它的存儲(chǔ)器容量是64KB,若按字編址那么它的最大尋址范圍是(2)。
(1)64K字(2)32K字(3)64KB(4)32KB 4.某一SRAM芯片的容量是512×8位,除電源和接地線外,該芯片的其他引腳最少應(yīng)為(4)根。
(1)25(2)23(3)21(4)19 5.8088/8086的基本總線周期由(2)個(gè)時(shí)鐘周期組成。(1)2(2)4(3)5(4)6 6.在8086系統(tǒng)中中斷號(hào)為0AH,則存放中斷向量的內(nèi)存起始地址為(2)。(1)0AH(2)28H(3)4AH(4)2AH 7.采用兩片8259A可編程中斷控制器級(jí)聯(lián)使用,可以使CPU的可屏蔽中斷擴(kuò)大到(1)。
(1)15級(jí)(2)16級(jí)(3)32級(jí)(4)64級(jí)
8.當(dāng)IF=0,8088/8086CPU不響應(yīng)(2)中斷請(qǐng)求。(1)INT N(2)INTR(3)NMI(4)INTO 9.8253可編程定時(shí)器/計(jì)數(shù)器中,其二進(jìn)制的最大計(jì)數(shù)初值為(3)。(1)65536(2)7FFFH(3)0000H(4)FFFFH 10.8086/88CPU在響應(yīng)中斷時(shí)要執(zhí)行(2)個(gè)中斷響應(yīng)周期。(1)1個(gè)(2)2個(gè)(3)3個(gè)(4)4個(gè)
11.中斷向量表是存放(2)的存儲(chǔ)區(qū)域.(1)中斷類型號(hào)(2)中斷服務(wù)程序入口處地址(3)中斷斷點(diǎn)地址(4)程序狀態(tài)字
12.INT8255中可用置位/復(fù)位控制字對(duì)(3)的各位進(jìn)行按位操作以實(shí)現(xiàn)某些控制功能。
(1)A口(2)B口(3)C口(4)數(shù)據(jù)總線緩沖器
11.RS-232C標(biāo)準(zhǔn)規(guī)定信號(hào)“0”和“1”的電平是(3)。(1)0V和+3V~+15V(2)-3V~-15V和0V(3)+3V至+15V和-3V~-15V(4)+3V~+15V和-0V 12.對(duì)于開關(guān)型設(shè)備的控制,適合采用的I/O傳送方式是(1)。(1)無條件(2)查詢(3)中斷(4)DMA 13.傳送數(shù)據(jù)時(shí),占用CPU時(shí)間最長的傳送方式是(1)。(1)查詢(2)中斷(3)DMA(4)IOP 14.既然是在數(shù)據(jù)傳輸率相同的情況下,那么,又說同步字符傳輸速度要高于 異步字符傳輸其原因是(2)。
(1)發(fā)生錯(cuò)誤的概率少(2)附加位信息總量少(3)雙方通信同步(4)字符之間無間隔
15.巳知DRAM2118芯片容量為16K×1位, 若組成64KB的系統(tǒng)存儲(chǔ)器,則組成的芯片組數(shù)和每個(gè)芯片組的芯片數(shù)為(4).(1)2和8(2)1和16(3)4和16(4)4和8 16.INT 8259中斷屏蔽寄存儲(chǔ)器的作用是(2).(1)禁止CPU響應(yīng)外設(shè)的中斷請(qǐng)求(2)禁止外設(shè)向CPU發(fā)中斷請(qǐng)求(3)禁止軟中斷請(qǐng)求(4)禁止NMI中斷請(qǐng)求
17.在正常EOI方式下, 中斷結(jié)束命令是清除(2)中的某一位.(1)IRR(2)ISR(3)IMR(4)程序狀態(tài)字
18.軟中斷INT N的優(yōu)先級(jí)排列原則是(3).(1)N值愈小級(jí)別愈高(2)N值愈大級(jí)別愈高(3)無優(yōu)先級(jí)別(4)隨應(yīng)用而定
19.串行異步通信傳輸?shù)闹饕攸c(diǎn)是(2).(1)通信雙方不必同步(2)每個(gè)字符的發(fā)送是獨(dú)立的
(3)字符之間的傳送時(shí)間長度應(yīng)相同(4)字符發(fā)送速率由波特率決定 20.8位D/A轉(zhuǎn)換器的分辨率能給出滿量程電壓的(4).(1)1/8(2)1/16(3)1/32(4)1/256
三、判斷說明題(正者在括號(hào)內(nèi)打“√”,誤者在括號(hào)內(nèi)打“×”,均需說明理由。每小題2分,共10分)得分 評(píng)閱人
1.8086CPU在讀/寫總線周期的T3狀態(tài)結(jié)束對(duì)READY線采樣,如果READY為低電平,則在T3與T4狀態(tài)之間插入等待狀態(tài)TW。(×)應(yīng)改為:8086CPU在讀/寫總線周期的T3狀態(tài)開始對(duì)READY線采樣,如果READY為低電平,則在T3與T4狀態(tài)之間插入等待狀態(tài)TW。
2.在8253的方式控制字中,有一項(xiàng)計(jì)數(shù)鎖存操作,其作用是暫停計(jì)數(shù)器的計(jì)數(shù)。(×)
應(yīng)改為:鎖存計(jì)數(shù)器的當(dāng)前值到鎖存器,但不影響對(duì)計(jì)數(shù)器的計(jì)數(shù)工作。
3.8250的溢出錯(cuò)誤指示CPU還未取走前一個(gè)數(shù)據(jù),接收移位寄存器又將接收到的一個(gè)新數(shù)據(jù)送至輸入緩沖器。(√)
4.在8088系統(tǒng)(最小組態(tài))中,執(zhí)行指令”MOV [2000H],AX”需1個(gè)總線周期。(×)
應(yīng)改為:需2個(gè)總線周期
5.DMA控制器8237A現(xiàn)行字節(jié)數(shù)寄存器的值減到0時(shí),終止計(jì)數(shù)。(×)應(yīng)改為:DMA控制器8237A現(xiàn)行字節(jié)數(shù)寄存器的值減到0,再由0減到0FFFFH時(shí),終止計(jì)數(shù)。
四、簡答題(每小題5分,共20分)得分 評(píng)閱人
1.試述8250的數(shù)據(jù)接收時(shí)鐘RCLK使用16倍比特率的時(shí)鐘信號(hào)接收異步通信信號(hào)的原因以及接收過程。
答:主要是為了確定起始位避免傳輸線上的干擾。
其接收過程為:接收器檢測到串行數(shù)據(jù)輸入引腳SIN由高電平變低后,連續(xù)測試8個(gè)RCLK時(shí)鐘周期,若采樣到的都是低電平,則確認(rèn)為起始位;若低電平的保持時(shí)間不足8個(gè)RCLK時(shí)鐘周期,則認(rèn)為是傳輸線上的干擾。
2.8255A工作于方式2,采用中斷傳送,CPU如何區(qū)分輸入中斷還是輸出中斷? 答:CPU響應(yīng)8255A的中斷請(qǐng)求后,在中斷服務(wù)程序的開始可以查詢8255A的狀態(tài)字,判斷~OBFA(PC7)和IBFA(PC5)位的狀態(tài)來區(qū)分是輸入中斷還是輸出中斷,并據(jù)此轉(zhuǎn)向相應(yīng)的輸入或輸出操作。
3.用2K×4位RAM構(gòu)成64KB的存儲(chǔ)系統(tǒng),需要多少RAM芯片?需要多少位地址作為片外地址譯碼?設(shè)系統(tǒng)為20位地址線,采用全譯碼方式。答:64片。
9位。其中A16~A19固定,A10~A15譯碼形成組選信號(hào)。
4.請(qǐng)說明Intel8253各個(gè)計(jì)數(shù)通道中三個(gè)引腳信號(hào)CLK,OUT和GATE的功能。答:CLK為計(jì)數(shù)時(shí)鐘輸入引腳,為計(jì)數(shù)器提供計(jì)數(shù)脈沖。
GATE為門控信號(hào)輸入引腳,用于啟動(dòng)或禁止計(jì)數(shù)器操作,如允許/禁止計(jì)數(shù)、啟
動(dòng)/停止計(jì)數(shù)等。
OUT為輸出信號(hào)引腳以相應(yīng)的電平或脈沖波形來指示計(jì)數(shù)的完成、定時(shí)時(shí)間到。
五、簡單應(yīng)用題(每小題5分,共15分)得分 評(píng)閱人
1.Intel8253的通道0按方式3工作,時(shí)鐘CLK0的頻率為1兆,要求輸出方波的頻率為40KHz,采用BCD碼計(jì)數(shù),設(shè)通道0的地址為PORT0,請(qǐng)對(duì)它寫入計(jì)數(shù)值。解:n(計(jì)數(shù)初值)=1MHz/40KHz=25 寫入計(jì)數(shù)值的程序段: MOV AL,25H OUT PORT0,AL
2.若8086系統(tǒng)采用單片8259A,其中斷類型碼為46H,則其中斷矢量表的地址指針是多少?這個(gè)中斷源應(yīng)連向8259A的哪一個(gè)IR輸入端? 解:中斷矢量表的地址指針是46H×4=118H 應(yīng)連向8259A的IR6
第四篇:微機(jī)原理與接口技術(shù) 實(shí)驗(yàn)報(bào)告一
評(píng)
閱
微機(jī)原理與接口技術(shù)
實(shí)驗(yàn)報(bào)告一
姓名
匡越
學(xué)號(hào)
1715211016
時(shí)間
地點(diǎn)
實(shí)驗(yàn)題目
一、實(shí)驗(yàn)?zāi)康?.熟悉Keil軟件使用
2.熟悉MCS-51指令
3.學(xué)習(xí)簡單程序的調(diào)試方法
二、實(shí)驗(yàn)說明
通過實(shí)驗(yàn)了解單片機(jī)內(nèi)部存儲(chǔ)器的結(jié)構(gòu)和分配及讀寫存儲(chǔ)器的方法,熟悉MCS-51指令同時(shí),學(xué)習(xí)單片機(jī)程序編程、調(diào)試方法。
三、實(shí)驗(yàn)內(nèi)容及步驟
1.啟動(dòng)PC機(jī),打開Keil軟件,軟件設(shè)置為模擬調(diào)試狀態(tài)。在所建的項(xiàng)目文件中輸入源程序1,進(jìn)行編譯,如有錯(cuò)誤按提示找到該行并糾錯(cuò),重新編譯直到通過。
2.編譯無誤后,打開CPU窗口,選擇單步或跟蹤執(zhí)行方式運(yùn)行程序,觀察CPU窗口各寄存器的變化并將觀察到的結(jié)果記錄到預(yù)習(xí)報(bào)告。
3.新建另一個(gè)項(xiàng)目輸入源文件2,打開CPU窗口,選擇單步或跟蹤執(zhí)行方式運(yùn)行程序,觀察存儲(chǔ)塊數(shù)據(jù)變化情況記錄到預(yù)習(xí)報(bào)告。點(diǎn)擊復(fù)位按鈕,改變存儲(chǔ)塊數(shù)據(jù),點(diǎn)擊全速執(zhí)行快捷按鈕,點(diǎn)擊暫停按鈕,觀察存儲(chǔ)塊數(shù)據(jù)變化情況,記錄到預(yù)習(xí)報(bào)告。點(diǎn)擊復(fù)位按鈕,改變存儲(chǔ)塊數(shù)據(jù),分別LOOP、LOOP1設(shè)置斷點(diǎn),點(diǎn)擊全速執(zhí)行快捷按鈕,在斷點(diǎn)處觀察寄存器及存儲(chǔ)塊數(shù)據(jù)變化情況。
WAVE軟件使用方法參考其幫助文件。
四、實(shí)驗(yàn)程序流程框圖、實(shí)驗(yàn)程序
1、源程序1
ORG
0000H
AJMP
MAIN
ORG
0030H
MAIN:
MOV
R0,#30H;
(R0)=
(00H)=
MOV
A,#40H;
(A)=
MOV
R6,A;
(A)=,(R6)=
MOV
A,@R0;
(R0)=
(A)=
MOV
40H,A;
(A)=
(40H)=
MOV
30H,40H;
(30H)=
(40H)=
MOV
R1,#40H;
(R1)=
MOV
@R1,#0AAH;(R1)=
(40H)=
MOV
SP,#60H;
(SP)=
PUSH
ACC;
(SP)=
(61H)=
PUSH
30H;
(SP)=
(62H)=
MOV
A,#0FFH;
(SP)=
(A)=
MOV
30H,#30H;
(SP)=
(30H)=
POP
ACC;
(SP)=
(A)=
POP
30H;
(SP)=
(30H)=
ADD
A,30H;
(30H)=
(A)=
Cy=
SUBB
A,#10;
(A)=
Cy=
MOV
R4,#00100100B;
(R4)=
H
MOV
A,#39H;
(A)
=
ADD
A,R4;
(A)
=
(R4=)
DA
A;
(A)
=
Cy=
MOV
28H,#55H;(28H)
=
Cy=
MOV
C,40H;
(PSW)
=
Cy=
MOV
26H,#00H;(26H)
=
Cy=
MOV
30H,C;
(30H)
=
(26H.1)
=
SJMP
$
j點(diǎn)擊project,選擇下拉式菜單中的New
project;
k選擇所要的單片機(jī),這里我們選擇常用的Ateml
公司的AT89C51;
l新建一個(gè)File,輸入源程序;
m將新建文件保存為text.asm的格式;
n鼠標(biāo)在屏幕左邊的Source
Group1
文件夾圖標(biāo)上右擊彈出菜單,在這里可以做在項(xiàng)目中增加減少文件等操作。選“Add
File
to
Group
‘Source
Group
1’”彈出文件窗口,選擇剛剛保存的文件;
o對(duì)程序進(jìn)行編譯運(yùn)行;
使程序一得:
ORG
0000H
AJMP
MAIN
ORG
0030H
MAIN:
MOV
R0,#30H
;
(R0)=
0x30
(00H)=
0x0000
MOV
A,#40H
;
(A)=
0x40
MOV
R6,A
;
(A)=
0x40,(R6)=
0x40
MOV
A,@R0
;
(R0)=
0x30
(A)=
0x16
MOV
40H,A
;
(A)=0x16
(40H)=
0x0040
MOV
30H,40H
;
(30H)=
0x0030
(40H)=
0x0040
MOV
R1,#40H
;
(R1)=
0x40
MOV
@R1,#0AAH;(R1)=
0x40
(40H)=
0x0040
MOV
SP,#60H;
(SP)=
0x60
PUSH
ACC;
(SP)=
0x61
(61H)=
0x0061
PUSH
30H;
(SP)=
0x62
(62H)=
0x0062
MOV
A,#0FFH;
(SP)=
0x62
(A)=
0xff
MOV
30H,#30H;
(SP)=
0x62
(30H)=
0x0030
POP
ACC;
(SP)=
0x61
(A)=
0x16
POP
30H;
(SP)=
0x60
(30H)=
0x0030
ADD
A,30H;
(30H)=
0x0030
(A)=
0x2a
Cy=
0
SUBB
A,#10;
(A)=
0x20
Cy=
0
MOV
R4,#00100100B;
(R4)=
0x24
H
MOV
A,#39H;
(A)
=
0x39
ADD
A,R4;
(A)
=
0x5d
(R4=)
0x24
DA
A;
(A)
=
0x63
Cy=
0
MOV
28H,#55H;(28H)
=
0x0028
Cy=
0
MOV
C,40H;
(PSW)
=
0x80
Cy=
MOV
26H,#00H;(26H)
=
0x0026
Cy=
MOV
30H,C;
(30H)
=
0x0030
(26H.1)
=
0
SJMP
$
2、源程序2
設(shè)(30H)=4,(31H)=1,(32H)=3,(33H)=5,(34H)=2,(35H)=6
ORG
0000H
AJMP
MAIN
ORG
0030H
MAIN:
MOV
R0,#30H;30H→R0
MOV
R2,#6;6→R2
SORT:
MOV
A,R0;30H→A
MOV
R1,A;30H→R1
MOV
A,R2;6→A
MOV
R5,A;6→R5
CLR
F0;
狀態(tài)標(biāo)志位清零
DEC
R5;寄存器R5減一
MOV
A,@R1;R1→A
LOOP:
MOV
R3,A;A→R3
INC
R1
;寄存器R1增1
CLR
C
;進(jìn)位標(biāo)志位清零
MOV
A,@R1;31H→A
SUBB
A,R3;累加器內(nèi)容減去寄存器內(nèi)容
JNC
LOOP1;僅為標(biāo)志位為1,則進(jìn)行LOOP1
;以下代碼完成數(shù)據(jù)交換
SETB
F0;狀態(tài)標(biāo)志位置1
MOV
A,@R1;31H→A
XCH
A,R3;將A于與R3的數(shù)據(jù)交換
MOV
@R1,A;將4賦值給寄存器R1(31H)
DEC
R1;寄存器減一
MOV
A,R3;1→A
MOV
@R1,A;將1賦值給寄存器R1(30H)
INC
R1;寄存器R1增一
LOOP1:
MOV
A,@R1;4→A
DJNZ
R5,LOOP;寄存器R5減一,不為零則回到LOOP
JB
F0,SORT;狀態(tài)標(biāo)志位為零,則回到SORT
SJMP
$
第五篇:微機(jī)原理與接口技術(shù)實(shí)驗(yàn)總結(jié)
微機(jī)原理與接口技術(shù)實(shí)驗(yàn)總結(jié)
11107108
徐寒黎
一、實(shí)驗(yàn)內(nèi)容以及設(shè)計(jì)思路
1、①試編寫一程序,比較兩個(gè)字符串STRING1、STRING2 所含字符是否相同,若相同輸出“MATCH”,若不相同輸出 “NO MATCH”。設(shè)計(jì)思路:定義一個(gè)數(shù)據(jù)段,在數(shù)據(jù)段中定義兩個(gè)字符串作為STRING1、STRING2以及幾個(gè)用于輸入提示的和輸出所需內(nèi)容的字符串,定義一個(gè)堆棧段用于存放,定義代碼段。關(guān)鍵步驟以及少量語句:第一步將STRING1和STRING2都實(shí)現(xiàn)用鍵盤輸入,方法是
MOV DX,OFFSET STRING2 MOV AH,0AH INT 21H 并且顯示在顯示器上,顯示方法將0AH改成09H,語句與上面類似。然后進(jìn)行比較第一個(gè)單元,MOV AL,[STRING1+1] CMP AL,[STRING2+1] JNZ NOMATCH 若字符串長度不等,則直接跳轉(zhuǎn),輸出輸出 “NO MATCH”; 若長度相等再逐個(gè)比較 LEA SI,[STRING1+2] LEA DI,[STRING2+2] MOV CL,[STRING1+1] MOV CH,0 CLD REPE CMPSB JCXZ MATCH,意思是全部相同就跳轉(zhuǎn)MATCH,輸出“MATCH”;不然進(jìn)入下面的NOMATCH。退出。
②試編寫求級(jí)數(shù)1^3+2^3 +3^3 …..前幾項(xiàng)和剛大于10000的程序。
設(shè)計(jì)思路:原先編寫的程序,設(shè)定和為10000,結(jié)果是14。但要求高一點(diǎn)的話,可以自己設(shè)置,實(shí)現(xiàn)用鍵盤輸入和的值。
一個(gè)難點(diǎn)是將輸入的ASCII碼字符串,轉(zhuǎn)換成與之相同的十進(jìn)制數(shù)的數(shù)值。關(guān)鍵的思路部分是:從1開始求級(jí)數(shù),將和的值存在AX里,要加下一項(xiàng)級(jí)數(shù)前,比如這時(shí)已經(jīng)加到4,PUSH一下AX,然后將5乘三遍,將乘積MOV到BX里,再POP AX,然后將BX的值加到AX里,然后將AX與N比較,如果比N小就繼續(xù)上述步驟,知道剛比N大就輸出數(shù)字。
③試編寫一程序,完成字符串中各字符出現(xiàn)頻度的統(tǒng)計(jì),統(tǒng)計(jì)結(jié)果在屏幕上輸出。
設(shè)計(jì)思路:因?yàn)檫@個(gè)程序需要統(tǒng)計(jì)所有的字符,所以首先要定義一個(gè)存儲(chǔ)區(qū),用來存放26個(gè)字符以及每個(gè)字符出現(xiàn)的個(gè)數(shù)。用鍵盤控制輸入字符串以后,將字符串的第一個(gè)字符與這二十六個(gè)字符逐個(gè)比較,若有相同,在存放相應(yīng)次數(shù)的存儲(chǔ)單元的值上加1。然后比較第二個(gè)字符,依次類推,將字符串里的字符全部比較完。將個(gè)數(shù)大于1的字符以及字符的個(gè)數(shù)都輸出到屏幕上。退出語句。缺點(diǎn)和不足:這樣需要定義一個(gè)非常繁的存儲(chǔ)區(qū)。可以根據(jù)輸入的字符,然后進(jìn)行比較和統(tǒng)計(jì)。
④設(shè)計(jì)一個(gè)動(dòng)畫程序。
設(shè)計(jì)思路:這個(gè)程序參考了網(wǎng)上的資料,沒有什么新意,是小鳥的圖形,可以用上下左右鍵進(jìn)行移動(dòng),可以退出。
步驟:首先設(shè)置堆棧段,數(shù)據(jù)段,代碼段,設(shè)置顯示方式等一些屬性,設(shè)置背景色,設(shè)置小鳥的初始位置以及寫出小鳥圖形的像素的點(diǎn)。功能性的語句是,用鍵盤接受一個(gè)輸入,將其與1bh比較,用JZ語句跳轉(zhuǎn)到退出。若不是便與48h比較,看是否為向上,是則跳轉(zhuǎn)到相應(yīng)語句,不是則繼續(xù)與50h比較;,看是否向下,是則跳轉(zhuǎn)到關(guān)于向下移動(dòng)的相關(guān)語句,否則再與4bh比較,看是否向左,依次類推,根據(jù)鍵盤輸入的上下左右跳轉(zhuǎn)到不同的語句。再將小鳥的位置進(jìn)行與上下左右鍵的輸入相應(yīng)的移動(dòng)。
最后編寫好退出語句。
2、硬件接口主要是了解8255與8253的功能,以及控制字。①I/O地址譯碼
只要對(duì)硬件概念清晰,很簡單的。基本上沒有什么創(chuàng)造性。收獲:熟悉實(shí)驗(yàn)箱結(jié)構(gòu),了解每部分元件和標(biāo)注的意義。掌握I/O地址譯碼電路的工作原理。②可編程定時(shí)器8253 1,對(duì)照實(shí)驗(yàn)電路圖,將計(jì)數(shù)器0設(shè)置為方式0,即數(shù)初值設(shè)為N(N<0fh),用手動(dòng)逐個(gè)輸入單脈沖,編程使計(jì)數(shù)值在屏幕上顯示,并用邏輯筆觀察OUT0點(diǎn)平變化。
2,將計(jì)數(shù)器0、計(jì)數(shù)器1分別設(shè)置為方式3,計(jì)數(shù)初值設(shè)為1000用邏輯筆觀察out1輸出電平的變化。
收獲:掌握8253的基本工作原理和編程方法
③并行接口8255 1,試驗(yàn)電路如圖所示,8255C口接邏輯電平開關(guān)K0~K7,A口接LED顯示電路L0~L7。3,數(shù)碼管靜態(tài)顯示:按下圖接好電路,將8255A口PA0~PA6分別與七段數(shù)碼管的段碼驅(qū)動(dòng)輸入端a~g相連,位碼驅(qū)動(dòng)輸入端S1接5V(選中),S0和dp接地(關(guān)閉)。編程從鍵盤輸入一位十進(jìn)制數(shù)(0-9),在七段數(shù)碼管上顯示。
4,數(shù)碼管動(dòng)態(tài)顯示:按下圖接好電路,七段數(shù)碼管的連接不變,位碼驅(qū)動(dòng)輸入端S1、S0接8255 C口的PC1和PC0。編程在兩個(gè)數(shù)碼管上顯示“56”。
動(dòng)態(tài)顯示時(shí),先送“5”的段碼送A口,再送02h到C口為位碼;經(jīng)一定延時(shí)后,送“6”的段碼送A口,再送01h到C口為位碼。循環(huán)完成,可以顯示數(shù)碼。5,數(shù)碼管動(dòng)態(tài)顯示(選做):同圖接好電路,編程在兩個(gè)數(shù)碼管上顯示循環(huán)顯示“00-99”。只要搞清楚各個(gè)口的地址,以及選擇適當(dāng)?shù)目刂谱郑鋵?shí)很簡單的。
收獲:掌握8255的基本工作原理和編程方法,對(duì)方式0的認(rèn)識(shí)加深了。
二、試驗(yàn)中遇到的問題 1在編寫程序時(shí),我深深體會(huì)到,畫程序框圖的重要性,每一步跳轉(zhuǎn)的條件一定要搞清楚,Y和N不能搞反了,否則就錯(cuò)了。
2實(shí)驗(yàn)2,里面涉及的寄存器很多,很容易就會(huì)用亂了,還是很需要注意的。3比如那個(gè)小鳥動(dòng)畫的題目,當(dāng)時(shí)在控制左右移動(dòng)的時(shí)候,選擇的起始位置的語句沒寫對(duì)位置,每次按一個(gè)移位的鍵以后,都從最初的初始位置向某個(gè)方向移動(dòng)。
4硬件方面的,一開始沒搞懂地址什么意思,所以連線時(shí)很懵懂,后來清楚了,發(fā)現(xiàn)就沒什么了。
三、心得感受
微機(jī)原理與接口技術(shù)的課程實(shí)驗(yàn)歷時(shí)大半個(gè)學(xué)期,通過自己編寫、運(yùn)行程序,不僅可以鞏固了以前所學(xué)過的知識(shí),而且學(xué)到了很多在書本上所沒有學(xué)到過的知識(shí)。以前對(duì)于編程工具的使用還處于一知半解的狀態(tài)上,但是經(jīng)過一段上機(jī)的實(shí)踐,對(duì)于怎么去排錯(cuò)、查錯(cuò),怎么去看每一步的運(yùn)行結(jié)果,怎么去了解每個(gè)寄存器的內(nèi)容以確保程序的正確性上都有了很大程度的提高。
前四個(gè)簡單程序設(shè)計(jì),加深了我們對(duì)初學(xué)的匯編語言指令的熟悉和理解,匯編語言直接描述機(jī)器指令,比機(jī)器指令容易記憶和理解。通過學(xué)習(xí)和使用匯編語言,向上為理解各種軟件系統(tǒng)的原理,打下技術(shù)理論基礎(chǔ);向下為掌握硬件系統(tǒng)的原理,打下實(shí)踐應(yīng)用基礎(chǔ)。不僅鞏固了書本所學(xué)的知識(shí),還具有一定的靈活性,發(fā)揮了我們的創(chuàng)造才能。
后面幾個(gè)實(shí)驗(yàn)是并行輸入輸出接口8255和計(jì)數(shù)器8253的功能的操作,加深了我們對(duì)硬件的熟悉,鍛煉了動(dòng)手能力,發(fā)揮創(chuàng)造才能。
通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會(huì)遇到過各種各樣的問題,同時(shí)在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過的知識(shí)理解得不夠深刻,掌握得不夠牢固。這次課程設(shè)計(jì)終于順利完成了,在設(shè)計(jì)中遇到了很多編程問題,最后在自己的思考以及和同學(xué)的討論中,終于迎刃而解。