收藏 分享(赏)

《微型计算机原理》非计算机专业课程教学大纲.doc

上传人:yjrm16270 文档编号:7100250 上传时间:2019-05-05 格式:DOC 页数:30 大小:777KB
下载 相关 举报
《微型计算机原理》非计算机专业课程教学大纲.doc_第1页
第1页 / 共30页
《微型计算机原理》非计算机专业课程教学大纲.doc_第2页
第2页 / 共30页
《微型计算机原理》非计算机专业课程教学大纲.doc_第3页
第3页 / 共30页
《微型计算机原理》非计算机专业课程教学大纲.doc_第4页
第4页 / 共30页
《微型计算机原理》非计算机专业课程教学大纲.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

1、微型计算机原理 课程教学大纲( 非计算机各专业,64 学时)课程名称:微型计算机原理英文名称:Principles of Microcomputers学 时:50( 理论教学)+14( 实验)学 分:4适用专业:工科非计算机各专业课程性质:必修先修课程:模拟电子技术,数字电路逻辑设计等一、 课程性质与任务本课程是工科各专业非常重要的计算机基础课之一。本课程以 Intel 80x86CPU 构成的微机为 主讲机型,系统深入地介 绍微型 计算机的工作原理、80x86 指令系统、 汇编语言程序 设计、半 导体存储器、 输入/ 输出与中断以及可编程接口芯片及应用等知识。通过本课程学习,使学生真正掌握微

2、型计算机的工作原理、汇编语言程序设计 方法以及接口电路设计技 术等内容,培养学生初步具备软硬件方面的实际开发能力。二、教学内容、学习要求及重点难点第 1 章 微型计算机系统导论(一) 教学内容本章简要介绍微型计算机的发展历史;根据冯.诺依曼计算机设计思想,主要介绍微型计算机硬件系统的组成,三总线结构(地址总线 AB、数据总线DB、控制总线 CB)以及组成计算机的五大部件(运算器、控制器、存 储器、输入及输出设备);介绍软件在计算机系统中的作用;通过在模型机上运行一个简单的程序说明计算机的工作过程。具体内容如下:1、计算机发展概况2、微型计算机系统的组成3、微型计算机硬件系统4、微型计算机的工作

3、过程(二) 学习要求通过本章学习,应对微型计算机的基本概念、基本组成及工作过程有一个基本了解,建立计算机整机概念,为后续各章节的学习打下基础。具体要求如下: 1、了解微处理器及微型计算机的发展、分 类和特点。2、熟悉微型计算机系统各个组成部分的功能,掌握地址总线 AB、数据总线 DB、控制总线 CB 的概念及其作用。3、掌握 CPU 的概念、 组成及基本工作原理。4、了解存储器在微型计算机的作用和内存的读写操作过程,掌握有关概念:位、字节、字、存储器容量、存储单元地址等。5、熟悉微型计算机的工作过程,初步建立 计算机整机的概念(三) 重点难点微型计算机硬件系统的结构;地址总线 AB、数据总线

4、DB、控制 总线 CB 的概念及其作用;CPU 的组成及基本工作原理;存储器的分类、作用及有关概念。第 2 章 计算机中的数制与编码(一) 教学内容本章首先简要介绍无符号数的表示方法、各种数制的相互转换以及二进制数的运算规则等;然后重点介绍带符号数的表示方法、补码加减法运算以及运算时溢出的判断方法;最后介绍十进制数的二进制编码(BCD 编码)、字符(包括字母、数字和符号)的 ASCII 编码以及数的定点和浮点表示方法等。具体内容如下:1、无符号数的表示方法2、带符号数的表示方法3、信息的编码 4、数的定点与浮点表示法(二) 学习要求通过本章学习,应该熟练掌握数据(包括无符号数和有符号数)、信息

5、等在计算机中的表示方法,具体要求如下:1、掌握十进制数、二进制数、十六 进制数的表示方法及其相互转换。2、熟练掌握带符号数的原码、反 码、补码表示方法。3、掌握进位和溢出的概念及其判断方法4、了解 BCD 码、ASCII 码的概念以及数的定点与浮点表示法。(三) 重点难点带符号数的原码、反码、 补码表示方法;进位与溢出的概念及其判断方法。第 3 章 80x86 微处理器 (一) 教学内容本章在简要介绍 80x86 系列微处理器的发展概况及其性能特性的基础上,首先重点介绍 8086/8088 CPU 的内部结构、寄存器结构、引脚功能以及存储器管理等;之后简要介绍具有代表性的 Intel 主流 C

