资源描述
接口技术实验指导书2012年修订版
微机原理及接口技术实验指导书
陆勤 纪平 高云全 编
安徽工业大学计算机学院
2012年2月
目 录
第一章 系统概述 1
1.1 系统主要特点 1
1.2 系统资源分配 2
1.3系统配置 3
第二章 系统组成和结构 4
2.1 系统接口定义 4
2.2 系统硬件组成 6
第三章 系统安装及使用 11
第四章 键盘监控使用简介 12
4.1 引言 12
4.2 键盘显示 12
4.3 功能键操作说明一览表 12
4.4 总操作过程 13
4.5 监控程序命令及操作 13
第五章 8086K实验系统及PC机联机操作 16
5.1 DJ-8086k软件概述 16
5.2 DJ-8086k软件安装 16
5.3 DJ-8086k软件启动和联机 16
5.4 DJ-8086k软件主窗口 17
5.5 菜单栏和工具栏命令简介 17
第六章 实验指导 20
实验一 8255A应用—数码管动态显示 20
实验二 8259单级中断控制器实验 23
实验三 8253、8255、8259综合实验 29
1.8253计数器实验 29
2、8253定时器实验 34
实验四 8251可编程通讯接口及PC机通讯 38
实验五 A/D转换实验 45
1、A/D转换实验 45
2、数据采集实验 49
实验六 串行接口和应用(一)串行发送 57
实验七 串行接口和应用(二)串行接收 66
实验八 8250串口实验 70
附录 77
附录一 DJ-598PCI字形字位表 77
附录二 DJ-598PCI键值表 78
附录三 实验程序及其机器码对照 78
实验一 8255A应用--数码管动态显示 78
实验二 8259单级中断控制器实验 80
实验三 8253、8255、8259综合实验 84
任务1:8253计数器实验 84
任务2:8253定时器实验 88
实验四 8251可编程通讯接口及PC机通讯 91
实验五 A/D转换实验 98
任务1:A/D转换实验 98
任务2:数据采集实验 100
实验六 串行接口和应用(一)串行发送 104
实验七 串行接口及应用(二)串行接收 111
195 / 200
第一章 系统概述
本章就DJ-598PCI实验开发系统的8086部分作详细介绍。在使用前,请务必先阅读本章内容,以便对实验系统的硬件结构、硬件信息有个全面了解,对后面实验有必不可少的帮助。
1.1 系统主要特点
1、DJ-598PCI是集51、8088(以下简称88)两大系列CPU于一体的二合一实验系统。内置51仿真器和8086实验系统。该系统以8086实验系统作为基板,自成一体,可单独作为8086微机原理和接口实验使用,也可分别叠插51 CPU卡,构成51单片机实验开发系统,DJ-598PCI系统结构紧凑,资源充分共享,无总线开关切换,自动识别CPU的类型。
2、8086实验系统采用主频为14.7MHZ的8088CPU为CPU,并以最小工作方式构成系统。
3、 配有二片61C256静态RAM构成系统的64K基本内存,存放用户程序/数据,地址范围为00000H-0FFFFH,其中00000H-00FFFH监控占用。 配有二片W27C512 EEPROM(64K),EP1存放监控程序, 地址范围F0000H-FFFFFH;EP2存放实验程序,为实验系统独立运行时下载实验程序提供方便。
4、自带键盘、显示器,能独立运行,为实验程序调试带来方便。
5、配备Windows/XP仿真调试软件,支持机器码、汇编、C等三种语言的开发和调试。
6、提供标准RS232异步通讯口, 以连接IBM-PC机。
7、 配有各种微机常用I/O接口芯片,定时/计数接口芯片8253、A/D转换接口芯片0809、D/A转换接口芯片0832、中断控制器8259、键盘显示接口8279、并行I/O接口芯片8255、通讯接口芯片8250、8251、485和DMA控制器8237等。
8、 配备键盘、数码显示、发光二极管显示、开关量、LED16×16、LCD12864、温度压力、步进电机、直流电机、扬声器等输入输出设备。
9、带有脉冲发生器、计数器电路、单脉冲发生器等常用电路。
10、可以单步、断点、全速调试各实验程序。
11、内置稳压电源,为实验提供+5V/3A、±l2V/0.5A直流稳压电源。
12、使用环境:环境温度0~+40℃,无明显潮湿,无明显振动碰撞。
1.2 系统资源分配
8088有1兆存储空间,系统提供用户使用的空间为00000H-0FFFFH, 用于存放、调试实验程序。具体分配如下:
⑴存贮器地址分配
⑵I/O地址分配(一):
I/O地址分配(二):
监控占用00004H-0000FH作为单步(T)、断点(INT3)、无条件暂停(NMI)中断矢量区, 用户也可以更改这些矢量, 指向用户的处理, 但失去了相应的单步、断点、暂停等监控功能。
F0000H-FFFFFH监控程序区系统占用。
1.3系统配置
系统内含串行通讯和键盘显示监控的全部软硬件设施,典型配置如下:
⑴主机板+PC机
⑵主机板
二种配置的使用特点如下:
配置一:主机板和 PC机通过RS232串行口相连。这种配置形式可以充分利用PC机的软硬件资源,实现源程序的编辑、汇编和链接和调试。用户可以利用PC机的键盘和显示器等输入输出设备完成各种软硬件实验。
配置二:为最经济型配置,它不需要和PC机联机,自成一体,通过一组键盘命令完成所有软硬件实验。这种配置为没有PC机的用户带来极大方便。
第二章 系统组成和结构
8086(部分)实验系统由8088控制单元、实验单元、开关电源和DJ8086K集成调试软件组成。8088控制单元由8088CPU、CPLD(1032)、监控EP1(27512)、内存RAM1,2和键盘显示电路组成。实验单元采用一体化、分模块设计,结构合理清晰。
2.1 系统接口定义
(1)CZ11:用户实验通讯接口;
图2-1
(2)CZ4:打印接口;
图2-2
(3)JX0,JX17为系统提供的数据总线接口;
图2-3
(4)CZ7:系统提供的扩展接口;
图2-4
(5) JX12、JX14:液晶显示接口。
图2-5-1
LCD1602引脚定义: 通过JX12、JX14接口,DJ8086系列实验仪可以驱动一个标准的点阵字 符液晶显示屏(16*1行、16*2行、16*4行)等,引脚信号如下图:
LCD1602点阵字符液晶显示屏通用接口定义
引脚
符号
功能说明
1
Vss
电源地:0V
2
Vdd
电源:5V
3
Vadj
LCD驱动电压:0V~5V
4
RS
寄存器选择:“0”指令寄存器;“1”数据寄存器
5
R/W
读写操作:“1”读操作;“0”写操作
6
E
LCD使能信号
7~14
D0~D7
8位双向数据信号线
15~16
V+、V-
背光照明电源输入正、负极
LCD12864引脚定义:
通过JX12、JX14接口,DJ8086系列实验仪可以驱动显示一个标准的点阵液晶显示屏(128*64)等,点阵LCD液晶显示屏通用接口J12864的20个引脚信号的管脚定义如表2.2所示。
表2.2 LCD12864点阵液晶显示屏通用接口定义
引脚
符号
功能说明
1
Vss
电源地:0V
2
Vdd
电源:5V
3
Vadj
LCD驱动电压:05~5V(正端)
4
RS
寄存器选择:“0”指令寄存器;“1”数据寄存器
5
R/W
读写操作:“1”读操作;“0”写操作
6
E
LCD使能信号
7~14
D0~D7
8位双向数据信号线
15
CS1
左半屏片选:“1”有效
16
CS2
右半屏片选:“1”有效
17
RST
复位脚:高复位
18
VEE
LCD驱动电压:0V~5V(负端)
19~20
V+、V-
背光照明电源输入正、负极
(6)开关及跳线:
JK:为键盘/显示选择开关。JK置系统,键盘/显示选择系统配置的8255接口芯片,进入监控状态;JK置外接,由用户选择自定义的I/O接口芯片控制。
KB6:为通信选择开关。KB6置59, 选择51单片机系统和PC机通信;KB6置88, 选择8086系统和PC机通信(单8086系统无KB6)。
JXT: 为ISP单元晶振选择跳线器。跳线器短接XT,锁紧插座18,19脚和晶振源相连,反之,锁紧插座18,19脚和晶振源断开。
2.2 系统硬件组成
(1)LED发光二极管指示电路:实验台上包括12只发光二极管及相应驱 动电路。见图2-6,Ll-L12为相应发光二极管驱动信号输入端,该输入端为低电平“0”时发光二极管亮。
图2-6
(2)逻辑电平开关电路:见图2-7。实验台上有8只开关Kl-K8,及之相对应的K1-K8各引线孔为逻辑电平输出端。开关向上拨相应插孔输出高电平“l”,向下拨相应插孔输出低电平“0”。
图2-7
(3)单脉冲电路:实验台上单脉冲产生电路如图2-8,标有“ ”和“ ”的两个引线插孔为正负单脉冲输出端。AN0为单脉冲产生开关,每按动一次来回产生一个单脉冲。
图2-8
(4)分频电路:该电路由一片74LS393组成,见图2-9。T0-T7为分频输出插孔。该计数器在加电时由RESET信号清零。当脉冲输入为8.0MHZ时,T0-T7输出脉冲频率依次为4.0MHZ,2.0MHZ,1.0MHZ,500KHZ,250KHZ,125KHZ,62500HZ,31250HZ。
图2-9
(5)脉冲发生电路:实验台上提供8MHZ的脉冲源,见图2-10,实验台上标有8MHZ的插孔,即为脉冲的输出端。
图2-10
(6)485接口电路:
图2-11
(7)系统通讯接口电路
图2-12
(8)数码管显示电路
图2-13
(9)键盘电路
图2-14
第三章 系统安装及使用
8086实验系统安装及使用
1、 键盘、显示设置:
JK(开关)置‘系统’:键盘/显示接口选择系统配置的8255接口芯片,进入监控状态。
2、KB6:通讯选择开关,KB6开关拨向88一侧(单8086实验仪无KB6),选择PC机和8086系统通讯。将随机配送的串行通讯线,一端及实验仪的RS232D型插座CZ1相连,另一端及PC机COM1或COM2串行口相连。
3、不插或卸掉已装的CPU卡(单8086实验仪无CPU卡安装、插座),接通实验系统电源,+5V LED指示灯应正常发光,实验仪数码管应显示闪动P.,说明实验仪初始化成功,处于待命状态。(否则应及时关闭电源,待正常后使用)
4、打开PC机电源,执行DJ8086K的集成调试软件,关于该软件的详细说明请参阅《第五章DJ8086K实验系统及PC机联机操作》。
第四章 键盘监控使用简介
4.1 引言
本章详细叙述键盘监控程序的功能和操作方法。
系统一经接通电源,数码管上显示监控提示符“P.”。
4.2 键盘显示
⑴ 系统配备6位LED显示器,左边4位显示地址,右边2位显示该地址内容。
⑵ 系统具有24个注塑键盘,左边l6个是数字键,右边8个是功能键。
在键盘监控状态下用户可以通过一组键命令完成下列操作
· 读写寄存器内容
· 读写存储器内容
· EPROM传送
· 断点设置/清除
· 通过单步、断点、连续等功能来调试运行实验程序。
4.3 功能键操作说明一览表
键名
功能
操作
TV/ME
存储器读写
先输入四位十六进制地址,再按此键,可读出该存储单元的内容。此时输入数字,则修改该单元的内容。
RG/FS
寄存器读写
先输入寄存器号(0—9,A—D),再按此键,可读出该代号表示的寄存器的内容。此时输入数字,则修改该寄存器的内容。
F1/LS
断点设置、查看/上一个
P.态时,按F1键为断点查看;P.态时,输入四位地址再按F1键,为断点设置;在查看存储器或寄存器内容时,按LS键表示查看上一个。
F2/NX
断点清除、数码管检测程序装载/下一个
在断点查看状态,按F2键为断点清除;P.态时按F2键,可以把数码管检测(8字循环显示)程序传送到首地址为FFC1开始的内存中;在查看存储器或寄存器内容时,按NX键表示查看下一个。
EX/FV
执行
先输入起始地址,再按EX键为连续运行;输入断点地址,按F1键,再输入起始地址,按EX键为断点运行,即从起始地址开始执行程序,到断点处自动停下来,并显示断点地址和内容,此时按EX键可继续运行。
SCAL
EPROM内容传送
在P.态,按此键,可把EP2中的内容传送到RAM中。
STEP
单步运行
先输入起始地址,再按此键为单步运行;P.态直接按此键,则默认从1000H开始单步运行。每运行一条指令,显示下一条指令的地址及其内容。
MON
返回监控
返回监控状态,显示P.
4.4 总操作过程
8086十六位微机实验系统上电总清以后, 显示器上显示监控提示符“P.”,各寄存器的初始化值如下:
SP=0683H,CS=0000H,DS=0000H,SS=0000H,ES=0000H,IP=l000H,FL=0000H
注意: ·所有命令均在提示符“P.”状态输入。
·在键盘监控状态,段地址缺省值为0000H。
4.5 监控程序命令及操作
⑴ 存贮器单元内容显示修改
操作:××××ME即在提示符“P.”下,先输入四位存贮单元地址, 再按ME键,显示器左边4位显示地址,右边2位显示该单元的内容。此时
·按NX键使地址加1再显示。
·按LS键使地址减l再显示。
·键入十六进制数据,则将改写现行地址单元的内容。
·按MON键则返回监控,显示提示符“P.”。
⑵ 寄存器内容显示修改
操作:×RG即在“P.”提示符下,先输入寄存器代号, 再按RG键,显示器右边4位显示寄存器中内容,左1、2位显示寄存器名。此时:
·按NX键,则依次循环显示下一个寄存器中的内容。
·按LS键,则依次显示上一个寄存器中的内容。
·输入十六进制数字, 则该寄存器中的内容被修改。
·按MON键则返回监控,显示提示符“P.”。
代号
0
1
2
3
4
5
6
7
8
9
A
B
C
D
寄存器名
AX
BX
CX
DX
SP
BP
SI
DI
CS
DS
SS
ES
IP
FL
⑶ EPROM传送
操作:在提示符“P.”状态下,按SCAL键,开始EPROM传送,把EPROM中1000H~FFFFH内容传送到相应的内存中,传送时数码管 显示闪动的“——”,传送完毕返回监控,显示提示符“P.”。
⑷ 单步运行
操作:有三种状态都可以进入单步操作(段地址固定为0000H)
·在监控提示符“P.”状态下,按STEP键,从默认的起始地址IP=1000H单元开始单步运行一条指令语句。
·在存贮器单元读写状态(即左边4位显示存贮器地址,右边2位显示存贮器单元内容)下,从当前存贮器地址开始单步运行一条指令语句。
·先输入四位起始地址,再按STEP键,则从输入的起始地址开始运行一条指令语句。每运行一条语句,显示器显示下一条指令语句的地址及其内容。
⑸ 连续运行
操作:有三种状态可以进入连续运行
·在监控提示符“P.”状态下,按EX键,从默认起始地址CS=0000H,IP=1000H开始连续运行用户程序。
·在存贮器读写状态下,按EX键,从现行存贮器地址开始(CS=0000H)连续运行用户程序。
·先输入4位起始地址,再按EX键,则从输入的起始地址开始连续运行用户程序(CS=0000H)。
要想从运行用户程序返回监控, 可以按主机RST键, 则重新进入监控状态,初始化部分寄存器。
⑻ 断点运行(默认段地址CS=0000H)
操作:××××F1,××××EX,即在提示符“P.”状态下,输入4位断点地址,按F1键,再输入4位起始地址,按EX键,程序从起始地址开始运行,显示器显示“「”执行符。当程序运行到断点地址处会自动停下来,并显示断点地址和内容,同时保护所有寄存器的值。
第五章 8086K实验系统及PC机联机操作
5.1 DJ-8086k软件概述
⑴ 该软件适用于DJ-598PCI实验仪。
⑵ 该软件运行环境:该软件适宜在安装Windows98/2000/XP操作系统的PC机上运行。
5.2 DJ-8086k软件安装
运行随机光盘上“DJ-8086k.EXE”安装文件,根据提示完成软件安装,然后双击桌面上‘DJ-8086k’快捷图标,即可运行DJ-8086k软件。
5.3 DJ-8086k软件启动和联机
5.3.1 启动和联机
双击桌面上‘DJ-8086k’快捷图标,即可运行DJ-8086k软件,屏幕显示DJ-8086k软件的工作窗口,底边状态栏由“下位机没有连接…”变成“连接上下位机”,说明联机成功,否则会弹出对话框提示:“下位机没有连接…”,此时单击“OK”,实验系统和PC机处于脱机状态,然后用户根据连接硬件实际情况来设定COMl或COM2,设定方法如下:依次单击菜单栏:“设置(X)、通讯口设置(Z)、COM1或COM2”确定,然后点击‘打开端口’,状态设定后,系统会自动检测连接。如果此时确定端口正确,但系统仍然没有连接,可按以下两种方法解决:(1)单击工具栏上的“重新连接”按钮,即可联机;(2)复位实验系统,使得数码管上显示监控提示符“P.”, 然后关闭DJ-8086k软件,重新运行,故障即可排除。
5.3.2 联机失败原因及解决办法
⑴ 实验系统及PC机没有连接;
⑵ 实验系统电源没有打开;
⑶ 串口实际位置及软件设置不一致;
⑷ 通讯开关位置不正确, 检查实验系统各状态设置开关是否正确;
⑸ 软件有病毒;
⑹ 实验系统或PC机处于非正常状态。
对于⑴⑵⑷⑸的错误,只要在硬件上检查一下,或用杀毒软件清毒一下即可:如文件已被破坏或需软件升级,可到本公司网站下载,网址:.CN。对于第⑶种错误,重复5.3.1操作,对第⑹种错误,联机之前先按一下实验系统RST复位按钮,使实验系统处于P态, 否则说明实验系统不正常,应送当地销售部门或返厂维修。如PC机工作失常也会引起联机失败, 可关闭DJ-8086k软件,重新运行或调换PC机试一下。
5.4 DJ-8086k软件主窗口
① 顶部为菜单栏和工具栏, 提供调试全部命令和功能。
② 中间部分为工作窗口区,提供软件调试、寄存器、标志位、存储器、汇编代码对照、编译信息显示等窗口。
③ 底部为状态栏,提示软件联机状态等信息。
5.5 菜单栏和工具栏命令简介
工具栏使用:只要移动鼠标,指向工具栏中选定的图标,即会提示该图标所执行的命令。
5.5.1 文件菜单栏
● 新建文件
单击菜单栏“文件”或工具栏“新建”图标,即会建立一个新的源程序编辑窗口,此时可在此窗口编辑、输入源程序。
● F3打开文件
单击菜单栏“文件”或工具栏“打开”图标,弹出“打开文件”的对话框,然后选择要装入的源文件,单击“确定”即可装入源文件。
● 关闭
单击菜单栏“文件”下的“关闭”即可关闭源程序编辑窗口。
● 保存
单击菜单栏“文件”下的“保存”或按CTRL+S,即可保存文件。注意:保存时系统不会自动追加后缀名,必须手工添加.C或.ASM的后缀。这一点很重要,因为系统将根据后缀名选择汇编器或C编译器。
● N建立新文件
分别单击“F文件”、“建立新文件”即可创建新文件,再选择“换名存盘”填入所存文件名即可。
● 另存为
单击菜单栏“文件”下的“另存为”,可弹出另存为对话框,在此可选择新的文件名和保存文件夹,单击“保存”完成保存操作。
● 退出
依次单击“文件”、“退出”或单击菜单栏上的最后一个门形按钮“关闭按钮”即可退出DJ-8086k软件调试环境。
5.5.2 编辑菜单栏
剪贴CTRL+X
删除程序中选定的正文,同时将它复制到剪贴板中
复制CTRL+C
保留选定的正文,同时将它复制到剪贴板中
粘贴CTRL|+V
将剪贴板中内容复制在光标处
删除DEL
删除选中的正文
全选CTRL+A
选中源程序编辑窗口中所有的正文
ALT+BackSpace
可恢复上几次误操作
5.5.3 调试菜单栏
● 编译装载F9
打开源文件,依次单击:调试”\“编译装载F9”或工具栏上的编译装载图标,状态栏会提示正在编译、编译成功、正在装载数据、装载数据结束,几秒钟后便会弹出‘源文件调试窗口’,对于汇编程序,如编译出错,会在系统信息窗口提示错误信息,双击错误信息可定位到源程序中出错处,待修改源文件正确后,重新编译装载即可。
● 连续运行
单击菜单栏“调试”下的“连续运行”或单击工具栏的连续运行图标,即全速连续运行程序。
● 程序单步
单击菜单栏“调试”下的“程序单步”或单击工具栏的程序单步图标,即可单步运行程序。
● 重新连接
可单击菜单栏中“重新连接“,也可单击工具栏的”重新连接“图标,即可重新连接上下位机。
● 复位
菜单栏中“复位”无效,可单击工具栏的“复位”图标,即可复位软件,寄存器置初值,指令指针返回到程序首地址。
5.5.4 设置
● 单击“设置”下的“通讯口设置”或工具栏上的“通讯口设置”即可打开“通讯设置”对话框,在此可设置端口。
5.5.5 窗口
在此菜单可设置窗口的排列顺序,可打开相应的工作窗口。具体详见中文菜单。
第六章 实验指导
实验一 8255A应用—数码管动态显示
一、实验目的
1、掌握8255A的工作方式、编程原理和微机接口方法。
2.了解LED数码管动态显示的工作原理及编程方法。
二、实验内容
编制程序,使数码管显示“DICE88”字样。
三、实验程序框图
图6-1 实验程序流程图
四、实验步骤
联机模式:
(1)在PC机和实验系统联机状态下,运行实验系统dj8086k.exe(双击桌面OTA图标或通过开始-程序-dj8086k-DJ8086k微机原理及接口技术),新建文件并在编辑窗口输入汇编源程序,再单击工具栏中编译装载,即可完成源文件自动编译、装载目标代码功能,再单击“调试”中“连续运行”或工具图标运行,即开始运行程序。
(2)数码管显示“DICE88”字样。
脱机模式:
(1)在P.态下,通过单板机小键盘,从2DF0地址开始输入机器码(参见附录三),完成后按MON键返回监控,输入起始地址2DF0,再按EX键执行。
(2)数码管显示“DICE88”字样。
五、实验程序清单
CODE SEGMENT ; display "DICE88"
ASSUME CS:CODE
ORG 2DF0H
START: JMP START0
PA EQU 0FF20H ;字位口
PB EQU 0FF21H ;字形口
PC EQU 0FF22H ;键入口
BUF DB ?,?,?,?,?,?
data1:
db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,
db 88h,83h,0c6h,0a1h,86h,8eh,0ffh,0ch,89h,0deh,
db 0c7h,8ch,0f3h,0bfh,8FH,0F0H
START0: CALL BUF1
CON1: CALL DISP
JMP CON1
DISP: MOV AL,0FFH ;00H
MOV DX,PA
OUT DX,AL
MOV CL,0DFH ;显示子程序 ,5ms
MOV BX,OFFSET BUF
DIS1: MOV AL,[BX]
MOV AH,00H
PUSH BX
MOV BX,OFFSET DATA1
ADD BX,AX
MOV AL,[BX]
POP BX
MOV DX,PB
OUT DX,AL
MOV AL,CL
MOV DX,PA
OUT DX,AL
PUSH CX
DIS2: MOV CX,00A0H
LOOP $
POP CX
CMP CL,0FEH ;01H
JZ LX1
MOV AL,0FFH ;00H
MOV DX,PA
OUT DX,AL
INC BX
ROR CL,1 ;SHR CL,1
JMP DIS1
LX1: MOV AL,0FFH
MOV DX,PB
OUT DX,AL
RET
BUF1: MOV BUF,0DH
MOV BUF+1,01H
MOV BUF+2,0CH
MOV BUF+3,0EH
MOV BUF+4,08H
MOV BUF+5,08H
RET
CODE ENDS
END START
六、思考题:
修改程序使之可以显示其他字符,如“AHUt09”。
实验二 8259单级中断控制器实验
一、实验目的
⒈ 掌握8259中断控制器的接口方法。 ⒉ 掌握8259中断控制器的应用编程。
二、实验内容
利用8259实现对外部中断的响应和处理,要求程序对每次中断进行计数,并将计数结果送数码显示。
三、实验接线图
图6-2 实验二接线图
四、编程指南
⑴ 8259芯片介绍
中断控制器8259A是专为控制优先级中断而设计的芯片。它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中。因此无需附加任何电路,只需对8259A进行编程,就可以管理8级中断,并选择优先模式和中断请求方式。即中断结构可以由用户编程来设定。同时,在不需要增加其它电路的情况下,通过多片8259A的级联,能构成多达64级的矢量中断系统。
⑵ 本实验中使用3号中断源IR3, “ ”插孔和IR3相连,中断方式为边沿触发方式,每拨1次AN开关产生一次中断,满5次中断,显示“good”。如果中断源电平信号不符合规定要求,则自动转到7号中断,显示“Err”。
五、实验程序框图
图6-3 主程序流程
IR3中断服务程序:
图6-4 IR3中断服务程序流程
IR7中断服务程序:
图6-5 IR7中断服务流程
六、实验步骤
1、按图6-2连好实验线路图。
⑴8259的INT连8088的INTR;⑵8259的INTA连8088的INTA;⑶“ ”插孔和8259的3号中断IR3插孔相连,“ ”端初始为低电平;⑷8259的CS端接FF80H孔。
2、输入并运行实验程序,系统显示8259-1。 3、按动AN开关按钮, 按满5次显示good。
七、实验程序清单
CODE SEGMENT ;
ASSUME CS: CODE
INTPORT1 EQU 0FF80H
INTPORT2 EQU 0FF81H
INTQ3 EQU INTREEUP3
INTQ7 EQU INTREEUP7
PA EQU 0FF20H ;字位口
PB EQU 0FF21H ;字形口
PC EQU 0FF22H ;键入口
ORG 12D0H
START: JMP START0
BUF DB ?,?,?,?,?,?
intcnt db ?
data1: db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h
db 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH
START0: CLD
CALL BUF1
CALL WRINTVER ;WRITE INTRRUPT
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
MOV intcnt,01H ;TIME=1
STI
WATING: CALL DISP ;DISP 8259-1
JMP WATING
WRINTVER: MOV AX,0H
MOV ES,AX
MOV DI,002CH
LEA AX,INTQ3
STOSW
MOV AX,0000h
STOSW
MOV DI,003CH
LEA AX,INTQ7
STOSW
MOV AX,0000h
STOSW
RET
INTREEUP3: CLI
push ax
push bx
push cx
push dx
MOV AL,INTCNT
CALL CONVERS
MOV BX,OFFSET BUF ;077BH
MOV AL,10H
MOV CX,05H
INTRE0: MOV [BX],AL
INC BX
LOOP INTRE0
MOV AL,20H
MOV DX,INTPORT1
OUT DX,AL
ADD INTCNT,01H
CMP INTCNT,06H
JNA INTRE2
CALL BUF2 ;DISP:good
INTRE1: CALL DISP
JMP INTRE1
CONVERS: AND AL,0FH
MOV BX,offset buf ;077AH
MOV [BX+5],AL
RET
INTRE2: MOV AL,20H
MOV DX,INTPORT1
OUT DX,AL
pop dx
pop cx
pop bx
pop ax
STI
IRET
INTREEUP7: CLI
MOV AL,20H
MOV DX,INTPORT1
OUT DX,AL
call buf3 ;disp:err
INTRE3: CALL DISP
JMP INTRE3
DISP: MOV AL,0FFH ;00H
MOV DX,PA
OUT DX,AL
MOV CL,0DFH ;20H ;显示子程序 ,5ms
MOV BX,OFFSET BUF
DIS1: MOV AL,[BX]
MOV AH,00H
PUSH BX
MOV BX,OFFSET DATA1
ADD BX,AX
MOV AL,[BX]
POP BX
MOV DX,PB
OUT DX,AL
MOV AL,CL
MOV DX,PA
OUT DX,AL
PUSH CX
DIS2: MOV CX,00A0H
LOOP $
POP CX
CMP CL,0FEH ;01H
JZ LX1
INC BX
ROR CL,1 ;SHR CL,1
JMP DIS1
LX1: MOV AL,0FFH
MOV DX,PB
OUT DX,AL
RET
BUF1: MOV BUF,08H
MOV BUF+1,02H
MOV BUF+2,05H
MOV BUF+3,09H
MOV BUF+4,17H
MOV BUF+5,01H
RET
BUF2: MOV BUF,09H
MOV BUF+1,00H
MOV BUF+2,00H
MOV BUF+3,0dH
MOV BUF+4,10H
MOV BUF+5,10H
RET
BUF3: MOV BUF,0eH
MOV BUF+1,18H
MOV BUF+2,18H
MOV BUF+3,10H
MOV BUF+4,10H
MOV BUF+5,10H
RET
CODE ENDS
END START
八、思考题:
若用IR5产生中断,要求修改硬件和软件并调试,
实验三 8253、8255、8259综合实验
1.8253计数器实验
要求:计数器1方式0计数,计满3个数产生中断,中断5次后结束。
实验线路见图6-6:
图6-6 8253计数器实验电路图
实验程序:
INTPORT1 EQU 0FF80H
INTPORT2 EQU 0FF81H
INTQ3 EQU INTREEUP3
TCONTR0 EQU 0043H
TCON1 EQU 0041H
PA EQU 0FF20H ;字位口
PB EQU 0FF21H ;字形口
PC EQU 0FF22H ;键入口
code segment
assume cs:code
ORG 12D0H
START: JMP START0
BUF DB ?,?,?,?,?,?
intcnt db ?
展开阅读全文