接口技术及应用实验指导概况.docx
《接口技术及应用实验指导概况.docx》由会员分享,可在线阅读,更多相关《接口技术及应用实验指导概况.docx(14页珍藏版)》请在冰豆网上搜索。
接口技术及应用实验指导概况
Dais-X86
教学实验系统
接口技术及应用实验指导
中国民航大学
目 录
第一部分 软件实验1
实验一 顺序结构查表程序1
实验二 循环结构数据区移动程序2
实验三 分支结构转移地址表程序4
实验四 关键字个数统计及结果显示程序5
第二部分 硬件实验6
实验一 8255并行口实验:
A口输入,B口输出6
实验二 8253定时计数器实验8
实验三 8259单级中断控制实验10
实验四 8259多级中断控制实验12
实验五 16C550串行口通信实验14
实验六 A/D0809模数转换器实验16
实验七 定时/中断/并行口综合实验18
第一部分 软件实验
实验一 顺序结构查表程序
一、实验目的
1.学习顺序结构查表程序的基本设计方法;
2.掌握简单的功能调用。
二、实验设备
PC计算机1台
三、实验内容
编写程序,利用INT21h的1号功能从键盘上输入一个0~9数字,根据输入的数字查出其平方值,存放在AL中。
四、程序流程
五、实验步骤
1.编写程序,汇编、链接通过后装载到TurboDebugger调试器。
2.单步或断点运行程序,输入0~9中任意一个数字,观察AL是否为其平方值。
实验二 循环结构数据区移动程序
一、实验目的
掌握存储器数据块的操作方法。
二、实验设备
PC计算机1台
三、实验内容
将以ds:
1000h为起始地址的100个内存单元数据传送到ds:
2000h目标内存区。
四、设计思想
程序要求把内存中一数据区(称为源数据块)传送到另一存储区(称为目的数据块)。
源数据块和目的数据块在存储器中可能有三种情况,如下图:
对于两个数据分离的情况,如图(a),数据的传送从数据块的首地址开始,或者从数据块的末地址开始均可。
但对于有部分重叠的情况,则要加以分析,否则重叠部分会因“搬移”而遭破坏。
可以得出如下结论:
当源数据首址大于目的块首址时,从数据块首址开始传送数据。
当源数据首址小于目的块首址时,从数据块末址开始传送数据。
四、程序流程
五、实验步骤
1.编写程序,汇编、链接通过后装载到TurboDebugger调试器。
2.在内存窗口按Ctrl+G组合键,在对话框输入数据段地址和偏移地址(若数据段地址为5B9Eh,则需输入“5B9E:
2000”后回车),单步或全速运行程序,检查2000h为目的地址的内存单元是否和1000h源数据块一致。
实验三 分支结构转移地址表程序
一、实验目的
熟悉汇编语言编程,学习散转程序的设计方法。
二、实验设备
PC计算机1台
三、实验内容
多分支结构相当于一个多路开关,在程序设计中通常是根据某寄存器或某单元的内容进行程序转移。
在设计多分支转移程序时,如果分支太多,则平均转移速度太慢,本实验采用转移地址表实现多分支转移,可以提高平均转移速度。
编写程序,根据送入的数据转移运行。
四、程序流程
五、实验步骤
1.编写程序,汇编、链接通过后装载到TurboDebugger调试器。
2.在内存窗口按Ctrl+G组合键,在对话框输入数据段地址和偏移地址(若数据段地址为5B9Eh,则需输入“5B9E:
4000”后回车),向4000h单元依次写下00h~0Fh数据,单步或全速运行程序,观察屏幕显示。
实验四 关键字个数统计及结果显示程序
一、实验目的
熟悉汇编语言编程,掌握串操作指令的使用。
二、实验设备
PC计算机1台
三、实验内容
在数据区4000h~400Fh中查出有几个字节是00h,将结果保存在4100h内存单元,同时在屏幕上显示。
四、程序流程
五、实验步骤
1.编写程序,汇编、链接通过后装载到TurboDebugger调试器。
2.在内存窗口按Ctrl+G组合键,在对话框输入数据段地址和偏移地址(若数据段地址为5B9Eh,则需输入“5B9E:
4000”后回车),向4000h~400Ah的其中几个单元置00h。
单步或全速运行程序,观察屏幕显示的统计数是否与实际的一致。
第二部分 硬件实验
实验一 8255并行口实验:
A口输入,B口输出
一、实验目的
学习8255和微机的接口方法,掌握8255工作方式的设置。
二、实验内容
用8255PA通过逻辑电平开关作输入口,PB通过发光二极管作输出口。
三、程序流程
四、实验电路
五、实验连线
将8255PA0~PA7与逻辑电平开关单元的K1~K8相连、8255PB0~PB7与发光二极管单元的L1~L8相连。
六、实验步骤
1.编写程序,汇编、链接通过后装载到实验箱内存。
2.单步或全速运行程序,拨动K1~K8,观察L1~L8,对应的发光二极管应能点亮、熄灭。
实验二 8253定时计数器实验
一、实验目的
学习8253芯片和微机接口的方法,掌握8253定时/计数器的工作方式和编程原理。
二、实验内容
本实验设计将T3进行分频,采用2级级联的方式,输出一个周期为1秒的方波,并将输出在L1发光二极管上显示。
三、程序流程
四、实验电路
五、实验连线
1.138译码电路连接:
输入端A.B.C,其中A与A2相连,B与A3相连,C与A4相连,138使能控制输入端G与GS相连(GS的寻址范围为FFE0h~FFFFh)。
2.将8253定时计数单元的8253CS与138译码单元的Y0相连,GATE0和GATE2与+5V(VCC)相连,CLK0与分频单元的T3(307.2KHz)相连,OUT0接到CLK2,将OUT2接到发光二极管单元L1。
3.用8芯扁平电缆将8253的D0~D7(位于点阵显示单元)与数据总线单元的D0~D7相连。
五、实验步骤
1.编写程序,汇编、链接通过后装载到实验箱内存。
2.单步或全速运行程序,启动8253,观察L1发光二极管,应有周期为1S的方波输出。
实验三 8259单级中断控制实验
一、实验目的
掌握8259中断控制器的接口方法与程序设计。
二、实验内容
编制程序,利用8259芯片的IRQ7接单脉冲信号SP作为中断源,使用边沿触发,产生单一中断进行计数,送数码管最低位显示。
三、程序流程
四、实验电路
五、编程提示
8259中断控制器是专为控制优先级中断设计的芯片。
它将中断源优先级排队,辩别中断源以及提供中断矢量的电路集于一片中。
因此无需附加任何电路,只需对8259进行编程,就可以管理8级中断,并选择优行模式和中断请求方式,即中断结构可以由用户编程来设定。
同时,在不需要增加其它电路的情况下,通过多片8259的级联,能构成多达64级的矢量中断系统。
中断序号
0
1
2
3
4
5
6
7
变量地址
20~23h
24~27h
28~2Bh
2C~2Fh
30~33h
34~37h
38~3Bh
3C~3Fh
六、实验连线
1.138译码电路连接:
输入端A.B.C,其中A与A2相连,B与A3相连,C与A4相连,138使能控制输入端G与GS相连(GS的寻址范围为FFE0h~FFFFh)。
2.将8259中断控制单元的CS与138译码单元的Y0相连、IRQ7与单脉冲单元的SP相连。
3.用8芯扁平电缆将8259串行通信单元的D0~D7与数据总线单元的D0~D7相连。
七、实验步骤
1.编写程序,汇编、链接通过后装载到实验箱内存。
2.全速运行程序,数码管最低位显示“0”,按AN按钮,数码管最低位显示中断计数,满0Fh时清零计数。
实验四 8259多级中断控制实验
一、实验目的
掌握8259中断控制器多级中断程序设计方法。
二、实验内容
编制程序,利用8259芯片的IRQ0~IRQ7接K1~K8作为中断源,使用电平触发,产生八级中断,数码管最高位显示当前中断号。
三、程序流程
四、实验电路
五、编程提示
8259中断控制器是专为控制优先级中断设计的芯片。
它将中断源优先级排队,辩别中断源以及提供中断矢量的电路集于一片中。
因此无需附加任何电路,只需对8259进行编程,就可以管理8级中断,并选择优行模式和中断请求方式,即中断结构可以由用户编程来设定。
同时,在不需要增加其它电路的情况下,通过多片8259的级联,能构成多达64级的矢量中断系统。
中断序号
0
1
2
3
4
5
6
7
变量地址
20~23h
24~27h
28~2Bh
2C~2Fh
30~33h
34~37h
38~3Bh
3C~3Fh
六、实验连线
1.138译码电路连接:
输入端A.B.C,其中A与A2相连,B与A3相连,C与A4相连,138使能控制输入端G与GS相连(GS的寻址范围为FFE0h~FFFFh)。
2.将8259中断控制单元的CS与138译码单元的Y0相连、IQR0~IRQ7分别与逻辑电平开关单元的K1~K8对应相连。
3.用8芯扁平电缆将8259串行通信单元的D0~D7与数据总线单元的D0~D7相连。
七、实验步骤
1.编写程序,汇编、链接通过后装载到实验箱内存。
2.将K1~K8全部拨至上方(逻辑0),全速运行程序,数码管最高位显示“P.”,拨动任意一位开关,数码管最高位显示当前中断号;拨动多位开关,数码管最高位显示当前优先级最高的中断号。
实验五 16C550串行口通信实验
一、实验目的
了解串行通信的实现原理,掌握16C550的工作方式和编程方法。
二、实验内容
利用实验系统的16C550接口芯片,采用自发自收的方法,实现数据收发通信实验。
三、程序流程
四、实验电路
五、实验连线
1.138译码电路连接:
输入端A.B.C,其中A与A3相连,B与A4相连,C与A5相连,138使能控制输入端G与GS相连(GS的寻址范围为FFE0h~FFFFh)。
2.16C550单元的CS片选信号与138译码单元的Y4相连。
3.16C550单元的MR复位、WR写信号、RD读信号分别与/CLR、IOW、IOR相连。
4.16C550单元的A0、A1、A2分别与地址总线区A0、A1、A2相连。
5.16C550单元的XIN与8253单元的CLK1相连(频率=1.8432MHz)。
6.16C550单元的TXD与RXD连接以实现自发自收。
7.将位于点阵显示单元的D0..D7用8芯扁平线与数据总线相连。
六、实验步骤
1.编写程序,汇编、链接通过后装载到实验箱内存。
2.打开菜单“视图/内存空间”,右键选择“显示地址”,输入“4000”并确定,向4000h~400Fh单元写入要发送的数据。
3.全速运行程序后,在内存空间窗口右键选择“显示地址”,输入“5000”并确定,检查5000h~500Fh单元是否与4000h~400Fh一致。
实验六 A/D0809模数转换器实验
一、实验目的
了解模/数转换基本原理,掌握ADC0809的使用方法。
二、实验内容
利用实验系统上的0809作为A/D转换器,实验系统的电位器提供模拟量输入,编制程序,将模拟量转换成数字量,通过发光二极管单元以二进制方式显示。
三、程序流程
四、实验电路
五、实验连线
1.138译码电路连接:
输入端A.B.C,其中A与A2相连,B与A3相连,C与A4相连,138使能控制输入端G与GS相连(GS的寻址范围为FFE0h~FFFFh)。
2.02门电路连接:
第1脚与模数转换单元的SC/ALE相连,第2脚与138译码单元的Y0相连,第3脚与控制总线单元的IOW相连,第4脚与模数转换单元的OE相连,第5脚与控制总线单元的IOR相连,第6脚与138译码单元的Y0相连。
3.将模数转换单元的CLK与分频单元的T0相连、IN0与0~5V模拟电压电位器W1相连。
4.用8芯扁平电缆将A/D0809的D0~D7(位于下方的锁存输出单元)与数据总线单元的D0~D7相连。
5.将8255单元的PB7~PB0分别与发光二极管单元的L1~L8相连。
六、实验步骤
1.编写程序,汇编、链接通过后装载到实验箱内存。
2.运行程序,旋动模拟电压电位器,观察发光二极管的显示,应随之变化。
实验七 定时/中断/并行口综合实验
一、实验目的
进一步掌握8253定时计数器、8259中断控制器、8255并行口的使用。
二、实验内容
本实验利用8253做定时器,用定时器输出的脉冲控制8259产生中断,在8259中断处理程序中,对L1~L8发光二极管进行移位点亮。
三、程序流程
四、实验电路
五、实验连线
1.138译码电路连接:
输入端A.B.C,其中A与A2相连,B与A3相连,C与A4相连,138使能控制输入端G与GS相连(GS的寻址范围为FFE0h~FFFFh)。
2.8253片选CS接138的输出Y0,8253时钟源CLK0接分频电路的T7输出,8253的GATE0接VCC,8253的数据总线(位于点阵显示单元)与系统数据总线相连。
3.8259片选CS接138的输出Y1,8259中断IRQ0接8253的OUT0,8259的数据总线与系统数据总线相连。
4.将8255单元的PB7~PB0分别与发光二极管单元的L1~L8相连。
六、实验步骤
1.编写程序,汇编、链接通过后装载到实验箱内存。
2.运行程序,观察发光二极管的显示,应循环移位。