6、PU 系列的最新技术发展方向,从应用角度介绍 80x86 系列微处理器内部寄存器结构及其使用方法;然后对80x86 存储器管理方式(实方式、保护方式和虚拟 8086 方式)进行介绍;最后分别简要介绍 80286 到 Pentium CPU 的内部结构特点。具体内容如下:1、80x86 微处理器简介2、8086/8088 微处理器3、8086/8088 存储器和 I/O 组织(二) 学习要求微处理器(CPU)是构成微型计算机的核心部件,是全机的控制中心,它控制全机各功能部件协调工作,它的性能决定了整个微型计算机的性能和系统结构。因此,学习和掌握微处理器的内部结构和工作原理是学习“微型计算机原理“

7、的重要基础。本章具体学习要求如下:1、掌握 8086/8088CPU 的内部结构及工作原理。2、掌握 8086/8088CPU 中 14 个寄存器的分类、作用及有关寄存器的特定用法。3、掌握 8086/8088 存储 器的分段管理方式;掌握逻辑地址、物理地址的概念以及如何由逻辑地址求物理地址。4、了解 8086/8088CPU 的引脚及其功能。(三) 重点难点8086/8088CPU 的内部 结构及工作原理;寄存器结构;存储器分段管理方式;逻辑地址和物理地址的概念等。对程序设计人员来讲,了解 CPU 内部寄存器结构并掌握其使用方法是进行汇编语言程序设计的关键和基础,因此,牢记8086/8088

8、CPU 内部的 14 个 16 位寄存器的名称和使用方法是本章学 习的重点,也是初学者一时难于理解和掌握的内容。第 4 章 80x86 指令系统 (一) 教学内容本章重点介绍 8086 指令格式和寻址方式,包括操作数的寻址方式和转移地址的寻址方式;然后介绍 8086 指令系统,包括数据传送、算术运算、位操作、串操作、控制转移以及处理器控制等六大类指令。最后简要介绍 80x86/Pentium新增的寻址方式和增强与增加的指令。具体教学内容如下: 1、8086/8088 指令格式2、8086/8088 指令系统 的寻址方式3、8086/8088 指令系统(二) 学习要求指令系统是程序员编写程序的基

9、础,因此很好地掌握本章内容是后续进一步学习汇编语言程序设计的关键。通过本章学习, 应该达到如下要求:1、了解 8086/8088 指令格式。2、熟练掌握 8086/8088(包括后续 CPU)的寻址方式。3、掌握 8086/8088 指令系 统中的各种指令的名称、功能及对操作数寻址方式的约定。(三) 重点难点操作数的寻址方式;指令中操作数允许的寻址方式,避免写出指令系统中不存在的非法指令。第 5 章 汇编语言程序设计 (一)教学内容本章以 Microsoft 公司的宏汇编程序 MASM 为背景,介绍面向 80x86 的汇编语言程序设计方法。包括汇编语言源程序的格式、伪指令、宏指令以及 顺序结构

10、、分支结构、循环结构、过程调用等汇编语言程序 设计方法。具体内容如下:1、汇编语言源程序的格式及汇编语言上机过程2、伪指令3、宏指令4、汇编语言程序设计的基本方法(包括顺序程序、分支程序、循环程序、子程序)(二)学习要求汇编语言程序设计是“微型计算机原理“ 课程非常重要的内容之一。通 过本章学习,应该达到如下要求:1、熟练掌握汇编语言格式及调试方法。 2、掌握子程序和宏指令的概念、定义及其调用方法。3、掌握 DOS 调用和 BIOS 调用的方法。4、掌握顺序程序、分支程序、循 环程序设计的基本方法和一般技巧。(三)重点难点汇编语言源程序的编写及调试。只有通过大量的上机实践,才能真正掌握汇编语言

11、程序的设计。第 6 章 半导体存储器 (一)教学内容本章在简要介绍半导体存储器的分类和基本存储元电路的基础上,重点介绍了常用的几种典型存储器芯片及其与 CPU 之间的连接与扩展问题,并简要介绍了目前广泛应用的几种新型存储器。具体内容如下:1、半导体存储器的分类2、随机读写存储器3、只读存储器4、存储器与 CPU 的连接(二)学习要求1、了解各种半导体存储器的特点及应用场合。2、了解随机读写存储器和只读存储器的结构原理及工作特点。3、掌握存储器芯片的位扩展和字扩展方法。特别应注意掌握存储器芯片与地址总线的连接问题。(三)重点难点存储器扩展时如何由高位地址产生片选信号。第 7 章 输入/输出与中断

