微型机系统与接口实验指导书.docx
- 文档编号:2998867
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:29
- 大小:263.34KB
微型机系统与接口实验指导书.docx
《微型机系统与接口实验指导书.docx》由会员分享,可在线阅读,更多相关《微型机系统与接口实验指导书.docx(29页珍藏版)》请在冰豆网上搜索。
微型机系统与接口实验指导书
《微型机系统与接口》实验指导书
实验1并行接口扩展设计
一、实验目的
1、了解8255芯片结构及编程方法。
2、了解8255输入/输出实验方法。
二、实验原理
可编程通用接口芯片8255A有三个八位的并行I/O口,它有三种工作方式。
本实验采用的是方式0:
PA,PC口输出,PB口输入。
很多I/O实验都可以通过8255A来实现。
三、实验仪器
LAB6000实验系统,PC机
四、实验内容
8255的CS/接地址译码/CS0,则命令字地址为8003H,PA口地址为8000H,PB口地址为8001H,PC口地址为8002H。
PA0-PA7(PA口)接LED0-LED7(LED)PB0-PB7(PB口)接K0-K7(开关量)。
数据线、读/写控制、地址线、复位信号板上已接好。
连线
连接孔1
连接孔2
1
CS0
8255CS
2
L0
8255-PA0
3
L1
8255-PA1
4
L2
8255-PA2
5
L3
8255-PA3
6
L4
8255-PA4
7
L5
8255-PA5
8
L6
8255-PA6
9
L7
8255-PA7
10
K0
8255-PB0
11
K1
8255-PB1
12
K2
8255-PB2
13
K3
8255-PB3
14
K4
8255-PB4
15
K5
8255-PB5
16
K6
8255-PB6
17
K7
8255-PB7
根据以下程序流程图编写完整的实验程序并调试。
参考程序:
modeequ082h;方式0,PA,PC输出,PB输入
PortAequ8000h;PortA
PortBequ8001h;PortB
PortCequ8002h;PortC
CAddrequ8003h;控制字地址
codesegment
assumecs:
code
startprocnear
Start:
moval,mode
movdx,CAddr
outdx,al;输出控制字
;实验1:
PortA输出
moval,80H
movcx,08H
OutA:
movdx,PortA
outdx,al;输出PortA
movdx,PortC
outdx,al
shral,1;移位
movah,100
calldelay;延时
loopOutA
;实验2:
PortB输入PortA输出
movdx,PortB
inal,dx;读入PortB
movdx,PortC
outdx,al
movdx,PortA
outdx,al;输出到PortA
movah,200
calldelay
jmpStart
endp
delayprocnear
pushax
moval,0
pushcx
movcx,ax
loop$
popcx
popax
ret
delayendp
codeends
endstart
五、实验总结
整理实验程序,并进行实验结果定性分析。
实验2定时器/计数器接口扩展设计
一、实验目的
1、学习8088/86与8253的连接方法。
2、学习8088/86对8253的控制方法。
3、学习8253多级串联实现大时间常数的定时方法。
二、实验原理
利用8088/86外接8253可编程定时器/计数器,可以实现对外部事件进行计数。
设置断点读回计数器的值。
用8253对标准脉冲信号进行计数,就可以实现定时功能。
三、实验仪器
LAB6000实验系统,PC机
四、实验内容
1、计数器:
本实验中计数器按方式0工作。
即十六位二进制计数器。
当计数设置好后,计数器就开始计数。
如果要读入计数器的值,要先锁存计数值,才能读到计数值。
本实验所设计数值为5,也就是外部5个脉冲,计数器值加1。
同时OUT脚输出一个高电平。
实验时,可以将OUT0接到LED上,观察计数器是否工作。
连线
连接孔1
连接孔2
1
8253_CS
CS0
2
8253_OUT0
L0
3
8253_GATE0
VCC
4
8253_CLK0
单脉冲
根据以下程序流程图编写完整的实验程序并调试。
参考程序:
CONTROLequ08003h
COUNT0equ08000h
COUNT1equ08001h
COUNT2equ08002h
codesegment
assumecs:
code
startprocnear
moval,30h;通道0,方式0
movdx,CONTROL
outdx,al
moval,5;计数器初始值。
movdx,COUNT0
outdx,al;低八位
moval,0
outdx,al;高八位
Again:
moval,00000000B;锁存计数器值
movdx,CONTROL
outdx,al
movdx,COUNT0
inal,dx;读入计数值低八位
movbl,al
inal,dx;读入计数值高八位
movah,al
moval,bl
jmpAgain
startendp
codeends
endstart
2、定时器:
工作方式0,计数值减完后输出一个脉冲宽度的高电平。
而本实验在计数值减完后,管脚状态产生变化(从高到低或从低到高)。
直到下一次计数值减完。
这样输出的波形为方波。
由于定时常数过大,就要用多级串联方式。
本实验采用两级计数器。
定时常数分别为100和10000。
将计数器的输出接到计数器0输入。
计数器0的输出接到LED0。
用板上的1MHz做为标准信号,将8253可编程计数器/定时器的时间常数设在1000000次,就可以在定时器的管脚上输出1秒钟高/1秒钟低的脉冲信号。
因为8253每个计数器只有十六位,要用两个计数器才能实现一百万次的计数,实现每一秒钟输出状态发生一次反转。
根据以下程序流程图编写完整的实验程序并调试。
连线
连接孔1
连接孔2
1
8253_CS
CS4
2
8253_OUT0
L0
3
8253_GATE0
VCC
4
8253_CLK0
8253_OUT1
5
8253_GATE1
VCC
6
8253_CLK1
F/4(1M)
7
4MHz
Fin
参考程序:
CONTROLequ0c003h
COUNT0equ0c000h
COUNT1equ0c001h
COUNT2equ0c002h
codesegment
assumecs:
code
startprocnear
moval,36h;00110110B;计数器0,16位,方式3,二进制
movdx,CONTROL
outdx,al
movax,1000
movdx,COUNT0
outdx,al;计数器低字节
moval,ah
outdx,al;计数器高字节
moval,76h;01110110B;计数器1,16位,方式3,二进制
movdx,CONTROL
outdx,al
movax,1000
movdx,COUNT1
outdx,al;计数器低字节
moval,ah
outdx,al;计数器高字节
jmp$
startendp
codeends
endstart
五、实验总结
整理实验程序,并进行实验结果定性分析。
实验3串行接口扩展设计
一、实验目的
1、掌握8088/86实验串行口通信的方法。
2、了解实现串行通讯的硬环境、数据格式的协议、数据交换的协议。
3、学习串行口通讯程序编写方法。
二、实验原理
8088/86CPU通过外接的8251可编程串行控制器实现串口通信。
通过8251的控制口写入其工作方式或读入当前状态,通过数据口发送或接收串行口数据。
本实验是通过查询方式读写状态和输入输出串行数据。
三、实验仪器
LAB6000实验系统,PC机
四、实验内容
利用8088/86CPU控制8251A可编程串行通信控制器,实现两个实验台之间的串行通讯。
其中一个实验台作为发送方,另一侧为接收方。
发送方读入按键值,并发送给接收方,接收方收到数据后在LED上显示。
通讯双方的RXD、TXD信号本应经过电平转换后再行交叉连接,本实验中为减少连线可将电平转换电路略去,而将双方的RXD、TXD直接交叉连接。
也可以将本机的TXD接到RXD,这样按下的键就会在本机的LED上显示。
连线
连接孔1
连接孔2
1
KEY/LED_CS
CS0
2
8251_CS
CS5
3
8251_TxCLK
F/16(250KHz)
4
8251_RxCLK
F/16(250KHz)
5
8251_CLK
F/4(1MHZ)
6
4MHz
Fin
7
甲方8251_TXD
乙方8251_RXD
8
甲方8251_RXD
乙方8251_TXD
9
甲方GND
乙方GND
若想与标准的RS232设备通信,就要做电平转换,输出时要将TTL电平换成RS232电平,输入时要将RS232电平换成TTL电平。
可以将仿真板上的RXD、TXD信号接到实验板上的“用户串口接线”的相应RXD和TXD端,经过电平转换,通过“用户串口”接到外部的RS232设备。
将分频器的Fin接到4MHz脉冲发生器,就可以得到1MHz和250KHz脉冲。
电路连接如下:
根据以下程序流程图编写完整的实验程序并调试。
参考程序:
OUTBITequ08002h;位控制口
OUTSEGequ08004h;段控制口
IN_KEYequ08001h;键盘读入口
CS8251Dequ09000h;串行通信控制器数据口地址
CS8251Cequ09001h;串行通信控制器控制口地址
datasegment
LEDBufdb6dup(?
);显示缓冲
Numdb1dup(?
);显示的数据
DelayTdb1dup(?
)
RBufdb0
TBufdb0
LEDMAP:
;八段管显示码
db3fh,06h,5bh,4fh,66h,6dh,7dh,07h
db7fh,6fh,77h,7ch,39h,5eh,79h,71h
KeyTable:
;键码定义
db16h,15h,14h,0ffh
db13h,12h,11h,10h
db0dh,0ch,0bh,0ah
db0eh,03h,06h,09h
db0fh,02h,05h,08h
db00h,01h,04h,07h
codesegment
assumecs:
code,ds:
data
Delayprocnear
pushax;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微型机 系统 接口 实验 指导书