第一篇:微机原理与接口技术(北邮阶段作业4)
一、单项选择题(共20道小题,共100.0分)
1.8086的中断优先级由低到高的顺序为______
A.单步中断、可屏蔽中断、不可屏蔽中断、内部中断
B.可屏蔽中断、不可屏蔽中断、单步中断、内部中断
C.内步中断、单部中断、不可屏蔽中断、可屏蔽中断 D.内部中断、单步中断、可屏蔽中断、不可屏蔽中断
知识点: 单元5、6、7习题 学生答[A;] 案: 得分: [5] 提示:
2.3.占有CPU时间最小的数据传送方式是______
A.同步传送
B.查询传送
C.中断传送 D.DMA传送
知识点: 单元5、6、7习题 学生答[D;] 案: 得分: [5] 提示:
4.5.微型计算机输入/输出的控制方式有4种,其中以______控制的输入/输出是一种最主要的控制方式,因为其实时性强,效率高 A.无条件传送 B.程序查询 C.中断 D.DMA
知识点: 单元5、6、7习题 学生答[C;] 案: 得分: [5]
试题分
5.0
试题分值:
5.0
试题分值:
5.0
值: 提示:
6.7.8086CPU寻址I/O端口最多使用______条地址线。
A.8 B.10 C.16 D.20 知识点: 单元5、6、7习题 学生答[C;] 案: 得分: [5] 提示:
8.9.若8086处理器改为统一编址方式,可使用______条地址线来寻址端口
A.8 B.10 C.16 D.20 知识点: 单元5、6、7习题 学生答[D;] 案: 得分: [5] 提示:
10.11.8086/8088的中断是向量中断,其中断服务程序的入口地址是由______提供
A.外设中断源
B.CPU的中断逻辑电路
C.从中断控制器读中断类型号左移两位
D.由中断型号指向的中断向量表中读出
知识点: 单元5、6、7习题 学生答[D;] 案:
试题分值:
5.0
试题分值:
5.0 得分: [5] 提示:
试题分值:
5.0 12.13.采用DMA方式传送数据时,每传送一个数据要占用______的时间
A.一个指令周期 B.一个机器周期
C.一个时钟周期
D.一个存储周期
知识点: 单元5、6、7习题 学生答[D;] 案: 得分: [5] 提示:
14.15.系统总线中地址线的功能是_____
A.用于选择主存单元地址
B.用于选择进行信息传输的设备 C.用于选择外存地址
D.用于指定主存和I/O设备接口电路的地址
知识点: 单元5、6、7习题 学生答[D;] 案: 得分: [5] 提示:
16.17.8253芯片有______个端口地址
A.2 B.3 C.4 D.6 知识点: 单元5、6、7习题 学生答[C;] 案:
试题分值:
5.0
试题分值:
5.0 得分: [5] 提示:
试题分值:
5.0 18.19.8255芯片有______种基本工作方式。
A.2 B.3 C.4 D.6 知识点: 单元5、6、7习题 学生答[B;] 案: 得分: [5] 提示:
20.21.8255芯片有______数据端口
A.3个16位 B.3个8位 C.4个16位 D.4个8位
知识点: 单元5、6、7习题 学生答[B;] 案: 得分: [5] 提示:
22.23.(错误)8253可编程定时/计数器的计数范围是
A.1~255 B.1~256 C.1~65535 D.1~65536
知识点: 单元5、6、7习题 学生答[C;] 案:
试题分值:
5.0
试题分值:
5.0 得分: [0] 提示:
试题分值:
5.0 24.25.在8253的6种工作方式中,能够自动重复工作的两种方式是
A.方式1,方式2 B.方式2,方式3 C.方式2,方式4 D.方式3,方式5
知识点: 单元5、6、7习题 学生答[B;] 案: 得分: [5] 提示:
26.27.8259A是____
A.可编程DMA控制器 B.可编程中断控制器 C.可编程定时/计数器 D.总线仲裁器
知识点: 单元5、6、7习题 学生答[B;] 案: 得分: [5] 提示:
28.29.8086系统中,中断优先级最低的是
A.INT n B.NMI C.INTR D.单步中断
知识点: 单元5、6、7习题 学生答[D;] 案:
试题分值:
5.0
试题分值:
5.0 得分: [5] 提示:
试题分值:
5.0 30.31.CPU每次可以响应
个中断源的中断请求
A.1 B.2 C.3 D.4 知识点: 单元5、6、7习题 学生答[A;] 案: 得分: [5] 提示:
32.33.独立I/O端口编址方式中,端口地址范围是______
A.00000H~FFFFFFH B.0000H~FFFFH C.00H~FFH D.0~128
知识点: 单元5、6、7习题 学生答[B;] 案: 得分: [5] 提示:
34.35.在8088/8086系统中使用8259A作为中断控制器,试问8259A中的中断屏蔽寄存器(IMR)中的屏蔽位与CPU的标志寄存器中的IF位对中断影响是什么关系______
A.屏蔽位与IF位都用来控制某一个中断源的中断请求 B.屏蔽位只使对应中断起开中断或关中断功能 C.屏蔽位和IF位功能完全一样,可互相替代
D.屏蔽位只对一个中断源屏蔽,而IF位对所有中断源的中断屏蔽
知识点: 单元5、6、7习题
试题分值:
5.0
试题分值:
5.0 学生答[D;] 案: 得分: [5] 提示:
试题分值:
5.0 36.37.断点中断的中断类型码是______
A.1 B.2 C.3 D.4 知识点: 单元5、6、7习题 学生答[C;] 案: 得分: [5] 提示:
38.39.CPU响应INTR引脚上来的中断请求的条件之一是______
A.IF=0 B.IF=1 C.TF=0 D.TF=1
知识点: 单元5、6、7习题 学生答[B;] 案: 得分: [5] 提示:
40.试题分值:
5.0
试题分值:
5.0 A.END 知识点: 单元4习题 学生答[C;] 案:
得分: [5] 提示:
2.试题分
5.0
值:
第二篇:微机原理与接口技术试题答案
微机原理与接口技术试题答案
一、填空题(20*1)
1、微机系统由(硬件系统)和(软件系统)两部分组成。2、8086有(20)位地址线,存储器容量为(1M)B。3、8086CPU 内部组成结构从功能上讲,可分为(BIU)和(EU)两部分。4、8086/8088的四个段寄存器为(DS)、(ES)、(SS)、(CS)
5、用来存放CPU状态信息的寄存器是(FLAGS)。
6、用来存放指令地址的寄存器是(IP)。7、8086的16位标志寄存器FLAGS中OF=1表示运算结果(溢出),ZF=1表示运算结果为零。PF=0表示运算结果的低8位中1的个数为(奇数)。
8、8086的16位标志寄存器FLAGS中IF=1表示CPU(允许)中断,TF=1表示CPU进入(单步)工作方式。
9、地址4000H:0300H,其物理地址是(40300H),段地址是(4000H),偏移地址是(0300H)。
11、I/O端口的寻址方式有两种,分别是(直接寻址),(间接寻址)。
12、指令JO NEXT 表示OF=(1)时转移。
13、将I/O设备端口内容读入AL中的指令助记符是(IN)。14、8086CPU的 I/O指令采用间接寻址时,使用的间接寄存器是(DX)。
15、设置DF=1的指令为(STD)。
16、清除CF标志的指令为(CLC)。
17、一对操作堆栈的指令为(POP)和(PUSH)。
18、LOOPNZ的循环条件为(CX≠0且ZF=0)。
19、实现无符号数乘2的指令的助记符是(SHL),实现有符号数除2的指令的助记符是(SAR)。22、8086CPU引脚信号中中断请求两个信号名称为(INT)和(NMI)。
26、I/O端口的编址方式一般有(存储器统一编址)和(独立编址)两种
29.1片8259A中断控制器可管理(8)级中断,用9片8259A可构成(64)级主从式中断管理系统。
二: 填空题(每题2分, 共20分)1.8086CPU复位时, 寄存器 CS值为(FFFFH), 寄存器 IP的值为(0000H)2.8086CPU的8个8位通用寄存器名为(AL),(AH),(BL),(BH),(CL),(CH),(DL),(DH).3.若SS = 3240H, SP = 2000H, 栈顶的实际地址为(34400H).4.指令 MOV AX, [BX] 的机器码为 8BH, 07H , 指令 MOV [BX], AX的机器码为(89H),(07H).5.8255A的工作方式有方式0功能为(基本输入输出), 方式1功能为(选通输入输出), 方式2功能为(双向数据传送).6.执行指令 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 问: 该程序执行后BUF2中的值为(9).四、程序设计题(2*10)
1、编写一个汇编语言程序,要求从键盘输入一个小写字母,将其转换成大写字母在屏幕上显示出来。
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号调用显示PLEASE INPUT A CHAR:
MOV AH,9
INT 21H
MOV AH,1;1号调用,从键盘接收1字符
INT 21H
CMP AL,61H /41H;若比“a”/A小转PEND
JB PEND
CMP AL,7AH /5BH;若比“z”/Z大转PEND
JA PEND;
ADD/SUB AL,20H;如在“a”与“z”之间则减去20变为大写字符
MOV DL,AL
MOV AH,2;2号功能调用显示一个字符
INT 21H
PEND: MOV AH,4CH;程序结束运行,返回DOS
INT 21H CODE ENDS
END BEGIN
2、已知芯片8253的端口地址为4F0H~4F3H,设计数器1工作在方式1,计数器初值为3060H,采用二进制计数,请设计实现上述功能的8253初始化程序。8253控制字格式如下:
因为计数器初值为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分)编一个完整的程序, 数据段有10个符号的ASCII码值数据块 BUF , 若数据为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口输出数据30H, 将B口输入的数据放入寄存器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
第三篇:北邮数据库原理与应用阶段作业
一、单项选择题(共10道小题,共100.0分)
1.数据库事务的隔离性通过_______实现。2.1.2.3.4.DBMS的事务管理子系统 应用程序员
DBMS的并发控制机制 DBMS的恢复子系统
知识点: 事务的概念 学生答[C;] 案: 得分: 提示:
标准答
C;
案:
试题分
10.0
值: [10]
3.数据库的一致性状态由_______来负责。4.1.2.3.4.DBMS的事务管理子系统 应用程序员
DBMS的并发控制机制 DBMS的恢复子系统
知识点: 事务的概念 学生答[B;] 案: 得分: 提示:
标准答
B;
案:
试题分
10.0
值: [10]
1.事务开始前,数据库处于一致性的状态;事务结束后,数据库必须仍处于一致性状态。这指的是事务的_____。
2.1.2.3.4.一致性 隔离性 持久性 原子性
知识点: 事务的概念 学生答[A;] 案: 得分: 提示:
标准答
A;
案:
试题分
10.0
值: [10]
1.一个事务一旦提交之后,它对数据库的影响必须是永久的,无论发生何种系统故障。这指的是事务的____。
2.1.2.3.4.一致性 隔离性 持久性 原子性
知识点: 事务的概念 学生答[C;] 案: 得分: 提示:
标准答
C;
案:
试题分
10.0
值: [10]
1.系统必须保证事务不受其它并发执行事务的影响,这指的是事务的________。2.1.2.3.4.一致性 隔离性 持久性 原子性
知识点: 事务的概念 学生答[B;] 案: 得分: 提示:
标准答
B;
案:
试题分
10.0
值: [10]
1.一个事务中所有对数据库的操作是一个不可分割的操作序列。每个事务的操作序列要么都被成功地执行,要么一个也不被执行,这指的是事务的______。
2.1.2.3.4.一致性 隔离性 持久性 原子性
知识点: 事务的概念 学生答[D;] 案: 得分: 提示:
标准答
D;
案:
试题分
10.0
值: [10]
1.DBS运行的最小逻辑单位是__________。
2.1.2.3.4.事务 表 属性 语句
知识点: 事务的概念 学生答[A;] 案: 得分: 提示:
标准答
A;
案:
试题分
10.0
值: [10]
1.下列哪项不是数据库的并发操作可能会带来的问题?______
2.1.2.3.4.数据泄密 丢失修改 读“脏”数据 不可重复读
知识点: 并发操作与控制 学生答[A;] 案: 得分: 提示:
标准答
A;
案:
试题分
10.0
值: [10]
1.不允许任何其他事务对这个锁定目标再加任何类型锁的是______。
2.1.2.3.4.共享锁 排它锁 死锁 活锁 知识点: 加锁协议 学生答[B;] 案: 得分: 提示:
标准答
B;
案:
试题分
10.0
值: [10]
1.用于实现数据存取安全性控制的SQL 语句是______。
2.1.2.3.4.CREATE INDEX COMMIT ROLLBACK GRANT 和REVOKE 知识点: 数据库的安全性 学生答[D;] 案: 得分: 提示:
标准答
D;
案:
试题分
10.0
值: [10]
第四篇:微机原理与接口技术 实验报告一
评
阅
微机原理与接口技术
实验报告一
姓名
匡越
学号
1715211016
时间
地点
实验题目
一、实验目的1.熟悉Keil软件使用
2.熟悉MCS-51指令
3.学习简单程序的调试方法
二、实验说明
通过实验了解单片机内部存储器的结构和分配及读写存储器的方法,熟悉MCS-51指令同时,学习单片机程序编程、调试方法。
三、实验内容及步骤
1.启动PC机,打开Keil软件,软件设置为模拟调试状态。在所建的项目文件中输入源程序1,进行编译,如有错误按提示找到该行并纠错,重新编译直到通过。
2.编译无误后,打开CPU窗口,选择单步或跟踪执行方式运行程序,观察CPU窗口各寄存器的变化并将观察到的结果记录到预习报告。
3.新建另一个项目输入源文件2,打开CPU窗口,选择单步或跟踪执行方式运行程序,观察存储块数据变化情况记录到预习报告。点击复位按钮,改变存储块数据,点击全速执行快捷按钮,点击暂停按钮,观察存储块数据变化情况,记录到预习报告。点击复位按钮,改变存储块数据,分别LOOP、LOOP1设置断点,点击全速执行快捷按钮,在断点处观察寄存器及存储块数据变化情况。
WAVE软件使用方法参考其帮助文件。
四、实验程序流程框图、实验程序
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点击project,选择下拉式菜单中的New
project;
k选择所要的单片机,这里我们选择常用的Ateml
公司的AT89C51;
l新建一个File,输入源程序;
m将新建文件保存为text.asm的格式;
n鼠标在屏幕左边的Source
Group1
文件夹图标上右击弹出菜单,在这里可以做在项目中增加减少文件等操作。选“Add
File
to
Group
‘Source
Group
1’”弹出文件窗口,选择刚刚保存的文件;
o对程序进行编译运行;
使程序一得:
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
设(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;
状态标志位清零
DEC
R5;寄存器R5减一
MOV
A,@R1;R1→A
LOOP:
MOV
R3,A;A→R3
INC
R1
;寄存器R1增1
CLR
C
;进位标志位清零
MOV
A,@R1;31H→A
SUBB
A,R3;累加器内容减去寄存器内容
JNC
LOOP1;仅为标志位为1,则进行LOOP1
;以下代码完成数据交换
SETB
F0;状态标志位置1
MOV
A,@R1;31H→A
XCH
A,R3;将A于与R3的数据交换
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;状态标志位为零,则回到SORT
SJMP
$
第五篇:微机原理与接口技术实验总结
微机原理与接口技术实验总结
11107108
徐寒黎
一、实验内容以及设计思路
1、①试编写一程序,比较两个字符串STRING1、STRING2 所含字符是否相同,若相同输出“MATCH”,若不相同输出 “NO MATCH”。设计思路:定义一个数据段,在数据段中定义两个字符串作为STRING1、STRING2以及几个用于输入提示的和输出所需内容的字符串,定义一个堆栈段用于存放,定义代码段。关键步骤以及少量语句:第一步将STRING1和STRING2都实现用键盘输入,方法是
MOV DX,OFFSET STRING2 MOV AH,0AH INT 21H 并且显示在显示器上,显示方法将0AH改成09H,语句与上面类似。然后进行比较第一个单元,MOV AL,[STRING1+1] CMP AL,[STRING2+1] JNZ NOMATCH 若字符串长度不等,则直接跳转,输出输出 “NO MATCH”; 若长度相等再逐个比较 LEA SI,[STRING1+2] LEA DI,[STRING2+2] MOV CL,[STRING1+1] MOV CH,0 CLD REPE CMPSB JCXZ MATCH,意思是全部相同就跳转MATCH,输出“MATCH”;不然进入下面的NOMATCH。退出。
②试编写求级数1^3+2^3 +3^3 …..前几项和刚大于10000的程序。
设计思路:原先编写的程序,设定和为10000,结果是14。但要求高一点的话,可以自己设置,实现用键盘输入和的值。
一个难点是将输入的ASCII码字符串,转换成与之相同的十进制数的数值。关键的思路部分是:从1开始求级数,将和的值存在AX里,要加下一项级数前,比如这时已经加到4,PUSH一下AX,然后将5乘三遍,将乘积MOV到BX里,再POP AX,然后将BX的值加到AX里,然后将AX与N比较,如果比N小就继续上述步骤,知道刚比N大就输出数字。
③试编写一程序,完成字符串中各字符出现频度的统计,统计结果在屏幕上输出。
设计思路:因为这个程序需要统计所有的字符,所以首先要定义一个存储区,用来存放26个字符以及每个字符出现的个数。用键盘控制输入字符串以后,将字符串的第一个字符与这二十六个字符逐个比较,若有相同,在存放相应次数的存储单元的值上加1。然后比较第二个字符,依次类推,将字符串里的字符全部比较完。将个数大于1的字符以及字符的个数都输出到屏幕上。退出语句。缺点和不足:这样需要定义一个非常繁的存储区。可以根据输入的字符,然后进行比较和统计。
④设计一个动画程序。
设计思路:这个程序参考了网上的资料,没有什么新意,是小鸟的图形,可以用上下左右键进行移动,可以退出。
步骤:首先设置堆栈段,数据段,代码段,设置显示方式等一些属性,设置背景色,设置小鸟的初始位置以及写出小鸟图形的像素的点。功能性的语句是,用键盘接受一个输入,将其与1bh比较,用JZ语句跳转到退出。若不是便与48h比较,看是否为向上,是则跳转到相应语句,不是则继续与50h比较;,看是否向下,是则跳转到关于向下移动的相关语句,否则再与4bh比较,看是否向左,依次类推,根据键盘输入的上下左右跳转到不同的语句。再将小鸟的位置进行与上下左右键的输入相应的移动。
最后编写好退出语句。
2、硬件接口主要是了解8255与8253的功能,以及控制字。①I/O地址译码
只要对硬件概念清晰,很简单的。基本上没有什么创造性。收获:熟悉实验箱结构,了解每部分元件和标注的意义。掌握I/O地址译码电路的工作原理。②可编程定时器8253 1,对照实验电路图,将计数器0设置为方式0,即数初值设为N(N<0fh),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并用逻辑笔观察OUT0点平变化。
2,将计数器0、计数器1分别设置为方式3,计数初值设为1000用逻辑笔观察out1输出电平的变化。
收获:掌握8253的基本工作原理和编程方法
③并行接口8255 1,试验电路如图所示,8255C口接逻辑电平开关K0~K7,A口接LED显示电路L0~L7。3,数码管静态显示:按下图接好电路,将8255A口PA0~PA6分别与七段数码管的段码驱动输入端a~g相连,位码驱动输入端S1接5V(选中),S0和dp接地(关闭)。编程从键盘输入一位十进制数(0-9),在七段数码管上显示。
4,数码管动态显示:按下图接好电路,七段数码管的连接不变,位码驱动输入端S1、S0接8255 C口的PC1和PC0。编程在两个数码管上显示“56”。
动态显示时,先送“5”的段码送A口,再送02h到C口为位码;经一定延时后,送“6”的段码送A口,再送01h到C口为位码。循环完成,可以显示数码。5,数码管动态显示(选做):同图接好电路,编程在两个数码管上显示循环显示“00-99”。只要搞清楚各个口的地址,以及选择适当的控制字,其实很简单的。
收获:掌握8255的基本工作原理和编程方法,对方式0的认识加深了。
二、试验中遇到的问题 1在编写程序时,我深深体会到,画程序框图的重要性,每一步跳转的条件一定要搞清楚,Y和N不能搞反了,否则就错了。
2实验2,里面涉及的寄存器很多,很容易就会用乱了,还是很需要注意的。3比如那个小鸟动画的题目,当时在控制左右移动的时候,选择的起始位置的语句没写对位置,每次按一个移位的键以后,都从最初的初始位置向某个方向移动。
4硬件方面的,一开始没搞懂地址什么意思,所以连线时很懵懂,后来清楚了,发现就没什么了。
三、心得感受
微机原理与接口技术的课程实验历时大半个学期,通过自己编写、运行程序,不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。以前对于编程工具的使用还处于一知半解的状态上,但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提高。
前四个简单程序设计,加深了我们对初学的汇编语言指令的熟悉和理解,汇编语言直接描述机器指令,比机器指令容易记忆和理解。通过学习和使用汇编语言,向上为理解各种软件系统的原理,打下技术理论基础;向下为掌握硬件系统的原理,打下实践应用基础。不仅巩固了书本所学的知识,还具有一定的灵活性,发挥了我们的创造才能。
后面几个实验是并行输入输出接口8255和计数器8253的功能的操作,加深了我们对硬件的熟悉,锻炼了动手能力,发挥创造才能。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在自己的思考以及和同学的讨论中,终于迎刃而解。