12、 (一) 教学内容本章介绍输入输出接口的基本概念,CPU 与外 设间的数据传送方式,中断传送方式及相关技术,以及可编程中断控制器 8259A 的结构及编程方法。具体内容如下:1、I/O 接口概述2、CPU 与外设之间数据传送的方式3、中断技术4、8086/8088 中断系统5、可编程中断控制器 Intel 8259A(二) 学习要求1、了解 I/O 作用,掌握 I/O 的编址方式。2、理解 I/O 设备与主机之间交换数据的控制方式。3、了解 8086/8088 中断系 统。4、熟悉 8259A 中断控制器的 结构及应用。(三) 重点难点8259A 的工作方式及编程。第 8 章 可编程接口芯片及

13、应用 (一) 教学内容接口电路是联系主机与各种 I/O 设备的桥梁。接口技术是微型计算机应用中的重要技术。本章从应用角度介绍了与 80x86 系列微处理器配套使用的通用可编程接口芯片,包括可编程定时/计数器 8253/8254,并行接口芯片 8255A,串行接口芯片 8251A,数/ 模转换芯片 DAC0832 和 DAC1210 以及模/数转换芯片 ADC0809 和 AD574。具体教学内容如下:1、定时器/计数器 8253/82542、并行接口芯片 8255A3、A/D 与 D/A 芯片(二) 学习要求通过本章学习,读者不仅要掌握所介绍的各种常用可编程接口芯片的工作原理与使用方法,更重要

14、的是要能够触类旁通,以便日后遇到其他芯片时能够很快掌握其使用方法。具体要求如下:1、掌握 8253/8254 工作方式、初始化编程及其应用技术。2、掌握 8255 的工作原理、初始化编程及其应用。 3、掌握 D/A 转换芯片 DAC0832 和 DAC1210 的使用方法。4、掌握 A/D 转换芯片 ADC0809 和 AD574 的使用方法。(三) 重点难点通过学习应重点掌握 I/O 接口芯片的共有特点,为日后其它接口芯片的学习和应用打下基础。三、实验指导实验一 寻址方式与基本指令实验1.1 实验目的1 熟悉 80x86 寻址方式及基本指令的功能,进一步理解和巩固课堂学习内容。2 掌握汇编语

15、言程序设计上机过程, 掌握汇编语言源程序结构,为后续汇编语言程序设计打好基础。3 熟悉 Microsoft 的 DEBUG 或 Borland 的 Turbo DEBUG 调试工具的使用方法。1.2 实验预习要求1 认真阅读本书第一部分第 1 章,熟悉汇编语言程序设计上机步骤。2 认真阅读本书第三部分,熟悉 DEBUG 调试工具的使用方法。3 复习 80x86 操作数寻址方式及基本指令(数据传送、算术运算和逻辑运算等)。4 了解实验内容,并在实验前根据课堂所学知识回答有关问题(个别取决于程序实际运行环境的问题除外),以便在实验时进行验证。1.3 实验内容1. 读懂下列源程序,使用 EDIT 生

16、成名为 EX11.ASM 的源程序,汇编生成EX11.OBJ 文件和 EX11.LST 文件,连接生成 EX11.EXE 文件;用 EDIT 打开EX11.LST 文件,了解.LST 文件包含的信息;使用 DEBUG 调试工具单步执行EX11.EXE 程序,注意观察 IP 值的变化,并回答下列问题。(1) 程序装入后,代码段寄存器 CS 的内容为_H,代码段第一条可执行指令 MOV AX, DATA 对应 的机器代码为_H,它是一个_字节指令,注意观察执行该指令时 IP 值的变化情况,该指令源操作数 DATA 的寻址方式是_,其值为_。(2) 执行完 MOV DS, DATA 指令后,数据段寄

17、存器 DS 的内容为_H,源程序在数据段中定义的数据 82H、68H 和 88H 被装入的存 储单元的物理地址分别为_H、_H 和_H。(3) 程序中第一条 ADD AL, BX 指令对应的机器代码为_H ,它是一个_字节指令,注意观察执行该指令时 IP 值的变化情况;该指令中源操作数的寻址方式为_,该操作数所在存储单元的逻辑地址(DS): (BX)为_,其物理地址为_H;执行完该指令后(AL)=_H,CF=_,OF_,ZF_,SF_,AF_,PF_;若两操作数为无符号数,计算结果是否正确_?若两操作数为带符号数,计算结果是否正确_?若计算结果正确,结果是正数还是负数_?(4)执行完第二条 A

