微机原理与接口技术
实 验 指 导 书
计 算 机 学
院
微机接口实验指导书
请爱惜使用实验仪,谢谢配合! 实验过程插拔接线必须断电进行! 下机时注意关闭实验箱电源,正常关机。
接口实验步骤 1、编辑源程序;
2、编译源程序生成目标文件; 3、连接目标文件生成可执行文件;
4、根据实验要求和源程序中用到的资源进行硬件连线;
5、运行ZY-8086k集成调试软件,将第3步中生成的可执行文件下载到实验仪上,然后单步执行、断点执行或连续执行,观察程序执行的结果。
6、如果执行结果不正确,重新修改编辑源程序,重复1、2、3、5步,直到得到正确的实验结果为止。
8086实验系统使用
1、JK(开关)置‘系统’:键盘/显示接口选择系统配置的8255接口芯片,进入监控状态。 2、实验系统 和 PC机通过RS232串行口相连(一端与实验仪的RS232D型插座CZ1相连,另一端与PC机COM1或COM2串行口相连。) 3、接通实验系统电源,+5V LED指示灯应正常发光,实验仪LED数码管应显示闪动P.,说明实验仪初始化成功,处于待命状态。(否则应及时关闭电源,待修正常后使用)
实验系统配备6位LED数码管,在程序运行过程中,左边4位显示内存地址,右边2位显示该地址内容。
4、运行ZY-8086k集成调试软件,可进行实验程序的编辑、编译、运行和调试等。 实验系统上电初始状态:
8086十六位微机实验系统上电总清以后, 显示器上显示监控提示符“P.”,各寄存器的初始化值如下:
1
微机接口实验指导书
SP=0683H,CS=0000H,DS=0000H,SS=0000H,ES=0000H,IP=l000H,FL=0000H 注意: ·所有命令均在提示符“P.”状态输入。 ·在键盘监控状态,段地址缺省值为0000H。
要想从运行用户程序返回监控, 可以按主机RST键, 则重新进入监控状态。
ZY-8086k软件启动和联机
双击桌面上‘ZY-8086k’快捷图标,即可运行ZY-8086k软件,屏幕显示ZY-8086k软件的工作窗口,底边状态栏由“下位机没有连接„”变成“连接上下位机”,说明联机成功,否则会弹出对话框提示:“下位机没有连接„”,此时实验系统和PC机处于脱机状态,可按以下两种方法解决:(1)根据连接硬件实际情况来设定COMl或COM2,设定方法如下:依次单击菜单栏:“设置(X)、通讯口设置(Z)、COM1或COM2”确定,然后点击‘打开端口’,设定后,系统会自动检测连接。如果此时确定端口正确,单击工具栏上的“重新连接”按钮,即可联机;(2)先按一下实验系统RST复位按钮复位实验系统,使得数码管上显示监控提示符“P.”, 然后关闭ZY-8086k软件,重新运行,即可联机。
ZY-8086k软件使用帮助 一、主窗口
① 顶部为菜单栏和工具栏, 提供调试全部命令和功能。
② 中间部分为工作窗口区,提供软件调试、寄存器、标志位、存储器、汇编代码对照、编译信息显示等窗口。
③ 底部为状态栏,提示软件联机状态等信息。 二、 菜单栏和工具栏命令简介
工具栏使用:移动鼠标指向工具栏中选定的图标,即会提示该图标所执行的命令。 1. 文件菜单栏 新建文件
单击菜单栏“文件”或工具栏“新建”图标,即会建立一个新的源程序编辑窗口,此时可在此窗口编辑、输入源程序。
2
微机接口实验指导书
F3打开文件
单击菜单栏“文件”或工具栏“打开”图标,弹出“打开文件”的对话框,然后选择要装入的源文件,单击“确定”即可装入源文件。 关闭
单击菜单栏“文件”下的“关闭”即可关闭源程序编辑窗口。 保存
单击菜单栏“文件”下的“保存”或按CTRL+S,即可保存文件。 建立新文件
分别单击“F文件”、“建立新文件”即可创建新文件,再选择“换名存盘”填入所存文件名即可。 另存为
单击菜单栏“文件”下的“另存为”,可弹出另存为对话框,在此可选择新的文件名和保存文件夹,单击“保存”完成保存操作。 退出
依次单击“文件”、“退出”或单击菜单栏上的最后一个门形按钮“关闭按钮”即可退出ZY-8086k软件调试环境。
2. 编辑菜单栏
剪贴CTRL+X 复制CTRL+C 粘贴CTRL|+V 删除DEL 全选CTRL+A ALT+BackSpace 3. 调试菜单栏 编译装载F9
打开源文件,依次单击:调试”\\“编译装载F9”或工具栏上的编译装载图标,状态栏会提示正在编译、编译成功、正在装载数据、装载数据结束,几秒钟后便会弹出‘源文件调试窗口’,如编译出错,会提示错误信息,待修改源文件正确后,重新编译装载即可。
3
删除程序中选定的正文,同时将它复制到剪贴板中 保留选定的正文,同时将它复制到剪贴板中 将剪贴板中内容复制在光标处 删除选中的正文 选中源程序编辑窗口中所有的正文 可恢复上几次误操作 微机接口实验指导书
连续运行
单击菜单栏“调试”下的“连续运行”或单击工具栏的连续运行图标,即全速连续运行程序。
程序单步
单击菜单栏“调试”下的“程序单步”或单击工具栏的程序单步图标,即可单步运行程序。
重新连接
可单击菜单栏中“重新连接“,也可单击工具栏的”重新连接“图标,即可重新连接上下位机。
复位
可单击菜单栏中“复位”或工具栏的“复位”图标,即可复位软件,寄存器置初值,指令指针返回到程序首地址。
注意:要想从连续运行程序状态复位实验系统返回监控, 必须按实验仪主机RST键。 4.设置
单击“设置”下的“通讯口设置”或工具栏上的“通讯口设置”即可打开“通讯设置”对话框,在此可设置端口。
5.窗口
在此菜单可设置窗口的排列顺序,可打开相应的工作窗口。具体详见菜单。
4
微机接口实验指导书
实验一 简单I/O口扩展实验
一、实验目的
1、学习微机系统中扩展简单I/O口的方法。 2、学习数据输入输出程序的编制方法。 二、实验内容
利用74LS244作为输入口,读取开关状态,并将此状态通过74LS273再驱动发光二极管显示出来。 三、实验接线
按图1-1接线,Y0~Y7接K1~K8,Q0~Q7接L1~L8,CS1接FF80H孔,CS2接FF90H孔。根据连线则输入口地址为FF80H,输出口地址为FF90H。
图1-1 实验一连线图
5
微机接口实验指导书
四、实验程序框图
图1-2
五、实验提示
l、在系统处于命令提示符“P.”状态下,运行实验程序LED数码管显示执行提示符“┌”。
2、按动K1~K8,观察Ll~L8是否对应点亮。
六、实验程序清单
CODE SEGMENT ASSUME CS: CODE ORG 19D0H
START: MOV DX,0FF80H IN AL,DX MOV DX,0FF90H OUT DX,AL JMP START CODE ENDS
END START
;244口地址 ;读244输入 ;273口地址 ;送273输出 ;循环继续
6
微机接口实验指导书
实验二 8259中断控制器实验
一、实验目的
⒈ 掌握8259中断控制器的接口方法。 ⒉ 掌握8259中断控制器的应用编程。 二、实验内容
利用8259实现对外部中断的响应和处理,要求以中断方式从输入口74LS244读取开关状态,并将此状态通过74LS273再驱动发光二极管显示出来。 三、实验接线
图2-1
1、按图2-1接线,Y0~Y7接K1~K8,Q0~Q7接L1~L8,CS1接FF80H孔,CS2接FF90H孔。根据连线则输入口74LS244地址为FF80H,输出口74LS273地址为FF90H。
7
微机接口实验指导书
2、按图2-2接线,8259的INT连8088的INTR;⑵8259的INTA连8088的INTA;⑶“ AN0插孔和8259的3号中断IR3插孔相连,“ 端接FFA0H孔;
”
”端初始为低电平;⑷8259的CS
图2-2
四、编程指南
⑴ 8259芯片介绍
中断控制器8259A是专为控制优先级中断而设计的芯片。可实现中断源优先级排队、辨别中断源以及提供中断向量等。
⑵ 本实验中使用3号中断源IR3, “ 触发方式,每拨二次AN0开关产生一次中断。 五、实验提示
1、IR3中断服务程序:
从输入口74LS244读取开关状态,并将此状态通过74LS273再驱动发光二极管显示出来。
”插孔和IR3相连,中断方式为边沿
8
微机接口实验指导书
2、实验验证操作:首先设置好开关量值,然后拨动AN开关按钮产生中断,观察Ll~L8是否对应点亮。注意跟实验一控制上的不同。 六、实验程序清单
CODE SEGMENT ASSUME CS: CODE
INTPORT1 EQU 0FFA0H INTPORT2 EQU 0FFA1H INTQ3 EQU INTREEUP3 ORG 12D0H
START: CALL WRINTVER MOV AL,13H MOV DX,INTPORT1 OUT DX,AL MOV AL,08H MOV DX,INTPORT2 OUT DX,AL MOV AL,09H OUT DX,AL
MOV AL,0F7H OUT DX,AL STI WATING: JMP WATING WRINTVER: MOV AX,0H MOV DS,AX
MOV DI,002CH LEA AX,INTQ3 MOV [DI],AX INC DI INC DI
MOV AX,0000h MOV [DI],AX RET INTREEUP3: CLI push ax push dx
MOV DX,0FF80H IN AL,DX MOV DX,0FF90H OUT DX,AL MOV AL,20H MOV DX,INTPORT1 OUT DX,AL
pop dx pop ax
;写中断向量
;写ICW1 ;写ICW2 ;写ICW4 ;写OCW1,开放IR3中断 ;开中断 ;循环显示
;写中断向量子程序
;IR3中断向量地址 ;IR3中断服务地址
;写中断服务地址偏移量 ;写中断服务段地址 ;IR3中断服务 ;压栈保护现场 ;244口地址 ;读244输入 ;273口地址 ;送273输出 ;中断结束命令 9
微机接口实验指导书
STI IRET CODE ENDS
;中断返回
END START
10
微机接口实验指导书
实验三 8255A并行口实验(方式0)
一、实验目的
⒈ 掌握8255A和微机接口方法。 ⒉ 掌握8255A的工作方式和编程原理。 二、实验内容
用8255PA口读取开关值K1-K8,通过PB口控制发光二极管L1-L8,要求当开关Ki拨上去时对应发光二极管Li点亮,当开关Ki拨下来时对应发光二极管Li熄灭。 三、实验接线图
图3-1
四、编程指南
1. 8255A芯片简介: 8255A为通用可编程并行接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:
方式0:基本输入/ 输出方式 方式l:选通输入/ 输出方式 方式2:双向选通工作方式
实验仪配备两片8255芯片,其中一片8255主要用于控制键盘和七段数码管(实验仪E4模块),各引脚连线已接好。片选信号CS已接系统译码0FF20H端,即该片8255的端口地址为0FF20H ~0FF23H.另一片8255可作通用输入输出控制(实验仪E3模块),片选信号CS已接系统译码0FF28H端,即该片8255的端口地址为0FF28H ~0FF2BH.本实验使用E3模块8255芯片。
11
微机接口实验指导书
2. 使8255A端口A工作在方式0作为输入口,读取Kl-K8八个开关量,PB口工作在方式0作为输出口,控制八个发光二极管。
3. 实验仪开关Ki拨上去读取开关值为“1”,拨下来读取开关值为“0”。发光二极管Li送“0”值时(低电平)点亮,送“1”值熄灭。 五、实验程序框图
六、实验步骤
1. 8255A芯片A口的PA0-PA7依次和开关量输入K8-Kl相连。B口的PB0-PB7依次接L8-Ll。
2. 运行实验程序,拨动K1-K8, LI-L8会跟着亮灭。 七、实验程序清单
CODE ASSUME
SEGMENT CS:CODE
IOCONPT EQU 0FF2BH IOBPT EQU 0FF29H IOAPT EQU 0FF28H ORG 11B0H
START: MOV AL,90H
MOV DX,IOCONPT OUT DX,AL NOP NOP
IOLED1: MOV DX,IOAPT
IN AL,DX NOT AL
MOV DX,IOBPT OUT DX,AL MOV CX,0FFFFH
DELAY: LOOP DELAY
JMP IOLED1
CODE ENDS
END START
;定义8255控制口 ;定义8255 PB口 ;定义8255 PA口 ;定义PA输入,PB输出 ;控制口 ;写命令字 ;延时 ;PA口 ;读PA口 ;PB口 ;写PB口 ;延时
;循环
12
微机接口实验指导书
实验四 数码显示
一、实验目的
了解LED数码管动态显示的工作原理及编程方法。 二、实验内容
编制程序,使数码管显示“123456”字样。 三、编程指南
1、8255芯片、数码管显示电路(实验仪E4模块):
8255A为通用可编程并行接口芯片,实验仪配备两片8255芯片,其中一片8255(实验仪E4模块)主要用于控制键盘和七段数码管(共阴极,如图4-1),各引脚连线已接好。片选信号CS已接系统译码0FF20H端,因此,该片8255的端口地址为0FF20H ~0FF23H.另一片8255可作通用输入输出控制(实验仪E3模块),片选信号CS已接系统译码0FF28H端,因此,该片8255的端口地址为0FF28H ~0FF2BH.
本实验使用E4模块8255芯片。
图4-1
2、 提示:8255的A口为位控制端口,PA0~PA5分别控制6位七段数码管,8255的B口为段控制端口,输出预显示字符的段码。
3、0~9,A~F的七段数码表如下定义:
LEDtb db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h db 88h,83h,0c6h,0a1h,86h,8eh
13
;0~9,A~F的七段数码表
微机接口实验指导书
四、实验程序框图
五、实验程序清单
CODE SEGMENT ; display \"123456\" ASSUME CS:CODE ORG 2DF0H
START: JMP START0
PA EQU 0FF20H ;字位口 PB EQU 0FF21H ;字形口 PCONT EQU 0FF23H ;控制口 BUF DB 1,2,3,4,5,6 ;要显示的数字
LEDtb db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h
db 88h,83h,0c6h,0a1h,86h,8eh ;0~9,A~F的七段数码表
START0: CALL DISP JMP START0
DISP:
PUSH AX PUSH BX PUSH CX
14
微机接口实验指导书
PUSH DX PUSH SI
MOV AL,80H ;初始化8255,A口、B口方式0输出 MOV DX,PCONT OUT DX,AL
MOV AL,CL MOV DX,PA
OUT DX,AL ;A端口输出位码
PUSH CX ;延时 MOV CX,00A0H LOOP $ POP CX
CMP CL,0FEH ;01H,判断是否为最右边数码管位码 JZ LX1
MOV AL,0FFH ;00H,送位码熄灭全部数码管 MOV DX,PA OUT DX,AL INC SI
ROR CL,1 JMP DIS1
LX1:POP SI
POP DX POP CX POP BX POP AX RET CODE ENDS
END START
15
MOV AL,0FFH ;00H,送位码熄灭全部数码管 MOV DX,PA OUT DX,AL
MOV CL,0DFH ;设置初始位码 MOV SI,OFFSET BUF ;设置显示数码初始缓冲区指针 MOV BX,OFFSET LEDtb ;设置段码表首地址 DIS1: MOV AL,[SI]
XLAT ;换码,得到要显示数字的段码值 MOV DX,PB ;B端口输出段码 OUT DX,AL
微机接口实验指导书
实验五 定时器 / 计数器
一、实验目的
⒈ 学会8253芯片和微机接口的原理和方法。 ⒉. 掌握8253定时器/计数器的工作方式和编程原理。 二、实验内容
要求利用8253(用通道0和通道1级联)做一个秒信号发生器,其输出接一发光二极管,以0.5秒点亮,0.5秒熄灭的方式闪烁指示。8253的输入信号频率为2MHz。 三、编程指南
1、8253芯片(实验仪F5模块):
8253是一种可编程定时/计数器,有三个十六位计数器,其计数频率范围为0-2MHz, 用+5V单电源供电。实验仪8253芯片如图5-1所示,通道0和通道1可供用户使用,通道2为8088系统通讯用。片选信号CS已接系统译码0040H端,因此,8253的通道地址为0040H~0043H.
图5-1
2、分频电路(实验仪B6模块):
图5-2
16
微机接口实验指导书
该电路由一片74LS393组成,见图5-2。T0-T7为分频输出插孔。该计数器在加电时由RESET信号清零。当脉冲输入为8.0MHZ时,T0-T7输出脉冲频率依次为4.0MHZ,2.0MHZ,1.0MHZ,500KHZ,250KHZ,125KHZ,62500HZ,31250HZ。 3、脉冲发生电路(实验仪D5模块):
实验台上提供8MHZ的脉冲源,实验台上标有8MHZ的插孔,即为脉冲的输出端。
4、 提示:8253通道1要输出方波信号推动发光二极管,所以通道1应选工作方式
3。对于通道0,只要能起分频作用就行,对输出波形不做要求,所以方式2和方式3都可以选用。 四、实验硬件连线
8253的GATE0、GATE1接+5V; CLK0插孔接分频器74LS393的T2插孔;分频器的T
插孔接8.0MHZ脉冲源输出端;8253的OUT0接8253的CLK1;8253的OUT1接LED灯插孔L12。运行程序观察L12灯。 五、实验程序清单
CODE ASSUME START:
SEGMENT CS: CODE ORG 1290H JMP TCONT
TCONTRO EQU 0043H TCON0 EQU 0040H TCON1 EQU 0041H
MOV DX,TCONTRO ;8253控制口 MOV AL,36H ;命令字,计数器0,先低后高,方式3. OUT DX,AL ;写命令字 MOV DX,TCON0 ;T0口
MOV AX,2000 ;计数器0初值 OUT DX,AL
MOV AL,AH ;写计数器高位值 OUT DX,AL
MOV DX,TCONTRO ;8253控制口 MOV AL,76H ;命令字,计数器1,先低后高,方式3. OUT DX,AL ;写命令字 MOV DX,TCON1 ;T1口
MOV AX,1000 ;计数器1初值 OUT DX,AL
MOV AL,AH ;写计数器高位值 OUT DX,AL JMP $
TCONT:
CODE ENDS
END START
17
微机接口实验指导书
实验六 A/D转换实验
一、实验目的
了解模/数转换基本原理,掌握ADC0809的使用方法。 二、实验内容
利用实验系统电位器提供的可调电压作为0809模拟信号的输入,将模拟量转换为数字量,通过数码管显示出来。数码管上显示“0809 XX”。“XX”表示输入模拟量转换后的数字量。
调节电位器Wl, 显示器上会不断显示新的转换结果。 模拟量和数字量对应关系的典型值为: 0V→00H; +2.5V→80H; +5V→FFH 三、实验接线图
①将D5模块8MHZ连至T。
②将0809 CS4插孔连到译码输出FF80H插孔。
③将通道0模拟量输入端IN0连电位器W1的中心插头AOUT1(0-5V)插孔。
图6-1
18
微机接口实验指导书
四、编程指南
⑴ADC0809的START端为A/D转换启动信号,ALE端为通道选择地址的锁存信号,实验电路中将其相连,以便同时锁存通道地址并开始A/D采样转换,其输入控制信号为CS和WR,故启动A/D转换只须如下两条指令:
MOV DX,ADPORT
; ADC0809端口地址
OUT DX,AL ; 发CS和WR信号并送通道地址
⑵用延时方式等待A/D转换结果,使用下述指令读取A/D转换结果。 MOV DX,ADPORT IN AL,DX
; ADC0809端口地址
⑶循环不断采样A/D转换的结果,边采样边显示A/D转换后的数字量。 五、实验程序框图
六、实验程序清单
CODE SEGMENT ASSUME CS:CODE ADPORT EQU 0FF80h
PA EQU 0FF20H ;字位口 PB EQU 0FF21H ;字形口 PCONT EQU 0FF23H ;键入口 ORG 2000H START: JMP ADCON
BUF DB 0,8,0,9,0,0
LEDtb db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h
19
微机接口实验指导书
db 88h,83h,0c6h,0a1h,86h,8eh ;0~9,A~F的七段数码表
ADCON: MOV AX,00 MOV DX,ADPORT OUT DX,AL
MOV CX,0500H DELAY: LOOP DELAY
MOV DX,ADPORT IN AL,DX
CALL CONVERS CALL DISP JMP ADCON
CONVERS:MOV AH,AL AND AL,0FH
MOV BX,OFFSET BUF MOV [BX+5],AL
MOV AL,AH AND AL,0F0H MOV CL,04H SHR AL,CL MOV [BX+4],AL RET
DISP: PUSH AX PUSH BX PUSH CX PUSH DX PUSH SI
MOV AL,89H ;初始化8255,A口、B口方式0输出 MOV DX,PCONT OUT DX,AL
MOV CL,0DFH ;设置初始位码 MOV SI,OFFSET BUF ;设置显示数码初始缓冲区指针 MOV BX,OFFSET LEDtb ;设置段码表首地址
MOV AL,0FFH ;00H,送位码熄灭全部数码管
20
微机接口实验指导书
MOV DX,PA OUT DX,AL
DIS1: MOV AL,[SI]
XLAT ;换码,得到要显示数字的段码值 MOV DX,PB ;B端口输出段码 OUT DX,AL
MOV AL,CL MOV DX,PA
OUT DX,AL ;A端口输出位码
PUSH CX ;延时 MOV CX,00A0H LOOP $ POP CX
MOV AL,0FFH ;00H,送位码熄灭全部数码管 MOV DX,PA OUT DX,AL
CMP CL,0FEH ;01H,判断是否为最右边数码管位码 JZ LX1
INC SI
ROR CL,1 JMP DIS1
LX1: POP SI POP DX POP CX POP BX POP AX RET
;------------------------------------------------------- CODE ENDS
END START
21
因篇幅问题不能全部显示,请点此查看更多更全内容