(1) 运算基础:数制转换,补码及其用法。
(2) CPU的内部结构及外部引脚功能,CPU的操作和时序。 (3) 存储器与CPU的连接,存储空间的地址分配与寻址。 (4) 指令寻址方式,8086指令系统。
(5) 汇编语言程序格式与伪指令,汇编语言程序的上机调试,汇编语言程序
设计技术。
(6) 输入与输出控制方式,中断及中断控制器。
(7) 可编程串行接口,并行接口,定时器/计数器芯片及其应用。 (8) A/D、D/A转换芯片及其应用。
以上内容中,考核重点是汇编语言程序设计和接口技术。
※<课程考核目的>
通过课堂教学、实践环节以及课程考核,让学生达到如下目标: (1) 掌握微型计算机的基本组成、工作原理及常用接口技术; (2) 掌握汇编语言程序设计的基本方法和上机调试过程;
(3) 建立微机整体概念,具备利用微机进行硬、软件开发的初步能力。 ※<课程考核方法>
本课程采用“平时成绩+期末考试”方法对学生的学习情况进行考核。即: 总评成绩 = 期末考试成绩×70%+平时成绩。
其中:(1)平时成占总成绩的30%,包括:作业(占10%),实验(占10%),
课堂测试与考勤(占10%)
(2)期末考试采用开卷考试,重在考查学生灵活应用所学知识来分
析和解决问题的能力。
※<前 言>
“微机原理与接口技术”是电类非计算机专业本科生的一门必修的专业基础课,通过本课程的教学,使学生能掌握微型计算机的工作原理,系统地体系结构,学会微机测控系统的研发技术和基本方法。本课程以Intel 8086 16位微处理器为背景,从应用角度系统阐述微机的基本原理;介绍计算机运算基础、微处理器结构、半导体存储器、指令系统及汇编语言程序设计、输入/输出与中断技术、常用I/O接口芯片:8255、8253、8259、16550等的特点和使用技巧;为了给学生一个整体概念,给出一个典型的微机系统;考虑到让学生开拓思路,拓展发展的空间,对先进的微处理器技术给予适当的介绍。本课程教学的重点是汇编语言程序设计和接口技术。使学生在完成本课程学习后,能够进行微机应用,特别是在微机测控系统的研发方面的工作,并为后续的相关专业课程奠定微机硬件基础。
※<教学内容>
1、微型计算机的系统结构与工作原理(2学时)
概述,计算机的基本结构和工作原理,微型计算机的系统结构,微型计算机的基本数据类型。
2、微型计算机中的数制与编码(2学时)
数制及其转换,原码、反码与补码,数字与字符的编码。 3、8086微处理器(4学时)
8086微处理器的结构,8086的引脚信号及工作模式,8086的存储器管理。
4、半导体存储器(4学时)
概述,随机存储器,只读存储器,存储器与CPU的接口技术。 5、8086指令系统(12学时) 概述,8086 CPU指令系统。 6、汇编语言程序设计(12学时)
汇编语言与汇编程序,伪指令及其应用,汇编语言属性操作符,汇编语言程序的上机过程,汇编语言程序与DOS的接口,汇编语言程序设计的基本技术。
7、8086 CPU的总线操作与时序(3学时)
时钟周期,总线周期和指令周期,系统的复位操作,总线操作与时序。
8、输入/输出技术(2学时)
I/O接口概述,I/O端口及其寻址方法,CPU与外设之间的数据传送方式。
9、中断系统(8学时)
中断系统的基本概念,8086 CPU的中断系统,8259A可编程中断控制器。
10、定时/计数技术(2学时)
定时与计数,Intel 8253可编程定时器/计数器 11、并行I/O接口(3学时)
可编程并行I/O接口芯片8255A,8255A的应用实例 12、串行通信接口(3学时)
串行通信接口的基本概念,串行通信的接口标准,16550可编程串行接口芯片。
13、数/模和模/数转换接口(3学时)
D/A与A/D接口概述,DAC0832数/模(D/A)转换器,ADC0809模/数(A/D)转换器。
14、典型的微计算机系统(2学时)
IBM PC/XT的系统组成,IBM PC/XT的软件配置。 15、先进的微处理器(2学时)
从8086到80X86,Pentium微机处理器,高档Pentium微处理器。 实验部分(16学时):具体安排见《实验教学大纲》
※<教学进度与教时安排> 章节 1. 2. 3. 4. 5. 6. 7. 8. 9. 教学内容 微型计算机的系统结构与工作原理 微型计算机机的数制与编码 8086微处理器 半导体存储器 8086指令系统 汇编语言程序设计 8086 CPU的总线操作与时序 输入/输出技术 中断系统 讲授学时 2 2 4 4 12 12 3 2 8 2 10. 定时/计数技术 11. 并行I/O接口 12. 串行通信接口 13. 数/模和模/数转换接口 14. 典型的微计算机系统 15. 先进的微处理器
3 3 3 2 2 64 合计 心填写:
___年___月___日 考 试 用 课程名称: 微机原理与接口技术 试卷编号: A ; 考试时间:120分钟
题 号 一 二 三 四 五 六 七 八 九 十 总 分 20 10 8 26 16 100 应得分 20 评分: 实得分 评卷人 湖南大学课程考试试卷
一、 一、 填空:(每空1分,共20分) [xy] 补=__________;
1、设字长为八位,有x= 1,y=124,则有:[xy]补=_________, 2、数制转换:247.86= H =______________BCD; 3、在8086CPU中,由于BIU和EU分开,所以_____和_____ 可以重叠操作,提高了CPU的利用率;
4、8086的中断向量表位于内存的_______区域,它可以容纳____个中断向量, 每一个向量占____ 个字节;
5、8086系统中,地址FFFF0H是___________________ 地址; 6、8086CPU的MN/MX引脚的作用是____________________; 7、8251芯片中设立了_____、_____ 和______三种出错标志; 8、8086CPU中典型总线周期由____个时钟周期组成,其中T1期间,CPU输出______信息;如有必要时,可以在__________两个时钟周期之间插入1个或多个TW等待周期。
9、8259A共有___个可编程的寄存器,它们分别用于接受CPU送来的______命令字和________命令字。
二、 二、 简答题:(20分) 1、什么是信号的调制与解调?为什么要进行调制和解调?试举出一种调制的方式。(5分)
2、已有AX=E896H,BX=3976H,若执行ADD BX,AX指令,则结果BX,AX,标志位CF,OF,ZF各为何值?(5分) 3、有变量定义的伪指令如下:
NUMS DW 18 DUP(4 DUP(5),23)
VAR DB 'HOW ARE YOU !', 0DH, 0AH
试问:NUMS、VAR变量各分配了多少存储字节?(5分) 4、已有MOV AL,INF[BPSI]与MOV AL,ES:INF[BPSI]两条指令,试问:其源操作数采用何种寻
址方式?是字或是字节操作?两条指令有何区别?(5分)
三、 三、 读图 (10分)
下图中,AB7~AB0为8086CPU低八位地址总线
试问:1、8259A占用______个端口地址,分别为____________,其中ICW1的设置地址为_________________;
2、8255A占用_____个端口地址,分别为__________________,其中控制寄存器的地址为_______。
四、判断题:(8分)
下列各题,请在正确的题的括号内打“”,错误的请打“”。 1、8253的计数器在不同的工作方式中,计数到0时,都会从OUT 输出一个相同的信号。 ( )
2、CPU寻址外设时,存贮器对应的I/O方式是
把一个外设端口作为一个存贮单元来看待。 ( )
3、用软件确定中断优先权时,只要改变查询的顺序,即可以改
变中断的优先权。 ( )
4、在8259A级连系统中,作为主片的8259A的某些IR引脚连接从片,同时也可以在另一
些IR引脚上直接连接外设的中断请求信号
端。 ( ) 五、阅读程序与接口芯片初始化:(26分) 1、源程序如下:(6分)
MOV CL,4
MOV AX,[2000H] SHL AL,CL SHR AX,CL MOV [2000H],AX 试问:若程序执行前,数据段内(2000H)=09H,(2001H)=03H, 则执行后有(2000H)=_____,(2001H)=______。
本程序段的功能_________________________。 2、源程序如下:(4分)
MOV AL,0B7H AND AL,0DDH
XOR OR
AL,81H JP LAB1 JMP LAB2
AL,33H
试问:执行程序后AL=_______;
程序将转到哪一个地址执行:__________。
3、源程序如下:(6分)
MOV CX,9
MOV AL,01H MOV SI,1000H NEXT: MOV [SI],AL INC SI SHL AL,1 LOOP NEXT
试问:执行本程序后有:AL=_____;SI=______;CX=______;
本程序的功能是______________________________。
4、某系统中8253占用地址为100H~103H。初始化程序如下:(4分) MOV DX, 103H
MOV AL, 16H OUT DX, AL SUB DX, 3 OUT DX, AL
试问:此段程序是给8253的哪一个计数器初始化?安排工作在哪种工作方式?__________________;
若该计数器的输入脉冲的频率为1MHZ,则其输出脉冲的频率为:___________。 5、已知某8255A在系统中占用88~8BH号端口地址,现欲安排其PA,PB,PC口全部为输出,PA,PB口均工作于方式0模式,并将PC6置位,使PC3复位,试编写出相应的初始化程序:(6分)
六、编程:(16分)
已知某输入设备的数据端口地址为40H,状态端口地址为41H,其中D0位为“1”时,表示“READY”状态。试编程实现:
采用查询方式从该设备输入20个ASCII码表示的十进制数,并求出这20个十进制数的累加和;
将此累加和转换成BCD码,并存放到NBCDH(百位数)和NBCDL(存十位和个位数)单元中。
注:只要求写出程序的可执行部分,可以不写任何伪指令。
一、每空1分,共20分 1、01111011 10000011
2、F7DCH 00100100011110000110 BCD
3、取指令 执行指令
4、00000H~003FFH区 256个 4
《微机原理与接口技术》试卷A 评分标准及 参考答案
个
5、CPU复位以后执行第一条指令的地址 6、决定CPU工作在什么模式(最小/最大) 7、奇/偶错 帧格式错 溢出错 8、4个 地址 T3和T4 9、7个 初始化 操作 二、每题5分,共20分
1、串行长距离通信时,需要利用模拟信道来传输数字信号,由于信道的频带窄,一般为300~3400HZ,而数字信号的频带相当宽,故传输时必须进行调制,以免发生畸变而导致传输出错。(3分)
调制是将数字信号模拟信号。而解调则是相反。例如FSK制(调频制或称数字调频)可将数字“1”和“0”分别调制成2400HZ
和1200HZ的正弦波信号。 (2分) 2、BX=220CH (1分) AX=E896H (1分)
CF=1 (1分) OF=0 (1分) ZF=0 (1分) 3、NUMS分配了180个字节 (3分) VAR分配了15个字节 (2分)
4、源操作采用基址+变址寻址方式 (2分) 是 字节操作 (1分)
MOV AL,INF[BP+SI]—访问的是堆栈段 (1分)
MOV AL,ES:INF[BP+SI]—访问的是附加段,实现了段超越 (1分) 三、每题5分,共10分
8259A占2个 (2分) 为20H,22H或24H,26H (2分) 20H或24H (1分)
8255A占4个 (2分) 为80H,82H,
84H,86H (2分) 86H (1分)
四、每题2分,共8分
1();2( );3( ); 4( );
五、共26分
1、 (2000H)=39H (2分) (2001H)=00H
(2分)
将(2000H),(2001H)两相邻单元中存放的未组合型BCD码压缩成组合型BCD
码,并存入(2000H)单元,0(2001H) (2分)
2、37H (2分) LAB2 (2分)
3、0 (1分) 1009H (1分) 0 (1分)
对数据段内1000H~1008H单元置数,依次送入1,2,4,8,16,32,64,128,0共九个 (3分) 4、计数器0 (1分) 工作于方式3 (1
分)
45.454KHZ (2分)
5、 MOV AL, 80H
OUT 8BH,AL (2分) MOV AL,ODH
OUT 8BH,AL (2分)
MOV AL,06H
OUT 8BH,AL (2分)
六、共16分 酌情扣分
MOV CX,20 MOV BL,0 (2分)
INLOOP:IN AL,41H TEST AL,01H
JZ INLOOP
(2分)
IN AL,40H
AND AL,OFH ;ASCII十进制 (BCD) ADD BL,AL
LOOP INLOOP ; 共输入20个 (2分)
MOV AL,BL ;累加和AL
MOV AH,0 MOV BL,100 (2分)
DIV BL ;AXBLAL,余数AH
MOV NBCDH,AL ; 存百位数 (2分)
MOV AL,AH MOV AH,0 MOV BL,10 (2分)
DIV BL ;十位数AL,个位数AH MOV CL,4 (2分)
ROL AL,CL ;AL循环左移四位
OR AL,AH ;形成组合型BCD码
MOV NBCDL,AL HLT
; 存十位,个位数 (2分)
___年___月___日 考 试 用 课程名称: 微机原理与接口技术 试卷编号: B ; 考试时间:120分钟
题 号 一 二 三 四 五 六 七 八 九 十 总 分 17 20 20 23 100 应得分 20 评分: 实得分 评卷人 心填写 :
湖南大学课程考试试卷
一、 一、 填空题(20分,每空1分)
1、将十进制数27985转换成十六进制数、八进制数、二进制数及BCD码数分别为:________H,________Q,_____B, BCD。 2、字长为8位的二进制数10010100B,若它表示无符号数,或原码数,或补码数,则该数的真值应分别为______D,______D或______D。 3、已知BX=7830H,CF=1,执行指令:ADC BX,87CFH之后,BX=____________,标志位的状态分别为CF=_______,ZF=_______, OF=________,SF=__________。 4、8086中,BIU部件完成______功能,EU部件完成 _____功能。 5、8086中引脚BHE信号有效的含义表示________________。 6、8086正常的存储器读/写总线周期由________个T状态组成,ALE信号在__________状态内有效,其作用是______________。
7、设8086系统中采用单片8259A,其8259A的ICW2=32H,则对应IR5的中断类型号为____________H,它的中断入口地址在中断向量表中的地址为____________________H。
二、 二、 简答及判断题(共17分) 1、某指令对应当前段寄存器CS=FFFFH,指令指针寄存器IP=FF00H,此时,该指令的物理地址为多少?指向这一物理地址的CS值和IP值是唯一的吗?试举例说明 (4分)
2、8086CPU的FLAG寄存器中,状态标志和控制标志有何不同?程序中是怎样利用这两类标志的? (4分) 3、设采用8251A进行串行异步传输,每帧信息对应1个起始位,7
个数据位,1个奇/偶校验位,1个停止位,波特率为4800,则每分钟能传输的最大字符数为多少个? (4分) 4、判断下列指令的对错(正确的在括号内打 “”,错的打 “”) (5分) (1) (1) LEA SI, 4[SI] ( ) (2) (2) MOV AL, [CX] ( ) (3) (3) XCHG [SI], [BX] ( ) (4) (4) PUSH WORD PTR[BX] ( ) (5) (5) POP CS ( ) 三、 读图和作图题 (20分)
1、 1、 8086系统中接口连接关系如下图所示。要求回答以下问题: (1) 试分别确定8255,8253,8259及8251的端口地址(12分); (2) 设8255的PA口为输出,PB口为输入,试写出对PA口和PB口执行输入/输出操作的指令。(2分)
ALEAD7~AD0 A7~A0G 373 A6A5A4Y 8086C B A0CSY1 CSCPUA782558253A2AA2G1 1A1138Y2AA11A0 A0A0G2AM/IOY3G2B CSCS8255的端口地址为:___________________________________; 82518259A 8253的端口地址为:___________________________________; A11A0C/D 8259的端口地址为:___________________________________; 8251的端口地址为:___________________________________; 对PA口操作的I/O指令为_______________________________; 对PB口操作的I/O指令为______________________________。
2、 作图题。
系统采用4个接口芯片:8253,8251,8259及8255。要求8253的通道0用作实时时钟,每当定时时间到之后向8259的IR2送入中断申请信号。8253通道1用作方波发生器作为8251的收发时钟脉冲。8253通道0,通道1的门控信号由8255PC口的PC3和PC2控制。 (1) 画出4个芯片之间控制线的连接图; (4分) (2) 8253的两个通道应分别工作在什么方式? (2分)
四、程序阅读题 (20分)
1、源程序如下:(5分)
MOV AH, 0 MOV AL, 9 MOV BL, 8 ADD AL, BL AAA AAD DIV AL
结果AL_________,AH=___________,BL=_____________。
2、源程序如下:(5分)
MOV AX, SEG TABLE ;TABLE为表头 MOV ES, AX
MOV DI, OFFSET TABLE MOV AL, ‘0’ MOV CX, 100 CLD
REPNE SCASB
问:1) 该段程序完成什么功能?
2) 该段程序执行完毕之后,ZF和CX有几
种可能的数值?各代表什么含义?
3、源程序如下:(5分)
CMP AX, BX
JNC L1
JZ L2
JNS L3
JNO L4
JMP L5 设AX=74C3H,BX=95C3H,则程序最后将转到哪个标号处执行?试说明理由。
4、源程序如下:(5分)
MOV DX, 143H MOV AL, 77H OUT DX, AL MOV AX, 0 DEC DX DEC DX
OUT DX, AL MOV AL, AH OUT DX, AL
设8253的端口地址为140H~143H,问: (1)程序是对8253的哪个通道进行初始化? (2)该通道的计数常数为多少?
(3)若该通道时钟脉冲CLK的周期为1µs,则输出脉冲OUT的周期为多少µs?
五、编程题 (23分)
1、8255的编程。(共10分)
设8255的端口地址为200H~203H。
(1)要求PA口方式1,输入;PB口方式0输出;PC7~PC6为输入;PC1~PC0为输出。试写出8255的初始化程序。(3分)
(2)程序要求当PC7=0时置位PC1,而当PC6=1时复位PC0,试编制相应的程序。(7分)
2、自BUFFER开始的缓冲区有6个字节型的无符号数:10,0,20,15,38,236,试编制8086汇编语言程序,要求找出它们的最大值、最小值及平均值,分别送到MAX、MIN和AVI三个字节型的内存单元。(13分)
要求按完整的汇编语言格式编写源程序。
《微机原理与接口技术》试卷B评分标准及 参考答案
一、 一、 每空1分,共20分
1、117.D99H 427.6631Q 000100010111.110110011001B 0010 01111001.1000 0101 BCD
2、148D -20D -108D
3、BX=0000H CF=1 ZF=1 OF=0 SF=0 4、总线接口功能 指令的译码及执行功能 5、高8位数据线D15~D8有效
6、4 T1 给外部的地址锁存器提供一个地址锁存信号 7、35H 000D4H~000D7H
二、共17分
1、∵
F F 01
自然丢失
故物理地址为0FEF0H。 (2分)
指向该物理地址的CS,IP值不唯一。
例如:CS:IP=0000:FEF0H也指向该物理地址。 (2分)
2、状态标志表示算术运算或逻辑运算执行之后,运算结果的状态,这种状态将作为一种条件,影响后面的操作。 (2分) 控制标志是人为设置的,指令系统中有专门的指令用于控制标志的设置或清除,每个控制标志都对某一特定的功能起控制作用. (2分)
3、每帧占1711=10位,波特率为4800 bit/s,故每分钟能传送的最大字符数为 4800 60 (个) (4分)
28800个 10 4、(1) 对; (2) 错; (3) 错; (4) 对; (5) 错 (5分)
二、 二、 共20分
1、 (1) A7 A6 A5 A4 A3 A2 A1 A0
1 0 0 0 任意 0 Y0 1 0 0 1 任意 0 Y1 1 0 1 0 任意 0 Y2 1 0 1 1 任意 0 Y3
8255的端口地址为 80H, 82H, 84H, 86H (3分) 8253的端口地址为 90H, 92H, 94H, 96H (3分)
8259的端口地址为 A0H, A2H, (3分)
8251的端口地址为 B0H, B2H, (3分)
(2) OUT 80H, AL (1分)
IN AL, 82H (1分)
2、 (1) 控制线连接图如图所示。 (4分)
PC38255PC2GATE08253OUT1GATE1OUT0IR28259•8251R×CT×C (2) 通道0工作在方式2—速率发生器;通道1工作在方式3—方 波速率发生器 (2分)
四、共20分
1、AL=01H (2分) AH=00 H (2分) BL=08H (1分)
2、(1) 从目的串中查找是否包含字符 „0‟,若找到则停止,否则继续重复搜索。 (1分) (2) ZF=1, 说明已找到字符 (1分)
ZF=0, 说明未找到字符 (1分)
CX0,说明中途已找到字符退出 (1分)
CX=0,且ZF=0说明串中无字符 „0‟ (1分)
3、 ∵ 74C3H
95C3H DF00H
且有: CF=1, ZF=0, SF=1, OF=1 程序将转到L5标号处执行。(5分)
4、(1) 程序对8253的通道1进行初始化。(1分)
(2)计数常数为10000D,BCD计数。(2分)
(3)工作在方式3,方波速率发生器
周期=100001µs=10000µS=10ms (2分)
五、共23分 酌情扣分 1、
(1) MOV DX, 203H MOV AL, 10111000B
OUT DX, AL (3分)
(2) MOV DX, 202H IN AL, DX MOV AH, AL
TEST AL, 80H
JNZ NEXT1 (2分)
MOV DX, 203H
MOV AL, 00000011B ;对PC1置位
OUT DX, AL (2分) NEXT1:MOV AL, AH TEST AL, 40H JZ NEXT2
MOV AL, 00000000B ; 对PC0复位 MOV DX, 203H OUT DX, AL
NEXT2:„„„ (3分) 2、
DATA SEGMENT
BUFER DB 10,0,20,15,38,236 MAX DB 0 MIN DB 0 AVI DB 0
DATA ENDS (2分) STACK SEGMENT PARA STACK‘STACK’
DW 100 DUP (?) STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
(1分)
START PROC FAR BEGIN: PUSH DS MOV AX,0
PUSH AX
MOV AX,DATA
MOV DS,AX
LEA DI,BUFFER
MOV DX,0 ;使DH=0,DL=0 MOV CX,6
MOV AX,0 ; 和清0 MOV BH,0 ; 最大值 MOV BL,0FFH ; 最小值 LOP1: CMP BH,[DI]
JA NEXT1 ; 若高于转移 MOV BH,[DI]; 大值BH NEXT1: CMP BL,[DI] ;
JB NEXT2 ; 若低于转移
MOV BL,[DI]; 小值BL NEXT2: MOV DL,[DI]; 取一字节数据 ADD AX,DX ; 累加和 INC DI
LOOP LOP1 MOV MAX,BH;送大值
MOV MIN, BL;送小值 MOV DL, 6
DIV DL, ;求平均值 MOV AVI, AL;送平均值
RET START ENDP
CODE ENDS
END BEGIN 分)
(2分) (2分) (3分)
(3
因篇幅问题不能全部显示,请点此查看更多更全内容