18、DD AL, BX 指令后(AL)=_H,CF=_,OF_,ZF_,SF_,AF_,PF_;若两操作数为无符号数,计算结果是否正确_?若两操作数为带符号数,计算结果是否正确_?(5)指令 MOV SUM, AL 中目的操作数的寻址方式为_。该指令执行完后,注意观察(DS):0003H 单元中值的变化, 该单 元的值变为_H 。DATA SEGMENTNUM DB 82H, 68H, 88HSUM DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX, DATAMOV DS, AXMOV BX, OFFSET NUMMOV A

19、L, BXINC BXADD AL, BXINC BXADD AL, BXMOV SUM, ALMOV AH, 4CHINT 21HCODE ENDSEND START2. 读懂下列源程序;编辑、汇编、连接生成EX12.ASM、EX12.OBJ、EX12.LST、EX12.EXE 文件;使用 DEBUG 单步执行EX12.EXE 文件,并回答以下问题。(1) 代码段的前三条指令 MOV AX, STACK、MOV SS, AX 和 MOV SP, LENGTH STL 的功能为堆栈初始化,试问执行完这三条指令后,堆栈栈底所在单元的逻辑地址(SS): (SP)为_;执行 PUSH AX 指令后堆

20、栈指针寄存器(SP)=_H,此时,(SS): (SP+1)和(SS): (SP)单元的值为_H ;执行完 PUSH BX 后(SP)=_H,此时,(SS): (SP+1)和(SS): (SP)单元的值为_H;执行完 POP AX 后(SP)=_H;执行完 POP BX 后(SP)=_H;此时(AX)=_H,(BX)=_H。请读者通过对堆栈操作指令 执行情况的观察, 进一步掌握进、出栈操作过程。(2) 执行 ADD AX, BX 指令后(AX)=_H,CF=_,OF_,ZF_,SF_,AF_,PF_(注意考虑 PF 值与计算结 果高 8 位有无关系);若两操作数 为无符号数,计算结果是否正确_?

21、若两操作数为带符号数,计算结果是否正确_?(3) 执行 AND AX, BX 指令后(AX)=_H,CF=_,OF_,ZF_,SF_,AF_,PF_。STACK SEGMENT stackSTL DW 100H DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE,SS:STACKSTART:MOV AX, STACKMOV SS, AXMOV SP, LENGTH STL;表达式“LENGTH STL”的功能为计算 STL 中定 义的变量的个数,;汇编后其值为 100H ,详见 教材 5.2.2MOV AX, 0101101100001010BMOV BX,

22、0100110010100011BPUSH AXPUSH BXADD AX, BXPOP AXPOP BXAND AX, BXMOV AH,4CHINT 21HCODE ENDSEND START3. 指出下列指令的错误原因,上机运行,观察汇编程序(MASM.EXE)给出的出错信息,改正后再上机验证。(1) MOV BP, BL (2) MOV BX,BP(3) MOV BX,20H (4) INC SI(5) ADD AX,SI+DI (6) SHL AX,3(7) PUSH 2000H (8) POP AL(9) MOV CS,AX (10) MOV DS,1000H有关常见汇编错误的详细

23、内容见本书第三部分第 3 章“汇编语言程序常见汇编错误分析” 。1.4 实验报告要求1 写出任务 1 和任务 2 中所有问题的正确答案;对实验前做错或做不出来的问题,说明通过上机操作对这些问题有哪些新的认识。2 写出任务 3 中 10 条错误指令的错误原因,对可以改正的指令给出其正确形式,并分别记录汇编程序对每条错误指令给出的出错信息。3 简要说明汇编语言程序设计的步骤,每一步使用什么工具软件,生成什么类型的文件。写出实验小结,内容包括实验心得(收获)、 实验中遇到的问题及解决办法、不足之处或今后应注意的问题等。实验二 分支程序设计实验2.1 实验目的1 掌握分支程序的设计方法。2 掌握宏定义

