100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 计算机应用技术专业 u000b培养目标 微型计算机原理及应用是电子信息工程 计算机应用及...

计算机应用技术专业 u000b培养目标 微型计算机原理及应用是电子信息工程 计算机应用及...

时间:2023-07-26 02:00:31

相关推荐

计算机应用技术专业 u000b培养目标 微型计算机原理及应用是电子信息工程 计算机应用及...

微型计算机原理及应用是电子信息工程、计算机应用及

(53页)

本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!

14.90 积分

前言前言 《微型计算机原理及应用》是电子信息工程、计算机应用及其自动化等专业 的一门重要的技术基础课,课程内容贯穿全书,前后联系密切,概念抽象,很难 理解。因此,为了配合该课程的学习,培养学生调试、运行汇编语言源程序的能 力,加深和提高学生对微处理器和典型的可编程接口芯片功能的理解能力,使学 生对该课程的内容有一个感性的认识,必须加强实践。 全书共分三章。第一章简要介绍了汇编语言程序设计上机调试用的DEBUG 调试程序中的一些常用命令及其用法。第二章简要介绍了完成微机原理及应用硬 件接口实验所用到的实验环境组成。第三章编排了此门实验课必须完成的几个实 验内容,包括8086寻址方式练习、常用汇编语言程序设计练习、简单I/O接口设 计实验、8255A并行接口实验、8253定时器/计数器实验、A/D转换实验等。学生 至少应完成大纲要求的4个实验。 由于时间仓促,加之编者水平有限,此书的编写难免有不妥之处,望广大同 学及同行多提宝贵意见。 目目录录 第一章DEBUG 介绍 第二章实验系统环境介绍 第三章微机原理与应用实验 第一章DEBUG 介绍 DEBUG是DOS为汇编语言提供的一种调试软件。它可用于检查、修改存储单元和寄存器的内容,装入及 运行用户程序。 一、 启动一、 启动DEBUG 启动DEBUG时,可以指定被调试文件,也可以先不指定被调试文件。如果指定了文件名,DEBUG启动 后会把指定的文件装入内存。例如,要调试ADD.EXE文件,只要键入: K:DEBUG ADD.EXE - 这时已进入DEBUG状态,提示符为一短线“-”,可用各种调试命令对ADD.EXE进行操作。 如果在启动DEBUG时,未指定被调试文件,进入DEBUG后要用N和L命令将被调试文件装入内存。例如: K:DEBUG ;启动DEBUG -N ADD.EXE ;指定ADD.EXE文件 -L ;装如被指定的文件 - 二、 主要调试命令二、 主要调试命令 下面介绍的调试命令均在DEBUG状态下(显示提示符-)使用。首先说明一下命令中所需地址参数的选 择形式。Address(地址):包括段地址与偏移量。但在使用时为了方便操作,有时可省略段地址,或省略段 地址和偏移量,其可能的形式有以下四种: a. 输入段地址和偏移地址。如 1500 :10 ;段地址为1500H,偏移地址0010H b. 用寄存器表示段地址,用数字表示偏移地址。如 DS :10 ;取DS所指示的内容为段地址 c.只输入偏移地址,段地址取默认的段寄存器所指示的地址。如 10 ;当前段,偏移地址为10H d.只输入调试命令,无地址输入,此时默认为当前段,且偏移地址取有关偏移地址寄存器中的内容。 1. R(Register)显示/修改寄存器内容 (1)显示CPU所有寄存器和状态标志,命令格式: -R ;键入单字母命令R及回车。 例如: -R AX=0000 BX=0000 CX=0024 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000 DS=14E3 SS=14F3 CS=14F4 IP=0000 NV UP EI PL NZ NA PO NC 其中,NV UP EI PL NZ NA PO NC为各标志位的当前状态。 (2)显示/修改单个寄存器内容,命令格式为: -R register name ;键入R与寄存器名 例如要显示AX的内容。可键入: -R AX 机器显示为: AX nnnn : 即AX的内容为nnnn。机器等待在冒号(:)之后输入新的数值。如输入1234则AX的内容改为1234H。 若不输入新的值,直接按回车即可结束当前命令。 (3)显示/修改各标志位状态。命令格式为 -R F 系统响应如下: NV UP EI PL NZ NA PO NC- 此时,可修改各状态位的状态。如 NV UP EI PL NZ NA NC-CY OV NG 则进位位由NC改成CY,溢出位由NV改成OV,符号位由PL改成NG。修改各状态时无先后次序关系。若不 修改状态位,直接按回车键来结束R F命令。 标志寄存器共有9位,除追踪标志T不能显示/修改外,其他8个标志位都可用R F命令显示或修改。 2. U(U nassemble)反汇编命令 U命令的作用是把内存中程序的二进制代码以指令助记符形式显示出来(称为反汇编),其目的是方便用户 用助记符形式阅读程序,而不必细究其机器代码,方便 调试操作。 (1)从指定地址开始反汇编32个字节,其命令格式是: -U [address] 随着地址给出形式不同,U命令可以有以下几种形式: -U 段地址 :偏移地址 -U CS :偏移地址 -U 偏移地址;默认CS内容为段地址 -U ;默认(CS)为段地址,(IP)为偏移地址 下面给出一个反汇编显示实例: -U 1501:0 1501:0000 B8F314 MOV AX ,14F3 1501:0003 8ED0 MOV SS ,AX 1501:0005 BCC800 MOV SP ,00C8 1501:0008 1E PUSH DS 1501:0009 2BC0 SUB AX ,AX 1501:000B 50 PUSH AX 1501:000C B80015 MOV AX ,1500 1501:000F 8ED8 MOV DS ,AX 1501:0011 A10000 MOV AX ,[0000] 1501:0014 03060200 ADD AX ,[0002] 1501:0018 A30400 MOV [0004] ,AX 1501:001B CB RETF ┆ (2)从起始地址反汇编到结束地址,命令格式: -U [range] 例如: -U CS :0 10 ;从地址CS:0开始反汇编到地址CS:0010H。 1. D(Dump)显示内存单元内容,其命令形式有下列几种: -D段地址 :偏移地址;从此地址起显示80H个字节 -D DS :偏移地址;(DS)为段地址 -D 偏移地址;默认DS为段地址寄存器 -D段地址 :偏移地址 结束偏移地址;从起始地址显示到结束地址 下面给出一个显示实例: -U 1500:10 3F ;从1500:0010开始显示到1500:003F单元 1500:0010 30 31 32 33 34 35 36 37 - 38 39 30 31 32 33 34 34 012345678901234 1500:0020 41 42 43 44 45 46 00 00 – 00 00 00 00 00 00 00 00 ABCDEF………. 1500:0030 61 62 63 64 65 66 00 00 – 00 00 00 00 00 00 00 00 a b c d e f………. 显示内存单元内容时,每行显示十六个字节(随显示器规格不同可能会有差异),每行的左边给出了该行的 第一个字节的段地址和偏移地址,十六个字节显示完成后,在该行后面显示出各字节的内容所代表的可视字 符,若不是可视字符则用圆点·来代替。 1. E(Enter)修改内存单元内容。 (1)不连续修改内存单元内容,命令格式如下: -E address 例如 -E 1500:0 则显示1500:0单元内容 1500:0000 24.- 如果需要修改该单元内容可以由键盘输入数字,在按一次空格显示/修改下一单元的内容。 例如,把1500:0000单元修改成78,操作如下: 1500:0000 24.78 36 . - 其中36为1500:0001单元的内容。用户可以不断修改相继单元的内容,若某一字节无需修改可用空格键跳 过,直到用回车结束该命令为止。 (2)修改连续单元的内容。命令格式为: -E address List例: -E 1500:0 12 34 ‘123’ 该命令将12H、34H、31(1的ASCⅡ码)、32H、33H存放到从1500:0000开始的连续单元中去 1. F(Fill)内存填充命令。命令格式为: -F rang List 例如: -F 1500:0 5 F3 ‘XYZ’ 37 使1500:0000~1500:0004单元依次置入5个字节的数据F3H、‘X’、‘Y’、‘Z’及37H。 如果List中的字节数超过指定的范围(rang),则忽略超过的字节,即超过的字节数据无效;如果list种给 出的字节数小于指定的范围,则重复填入list中的各项,直至填满所有指定的内存单元为止。 2. G(Go)运行命令,其命令格式为: -G=address1 [address2[address3……]] 其中:address1给出了运行程序的起始地址,如不指定,则从当前的CS:IP处开始运行。后面的address2、 address3等均为断点地址,当指令运行到断点时,就停止执行并显示所有寄存器的当前内容及各标志位状态 。同时给出下一条将要执行的指令。 例如,从1500:0000开始运行到1500:0010暂停,命令形式为 -G=1500:0 10 3. T(Trace)跟踪命令,有两种格式: (1)逐条指令跟踪 -T [=address] 其功能是从给定地址起执行一条指令后停下来,显示各寄存器内容、标志位的状态并给出将要执行的指令 。如果未指定起始地址则从当前的CS:IP处开始执行。 (2)多条指令跟踪 -T [address] [value] 从给定地址开始连续跟踪n条指令后停止,每条指令执行完后均显示寄存器内容及标志位的状态。其中n值由 value给出。 4. A(Assmble)汇编命令,格式为:-A [address] 该命令允许输入助记符指令,并将他们汇编成机器代码相继地存入从指定地址开始的存储区中。 1. N(Name)指定文件命令,命令格式为: -N [d:] [path] filename.Exe 该命令的功能是把两个文件标识符格式化在CS:5CH和CS:6CH的两个文件控制块中,以便在其后用L或W 命令把文件装入或存盘。 例如: -N ADD.EXE -L - 把可执行文件ADD.EXE装入存储器。 10.装入命令L(Load),有两种功能。 ·把磁盘上指定扇区范围的内容装入到存储器从指定地址开始的区域中。其格式为: -L [address[drive sector sector] ·装入指定文件,其格式为 -L [address] 此命令装入已在CS:5CH中格式化了的文件控制块所指定的文件。如未指定地址,对COM文件则装入CS: 0100开始的存储区中;对EXE文件则装入从CS:0000开始的存储区中。11.写命令W(Write),有两种功能 。 ·把数据写入磁盘的指定扇区。其格式为: -W address drive sector sector ·把数据写入指定的文件中。其格式为: -W [address] 此命令把指定的存储区中的数据写入由CS:5CH处的文件控制块所指定的文件中 。如未指定地址则数据从CS:0100开始。要写入文件的字节数应先放入BX和CX 中。注意,W只对COM文件有效,不能用于对EXE文件的操作。 12.输出命令O(Output command) 可直接把数据送到输出端口,命令格式为: -O 端口地址 数据 12.输入命令I(Input command) 用I命令可直接输入某一端口的数据,命令格式为: -I 端口地址 XX 其中:XX为从端口输入的数据。 13.退出Q(Quit)命令 -Q 在-状态下用O命令退出DEBUG并返回DOS。 返回主目录 第二章实验系统环境介绍 为了使实验能够顺利进行,我们结合本课程的特点开发研制了适应本课程所有实验项目要求的专用 微机实验系统。该系统的组成如图2-1所示。 2.1 ISA总线接口驱动卡介绍 586微机中以ISA总线为核心,开发了一个ISA总线接口驱动卡,该驱动卡将微机接口实验台上所需 的所有总线信号进行隔离、驱动,并以扁平电缆的形式提供给微机接口实验台,供实验使用。 为了完成存贮器实验,我们在ISA总线驱动卡设计时,提供给用户的存贮器空间为D0000H~DFFFFH或 E0000H~EFFFFH两个区间的一个64KB空间,用户通过S1跳线来选择所需的一个64KB存贮器空间来完 成实验(此卡已将S1开关跳到了D0000H~DFFFFH)。 为了完成所有的I/O接口实验,我们在ISA驱动卡设计时,提供给用户的I/O地址空间为: 200H~23FH 240H~27FH 280H~2BFH 2C0H~2FFH 300H~33FH 340H~37FH 380H~3BFH 3C0H~3FFH 八个区间中的一个64B的空间,用户可以通过S2跳线开关选择所需的一个64B空间进行实验(本卡已 将S2跳线开关跳到了280H~2BFH区间)。 图 2-1 图 2-1 为了完成外部可屏蔽中断控制实验,ISA总线接口卡上已将IRQ3、IRQ4、IRQ5、IRQ7、IRQ10、IRQ11和 IRQ12等七个中断请求输入线连接到了JP3跳线开关上,用户可根据所需选择其中一个中断源来完成实验,该驱动卡 已将JP3跳线开关跳到了IRQ5上。为了完成DMA传送实验,ISA总线驱动卡已将DRQ7、/DACK7一对联络信号接至 DB62插座上,提供给微机接口实验台,供用户使用。 串行接口实验用户可借助微机上配置的COM1、COM2接口进 行。 2.2 微机接口实验台介绍 微机接口实验台通过DB62插座与ISA总线接口驱动卡相连。 为了完成一些常用的、基本的接口实验,微机接口实验台上配置了I/O译码电路、I/O接口电路、I/O模拟设备、 单脉冲电路、信号源、SRAM存贮器电路、8255A、8253、A/D及D/A变换电路、交通信号灯控制电路、矩阵键盘电 路等供实验者选用。同时为了满足用户在ISA总线上进行特定功能的插件板电路设计,微机接口实验台上还将ISA总 线驱动卡送来的所有信号还原成标准的ISA总线插座,以J2插座提供给用户。这样,用户可以在不打开微机机箱的 情况下,直接的、很方便的在微机接口实验台上进行ISA总线插件板的设计和调试。下面就微机接口实验台上的各 部分电路,分别作一简要介绍。 1.ISA总线插座 图 2-4 微机实验台上还原的ISA总线插座如图2-4所示。总线上的所有信号均为TTL逻辑电平,总线信号名称、请参考 有关教材。 2. 单脉冲产生器(PULSE) 微机实验系统中的单脉冲发生器电路如图2-5所示,每按一下微动开关PULSE在JS27的两个插孔分别产生相反的 脉冲,脉冲宽度由用户按下的时间决定。用户可以借用此电路的输出模拟外部中断请求信号、8255A的数据输 入选通信号、8253的外部计数信号等。 图 2-5 3. 时钟信号发生器与8分频电路 实验台上的CLK模块提供以4MHZ为基准的时钟分频电路,通过插线孔JS28可提供2分频到256分频( 2MHZ~15.635KHZ)的时钟信号,其电路如图2-6所示。用户可以利用此电路的输出模拟8253的外部计数时钟, 以及A/D转换电路的时钟输入信号。 4. 逻辑电平开关电路 微机实验系统的逻辑开关电平电路(SWITCH模块)中有八个独立的开关K0~K7,JS26相应的八个双针插 口是逻辑电平输出端。开关向上时,JS26中相应的插孔输出逻辑高电平“1”,向下拨时,输出低电平“0”。用户 可以借用JS26的输出电平来模拟外部输入设备的输入数据。如图 2-7所示。 5. 发光二极管(LED)显示电路 微机实验系统LED模块提供八个发光二极管显示电路,JS13的八对输入插线孔对应八个LED负极,当输入端 为低电平“0”时,发光二极管点亮;当输入端为高电平“1”时,发光二极管为暗。用户可以借此电路来模拟监视某 一输出端口输出给外部数据的正确性。 6. 交通灯显示电路 系统实验上的TRL模块,提供模拟十字路口交通灯的发光二极管显示电路,JS17~JS20四组插线孔从左到右 (或从上到下)分别对应四组红黄绿灯。当输入端为低电平“0”时,发光二极管点亮,当输入端为高电平“1”时, 发光二极管点亮,当输入为高电平“1”时,发光二极管变暗。 7. I/O译码电路 实验台上的I/O译码电路为所有I/O实验提供译码信号,I/O译码范围为 图 2-7图 2-8 图 2-9 200H~3FFH,通过JP3跳线开关来选择所需的某一64B范围(实验台已将JP3跳到280H~2BFH范围),被选择 的某一64B的I/O地址,再经过U7译码器接至JS37输出,将该64B的I/O地址分成了八个区域(每个区域占八个地 址)提供给用户使用,其译码电路如图2-10 所示。图中JP5跳线开关断开时,只能进行八位I/O数据传送,若JP5 连通,则可进行16位I/O数据传送。 8. 存贮器译码电路 实验台上的存贮器译码电路为用户扩充的存贮器电路提供片选信号。先通过JP2跳线开关选择所需的存贮器 地址范围在D0000H~DFFFFH或E0000H~EFFFFH的 64KB范围之内,再通过JP1跳线开关来确定所需的存贮器地 址范围在该64KB的哪一个16KB区间,其具体电路如图2-11所示。 图中的JP4跳线开关若断开,只能进行16位存贮器数据传送;若JP4连通,则能进行16位存贮器数据传送。 9. I/O接口电路 为了使学生掌握简单的I/O接口电路设计,实验台上用74LS273 (U18)8D数据锁存器 设计了一个8位数据输出端口;用74LS245(U19)8D数据双向缓冲器设计了一个8位数据输入端口,用户需通 过JS9和JS10加入相应的I/O地址译码信号,就可以完成简单I/O实验,其电路如图2-12所示。 图 2-11 图2-12 10.8255A可编程并行接口电路 实验台上配置了一片8255A可编程并行接口电路,其电路形式如图2-13所示。其中,8255A的D0~D7已经与 系统数据总线的D0~D7相连,RESET信号已经产生,其余引脚信号由用户接线完成。 11.8253定时器/计数器接口电路 实验台上配置了一片8253定时器/计数器接口电路,如图2-14所示。其中8253的D0~D7已经与系统总线相连 ,其余引脚信号由用户接线完成。 12.A/D转换电路 实验台上用ADC0809配置了A/D转换电路,如图2-15所示。 ADC0809的绝大多数引脚都已经以接线柱的形式提供给用户,由用户连线完成A/D实验。 13.模拟电压输出 用户调节电位器R7,即可在插线孔JS32得到0~+5v的模拟电压,为A/D转换提供模拟电压信号。如图2-16 所示。 图2-13 图2-14 图2-15 图2-16 返回主目录 第三章微机原理与应用实验第三章微机原理与应用实验 实验一 8086/8088寻址方式练习实验 实验二 汇编语言程序设计练习 实验三 简单I/O接口设计 实验四 8255可编程并行接口实验 实验五 8253定时器/计数器实验 实验六 A/D 转换实验 实验一实验一实验一实验一8086/8088 8086/8088 寻址方式练习实验寻址方式练习实验寻址方式练习实验寻址方式练习实验 一一.实验目的实验目的 1.熟练掌握8086/8088的各种寻址方式及应用 2.掌握DEBUG调试程序中的一些常用命令的使用方法,为以后的实验打下基础 二.实验仪器实验仪器 586 微机1台 三三.实验内容实验内容 1.关于数据的寻址方式练习 8086/8088 提供多种方式实现操作数寻址,大体可分为7种: a. 立即寻址 b. 寄存器寻址; a~b要寻找的操作数与存储器无关 c. 直接寻址 d. 寄存器间接寻址 e. 寄存器相对寻址 f. 基址变址寻址 g. 基址变址且相对寻址; c~g要寻找的操作数在存贮器某单元,存贮器单元的地址由寻址方式确定。 掌握8086/8088的这些寻址方式,是学习汇编语言编程的关键。因此,我们编写了下面的程序段,以数 据传送 指令为例,列举了部份寻址方式,请同学们按下列要求认真完成。 [1] 在全屏幕编辑软件下,建立以下汇编语言源程序。 STACK SEGMENT STACK DB 0B0H, 0B1H, 0B2H, 0B3H, 0B4H, 0B5H, 0B6H, 0B7H, 0B8H, 0B9H DB 0BAH, 0BBH, 0BCH, 0BDH, 0BEH, 0BFH DB 10H DUP(00) STACK ENDS DATA1 SEGMENT DB 0A0H, 0A1H, 0A2H, 0A3H TABLE DW 0A5A4H DB 0A6H, 0A7H, 0A8H, 0A9H, 0AAH, 0ABH DB 0ACH, 0ADH, 0AEH, 0AFH DATA1 ENDS DATA2 SEGMENT DB 0C0H, 0C1H, 0C2H, 0C3H, 0C4H, 0C5H, 0C6H, 0C7H, 0C8H DB 0C9H, 0CAH, 0CBH, 0CCH, 0CDH, 0CEH, 0CFH DATA2 ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA1, ES:DATA2, SS:STACK START:MOV AX, DATA1 MOV DS, AX MOV AX, DATA2 MOV ES, AX MOV BX, 0004H MOV CX, 0005H MOV BP, 0003H MOV SI, 0002H MOV DI, 0001H MOV AX, CX MOV AX, 500H MOV AX, WORD PTR TABLE MOV AX, ES:[BX] MOV AX, [BX+05H] MOV AX, SS:[BX]+03H MOV AX, TABLE [BX] MOV AX, 07H [BX] MOV AX, [BP] MOV AX, TABLE [BP] MOV AX, 08H [BP] MOV AX, [BP+06H] MOV AX, DS:[BP+03H] MOV AX, [BP]+05H MOV AX, ES: [SI+03H] MOV AX, [DI+06H] MOV AX, [DI]+05H MOV AX, TABLE [SI] MOV AX, [SI] MOV AX, TABLE [DI] MOV AX, [SI]+05H MOV AX, [BX] [DI+01H] MOV AX, [BX] [SI]+03H MOV AX, TABLE [BX] [SI] MOV AX, ES:[BX] [DI] MOV AX, [BP] [DI+02H] MOV AX, TABLE [BP] [DI] MOV AX, ES:[BP] [SI] MOV AX, [BP] [SI+05H] MOV AX, 03H [BP] [DI] MOV AX, [BP] [SI] MOV AX, [BP+02H] [DI+03H] MOV AX, TABLE [BP+02H] [DI+03H] [2] 用masm.exe宏汇编程序对 以上源程序进行汇编,其方 法为: masm 文件名.asm; 回车 此时,如果源程序中无语 法错误,则在磁盘上形成文件 名.obj文件。 [3] 用LINK.EXE连接程序对文 件名.obj文件进行连接,其方法 为: link 文件名.obj; 回车 此时,如果连接正确,则在磁 盘上形成 文件名.exe 可执行文 件。 [4] 对源程序中从MOV AX, CX 开始以下所有指令按表3-1进行 计算。 指令 SRC寻址方式SRC 的地址AX推算值AX实际值 MOV AX,CX MOV AX,500H MOV AX,TABLE MOV AX,ES:[BX] MOV AX,[BX+05H] MOV AX,SS:[BX]+03H MOV AX,TABLE[BX] MOV AX,07H[BX] MOV AX,[BP] MOV AX,TABLE[BP] MOV AX,08H[BP] MOV AX,[BP+06H] MOV AX,[BP]+05H MOV AX,DS:[BP+03H] MOV AX,ES:[SI+03H] MOV AX,[DI+06H] MOV AX,[DI]+05H MOV AX,TABLE[SI] MOV AX,[SI] MOV AX,TABLE[DI] MOV AX,[SI]+05H MOV AX,[BX][DI+01H] MOV AX,[BX][SI]+03H MOV AX,TABLE[BX][SI] MOV AX,ES:[BX][DI] MOV AX,[BP][DI+02H] MOV AX,TABLE[BP][DI] MOV AX,ES:[BP][SI] MOV AX,[BP][SI+05H] MOV AX,03H[BP][DI] MOV AX,[BP][SI] MOV AX,[BP+02H][DI+03H] MOV AX,TABLE[BP+02H][DI+03H] 表3-1 MOV AH, 4CH INT 21H CODE ENDS END START T命令单步运行程序,并用R 命令检查AX结果,同时将结果作为实际值填入表3-1中,和推算值进行比较, 从而检验自己对该条指令对应的寻址方式是否掌握。也可用D命令察看存贮器的内容,具体操作方法参看 DEBUG使用部分。 1.关于地址的寻址方式 其具体的内容及实验方法参内容一由学生选做完成。 四.问题讨论四.问题讨论 在表3-1中,分析AX推算值与实际值有何不同?找出错误原因,小结出各种寻址方式所用的段寄存器的规 律来。 五. 本实验的实验报告要求五. 本实验的实验报告要求 实验名称 1. 实验目的 2. 实验仪器 3. 实验内容及实验程序 4. 实验数据及结果 5. 问题讨论 返回实验目录 实验二汇编语言程序设计练习 一.实验目的 1.熟练掌握汇编语言程序设计的方法及上机步骤。 2.掌握算术运算中,十进制数调整指令的应用。 3.掌握子程序的设计方法 4.掌握DOS功能的调用方法 二.实验仪器 586微机 1台 三.实验内容 1. 编写求十进制数12678532与21736543之和的程序,并将和以十 进制数的形式送屏幕显示。 编程要求与提示: [1] 两个加数均以压缩十进制数形式存放在ADD1和ADD2为首址的存贮器单元 [2]和以压缩十进制数的形式存入SUM以下单元。 [3] 将和送到屏幕显示部分功能的实现采用子程序的形式。 [4] 实验步骤如下 a. 用全屏幕编辑软件建立源程序。 b.用masm.exe汇编程序对源程序进行汇编,形成目标程序。 c. 用link.exe连接程序对目标程序进行连接形成可执行文件。 d. 用DEBUG对连接通过的可执行程序进行调试。 1.有一个首地址为A的N字数组,请编程序使该数组中的数按从大到小的次序排列。 编程要求及提示: [1] 参加排序的数据及个数由学生自己定义。 [2] 要将排序前的数组和排序后的数组在屏幕上显示出来。 [3] 实验步骤同内容一。 四. 问题讨论 1.在以十进制数形式参加运算的程序设计中,应注意那些问题。 2.总结循环程序设计的步骤及方法。 五. 实验报告要求 实验名称 1. 实验目的2. 实验仪器 3. 实验内容4. 给出实验内容对应的源程序及流程 5. 问题讨论 实验三简单I/O接口设计 一.实验目的 1.掌握简单I/O接口电路的设计方法 2.掌握简单I/O电路的调试及驱动程序的设计方法 二.实验仪器及器材 1.586 微机1台 2.微机实验台1台 3.+5V 3A直流稳压电源1台 4.三用表1台 5.74LS273及74LS245 各1片 6.剪刀、镊子各1把 7.单股导线若干 三.实验内容 1. 简单并行输出接口 实验线路如图3-1(a)所示, 74LS273的功能如图3-1(b)所示。 图 3-1(a) 返回实验目录 实验步骤: [1] 硬件连线 从实验台的I/O模块的JS37接线孔选择I/O地址连接到DRV模块的JS9的273CP上作为74LS273的CLK信号, 74LS273锁存器的输出Q0-Q7通过JS11插线孔连接到LED电路模块上的JS13上(LED模块电路参考第二章图2-8) 。在CPU对74LS273进行写操作时,如果正确锁存数据,既送“FF”时发光二极管全灭,若送全“0”时,发光二极 管全亮。 [2] 软件编程方法 a.可利用debug的o命令对输出端口进行调试。 b.编写一简单程序(可利用debug的A命令),从键盘输入一字符,将其代码通过JS11输出到LED模块的 JS13,根据8个发光二极管发光情况验证其正确性。 c.纪录实验结果及现象。 图 3-1(b) 74LS273真值表 2. 简单并行输入接口 实验电路如图3-2(a)所示,74LS245的功能如图3-2(b)所示。 实验步骤 [1] 硬件连线 从实验台的I/O模块的JS37选择I/O地址连接到DRV模块的JS10上作为74LS245的/E选通信号,,74LS245的8个数据输入 端B0-B7通过JS12接线孔分别接SWITCH模块的逻辑电平开关输出端JS26的K0-K7(SWITCH模块电路参考第二章图2-7) 。8个数据输入端A0-A7已经和系统总线D0-D7相连。 [2] 软件编程方法 a.可利用debug的I命令对输入端口进行调试。 b.用逻辑电平开关预置某个字符的ASCII码,编一简单程序(可利用DEBUG的A命令),输入这个代码,并将其在屏幕上 显示出来。 C.纪录实验结果及现象。 图 3-2(a) 方向控制DIR传送方向 L L H L H X B → A A ← B 三态 使能/E 图 3-2(b)74LS245 真值表 四.问题讨论 1. 总结简单I/O接口电路设计的方法。 2. 总结I/O输入端口设计时应注意的问题。 五. 实验报告要求 实验名称 1.实验目的 2.实验仪器及器材 3.实验内容及实验结果 4.问题讨论 实验四 8255可编程并行接口实验 一.实验目的 1. 掌握8255A与8位系统总线的连接方法。 2. 掌握8255A的方式0、方式1的使用及编程方法。 3. 掌握8255A PC口位管理功能的使用方法及编程方法。 二.实验仪器与器材 1. 586 微机1台 2. 微机实验台1台 3. 导线若干 4. +5V 3A直流稳压电源1台 5. 剪刀、镊子等各1把 三.实验线路 实验台上8255模块上配置的8255A与系统总线的连线图如图3-3所示。PA口、PB口、PC口分别通 过三组接线孔JS5、JS6、JS7引出,其它控制信号通过JS8引出。D0-D7已经与系统总线D0-D7相 连。 返回实验目录 实验四8255可编程并行接口实验 一.实验目的 1. 掌握8255A与8位系统总线的连接方法。 2. 掌握8255A的方式0、方式1的使用及编程方 法。 3. 掌握8255A PC口位管理功能的使用方法及编 程方法。 二.实验仪器与器材 1. 586 微机1台 2. 微机实验台1台 3. 导线若干 4. +5V 3A直流稳压电源1台 5. 剪刀、镊子等 各1把 图 3-3 三.实验线路 实验台上8255模块上配置的8255A与系统总线的连线图如图3-3所示。PA口、PB口、PC口分别通过三组接线孔 JS5、JS6、JS7引出,其它控制信号通过JS8引出。D0-D7已经与系统总线D0-D7相连。 1. 8255A方式控制字各位功能 8255A方式控制字各位功能如图3-5所示。 2. 8255A PC口位管理使某位置1/复位。 8255A PC口位管理使某位置1/复位的方法如图3-4所示。PC口位管理时,一定要满足其端口地址使8255的A0、 A1为11。 3. 方式1的联络信号 8255的PA口、PB口可以工作在方式1—有联络信号的输入/输出方式,所有联络信号均由PC口的某些位承担, 其具体情况参考有关教材。 四.实验内容 1. 方式0 — 基本I/O方式练习。 [1] 将PA口设置成方式0输出,从PA口输出FEH数据,并将输出的数据送至LED灯显 图 3-4 图 3-5 四.实验内容 1. 方式0 — 基本I/O方式练习。 [1] 将PA口设置成方式0输出,从PA口输出FEH数据,并将输出的数据送至LED灯显示。此过程保持一秒钟左右, 使PA口输出的数据循环左移一位后再从PA口输出,以后重复以上过程。 [2] 将PA口、PB口分别设置成方式0输出、输入。其输入数据用SWITCH模块的逻辑电平开关模拟,输出的数据 用LED模块的发光二极管监视。编程实现从PB口输入数据,并将输入的数据从PA口输出,在LED灯上显示观察 其正确性。 实验步骤: [1] 硬件连接 a.将PA口的输出通过JS5接线孔对应连接到LED模块的JS13接线孔上。 b. 将PB口通过JS6接线孔对应连接到SWITCH模块的JS26接线孔上。 c. 将8255A的控制信号通过JS8接线孔连接到JS40、JS39对应接线孔上。并通过I/O模块的JS37接线孔选择I/O地址 接到JS8的/CS上作为8255A的片选信号。 [2] 编程 用户依据上面给出的实验内容进行编程实验,编程时既可用完整的汇编语言程序设计方法完成,也可在 DEBUG下用相应的命令实现。 [3] 记录实验现象 2. PC口位管理使某位“置位/复位” 使PC口的位通过JS7接线孔接到LED模块的JS13接线孔的对应位置上,用发光二极管的亮/灭监视PC口某位置 位(灭)或复位(亮)的正确性。其实验方法同内容1。 3. 方式1—有联络信号的输入/输出方式练习。 将PA口设置为方式0输出,其输出用LED灯监视;PB口设置为方式1输入,外设输入到PB口的数据用逻辑电 平开关模拟。编程实现从PB口输入外设数据,并将输入的数据经PA口输出,用LED灯监视其正确性。 实验步骤: [1] 硬件连线 在内容1硬件连线上的基础上,外设给PB口的数据选通信号/STB用单脉冲模拟,即将PLUSE模块单脉冲输出 接线柱JS27的负脉冲输出连接到8255的JS7的PC2接线孔。 [2] 编程 在确保硬件连线无误的情况下,编写题目所要完成功能的程序,其参考流图如图3-6所示。 图 3-6 [3] 记录实验现象 五.问题讨论 总结8255A方式0与方式1的区别。 六.实验报告要求 1.实验目的 2.实验仪器及器材 3.实验线路 4.实验内容及结果 5.问题讨论 返回实验目录 实验五8253定时器/计数器实验 一.实验目的 1.掌握8253与系统总线的接口方法。 2.掌握8253 6种工作方式的初始化编程方法及工作时序关系。 二.实验仪器及器材 1.586微机1台 2.微机实验台1台 3.+5V 3A直流稳压电源1台 4.20MHZ双踪示波器1台5.导线若干6.剪刀、镊子等各1把 三.实验线路 实验台上8253模块配置的8253的连线图如图3-8所示。其中,8253定时器通道0的CLK0、GATE0、OUT0连到了JS2接线孔;通道1 的CLK1、GATE1、OUT1连到了JS3接线孔;通道2的CLK2、GATE2、OUT2连接到JS4接线孔上。控制信号连接到了JS1接线孔, D0_D7已经与系统总线的D0_D7连接。 四.8253工作方式控制字 8253工作方式控制字如图3-9所示。其中SC1、SC0决定对哪一个通道的计数器进行初始化。 SC1 SC0 0 0 选择计数器0 0 1 选择计数器1 1 0 选择计数器2 1 1 为非法 图 3-8 RL1、RL0决定所初始化的通道读写的规律 RL1 RL0 0 0 计数器锁存操作 0 1 只读/装入低字节 1 关键词: 微型计算机 原理 应用 电子信息工程 计算机

天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

关于本文

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。