可编程外围接口芯片8255A及其应用作业.docx
- 文档编号:16399671
- 上传时间:2023-07-13
- 格式:DOCX
- 页数:11
- 大小:701.34KB
可编程外围接口芯片8255A及其应用作业.docx
《可编程外围接口芯片8255A及其应用作业.docx》由会员分享,可在线阅读,更多相关《可编程外围接口芯片8255A及其应用作业.docx(11页珍藏版)》请在冰点文库上搜索。
可编程外围接口芯片8255A及其应用作业
第9章可编程外围接口芯片8255A及其应用作业
姓名:
王绍辉
专业班级:
电气0905
学号:
0909092726
1.8255A的3个端口在功能上各有什么不同的特点?
8255A内部的A组和B组控制部件各管理哪些端口?
答:
端口A包含一个8位的数据输出锁存器/缓冲器,一个8为的数据输入锁存器,因此A口作输入或输出时数据均能锁存。
端口B包含一个8位的数据输入/输出锁存器/缓冲器,一个8位的数据输入缓冲器。
端口C包含一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器,无输入锁存功能,当它被分成两个4位端口时,每个端口有一个4位的输出锁存器。
端口A和端口C的上半部分(PC7~PC4)由A组控制逻辑管理。
端口B和端口C的下半部分(PC3~PC0)由B组控制逻辑管理。
2.8255A有哪几种工作方式?
各用于什么场合?
端口A、端口B和端口C各可以工作于哪几种工作方式?
答:
8255A具有3种基本的工作方式,在对8255A进行初始化编程时,应向控制字寄存器写入方式选择控制字,用来规定8255A各端口的工作方式。
这3种基本工作方式是:
方式0—基本输入输出方式:
适用于不需要用应答信号的简单输入输出场合。
这种方式A口和B口可作为8位的端口,C口的高4位和低4位可作为两个4位的端口。
方式1—选通输入输出方式:
A口和B口作为数据口,均可工作于输入或输出方式。
端口C的6根线用来产生或接受联络信号。
方式2—双向总线I/O方式:
只有A口可以工作于这种方式。
端口A工作于方式2时,端口C的5位(PC3~PC7)作A口的联络控制信号。
5.设8255A的A口、B口、C口和控制字寄存器的端口地址分别为80H,82H,84H,86H。
要求A口工作在方式0输出,B口工作在方式0输入,C口高4位输入,低四位输出,试编写8255A的初始化程序。
答:
MOVAL,10001010B;方式控制字
OUT86H,AL
6.8255A的端口地址同第五题,要求PC4输出高电平,PC5输出低电平,PC6输出一个正脉冲,试写出完成这些功能的指令序列。
答:
MOVAL,00001001B;PC4输出高电平
OUT86H,AL
MOVAL,00001010B;PC5输出低电平
OUT86H,AL
MOVAL,00001100B;PC6先输出低电平
OUT86H,AL
MOVAL,00001101B;PC6再输出高电平
OUT86H,AL
MOVAL,00001100B;PC6再输出低电平,形成一个正脉冲
OUT86H,AL
9.8255A的端口地址为80~83H,8253的口地址为84~87H。
(1)若A口接8个开关K7~K0,B口接8个指示灯LED7~LED0,当开关合上时相应的指示灯点亮,断开时灯灭,要求每隔0.5s检测一次开关状态,并在开关上显示出来,试画出硬件连接图,编写实现这种功能的程序。
(2)若把接在端口A上的开关去掉,要求接在端口B上的指示灯轮流熄灭,每只灯熄灭1s,请编程实现这种功能。
答:
(1)8255A:
A口输入,B口输出
8253:
2MHz/2Hz=1000000
通道0工作于方式2,取N0=1000
通道1工作于方式0,取N1=999,即得OUT1每0.5s中断一次
用8253定时中断,中断处理时检测开关状态,并点亮相应的LED
假设8259A已经初始化,主程序如下:
MOVAX,SEGINTR;形成中断矢量表
MOVDS,AX
MOVDX,OFFSETINTR
MOVAL,N
MOVAH,25H
INT21H
MOVAL,10010000B;8255初始化
OUT83H,AL
MOVAL,00110101B;通道0方式2,BCD计数
OUT87H,AL
MOVAL,00H;置初值1000
OUT84H,AL
MOVAL,10H
OUT84H,AL
MOVAL,01110001B;通道1方式0,BCD计数
OUT87H,AL
MOVAL,99H;置初值999
OUT85H,AL
MOVAL,09H
OUT85H,AL
STI
AGAIN:
HLT
JMPAGAIN
中断服务程序:
INTR:
PUSHAX
STI
INAL,80H;检测开关,合上为0
NOTAL;取反
OUT81H,AL;点亮相应LED(合上)
MOVAL,01110001B;通道1方式0,BCD计数
OUT87H,AL
MOVAL,99H;置初值999
OUT85H,AL
MOVAL,09H
OUT85H,AL
CLI
MOVAL,20H;普通EOI命令
OUT20H,AL
POPAX
IRET
(2)8255A:
B口输出
8253:
通道0工作于方式2,取N0=2000
通道1工作于方式3,取N1=1000,即得OUT1频率为1Hz(周期为1s)的方波,接到8259A的IRi,用沿触发中断请求。
主程序如下:
PVAX,SEGINTR;形成中断矢量表
MOVDS,AX
MOVDX,OFFSETINTR
MOVAL,N
MOVAH,25H
INT21H
MOVAL,10000000B;8255初始化
OUT83H,AL
MOVAL,00110101B;通道0方式2,BCD计数
OUT87H,AL
MOVAL,00H;置初值2000
OUT84H,AL
MOVAL.20H
OUT84H,AL
MOVAL,01110111B;通道1方式0,BCD计数
OUT87H,AL
MOVAL,00H;置初值1000
OUT85H,AL
MOVAL,10H
OUT85H,AL
MOVAL,0FEH;熄灭LED0
OUT81H,AL
STI
GOON:
HLT
JMP
中断服务程序如下:
INTR:
PUSHAX
STI
ROLAL,1;AL左循环移位1位
OUT81H,AL;点亮下一位LED
CLI
MOVAL,20H
OUT20H,AL;普通EOI结束命令
POPAX
IRET
硬件连接图如下:
10.设8255A的口地址为300H~303H,A口接4个开关K3~K0,B口接一个七段LED显示器,用来显示4个开关所拨通的16进制数字0~F,开关合上时,显示0,都断开时显示F,每隔2S检测一次,试画出硬件连接图,并编写实现这种功能的程序。
答:
与上题思路相同
8255A:
A口方式0输入,B口方式0输出端口地址300H~303H
8253:
用于2s定时,端口地址为304H~307H
2MHz/0.5Hz=4000000
通道0工作于方式2,取N0=4000
通道1工作于方式0,取N1=999,即得OUT1每2S中断一次
用8253定时中断,中断处理时检测开关状态,并点亮相应的LED
共阴极LED七段显示译码表
假设8259A已将初始化,主程序如下:
TABLEDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H;七段码表格
DB7FH,6FH,77H,7CH,39H,5EH,79H,71H
MOVAX,SEGINTR;形成中断矢量表
MOVDS,AX
MOVDX,OFFSETINTR
MOVAL,N
MOVAH,25H
INT21H
MOVAL,10010000B;8255初始化
MOVDX,303H
OUTDX,AL
MOVAL,00110101B;8253初始化,通道0方式2,BCD计数
MOVDX,307H
OUTDX,AL
MOVAL,00H;置初值4000H
MOVDX,304H
OUTDX,AL
MOVAL,40H
OUTDX,AL
MOVAL,01110001B;通道1方式0,BCD计数
MOVDX,307H
OUTDX,AL
MOVAL,99H;置初值999
MOVDX,305H
OUTDX,AL
MOVAL,09H
OUTDX,AL
STI
AGAIN:
HLT
JMPAGAIN
中断服务程序:
INTR:
PUSHAX
STI
MOVDX,300H
INAL,DX;检测开关,合上为0
ANDAL,0FH;只保留低4位PA3~PA0
MOVBX,OFFSEYTABLE
XLATTABLE
MOVDX,301H
OUTDX,AL;点亮LED,显示数字
MOVAL,01110001B;通道1方式0,BCD计数
MOVDX,307H
OUTDX,AL
MOVAL,99H;置初值999
MOVDX,305H
OUTDX,AL
MOVAL,09H
OUTDX,AL
CLI
MOVAL,20H;普通EOI命令
OUT20H,AL
POPAX
IRET
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可编程 外围 接口 芯片 8255 及其 应用 作业