24、及宏调用的基本方法。3 了解小写和大写字母的 ASCII 码表示及其转换方法。了解数字及其它字符在的 ASCII 码表示方法。4 进一步掌握调试工具的使用方法2.2 实验预习要求1 复习比较指令、条件转移指令的用法。2 复习宏定义及宏调用的基本方法。3 根据“2.3.3 实验内容” 中给出的流程图和程序框架编写源程序,以便上机调试。4 程序框架中显示提示信息的指令序列用宏调用实现。5 从“2.3.4 实验习题” 中任 选一道题目, 编写源程序,以便上机调试。2.3 实验内容从键盘输入一字符,判断该字符是小写字母、大写字母、数字或其它字符。若输入为小写字母,显示“You Input a Lowe

25、rcase Letter!”;若输入为大写字母,显示“You Input a Uppercase Letter!” ; 若输入 为数字, 显示“You Input a Digit!”; 若 输入为其它字符, 显示“You Input Other Letter!” 。数字 09 的 ASCII 码为 30H39H;大写字母的 ASCII 码为 41H5AH,小写字母的 ASCII 码为 61H7AH。本 题目将字符分为小写字母、大写字母、数字及其它字符,根据键入字符的 ASCII 码值判断其所属类型,并显示相应的信息。字符串显示使用功能号为 09H 的 DOS 功能调用,接收键盘输入的单个字符使

26、用功能号为 01H 的 DOS 功能调用。2.4 实验习题1 在屏幕上显示信息“Are you really want to exit?”,然后从键盘输入一个字符,若输入“Y”或“y”, 显示 “Thank you for your using!” 后程序结束;若输入“N”或“n”,显示“Lets continue!”后程序结束;若输入其它字符,显示“You press an error key!”后程序结束(要求尽量使用宏指令以便使源程序更加简洁)。2 在屏幕上显示如下信息:1-Panda2-Cat3-Rabbit4-Pig5-EXIT(Please choose 1,2,3,4or 5)-

27、若输入 1,显示“I like panda”后程序结束;若输入 2,显示“I like cat”后程序结束;若输入 3,显示“I like rabbit”后程序结束;若输入 4,显示“I dont like pig”后程序结束;若输入 5,程序直接结束;若输入其它字符,显示“You press an error key!”后程序结束(要求尽量使用宏指令以便使源程序更加简洁)。2.5 实验报告要求1 补全“2.3.3 实验内容” 中源程序框架内未写出的程序代码,并说明你在调试该程序过程中遇到了哪些问题,是如何处理的。2 从“2.3.4 实验习题” 中任选一道题目,画出流程图,编写源程序,并说明在

28、调试过程中遇到了哪些问题,是如何处理的。3 写出实验小结,内容包括实验心得(收获)、不足之处或今后应注意的问题等。实验三 循环程序设计3.1 实验目的1 掌握循环程序的设计方法。2 掌握比较指令、转移指令和循环指令的使用方法。3 进一步掌握调试工具的使用方法3.2 实验预习要求1 复习比较指令、条件转移指令和循环指令。2 复习循环程序的结构、循环控制方法等知识。3 读懂“2.4.3 实验内容”中给出的将十进制数转换为二进制数以及将二进制数转换为十进制数的程序。4 根据“2.4.3 实验内容” 中给出的流程图和程序框架编写源程序,以便上机调试。5 从“2.4.4 实验习题” 中任 选一道题目,

29、编写源程序,以便上机调试。3.3 实验内容计算 1+2+n=?,其中 n 通过键盘输入。要求在屏幕上提供如下信息:Please input a number(1627):;出现此信息后通过键盘输入一个小于 628 的无符号整数1+2+n=sum ;其中 n 为用户输入的数,sum 为所求的累加和程序运行情况如右图所示(说明:图中所运行程序允许累加和不大于一个32 位二进制数所能表示的范围)。1 编程指导1 键盘输入的十进制数如 368 在计算机中是以 33H,36H,38H 形式存放的,如何将它们转换为一个二进制数 101110000B,以便对累加循环的循环次数进行控制是本程序首先要解决的问题

30、。将键盘输入的十进制数转换为二进制数的程序清单如下:DATA SEGMENTINF1 DB “Please input a number (0-65535):$“IBUF DB 7,0,6 DUP(?)DATA ENDSCODE SEGMENTASSUME CS: CODE, DS:DATASTART:MOV AX, DATAMOV DS, AXMOV DX, OFFSET INF1MOV AH, 09HINT 21HMOV DX, OFFSET IBUF ;键入一个十进制数(65535)MOV AH, 0AHINT 21HMOV CL, IBUF+1 ;十进制数的位数送 CXMOV CH,

