首页 微机原理及应用实验教程参考答案

微机原理及应用实验教程参考答案

举报
开通vip

微机原理及应用实验教程参考答案微机原理及应用实验教程参考答案 实验一 DEBUG调试程序... 2 实验二 循环程序设计... 6 实验三 排序程序设计... 8 实验四 系统功能调用... 10 实验五 8253定时/计数器应用实验... 13 5.0基础知识. 13 5.1 8253的工作方式. 16 实验六 8255并行接口应用实验... 17 6.0基础知识. 17 6.1实验1 8255A工作方式. 19 6.2 实验2 8255A应用——交通灯控制. 22 实验七 模数转换器ADC0809接口实验... 25 7....

微机原理及应用实验教程参考答案
微机原理及应用实验教程参考答案 实验一 DEBUG调试程序... 2 实验二 循环程序设计... 6 实验三 排序程序设计... 8 实验四 系统功能调用... 10 实验五 8253定时/计数器应用实验... 13 5.0基础知识. 13 5.1 8253的工作方式. 16 实验六 8255并行接口应用实验... 17 6.0基础知识. 17 6.1实验1 8255A工作方式. 19 6.2 实验2 8255A应用——交通灯控制. 22 实验七 模数转换器ADC0809接口实验... 25 7.0 基础知识. 25 7.1 ADC0809的应用. 26 实验一 DEBUG调试程序 一、实验目的 掌握DEBUG调试软件的基本命令。为今后编程调试,打下基础。 二、实验内容: DEBUG.EXE程序是专门为分析、研制和开发汇编语言程序而设计的一种调试工具,具有跟踪 程序执行、观察中间运行结果、显示和修改寄存器或存储单元内容等多种功能。它能使程序设计人员或用户触及到机器内部,因此可以说它是80X86CPU的心 灵窗口,也是我们学习汇编语言必须掌握的调试工具。WINDOWS操作系统安装时自带有DEBUG.EXE程序,不需另外安装。 1、DEBUG程序的使用 在DOS提示符下键入命令: C:\> DEBUG [盘符:][路径][文件名.EXE][参数1][参数2] 这时屏幕上出现DEBUG的提示符“-”,表示系统在DEBUG管理之下,此时可以用 DEBUG进行程序调试。若所有选项省略,仅把DEBUG装入内存,可对当前内存中的内容进行调试,或者再用N和L命令,从指定盘上装入要调试的程序;若 命令行中有文件名,则DOS把DEBUG程序调入内存后,再由DEBUG将指定的文件名装入内存。 2、DEBUG的常用命令 (1)汇编命令 A 格式:A [起始地址] 或 A ;每输入完一条指令,用回车键来确认。 功能:将输入源程序的指令汇编成目标代码并从指定地址单元开始存放。若缺省起始地址,则从当前 CS:100 (段地址:偏移地址)地址开始存放。A命令是按行进行汇编,主要是用于小段程序的汇编或对目标程序的修改,具有检查错误的功能。如有错误,用^Error 提示。然后重新输入正确命令即可。 注:DEBUG的A命令中数字部分输入的默认格式是16进制。如输入10,对于计算机而言,就是10H。另外A命令不支持标识符的输入。只能用准确的段地址:偏移地址来设置跳转的位置。 (2)反汇编命令 U 格式1:U [起始地址] 格式2:U [起始地址][结束地址|字节数] 功能:格式1从指定起始地址处开始固定将32个字节的目标代码转换成汇编指令形式,缺省起始地址,则从当前地址CS:IP开始。 格式2将指定范围的内存单元中的目标代码转换成汇编指令。 (3)显示、修改寄存器命令 R 格式:R[寄存器名]或R 功能:若给出寄存器名,则显示该寄存器的内容并可进行修改。缺省寄存器名,则按以下格式显示所有寄存器的内容及当前值(不能修改)。 AX=0000 BX=0004 CX=0020 DX=0000 SP=0080 BP=0000 SI=0000 DI=0000 DS=3000 ES=23A0 CS=138E IP=0000 NV UP DI PL NZ NA PO NC 138E:0000 MOV AX,1234 -R AX ;输入命令 AX 0014 ;显示AX的内容 : ;供修改,不修改按回车。 若对 标志 禁止坐卧标志下载饮用水保护区标志下载桥隧标志图下载上坡路安全标志下载地理标志专用标志下载 寄存器进行修改,输入:-RF 屏幕显示如下信息,分别表示OF、DF、IF、SF、ZF、AF、PF、CF的状态。 NV UP DI PL NZ NA PO NC 不修改按回车键。要修改需个别输入一个或多个此标志的相反值,再按回车键。R命令只能显示、修改16位寄存器。 (4)显示存储单元命令 D 格式1:D[起始地址] 格式2:D[起始地址][结束地址|字节数] 功能:格式1从起始地址开始按十六进制显示80H(128)个单元的内容,每行16个单元,共 8行,每行右边显示16个单元的ASCII码,不可显示的ASCII码则显示“?”。格式2显示指定范围内存储单元的内容,其他显示方式与格式1一样。如 果缺省起始地址或地址范围,则从当前的地址开始按格式1显示。 例如: -D 200 ;表示从DS:0200H开始显示128个单元内容 -D 100 120 ;表示显示DS:0100-DS:0120单元的内容 说明:在DEBUG中,地址表示方式有如下形式: 段寄存器名:相对地址,如:DS:100 段基值:偏移地址(相对地址),如:23A0:1500 (5)修改存储单元命令 E 格式1:E[起始地址] [内容表] 格式2:E[地址] 功能:格式1按内容表的内容修改从起始地址开始的多个存储单元内容,即用内容表指定的内容来代替存储单元当前内容。 例如:—E DS:0100 'VAR' 12 34 表示从DS:0100 为起始单元的连续五个字节单元内容依次被修改为 'V'、'A'、'R'、12H、34H。 格式2是逐个修改指定地址单元的当前内容。 如:—E DS:0010 156F:0010 41.5F 其中156F:0010单元原来的值是41H,5FH为输入的修改值。若只修改一个单元的内 容,这时按回车键即可;若还想继续修改下一个单元内容,此时应按空格键,就显示下一个单元的内容,需修改就键入新的内容,不修改再按空格跳过,如此重复直 到修改完毕,按回车键返回DEBUG“-”提示符。如果在修改过程中,将空格键换成按“-”键,则表示可以修改前一个单元的内容。 (6)运行命令 G 格式:G[=起始地址][第一断点地址[第二断点地址„„] 功能:CPU从指定起始地址开始执行,依次在第一、第二等断点处中断。若缺省起始地址,则从当前CS:IP指示地址开始执行一条指令。最多可设置10个断点。 (7)跟踪命令 T 格式:T[,起始地址][正整数] ;缺省时执行一条指令 功能:从指定地址开始执行‘正整数’条指令。若缺省‘正整数’,表示执行一条指令,若两项都缺省,表示从当前CS:IP指示地址开始执行一条指令。 (8)指定文件命令 N 格式:N<文件名或扩展名> 功能:指定即将调入内存或从内存写入磁盘的文件名。该命令应该用在L命令和W命令之前。 (9)装入命令 L 格式1:L[起始地址][盘符号][扇区号][扇区数] 格式2:L[起始地址] 功能:格式1根据盘符号,将指定扇区的内容装入到指定起始地址的存储区中。 格式2将N命令指出的文件装入到指定起始地址的存储区中,若省略起始地址,则装入到CS:100处或按原来文件定位约定装入到相应位置。 (10)写磁盘命令 W 格式1:W<起始地址>[驱动器号]<起始扇区><扇区数> 格式2:W[起始地址] 功能:格式1把指定地址开始的内容数据写到磁盘上指定的扇区中。 格式2将起始地址的BX×10000H+CX个字节内容存放到由N命令指定的文件中。BX中存 放程序段地址的末地址与首地址的差(通常程序存放在一个段中,即BX,0),CX中存放偏移地址的末地址与首地址的差。在格式2的W命令之前,除用N命令 指定存盘的文件名外,还必须将要写的字节数用R命令送入BX和CX中。 (11)退出命令 Q 格式:Q 功能:退出DEBUG,返回到操作系统。 以上介绍的是DEBUG常用命令,其他命令请参考有关书籍。 练习程序:1。 将0,99等100个数依次存放到1000:0000为首地址的存储单元中。 xxxx:0100 MOV AX,1000 ;数据段地址 MV DS, AX XOR BX, BX ;清零 MOV CX, 0064 ;循环次数 MOV AL,00 xxxx:010C MOV [BX],AL INC AL DAA ;加法的十进制调整 INC BX LOOP 010C ;跳转到010c处 INT 03 所对应的宏汇编格式的程序: DATA SEGMENT 32 DB DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,1000H MOV DS, AX XOR BX, BX MOV CX, 0064H MOV AL, 00H A1: MOV [BX], AL INC AL DAA INC BX LOOP A1 MOV AX, 4C00H INT 21H CODE ENDS END START 三、实验步骤: 通过练习程序,熟悉相关DEBUG的命令。 (1)用A命令输入相关程序。 (2)保存该程序到硬盘中。 1) 先要计算该程序的大小。分别在BX和CX送入相应的数值。 2) 用N命令给程序起文件名。 例:,N C:\STU\文件名.COM。此时保存的文件后缀名只能是.COM的(或缺省不要后缀名)。 3) 用W命令将程序写入到一个指定的地方或由计算机选择转载地址。 例:,W xxxx:xxxx 或,W (3)用Q命令退出DEBUG。 (4)用DEBUG 路径\文件名.COM 的方式,将刚才保存的文件重新装入到内存。 (5)用U命令,查看程序转载的地址。 (6)用G命令运行程序。 例:,G=xxxx:xxxx 从程序转载处的地址开始运行 (7)查看结果。如果结果在寄存器中,用R命令查看。如果结果在存储单元中,用D命令查看。 实验二 循环程序设计 一、实验目的 1、加深对循环结构的理解。 2、掌握循环结构程序设计的 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 。 3、熟练掌握调试循环程序的方法。 二、实验内容 编制程序 1、使 S=1+2*3+3*4+„+N*(N+1),直到N*(N+1)项大于200为止 2、求某数据区内负数的个数。 设数据区的第一个单元存放数据的个数,从第二个单元开始存放数据,在最 后一个单元存放结果。 参考程序一如下: STACK SEGMENT STACK DB 32 DUP (?) STACK ENDS CODE SEGMENT ASSUME CS:CODE START: MOV DX, 0001H MOV BL, 02H A1: MOV AL, BL INC BL MUL BL ADD DX, AX CMP AX, 00C8H JNA A1 INT 03H CODE ENDS END START 参考程序二、(数据段内的数据可根据需要改变) STACK SEGMENT STACK DW 64 DUP(?) STACK ENDS DATA SEGMENT DB 06H,12H,88H,82H,90H,22H,33H DATA ENDS CODE SEGMENT ASSUME CS:CODE,SS:STACK,DS:DATA START:MOV AX,DATA MOV DS,AX MOV DI,0000H MOV CL,[DI] XOR CH,CH MOV BL,CH INC DI A0: MOV AL,[DI] TEST AL,80H JE A2 INC BL A2: INC DI LOOP A0 MOV [DI],BL MOV AX,4C00H INT 21H CODE ENDS END START 三、实验步骤: (1)用编辑软件如:EDIT,输入源程序,并保存,后缀名为 . ASM。 (2)用MASM.EXE编译源程序,编译无错后,生成相应的OBJ目标文件。 (3)用LINK. EXE 连接OBJ文件,生成可执行的EXE文件。 (4)运行程序:根据需要,可选择直接通过文件名的方式运行程序,或者 是用DEBUG将可执行的EXE文件跳入内存后,用G命令运行。 例:C:\> DEBUG 文件名. EXE -U ;先用反汇编来查看源程序装入的地址和数据段的地址 : -G=xxxx:xxxx ;从程序装入的地址处,开始运行程序 (5)查看实验结果。 (6)也可使用EMU8086软件进行调试和运行。 实验三 排序程序设计 一、实验目的 1、掌握分支、循环、子程序调用等基本的程序结构。 2、学习综合程序的设计、编制及调试 二、实验内容 在数据区中存放着一组数,数据的个数就是数据缓冲区的长度,要求用大数沉底法(或冒泡法)对该数据区中数据按递增关系排序。 设计思想: A、从最后一个数(或者第一个数)开始,依次把相邻的两个数进行比较,即第N个数与第N-1个 数比较,第N-1个数与第N-2个数比较等等;若第N-1个数大于第N个数,则两者交换,否则不交换,直到N个数的相邻两个数都比较完为止。此时,N个数 中的最小数将被排在N个数的最前列。 B、对剩下的N-1个数重复上步,找到N-1个数中的最小数。 C、重复第二步,直到N个数全部排序好为止。 编程:将DATA数据区内的10个16位有符号二进制数,由小到大排序,结果 放在原数据区。 这16个数是:6666H, 7777H, 8888H, 9999H, 0AAAAH, 0BBBBH, 0CCCCH, 0DDDDH, 0EEEEH, 0FFFFH 参考程序: DATA SEGMENT DW 6666H, 7777H, 8888H, 9999H, 0AAAAH, 0BBBBH, 0CCCCH, 0DDDDH, 0EEEEH, 0FFFFH DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX, DATA MOV DS, AX MOV CX, 9 L1: MOV DX, CX MOV BX, 0 L2: MOV AX, [BX] INC BX INC BX CMP AX,[BX] JLE DONE ;小于或等于转移 XCHG [BX], AX DEC BX DEC BX MOV [BX], AX INC BX INC BX DONE : DEC DX JNE L2 LOOP L1 MOV AX, 4C00H INT 21H CODE ENDS END START 三、实验步骤: (1)用编辑软件如:EDIT,输入源程序,并保存,后缀名为 . ASM。 (2)用MASM.EXE编译源程序,编译无错后,生成相应的OBJ目标文件。 (3)用LINK. EXE 连接OBJ文件,生成可执行的EXE文件。 (4)运行程序:根据需要,可选择直接通过文件名的方式运行程序,或者 是用DEBUG将可执行的EXE文件跳入内存后,用G命令运行。 例:C:\> DEBUG 文件名. EXE -U ;先用反汇编来查看源程序装入的地址 : -G=xxxx:xxxx ;从程序装入的地址处,开始运行程序 (5)查看实验结果。 实验四 系统功能调用 一、实验目的: 1、了解INT 21H及INT 10H中断系统中各功能块的作用及用法。 2、掌握字符方式下PC机显示器的显示控制。 二、实验内容及步骤: 1、在屏幕上输出HELLO WORLD的字符串。 2、等待键盘输入,无论是小写还是大写字母,均以大写字母显示在屏幕上, 数字和其他键无效,回车返回系统。(做完后,考虑如果要改成数字键有效,字 符键无效,应如何编写) 3、在显示器上显示A-Z,26个英文字母。 4、从键盘输入0,F,显示对应不同的背景色。 参考程序一: DATA SEGMENT TEXT DB ‘HELLO WORLD !’,0DH,0AH,’$’ DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX, DATA MOV DS, AX MOV AH, 9 LEA DX,TEXT ;或者用MOV DX,OFFSET TEXT INT 21H MOV AH, 4CH INT 21H CODE ENDS END START 参考程序二: CODE SEGMENT ASSUME CS:CODE START: MOV AH,07H ;等待键盘输入,无回显 INT 21H CMP AL,0DH ;回车键 JZ RT CMP AL, ’z’ ;小写z JA START CMP AL, ’a’ ;小写a JB L1 SUB AL, 20H JMP L2 L1: MP AL, ’Z’ ;大写Z JA START CMP AL, ’A’ ;大写A JB START L2: MOV AH,0EH ;显示字符,也可用21H当中的2号功能代替,显 示字符在DL INT 10H JMP START RT: MOV AH,4CH ;结束返回系统 INT 21H CODE ENDS END START 参考程序三: CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AL,'A' A2: MOV AH,0EH INT 10H INC AL CMP AL,'Z' JB A2 MOV AH, 4CH INT 21H CODE ENDS END START 参考程序四: DATA SEGMENT TBL DB 48 DUP (0FFH) DB 0,1,2,3,4,5,6,7,8,9 DB 39 DUP (0FFH) DB 0AH, 0BH, 0CH, 0DH, 0EH, 0FH DB 57 DUP (0FFH) DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX, DATA MOV DS, AX STD: MOV AL, 04 MOV AH,00H ;320*200的彩色图形模式 INT 10H ST1: MOV AH,00H ;读取键盘状态 AL,字符码 INT 16H CMP AL, 0DH JZ RTN MOV BX, OFFSET TBL XLAT ;(AL+BL),>AL CMP AL, 0FFH JZ ST1 MOV BL, AL MOV BH, 00H ;置彩色调色板,BH=彩色调色板ID,BL和ID配套使用的 颜色 MOV AH, 0BH INT 10H JMP ST1 RTN: MOV AL, 03H ;80*25彩色模式 MOV AH, 00H INT 10H MOV AX, 4C00H INT 21H CODE ENDS END START 实验五 8253定时/计数器应用实验 5.0基础知识 可编程计数器,定时器接口芯片8253的基本功能是对脉冲信号进行计数。当它用于对外部事件计 数时,它的作用是计数器;当它用于对内部基准时钟计数时,它的作用是定时器。8253内部有3个独立的计数器,又称为3个通道,具有完全相同的功能,其芯 片结构和引脚如图2.3.1所示。 8253有2位地址线A0和A1用于内部寻址,内部地址分配如下: A1 A0 读操作 写操作 读通道0当前计数写通道0计数初值 00 值 读通道1当前计数写通道1计数初值 01 值 读通道2当前计数写通道2计数初值 10 值 非法操作 写通道0、1、2控11 制字 8253每个通道的内部结构主要由三部分组成:初值寄存器、减1计数器和输出锁存器,其结构如图2.3.2所示。 8253每个通道有6种不同的工作方式,这些工作方式的区别主要体现在GATE信号控制作用以及OUT信号输出波形的不同。归纳起来,各种工作方式有以下特点: 其中方式0和1输出波形相同,前者为编程触发,后者为GATE升沿触发;方式2和3输出连续波 形,常用作分频器,其触发方式既可以采用GATE升沿触发,也可以采用编程触发(当GATE=1时);方式4和5输出波形相同,前者编程触发,后者 GATE升沿触发。所谓编程触发(即软触发)是指对8253某一通道进行编程(写控制字和计数初值或只写计数初值)后,即能触发通道工作;所谓GATE升 沿触发(即硬触发)是指对通道编程后,还需要硬件信号GATE升沿才能触发通道工作。软触发时,一次编程只能触发一次;硬触发时,一次编程后可用GATE 升沿多次触发。 需要说明的是,无论是软触发还是硬触发,对于CLK信号都可能是异步的(即触发时序与CLK无 关),所以在8253各通道内部,都要采用各种的CLK信号对触发进行同步,具体地说,无论何种触发,都要在其后CLK信号完成一次?和?后才能真正实 现,其后计数器的减1计数,也是在CLK?进行的。这些细节,在后面的实验中请注意观察。 在通道工作过程中,随时可以读取其当前计数值。如果是静态读取(即在停止计数的情况下),可以直接从通道读取;如果是动态读取(即边计数边读取),则必须先把减1计数器的内容锁存到输出锁存器中,然后才能进行读取。 对8253某个通道进行编程包括写方式控制字和计数初值。方式控制字只须一个字节,随后的计数 初值则可以只写一个字节(8位),也可以写两个字节(16位),要由前面的方式控制字决定。如果只写一个字节,则另一个字节自动清零。三个通道的方式控制 字都写入同一个控制口(A1A0=11),而计数初值则分别写入各自的通道口(A1 A0=00、01、10)。8253方式控制字的格式是: 其中:SC=00、01、10为通道选择: RL=00为输出锁存器锁存当前计数值, 01为只读、写低8位, 10为只读、写高8位, 11为读、写16位,先低后高; MODE=000—101为方式选择; BCD=0为二进制计数; 1为BCD码计数 5.1 8253的工作方式 一、实验目的 1、熟悉8253在系统中的典型接法。 2、掌握8253各种工作方式的特点及应用编程。 二、实验内容: 本实验利用实验箱提供的8253芯片的通道0进行。按以下方法接线即可: 8253数据线D0,D7,地址线A0、A1,控制线RD、WR分别和总线IOR和IOW相连接。 8253的引脚CS连接地址译码器输出Y0。 GATE0连接逻辑开关K0端。 CLK0连接单脉冲(正)输出端。 OUT0连接逻辑笔输入端。(测试输出高低电平) 8253的电源和地分别连接实验箱的,5V和地。 参考程序: 工作方式0的输出 CODE SEGMENT ASSUME CS:CODE START: MOV AL,10H ;用T0 方式0 ,12H 方式1 , 14H 方式2 MOV DX,303H OUT DX,AL MOV AL,05H ;计数5次 MOV DX,300H OUT DX,AL LOOP0: MOV AH,0BH ;检查是否有按键按下,有推出,无等待。 INT 21H AND AL,AL JZ LOOP0 MOV AH,4CH INT 21H CODE ENDS END START 三、实验步骤 (1)按照要求连接线路。 (2)编写程序。 (3)查看结果,通过OUT端的输出电平和GATE端的信号。 (4)如果要使用其他的工作方式,考虑线路和程序应如何修改。总结8253各种工作方式的特点 四、思考 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 (1)8253工作方式0和1有何区别, (2)8253工作方式2和3有何区别, (3)8253工作方式4和5有何区别, 实验六 8255并行接口应用实验 6.0基础知识 并行通信接口芯片8255A的基本功能是以并行的方式在系统总线与I,,设备之间传送数据。 8255A共有3个I,,端口,其中A口和B口均为8位,而C口即可以作为8位端口,又可以分解为两个7位端口。8255A共有3种不同的工作方式,方式 0为基本I,,方式,方式1为选通I,,方式,方式2为双向I,,方式。端口A可以选择方式0、1、2,端口B可以选择方式0、1,而端口C首先要按照端 口A和B的工作方式提供相应的联络线,剩余部分则只能按照方式0工作。A口和B口的输入输出都具有数据锁存功能,C口输出有锁存能力,而输入没有锁存能 力。 8255A芯片的内部结构和引脚如图2.4.1所示。 8255A有2位地址线A0和A1用于内部寻址,内部地址分配如下: A1 A0 读操作 写操作 00 读A输入数据 写A输出数据 01 读B输入数据 写B输出数据 10 读C输入数据 写C输出数据 11 读状态字 写控制字 8255A控制字分为两种,一种是方式控制字,另一种是C口位写控制字。 方式控制字的格式如下: 其中A组的方式可以是00、01、10,B组的方式可以是0、1,所有的方向控制位为0表示输出、为1表示输入。8255A只需要一个方式控制字就可以决定其全部工作方式。 C口位写控制字的格式如下: 其中位地址可以是000—111,分别表示C口的8位D0-D7,内容可以是0、1,该控制字的作用是把内容0或1写入C口指定的位中,所以称为C口位写控制字。 8255A工作方式0是基本I,,工作方式。在输入时,外设只需要把数据传送给端口引脚、CPU就可以相应的端口中读取数据;在输出时,CPU只需要把数据写入端口,就能从相应的端口引脚把数据传送给外设。如果端口A和B都选择方式0,那么端口C的所有8位也都可以作为 I,,口使用。并且端口A、B、CH和CL都可以独立选择用作输入口或者输出口,所以一共可以有16种不同的I,,配置。 8255A工作方式1是选通I,,工作方式。这种工作方式除了传送数据外,端口和外设间还需要 有一对联络线,用以传送握手信号。另外端口还有一根中断请求线,用于向系统申请中断。这三根线都要从C口借用。所以,当端口A ,另一 个选择方式0,C口能独立使用的I,,线只有5和B有一个选择方式1 根;而当端口A和B都选择方式1,共要从C口借用6根线,C口能独立使用的I,,线就只有两根了。另有一点 要注意,端口A在输入和输出两情况下,借用C口不同的位线作为联络线;端口B在输入和输出两种情况下,借用C口相同的位线作为联络线,如图2.4.2所 示。 按方式1工作,输出端口的数据传送过程如下: (1)外送把数据传送给端口引脚,并发出STB信号(负脉冲); (2)STB信号把数据锁存到端口内,并使IBF变高, 通知 关于发布提成方案的通知关于xx通知关于成立公司筹建组的通知关于红头文件的使用公开通知关于计发全勤奖的通知 外设不可传送下一个数; (3)STB信号使INT变高,向系统申请中断,CPU响应中断; (4)CPU从端口读取数据,使IBF和INT变低,再从(1)重复进行。 输入选通信号/STB低电平有效。由外部提供,外设用/STB信号将数据锁存在输入缓冲器中。 输入缓冲器满信号IBF,高电平有效。当IBF有效时,表示缓冲器中有一个数据尚未被CPU取走。外设可使用此信号来决定是否能送下一个数据。它可以看成是/STB的应答信号。 而输出端口的数据传送过程如下: (1)CPU把数据写入端口,使OBF和INT变低,OBF通知外设取数; (2)外设从端口引脚取得数据,并发出ACK信号(负脉冲); (3)ACK信号使OBF变高; (4)ACK信号使INT变高,向系统申请中断,CPU响应中断,再从(1)重复进行。 输出缓存器满信号/OBF,低电平有效。该信号通知外设,在规定的端口上已有一个有效数据,外设可以取走。 外设响应信号/ACK,低电平有效。有效时表示外设已从该端口取走数据。/ACK有效时使/OBF=1; 8255A工作方式2是双向I,,工作方式,仅适用于端口A。这种工作方式在端口和外设间需要 两对联络线,分别用于传送输入和输出时的握手信号;而中断请求线只有一根,输入和输出合用同一个中断请求。这五根线都要从C口借用。所以,当端口A选择方 式2,端口B选择方式0,共要从C口借用5根线,C口能独立使用的I,,线只有3根;而且端口A选择方式2,端口B选择方式1,共要从C口借用8根线,C 口就没有能独立使用的I,,线了。8255A工作方式2的联络线如图2.4.3所示。 端口A按方式2工作,输入数据或输出数据的传送过程基本上与方式1相同,只是输出过程的(2)要改为: “外设发出ACK=0信号,从端口引脚取得数据,再发出ACK=1信号;” 综上所述,无论是端口A还是B,无论是方式1还是2,都需要从端口C借用联络线和中断请求线, 在这些信号中,除了STB和ACK以外,其它所有信号的状态都可以在端口C中读取(端口的位与引脚的位相对应),这给不采用中断方式而采用查询方式进行 I,,传送来说是十分方便的。而端口C中的STB和ACK所对应的位(PC2、PC4和PC6)虽然不能用于查询,但却用作中断允许控制位,其中PC6和 PC4分别用于端口A输出和输入时的中断允许控制,PC2用于端口B输出或输入时的中断允许控制,均可采用位写控制字进行设置。 6.1实验1 8255A工作方式 一、实验目的: 1(学习并掌握8255的各种工作方式及其应用。 2(学习在系统接口实验单元上构造实验电路。 二、实验内容及步骤: (一)8255工作方式0、1的输入和输出。 A)(连线:8255的数据线D0,D7,地址线A0、A1,控制线RESET,RD,WR,分别和总线相连接,电源和地分别连到实验箱的,5V和地。 8255的CS片选连接地址译码器输出Y0。注意:Y0输出后经74HC04的两个反相非门后再接入/CS。 300,307地址中,303同307为方式控制字地址,300同304为PA,以后顺延为PB、PC。 PA0,PA7连到逻辑开关输入端K0,K7。 PC4(/STBA)连到单脉冲(负)输出端。 PC5(IBFA) 连到逻辑笔输入端。(检测输出的高低电平信号) B)(实验在DEBUG下进行,可以不必编程,直接用DEBUG的I和O进行输入输出即可。 (1)工作方式0、1输入。(在DEBUG环境中,后同) 74HC04 六倒相器,该片的电源和地实验箱上已经接好,直接使用。 键入O307 9B ;写入方式控制字10011011B,工作方式0 任意拨动开关,键入I304 从端口A输入数据,记录输入数据和开关状态。 重复上步,记录输入数据和开关状态。 键入O307 BB ;写入方式控制字10111011B,工作方式1 任意拨动开关,键入I304 从端口A输入数据,记录输入数据和开关状态。 发单脉冲至/STBA,记录IBFA状态; 键入I304 记录输入数据和IBFA的状态。 重复以上3步。 ※1方式下的输入过程。外设将数据送到A口,发出/STB信号。由/STB信号,将数据锁存到A口输入锁存器中。同时,IBF有效(高电平),表示有数据等待被接收。当CPU读取数据后,IBF无效(低电平)。等待下一次的数据输入。 (2)工作方式0、1输出。 连线:PA0,PA7改连到逻辑电平显示端(发光二极管)L0,L7(红色R和绿色G均可)。 PC6 (/ACKA) 至单脉冲(负)输出端。 PC7 (/OBFA) 至逻辑笔输入端。 键入O307 8B 写方式控制字10001011B,工作方式0 键入O304 XX 相端口A输出数据,XX为任意Hex数,记录显示状态和/OBFA状态。 发单脉冲至/ACKA,记录/OBFA状态 重复以上两步。 ※方式字送出后,OBF为高电平,输出寄存器无数据。当有数据送到输出寄存器,OBF变低,输出寄存器满,等待外设取数据。数据被取走后,变低,等待CPU送数据。 (二)编程。 要求:A口工作在方式1,输入。B口工作在方式0,输出。输入接拨动逻辑开关,输出接逻辑电平显示灯。 连线:不改变上述方式1时的连线,增加PB口的连线。 参考程序: CODE SEGMENT ASSUME CS: CODE START: MOV DX, 307 MOV AL, 0B0H OUT DX, AL AA: MOV DX, 304H IN AL, DX MOV DX, 305H OUT DX, AL MOV AH, 0BH ;检测键盘输入 INT 21H AND AL, AL JZ AA MOV AL, 00H ;;退出前关灯 OUT DX, AL MOV AH, 4CH INT 21H CODE ENDS END START (3)端口C的位写操作,如图2.4.6所示: ? 8255数据线D0-D7、地址线A0、A1、控制线RESET、RD、WR分别和总线 相连接; ? 8255引脚CS连接地址译码器输出Y0; ? 分别连接PC0-PC7至逻辑开头输入端L0-L7(红色R或绿色G均可); ? 键入O307 80,CR, 写方式控制字10000000B,C口输出; ? 键入O307 0X,CR, 写位操作控制字,记录控制字和显示状态; ? 重复上步。 5、思考题 (1)8255A端口A方式1和2输出时ACK信号的时序为什么不同, (2)8255A端口C有位写操作,为什么没有位读操作, 6.2 实验2 8255A应用——交通灯控制 1、实验目的 ? 掌握8255A方式0的使用与编程方法。 2、实验设备与器件 ? PC机及配套的接口电路实验装置 ? IC芯片:8255A 3、实验内容 ? 采用8255A设计交通灯控制的接口 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 ; ? 插接电路; ? 编写控制程序。 4、实验步骤 (1)方案设计 考虑普通十字路口,交通灯的控制可分东西向和南北向两组,每组可用红、黄、绿三个灯进行交通管理,所以本方案要点是对六个交通灯进行控制。 由于灯光控制只需要开、关两个状态,所以可以采用开关量实施控制。开关量的输出可以采用8255A的端口,由于开关量有6位,所以采用8位端口,又因为灯光控制不需要联络信号,所以按照方式0输出即可。 首先确定8255A端口与交通灯的连接方式。假定采用端口A,按以下方式连接: 东西向:红灯接PA0,黄灯接PA1,绿灯接PA2; 南北向:红灯接PA4,黄灯接PA5,绿灯接PA6。 下面列出6个交通灯所有可能的状态(假定发光状态为高电平有效): 状PPPPPPPPP状态说明 态 A7 A6 A5 A4 A3 A2 A1 A0 A 00 0 0 0 0 0 0 0 0 关灯 0 1南北:红 东1 0 0 0 1 0 1 0 0 4 西:绿 1南北:红 东2 0 0 0 1 0 0 1 0 2 西:黄 1南北:红 东3 0 0 0 1 0 0 0 0 0 西:关 4南北:绿 东4 0 1 0 0 0 0 0 1 1 西:红 2南北:黄 东5 0 0 1 0 0 0 0 1 1 西:红 0南北:关 东6 0 0 0 0 0 0 0 1 1 西:红 状态变换的流程为: 其中状态1和4持续30秒,其他状态持续0.5秒,又状态2和3,状态5和6之间各循环5次。整个控制过程,要地要按照上面的流程,依次把相应的控制码输出到端口A,6个交通灯就能够按照要求实现交通管理。 (2)电路插接 本实验利用实验装置提供的8255A芯片和逻辑电平显示器进行。在实验1中,8255A的数据 线、地址线、控制线均已完成连接,所以插接工作只需连接8255A的端口A与6个逻辑电平显示器发光二极管之间的连线即可。注意发光二极管是双色的,每个 管对应有红、绿两个端子,要正确选用;对于黄灯、则同时连接红、绿两个端子,便可发出黄光。有关电路如图2.4.7所示。 (3)编程与运行 首先构造整个流程对灯光进行控制的代码表: 14, 12, 10, 12, 10, 12, 10, 12, 10, 12, 10, 41, 21, 01, 21, 01, 21, 01, 21, 01, 21, 01 以上均为十六进制且假设黄灯闪动5次。程序依次从码表中取出控制码输出到端口A,输出“14H”和“41H”后延时30秒,输出其它码字后延时0.5秒,整个过程循环进行。假设8255A的口地址为304—307H,参考程序如下: DATA SEGMENT TIME1 EQU 10 TIME2 EQU 80 OUT_CODE DB 14H, 5 DUP(12H, 10H), 41H, 5 DUP(21H, 01H), 0 DATA ENDS CODE SEGMENT ASSUME CS: CODE, DS: DATA START: MOV AX, DATA MOV DS, AX MOV DX, 307H MOV AL, 80H ;送方式字 OUT DX, AL MOV DX, 304H LOOP0: LEA SI, OUT_CODE LOOP1: MOV AL, [SI] AND AL, AL JZ LOOP0 OUT DX, AL INC SI MOV CX, TIME1 TEST AL, 44H ; 测码字为14H或41H, JZ DELAY 1 ; 均非 MOV CX, TIME2 DELAY1: PUSH CX PUSH AX MOV CX, 0040H A1: MOV AX, 056CH A2: DEC AX JNZ A2 LOOP A1 POP AX POP CX LOOP DELAY1 MOV AH, 0BH ;检测是否有键盘输入 INT 21H AND AL, AL JZ LOOP1 XOR AL, AL ;关灯退出 OUT DX, AL MOV AH, 4CH INT 21H CODE ENDS END START 运行程序,观测灯光变化规律,考虑到计算机运行速度不一致,改变程序中 的TIME值,可以调整延时时间,按键盘任意键,可终止运行。 5、思考题 (1)控制代码在实验中起什么作用, (2)控制代码应当根据什么因素加以确定, 6、实验报告 ? 总结本实验设计方案并绘制逻辑原理图 ? 注释程序 ? 回答思考题 实验七 模数转换器ADC0809接口应用实验 7.0 基础知识 模数转换器的基本功能是把模拟量(大多为电压)转换为数字量。模数转换器的转换类型主要有双积 分型、逐次逼近型和并行转换型等。双积分型模数转换器主要特点是转换精度较高、抗干扰性较好,但转换速度较慢,大多用于对速度要求不高的测量仪器中;逐次 逼近型模数转换器主要特点是转换速度较快,广泛应用于一般的工业过程测控领域;并行转换型模数转换器主要特点是转换速度极性,主要应用于高速数据采集和实 时系统中。 模数转换器的主要技术指标有: ? 转换位数或分辨率 ? 转换时间 ? 转换误差 ? 接口特性 其中转换位数是指转换后输出数据的二进制位数,转换时间是指从转换开始到转换结束全过程所需要的时间,转换误差是指实际转换结果与理论值之间的偏差,接口特性是指转换器与系统总线的连接以及转换过程的控制方法。 ADC0809是逐次逼近型8位模数转换器,具有8路模拟量(电压)输入通道,经芯片内部的多路开关切换,选择其中一路进行模数转换。ADC0809的内部结构和引脚如图2.10.1所示。 ADC0809与系统的接口包括两个输出口和一个输入口。第一个输出口用于控制芯片内部的模拟 通道选择,CPU输出的通道地址从ADC0809的引脚ADDA、ADDB、ADDC输入,并利ALE信号触发锁存;第二个输出口是哑元,用以触发 ADC0809的引脚START启动转换。通常为了简化接口电路,可以把这两个输出口合而为一,在锁存通道地址的同时启动转换。当转换过程结束 后,ADC0809的引脚EOC会产生一个高电平的状态信号,该信号可用于检测,也可用于申请中断。随后,CPU可以从ADC0809的引脚D0-D7输 入转换后的数据。引脚D0-D7三态结构,引脚OE是三态门控制信号。转换过程所需要的时钟信号从CLK引脚输入,典型的时钟频率是640KHZ,最高可 用1280KHZ。使用较市制时钟频率可以得到较快的转换速度,但也会带来较大的转换误差。 7.1 ADC0809的应用 一、实验目的 ? 熟悉ADC0809模数转换器的基本工作电路 二、实验内容 ? 编写工作程序,启动模数转换,并在屏幕上显示转换数据 三、实验步骤 1、 当使用ADC0809构造模数转换电路时,其引脚VREF(+) 和VREF(-)用作基准电压输入端。首先将VREF(+) 和VREF(-)引脚分别与VCC和GND连接,然后按图2.10.3插接引脚INO的模拟量输入电路:待转换的电压由实验装置提供的电位器产生,变化范 围为VREF(-) ~ VREF(+) 。 74LS32 两输入或门 2、 编写工作程序,用以启动ADC0809进行转换,延时后从ADC0809输入转换结果并在屏幕上显示,参考程序如下: DATA SEGMENT DELAY DW 5 TEXT DB 0DH, 'THE CONVERT' DB 'RESULT = $' DATA ENDS CODE SEGMENT ASSUME CS: CODE, DS: DATA START:MOV AX, DATA MOV DS, AX MOV AH, 2 ;显示字符输出 MOV DL, 0DH INT 21H MOV DL, 0AH INT 21H LOOP1:LEA DX, TEXT MOV AH, 9 ;显示字符串输出 INT 21H MOV DX, 304H XOR AL, AL ;启动AD转换 OUT DX, AL MOV CX, DELAY DELAY1:PUSH CX PUSH AX MOV CX, 0040H A1: MOV AX, 056CH A2: DEC AX JNZ A2 LOOP A1 POP AX POP CX LOOP DELAY1 IN AL, DX ;读转换结果 MOV DH, AL MOV DL, AL MOV CL, 4 SHR DL, CL ;右移4位 ADD DL, 30H CMP DL, 3AH JB L1 ADD DL, 7 L1: MOV AH, 2 INT 21H MOV DL, DH AND DL, 0FH ADD DL, 30H CMP DL, 3AH JB L2 ADD DL, 7 L2: INT 21H MOV AH, 0BH INT 21H AND AL, AL JZ LOOP1 MOV AH, 4CH INT 21H CODE ENDS END START 问题: (1)在理想的情况下,模数转换是否存在误差,该误差最大为多少, (2)如果模拟量从IN5端输入,程序应怎样修改, 操作步骤: (1)画出程序流程图,并按图连线。 (2)输入程序并检查错误,运行程序。 (3)调节电位器,显示输出。 (4)用万用表测出输出电压,并记录显示的相应数据。作出转换图,VD, VA 3、实验报告 ? 绘制电路原理图 4、思考题 ? 若改用EOC信号来申请中断读A/D值,程序如何设计,
本文档为【微机原理及应用实验教程参考答案】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_713593
暂无简介~
格式:doc
大小:64KB
软件:Word
页数:34
分类:互联网
上传时间:2017-10-15
浏览量:161