微机原理与接口技术实验.docx
- 文档编号:5047129
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:30
- 大小:226.58KB
微机原理与接口技术实验.docx
《微机原理与接口技术实验.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术实验.docx(30页珍藏版)》请在冰豆网上搜索。
微机原理与接口技术实验
拆字程序
实验目的 掌握汇编语言设计和调试方法。
实验内容 把4000H的内容拆开,高位送4001H低位,低位送4002H低位,4001H、4002H高位清零,一般本程序用于把数据送显示缓冲区时用。
实验步骤 用连续或单步方式运行程序,检查4000H~4002H中内容变化情况。
思考 如何用断点方式调试本程序。
实验目的 掌握汇编语言设计和调试方法。
实验内容 把4000H的内容拆开,高位送4001H低位,低位送4002H低位,4001H、4002H高位清零,一般本程序用于把数据送显示缓冲区时用。
实验步骤 用连续或单步方式运行程序,检查4000H~4002H中内容变化情况。
思考 如何用断点方式调试本程序。
拼字程序
实验目的 进一步掌握汇编语言设计和调试方法。
实验内容 把4000H、4001H的低位分别送入4002H高低四位,一般本程序用于把显示缓冲区的数据取出拼装成一个字节。
实验步骤 单步或用断点方式运行程序,检查4002H内容变化情况。
实验目的 进一步掌握汇编语言设计和调试方法。
实验内容 把4000H、4001H的低位分别送入4002H高低四位,一般本程序用于把显示缓冲区的数据取出拼装成一个字节。
实验步骤 单步或用断点方式运行程序,检查4002H内容变化情况。
数据区移动
实验目的 掌握RAM中的数据操作。
实验内容 把4100H源RAM区首地址内的16字节数据传送到4200H目标RAM区。
设计思想 程序要求把内存中一数据区(称为源数据块)传送到另一存储区(称为目的数据块)。
源数据块和目的数据块在存储器中可能有三种情况,如下图:
对于两个数据分离的情况,如图(a),数据的传送从数据块的首地址开始,或者从数据块的末地址开始均可。
但对于有部分重叠的情况,则要加以分析,否则重叠部分会因“搬移”而遭破坏。
可以得出如下结论:
当源数据首址大于目的块首址时,从数据块首址开始传送数据。
当源数据首址小于目的块首址时,从数据块末址开始传送数据。
实验步骤 调试运行3060程序,检查4100H~410FH中内容是否和4200H~420FH中内容完全一致。
数据排序实验
实验目的 熟悉8088指令系统,掌握程序设计方法。
实验内容 编写并调试一个排序子程序,其方法为用冒泡法将RAM中的几个单元字节无符号的正整数,按从小到大的次序重新排列。
实验步骤 ⑴从第一个数开始,依次把相邻的两个数进行比较,即第(N-2)个数与第(N-1)个数比较,第(N-1)个数与N个数比较等等;若第(N-1)个数不大于第N个数,则两者交换,否则不交换,直到N个数的相邻两个数都比较完为止。
此时。
N个数中的最小数将被排在N个数的最后。
⑵对剩下的(N-1)个数重复第⑴步,找到(N-1)个数中的最小数。
⑶重复第⑵步,直到N个数全部排序好为止。
实验步骤 在4000H~400AH中通过键盘命令输入不等的10个数,运行本实验程序后检查4000H~400AH中内容是否按从大到小排列。
在和PC机联机时,用连续单步方式,可很清楚地看出数据排序时数据移动变化情况。
思考 编一程序把4000H~400AH中内容按从小到大排列。
找“零”个数
实验目的 熟悉汇编语言编程,掌握串操作指令的使用。
实验内容 在4000H~400FH中查出有几个字节是零,把个数放在4100H中。
实验步骤 在4000H~400FH的几个单元中填入零,运行本程序后检查4100H中是几个单元数。
思考 修改程序,查找其他内容。
8255A并行口实验㈠方波
实验目的 掌握可编程I/O接口芯片8255的接口原理使用,熟悉对8255初始化编程和输入、输出软件的设计方法。
实验内容 在8255A.B.C口用示波器测出波形。
实验步骤 ⑴在系统处于“P.”状态时,输入程序入口地址32C0,按EXEC键,系统显示执行提示符“「”。
⑵用示波器观察8255A.B.C口波形。
;--------------------硬件实验一8255A并行口实验
(1)方波-----------------
CODESEGMENT
ASSUMECS:
CODE,DS:
CODE,ES:
CODE
ORG32C0H
H1:
JMPSTARTP1
PAEQU0FFD8H
PBEQU0FFD9H
PCEQU0FFDAH
PCTLEQU0FFDBH
STARTP1:
MOVDX,PCTL
MOVAL,80H
OUTDX,AL
MOVAL,55H
P11:
MOVDX,PA
OUTDX,AL
INCDX
OUTDX,AL
INCDX
OUTDX,AL
MOVCX,0800H
LOOP$
NOTAL
JMPP11
CODEENDS
ENDH1
8255A并行口实验㈡PA输入、PB输出
实验目的 ⑴掌握8255A和微机接口方法。
⑵掌握8255A的工作方式和编程原理。
实验内容 用8255PA作开关量输入口,PB作输出口。
编程提示 8255A芯片简介 8255A可编程外围接口芯片是Intel公司生产的通用并行接口芯片,它具有A、B、C三个并行接口,用+5V电源供电,能在以下三种方式下工作:
方式0:
基本输入/输出方式 方式1:
选通输入/输出方式 方式2:
双向选通工作方式
使8255A端口A工作在方式0并作为输入口,读取K1—K8八个开关量,送PB口显示。
PB口工作在方式0作为输出口。
实验步骤 ⑴按实验电路图连接线路:
①8255A芯片A口的AP0~PA7依次和开关量输入插孔K1~K8相连。
②8255A芯片B口的AB0~PB7依次接L1~L8 ⑵运行实验程序。
在系统处“P.”状态时,输入32E0,按EXEC键, 拨动K1~K8、L1~L8会跟着亮灭。
流程图
电路图
;-----------------硬件实验二8255A并行口实验
(2)PA输入,PB输出-------------
CODESEGMENT
ASSUMECS:
CODE,DS:
CODE,ES:
CODE
ORG32E0H
PAEQU0FFD8H
PBEQU0FFD9H
PCEQU0FFDAH
PCTLEQU0FFDBH
H2:
MOVDX,PCTL
MOVAL,90H
OUTDX,AL
P2:
MOVDX,PA
INAL,DX
INCDX
OUTDX,AL
JMPP2
CODEENDS
ENDH2
8255A并行口实验㈢控制交通灯
实验目的 掌握通过8255A并行口传输数据的方法,以控制发光二极管的亮与灭。
实验内容 用8255作输出口,控制十二个发光二极管燃灭,模拟交通灯管理。
编程提示 ①通过8255A控制发光二极管PB3、PB0、PA5、PA2对应黄灯,PB1、PA6、PA3、PA0对应红灯,PB2、PA7、PA4、PA1对应绿灯,以模拟交通路灯的管理。
②要完成本实验,必须先了解交通路灯的亮灭规律,没有一个十字路口1、3为南北方向,2、4为东西方向,初始状态为四个路口的红灯全亮。
之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车。
延时一段时间后,1、3路口的绿灯熄灭,而1、3路口的黄灯开始闪烁,闪烁若干次以后,1、3路口红灯亮,而同时2、4路口的绿灯亮,2、4路口方向通车,延时一段时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次以后,再切换到1、3路口方向,之后,重复上述过程。
③程序中设定好8255A的工作模式,及三个端口均工作在方式0,并处于输出状态。
④各发光二极管共阳极,使其点亮应使8255A相应端口的位清0。
实验步骤 ⑴按实验电路图连接线路:
8255APA0-L15PA1-L14PA2-L13PA3-L11PA4-L10PA5-L9PA6-L7PA7-L6PB0-L5PB1-L3PB2-L2PB3-L1 ⑵运行实验程序:
在系统“P.”状态时,输入32F0,按EXEC键,L1~L12发光二极管模拟交通灯显示。
程序流程图
电路图
;------------------硬件实验三8255A并行口实验(3)控制交通灯----------------
CODESEGMENT
ASSUMECS:
CODE,DS:
CODE,ES:
CODE
ORG32F0H
PAEQU0FFD8H
PBEQU0FFD9H
PCEQU0FFDAH
PCTLEQU0FFDBH
H3:
MOVAL,88H
MOVDX,PCTL
OUTDX,AL;MOD:
0,
MOVDX,PA
MOVAL,0B6H
OUTDX,AL
INCDX
MOVAL,0DH
OUTDX,AL
CALLDELAY1
P30:
MOVAL,75H
MOVDX,PA
OUTDX,AL
INCDX
MOVAL,0DH
OUTDX,AL
CALLDELAY1
CALLDELAY1
MOVCX,08H
P31:
MOVDX,PA
MOVAL,0F3H
OUTDX,AL
INCDX
MOVAL,0CH
OUTDX,AL
CALLDELAY2
MOVDX,PA
MOVAL,0F7H
OUTDX,AL
INCDX
MOVAL,0DH
OUTDX,AL
CALLDELAY2
LOOPP31
MOVDX,PA
MOVAL,0AEH
OUTDX,AL
INCDX
MOVAL,0BH
OUTDX,AL
CALLDELAY1
CALLDELAY1
MOVCX,08H
P32:
MOVDX,PA
MOVAL,9EH
OUTDX,AL
INCDX
MOVAL,07H
OUTDX,AL
CALLDELAY2
MOVDX,PA
MOVAL,0BEH
OUTDX,AL
INCDX
MOVAL,0FH
OUTDX,AL
CALLDELAY2
LOOPP32
JMPP30
DELAY1:
PUSHAX
PUSHCX
MOVCX,0030H
DELY2:
CALLDELAY2
LOOPDELY2
POPCX
POPAX
RET
DELAY2:
PUSHCX
MOVCX,8000H
LOOP$
POPCX
RET
CODEENDS
ENDH3
8251串口实验
(一)8251串口应用实验——自发自收实验目的 ⑴了解串行通信的实现方法; ⑵掌握8251芯片的工作方式和编程方法。
实验内容 利用本实验系统内的8251接口芯片,采用自发自收的方法,实现数据收发通信实验。
发送的数据为4000H开始的16个源RAM区单元内容,接收到的数据放在5000H开始的RAM单元中,核对接收的数据是否和发送的数据一致。
编程提示 ⑴数据发送、接收字节均采用查询方式 ⑵8251接口芯片的口地址已确定如下:
8250命令状态口地址为FFE1H;8251数据口地址为FFE0H ⑶设置方式字,,异步方式,字符8位,1位起始位,1个停止位,波特率因子为16。
⑷TXC、RXC时钟速率一致,可选速率F:
38.4KHz、76.8KHz、153.6KHz、307.2KHz波特率bps=TXC÷16,相应可选bps:
2400、4800、9600、19200。
实验步骤 按实验电路接线,粗实线为要连接的线,其余实验线路已连。
对于后缀名含有“H”的机型,按实验电路图连接138译码输入端A.B.C,其中A连A2,B连A3,C连A4,138使能控制输入端G与位于地址线A0引出孔所在位置下方的使能控制输出端G作对应连接,该端的寻址范围为0FFE0H~0FFFFH。
⑴对于后缀名含有“H”的机型,再把8251CS与Y0孔相连,把CLK孔与T0孔相连即可。
⑵波特率选择2400,即把T/RXC孔与T6相连。
⑶对于后缀名含有“H”的机型,用一双头实验导线把8251的TXD端与RXD端相连。
⑷对插卡机而言把KBB2×2串口选择开关拨向8251一侧,同时把RS232芯片第7、8脚引出接口J0用短路块或导线短接,即把TXD与RXD端相连。
⑸在“P.”状态下,接0→F1→4→F2→0→EV/UN,装载/传送实验所需程序。
⑹在4000H~400FH16个单元中,用实验系统键盘输入16个不同字节的数据,然后接RST复位按钮,迫使8251进入初始状态,再键入35C0→EXEC进入运行状态。
⑺当最左边位LED返回“P.”字符后,按复位键RESET返回“P.”,检查RAM区5000H~500FH单元的数据,应和RAM区4000H~400FH相一致。
(二)8251串口应用实验——与PC机通信实验目的 ⑴了解实现串行通信的硬环境,数据格式的协议,数据交换的协议。
⑵掌握8251芯片的工作方式和编程方法。
实验内容 ⑴利用本实验系统内的8251接口芯片,实现与PC机通信。
⑵本实验实现以下功能:
从PC上发送字符(0~F)显示到实验仪的数码管上;从实验仪上发送字符(0~F),显示到PC机上。
串行口连接示意图
实验框图
实验电路
实验说明 装载程序:
在“P.”状态下键入“0→F1→4→F2→0→EV/UN”。
返回“P.”表示程序装载结束。
对于后缀名含有“H”的机型,按实验电路图连接138译码输入端A.B.C,其中A连A2,B连A3,C连A4,138使能控制输入端G与位于地址线A0引出孔所在位置下方的使能控制输出端G作对应连接,该端的寻址范围为0FFE0H~0FFFFH。
①将8253的CS片选信号插孔与138译码器的Y1插孔相连、8251的CS片选插孔与138译码器的Y0插孔相连。
②8253的OUT1输出信号插孔与8251的T/RXC插孔相连。
③8251的CLK时钟信号插孔与393分频单元的T1插孔相连,分频器的频率源为:
4.9152MHz。
④对于后缀名为“H”的机型,把D0~D7总线接口与数据总线D0~D7任一接口相连。
⑤把8251的RXD串行接收信号插孔连到实验仪右上角RX0插孔;8251的TXD串行发送信号插孔连到实验仪右上角TX0插孔上;使用通信电缆连接PC机与实验仪。
实验步骤 选择实验方式:
①对于后缀名含有“H+”的机型,进行本实验时请把通信选择开关拨至最左面一位。
②对于卡式结构机型,请把通信选择开关拨至最上一位。
(一)PC机发送,实验仪接收 1.输入四位起始地址3FD0后,按EXEC键连续运行程序。
2.打开Dais软件工作目录(如:
C:
\Dais),找到并运行“PC发送程序”,选择与实验仪相连的串口(本实验使用的是默认波特率2400bps),单击“打开串口”按钮。
3.从“PC发送程序”单击0~F按钮发送相关字符,相应的数字会显示在实验系统的数码管上。
(二)实验仪发送,PC机接收 1.输入四位起始地址3FD8后,按EXEC键连续运行程序。
2.打开Dais软件工作目录(如:
C:
\Dais),找到并运行“PC接收程序”,选择与实验仪相连的串口(本实验使用的是默认波特率2400bps),单击“打开串口”按钮。
3.从实验仪键盘上输入数字键0~F,“PC接收程序”会将接收到的字符显示在PC机屏幕上。
实验说明 本实验仅适用后缀名含有“H+”的机型,对其它机型只能用扩展的办法来实现。
;----------------硬件实验十一8251串口实验
(1)自发自收--------------------
;本程序为8251串行通信自发自收实验
;PC发送、8251接收程序请装载ASM88\8251R.ASM
;8251发送、PC接收程序请装载ASM88\8251T.ASM
CODESEGMENT
ASSUMECS:
CODE,DS:
CODE,ES:
CODE
ORG35C0H;TX=RX
H11:
JMPSTART
Z8251EQU0FFE1H
D8251EQU0FFE0H
COM_MODEQU04EH
COM_COMEQU25H
ZXKEQU0FFDCH
ZWKEQU0FFDDH
LEDDB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
DB88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,0DEH,0F3H
BUFDB?
?
?
?
?
?
START:
MOVBX,0400H
MOVAL,[BX]
CMPAL,00H
JNZSR0
SR8251:
MOVDX,Z8251
MOVAL,COM_MOD
OUTDX,AL
MOVAL,COM_COM
OUTDX,AL
MOVAL,01H
MOVBX,0400H
MOV[BX],AL
SR0:
CALLWP
MOVSI,4000H
MOVDI,5000H
MOVCX,0010H
SR1:
MOVAH,[SI]
CALLSEND
CALLRX
MOV[DI],AH
INCSI
INCDI
LOOPSR1
SR2:
CALLDIS
JMPSR2
RX:
MOVDX,Z8251
RX1:
INAL,DX
TESTAL,02H
JZRX1
MOVDX,D8251
INAL,DX
MOVAH,AL
RET
;------------------------
WP:
MOVBUF,11H
MOVBUF+1,10H
MOVBUF+2,10H
MOVBUF+3,10H
MOVBUF+4,10H
MOVBUF+5,10H
RET
;--------------------------
SEND:
MOVDX,Z8251
W1:
INAL,DX
TESTAL,01H
JZW1
MOVDX,D8251
MOVAL,AH
OUTDX,AL
RET
;---------------------------
DIS:
MOVCL,20H
MOVBX,OFFSETBUF
DIS1:
MOVAL,[BX]
PUSHBX
MOVBX,OFFSETLED
XLAT
POPBX
MOVDX,ZXK
OUTDX,AL
MOVAL,CL
MOVDX,ZWK
OUTDX,AL
PUSHCX
MOVCX,0100H
DELAY:
LOOP$
POPCX
CMPCL,01H
JZEXIT
INCBX
SHRCL,1
JMPDIS1
EXIT:
MOVAL,00H
MOVDX,ZWK
OUTDX,AL
RET
;--------------------------
CODEENDS
ENDH11
8259单级中断控制器实验
实验目的 ⑴掌握8259中断控制器的接口方法。
⑵掌握8259中断控制器的应用编程。
实验内容 编制程序,利用8259芯片的IR作为中断源,产生单一中断,系统显示中断号“7”。
编程提示 ⑴8259芯片介绍 中断控制器8259A是专业性为控制优先级中断设计的芯片。
它将中断源优先级排队,辩别中断源以及提供中断矢量的电路集于一片中。
因此无需附加任何电路,只需对8259A进行编程,就可以管理8级中断,并选择优行模式和中断请求方式,即中断结构可以由用户编程来设定。
同时,在不需要增加其它电路的情况下,通过多片8259A的级联,能构成多达64级的矢量中断系统。
⑵本实验中使用7号中断源IR7,“SP”插孔和IR7相连,中断方式为边沿触发方式,每按二次AN按钮产生一次中断,编写程序,使系统每次响应外部中断IR7时,显示1个字符“7”,满“7”次后显示“P.”继续等待中断。
实验步骤 ⑴按实验电路图连接线路:
对于后缀名含有“H”的机型,按实验电路图连接138译码输入端A.B.C,其中A连A2,B连A3,C连A4,138使能控制输入端G与位于地址线A0引出孔所在位置下方的使能控制输出端G作对应连接,该端的寻址范围为0FFE0H~0FFFFH。
①“SP”插孔和82597号中断IR7插孔相连,“SP”端初始为低电平。
②对于后缀名含有“H”的机型,8259的CS端连138译码器的Y0孔。
③将8259的单元总线接口D0~D7,用8芯排线或8芯扁平线与数据总线单元D0~D7任一接口相连。
⑵运行实验程序 在系统处于命令提示符“P.”状态下,输入3400,按EXEC键显示“P.”。
⑶按动AN按钮,LED数码管从最高位开始依次显示“7”,显示满六位后,最高位显示“P.”继续等待中断。
;-------------------硬件实验八8259单级中断控制器实验-------------------
CODESEGMENT
ASSUMECS:
CODE,DS:
CODE,ES:
CODE
ORG3400H
H8:
JMPP8259
ZXKEQU0FFDCH
ZWKEQU0FFDDH
LEDDB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
DB88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,0DEH,0F3H
BUFDB?
?
?
?
?
?
Port0EQU0FFE0H
Port1EQU0FFE1H
P8259:
CLI
CALLWP;初始化显示“P.”
MOVAX,OFFSETINT8259
MOVBX,003CH
MOV[BX],AX
MOVBX,003EH
MOVAX,0000H
MOV[BX],AX
CALLFOR8259
movsi,0000h
STI
CON8:
CALLDIS
JMPCON8
;------------------------------------
INT8259:
cli
MOVBX,OFFSETBUF
MOVBYTEPTR[BX+SI],07H
INCSI
CMPSI,0007H
JZX59
XX59:
MOVAL,20H
MOVDX,Port0
OUTDX,AL
movcx,0050h
xxx59:
pushcx
calldis
popcx
loopxxx59
popcx
movcx,3438h
pushcx
STI
IRET
X59:
MOVSI,0000H
CALLWP
JMPXX59
;==============================
FOR8259:
MOVAL,13H
MOVDX,Port0
OUTDX,AL
MOVAL,08
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 技术 实验