31、0MOV SI, OFFSET IBUF+2;指向输入的第一个字符(最高位)MOV AX, 0 ;开始将十进制数转换为二进制数AGAIN: MOV DX, 10 ; (010+a4) 10+) 10+a0MUL DXAND BYTE PTR SI, 0FHADD AL, SIADC AH, 0INC SILOOP AGAINMOV AH,4CHINT 21HCODE ENDSEND START本程序功能:从键盘接收一个无符号十进制整数(小于 65535),将其转换为二进制数,转换结果存在 AX 寄存器中。2 累加结果为一个 16 位的二进制数,为了显示结果,必需把它们转换为十进制数。将二进制数

32、转换为十进制数的程序清单如下:DATA SEGMENTOBUF DB 6 DUP(?)DATA ENDSCODE SEGMENTASSUME CS: CODE, DS: DATASTART: MOV AX, DATAMOV DS, AXMOV BX, OFFSET OBUF+5MOV BYTE PTR BX,$MOV CX, 10 ;做(DX):(AX)/10 运算LOOP1: MOV DX, 0 ;被除数高 16 位清 0DIV CXADD DL, 30H;将 DL 中的一位十进制数 转换为 ASCII 码DEC BXMOV BX, DLOR AX, AXJNZ LOOP1;判断商是否为 0

33、,不为 0 继续MOV DX, BXMOV AH, 09HINT 21H;显示转换得到的十进制数MOV AH, 4CHINT 21HCODE ENDSEND START本程序功能:将存储在 AX 寄存器中的二进制数转换为十进制数并显示。1 程序框架DATA SEGMENTINF1 DB “Please input a number (0-65535):$“IBUF DB 7,0,6 DUP(?)OBUF DB 6 DUP (?)DATA ENDSCODE SEGMENTASSUME CS: CODE, DS: DATASTART:MOV AX, DATAMOV DS, AXMOV CX, AX

34、MOV AX, 0MOV BX, 1LOOP2:ADD AX, BXINC BXLOOP LOOP2CODE ENDSEND START3.4 实验习题1 从自然数 1 开始累加,直到累加和大于 60000 为止,显示累加的自然数的个数和累加和。显示格式为:1+2+n=sum其中 n 为累加个数,sum 为 累加和。2 从键盘输入 6 个加数 N1、N2、N3、N4、N5 和 N6(均为 14 位的无符号十接收从键盘输入的十进制数,并将其转换为二进制数(存 AX 寄存器)的指令序列将 AX 中存放的二进制数转换为十进制数并显示的指令序列进制整数),求和并将计算结果在屏幕上显示出来。3 从键盘输

35、入一个无符号十进制整数(小于 65536),将其转换为二进制数,统计该二进制数中包含的 1 的个数,并将统计结果在屏幕上显示出来。4 从键盘输入 N 个无符号十进制整数(小于 256),将其转换为二进制数后存放在字节变量 BUF 存储区中;对这 N 个数进行由大到小排序,排序后将其仍存储在 BUF 中;最后将排序后的结果在屏幕上显示出来。3.5 实验报告要求1 补全“2.4.3 实验内容” 中源程序框架内未写出的程序代码,并说明你在调试该程序过程中遇到了哪些问题,是如何处理的;请考虑,如果输入的数大于 627 会出现什么问题?如何解决?2 从“2.4.4 实验习题” 中任选一道题目,画出流程图

36、,编写源程序,并说明在调试过程中遇到了哪些问题,是如何处理的。3 写出实验小结,内容包括实验心得(收获)、不足之处或今后应注意的问题等。实验四 宏指令及子程序设计实验4.1 实验目的1 熟悉宏指令、宏定义、宏调用以及宏展开的概念;掌握宏指令的定义与调用的方法。2 掌握子程序的定义、调用以及调用程序与子程序之间参数的传递方法。3 了解宏指令与子程序的异同以及各自的适用场合。4.2 实验预习要求1 复习宏指令的定义与调用方法。2 复习过子程序的定义与调用方法。3 根据“2.5.3 实验内容”中给出的流程图和程序框架编写源程序,以便上机调试。4 从“2.5.4 实验习题” 中任 选一道题目, 编写源

37、程序,以便上机调试。4.3 实验内容从键盘输入 10 个无符号十进制数(小于 256),将其转换为二进制数并存放在 NUM 字节型变量中,找出其中的最大数,并将找出的最大数在屏幕上显示出来。要求: 在屏幕上显示字符串提示信息的功能由宏指令 DSTRING 实现; 将键盘输 入的十进制数 转换成二进制数由子程序 DTOB 实现; 在 N 个无符号字节型二进制数中找出最大数的功能由子程序 FMAX实现; 将一个无符号字节型二进制数转换为十进制数并在屏幕上显示的功能由子程序 BTOAD 实现。程序运行结果如图所示。4.4 实验习题1 从键盘输入 N 个十进制数,求它 们的和(累加和要求不大于 655

38、35),并将累加结果在屏幕上显示出来。要求给出必要的提示信息(用宏调用完成);累加功能由子程序调用实现;二进制数形式的累加和转换为十进制数并显示由子程序调用实现。2 计算 1+2+3+N。要求 N 由键盘输入;给出必要的提示信息(由宏调用实现);累加功能由子程序调用实现;二进制数(累加和)转换为十进制数并显示由子程序调用实现。3 编写在屏幕上顺序显示 A B C Z 的程序。要求两字符之间有一定的时间延迟,通过调用宏指令实现;延迟时间常数由键盘输入;将键盘输入的十进制数形式的延迟时间常数转换为二进制数由子程序实现。4.5 实验报告要求1 补全“2.5.3 实验内容”中源程序框架内未写出的程序代

39、码,并说明你在调试该程序过程中遇到了哪些问题,是如何处理的?若允许输入大于255 小于 65536 的十进制数,程序应如何修改?2 从“2.5.4 实验习题”中任选一道题目,画出流程图,编写源程序,并说明在调试过程中遇到了哪些问题,是如何处理的。3 写出实验小结,内容包括实验心得(收获)、不足之处或今后应注意的问题等。实验五 存储器扩展实验5.1 实验目的1 熟悉 6116 静态 RAM 的结构及使用方法。2 掌握存储器扩展方法。3 了解 PC 机总线信号的定 义, 领会总线及总线标准的意义5.2 实验预习要求1 复习教材中存储器扩展的有关内容,熟悉存储器扩展时地址总线、控制总线及数据总线的连

40、接方法,了解 6116 静态 RAM 的工作原理。2 预先编写好实验程序。5.3 实验内容1 将实验台上跳线端子 JB、JC(实验台右上角)的短路片插在 “MEM”位置上,拨动存储器地址范围选择开关 K2,将其设置为:OFF 、0FF、0N、OFF,从而将存储器地址设置为 D0000H 开始的 64KB 空间(详见第 3 章)。按图4.8-1 连 接线路, 6116 芯片插在通用插座 D 上。2 编写程序,将字母az循环存储在扩展的 SRAM 6116 存储器芯片D0000H 开始的单元中,然后再将其从 6116 中读出并在屏幕上显示。5.4 实验提示如图 5.4-1 所示,6116 芯片的容

41、量为 2K8 位,芯片上的地址引脚A0A10(共 11 根)连接至系统的地址总线 A0A10,用来对片内 2K 个存储单元进行寻址。本实验中 6116 SRAM 的片 选信号 CS 接至实验台的图 5.4-16116OEMEMCS。请注意,实验台上是如何 产生 MEMCS 的,开关 K2 是如何设置地址总线 A19、A18、A17、A16 的,详见第 3 章“存储器译码电路”的介绍。芯片上的 8 个数据引脚 D0D7 直接与系统的数据引脚相连。控制信号OE、WE 分别连接到实验台的 MEMR 和 MEMW。写操作时,芯片上的控制信号 CS=0,WE=0,OE=1;读操作时,CS=0 ,OE=0

42、,WE=1。5.5 实验报告要求1 根据流程图编写实验程序,并说明在实验过程中遇到了哪些问题,是如何处理的。2 总结存储器系统的基本扩展方法。3 写出实验小结,内容包括实验心得(收获)、不足之处或今后应注意的问题等。实验六 8253 可编程定时/计数器实验6.1 实验目的1 了解 TPC-H 微机接口实验台的组成;根据第 3 章介绍内容认知实验中将要用到的各电路模块在实验箱中的位置,为以后的实验打下基础。2 了解实验台如何通过插在微机主板上的 ISA 总线扩展槽中的接口卡经扁平电缆将 ISA 总线信号(62 个)引入实验箱,从而通过实验箱进行各种接口电路的实验。3 进一步掌握 8253 的基本

43、工作原理和编程方法。6.2 实验预习要求1 认真阅读第 3 章内容,熟悉 TPC-H 微机接口实验台的组成及基本使用方法。2 复习 8253 的工作原理、6 种工作方式各自的特点、控制字格式、 读写操作&方法以及如何进行初始化编程等内容。3 预先编写好实验程序6.3 实验内容1 通过实验台提供的单脉冲电路,按动微动开关向计数器依次发出单脉冲,观察每来一个脉冲时计数器当前计数值和输出波形的变化情况按图虚线连接电路。将计数器 0 设置为方式 0,计数初值 N 可自行决定(但为了便于尽快观察实验结果,N 值不宜设置过大,否 则将会延长实验时间),按动单脉冲发生器(位于实验台底部中间,微动开关产生单次

44、脉冲送 CLK0。编写程序在屏幕上显示计数器 0 的当前计数值,并同时用逻辑笔(位于实验台底部偏右,逻辑电平开关左边) 观察 OUT0输出信号的电 平变化(当输入 N+1 个单次脉冲后 OUT0变为高电平)。2 计数器级联实现输入信号的二次分频按下图连接电路。将计数器 0 和计数器 1 均设置为方式 3(方波发生器),计数初值均设置为 1000。计数器 0 的 CLK 输入端接 1MHz 脉冲信号源,计数器 0 的输出 OUT0连接至计数器 1 的 CLK 输入端 CLK1,实现信号的二次分频。用示波器或实验台上的逻辑笔观察计数器 1 的输出端 OUT1输出信号的电平变化情况。6.4 实验提示

45、本实验中 8253 的地址分配如下:计数器 0 地址为 280H;计数器 1 地址为281H;共用的控制寄存器地址为 283H。请同学考虑:284H、285H 和 287H 是否也可分别作 为计数器 0、计数器 1和控制寄存器的地址?为什么?若将 8253 的 CS 连 接至实验台上 I/O 地址为288H28FH 的插孔, 计数器 0、计数器 1、计数器 2 和控制寄存器的地址又可以是多少?+5v+5v图 4.1-2实验内容 1 和 2 的程序流程图如上图所示。6.5 实验习题1 实验 2 中 OUT0 和 OUT1输出信号的频率分别为多少?通过修改计数器 0和计数器 1 的计数初值,OUT

46、 1输出信号的最小频率可 为多少?2 若 CLK0 接到 2MHz 脉冲信号源, 计数初值仍均 为 1000,OUT1 输出信号的频率为多少?6.6 实验报告要求1 根据流程图编写实验 1 和实验 2 的程序,并说明在实验过程中遇到了哪些问题,是如何处理的。2 总结 8253 各工作方式的特点。3 完成实验习题。4 写出实验小结,内容包括实验心得(收获)、不足之处或今后应注意的问题等。实验七 8255A 可编程并行接口实验7.1 实验目的1 掌握 8255A 并行接口芯片的基本结构及工作原理。开始结束设置 C 口方式 0 输入,A 口方式 0 输出从 C 口读入开关状态将从 C 口读入的开关数

47、据送 A 口输出有键按下否?YN逻辑开关图 4.3-12 掌握 8255A 工作方式 0 的特点及其使用方法。7.2 实验预习要求1 复习 8255A 并行可编程芯片的结构及工作原理。2 复习 8255A 的工作方式控制字和 C 口按位置位复位控制字的格式。3 熟悉 8255A 的各种工作方式的特点。4 预先编写好实验程序。7.3 实验内容按上图连接线路。8255A 的 C 口接逻辑电平开关的输出端子 K0K7,A 口接发光二极管显示电路的输入端子 L0L7。编写程序设置 C 口的高低 4 位均为方式 0 输入(从 C 口读开关状态到 CPU),A 口为方式 0 输出(将从 C 口读入的开关状

48、态送 A 口,以便通 过发光二极管显示开关状态)。连续拨动开关,观察发光二极管的变化情况。7.4 实验提示本实验中 8255A 地址分配如下:控制寄存器端口地址 28BHA 口的地址 288HC 口的地址 28AHC 口的高低 4 位均设置为方式 0 输入。实验内容 1 和 2 的程序流程图如图所示。7.5 实验报告要求1 根据流程图编写实验程序,并说明在实验过程中遇到了哪些问题,是如何处理的。2 写出实验小结,内容包括实验心得(收获)、不足之处或今后应注意的问题等。说明:有关实验的详细说明,请阅读王钰等编写西安电子科技大学出版社出版的“ 微型 计算机原理学习与实验指导“一书,以及我们的“微型计算机原理”网络教学系统提供的“实验 CAI 课件:http:/cs.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报