可编程外围接口芯片8255A及其应用作业.doc_第1页
可编程外围接口芯片8255A及其应用作业.doc_第2页
可编程外围接口芯片8255A及其应用作业.doc_第3页
可编程外围接口芯片8255A及其应用作业.doc_第4页
可编程外围接口芯片8255A及其应用作业.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第9章 可编程外围接口芯片8255A及其应用作业 姓名:王绍辉 专业班级:电气0905 学号:09090927261.8255A的3个端口在功能上各有什么不同的特点?8255A内部的A组和B组控制部件各管理哪些端口?答:端口A包含一个8位的数据输出锁存器/缓冲器,一个8为的数据输入锁存器,因此A口作输入或输出时数据均能锁存。端口B包含一个8位的数据输入/输出锁存器/缓冲器,一个8位的数据输入缓冲器。端口C包含一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器,无输入锁存功能,当它被分成两个4位端口时,每个端口有一个4位的输出锁存器。端口A和端口C的上半部分(PC7PC4)由A组控制逻辑管理。端口B和端口C的下半部分(PC3PC0)由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位(PC3PC7)作A口的联络控制信号。5. 设8255A的A口、B口、C口和控制字寄存器的端口地址分别为80H,82H,84H,86H。要求A口工作在方式0输出,B口工作在方式0输入,C口高4位输入,低四位输出,试编写8255A的初始化程序。答:MOV AL,10001010B ;方式控制字OUT 86H,AL6.8255A的端口地址同第五题,要求PC4输出高电平,PC5输出低电平,PC6输出一个正脉冲,试写出完成这些功能的指令序列。答:MOV AL,00001001B ;PC4输出高电平OUT 86H,ALMOV AL,00001010B ;PC5输出低电平OUT 86H,ALMOV AL,00001100B ;PC6先输出低电平OUT 86H,ALMOV AL,00001101B ;PC6再输出高电平OUT 86H,ALMOV AL,00001100B ;PC6再输出低电平,形成一个正脉冲OUT 86H,AL9.8255A的端口地址为8083H,8253的口地址为8487H。(1) 若A口接8个开关K7K0,B口接8个指示灯LED7LED0,当开关合上时相应的指示灯点亮,断开时灯灭,要求每隔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已经初始化,主程序如下:MOV AX,SEG INTR ;形成中断矢量表MOV DS,AXMOV DX,OFFSET INTRMOV AL,NMOV AH,25HINT 21HMOV AL,10010000B ;8255初始化OUT 83H,ALMOV AL,00110101B ;通道0方式2,BCD计数OUT 87H,ALMOV AL,00H ;置初值1000OUT 84H,ALMOV AL,10HOUT 84H,ALMOV AL,01110001B ;通道1方式0,BCD计数OUT 87H,ALMOV AL,99H ;置初值999OUT 85H,ALMOV AL,09HOUT 85H,ALSTIAGAIN:HLTJMP AGAIN中断服务程序:INTR:PUSH AXSTIIN AL,80H ;检测开关,合上为0NOT AL ;取反OUT 81H,AL ;点亮相应LED(合上)MOV AL,01110001B ;通道1方式0,BCD计数OUT 87H,ALMOV AL,99H ;置初值999OUT 85H,ALMOV AL,09HOUT 85H,ALCLIMOV AL,20H ;普通EOI命令OUT 20H,ALPOP AXIRET(2)8255A:B口输出8253:通道0工作于方式2,取N0=2000通道1工作于方式3,取N1=1000,即得OUT1频率为1Hz(周期为1s)的方波,接到8259A的IRi,用沿触发中断请求。主程序如下:,PV AX,SEG INTR ;形成中断矢量表MOV DS,AXMOV DX,OFFSET INTRMOV AL,NMOV AH,25HINT 21HMOV AL,10000000B ;8255初始化OUT 83H,ALMOV AL,00110101B ;通道0方式2,BCD计数OUT 87H,ALMOV AL,00H ;置初值2000OUT 84H,ALMOV AL.20H OUT 84H,ALMOV AL,01110111B ;通道1方式0,BCD计数OUT 87H,ALMOV AL,00H ;置初值1000OUT 85H,ALMOV AL,10HOUT 85H,ALMOV AL,0FEH ;熄灭LED0OUT 81H,ALSTIGOON:HLTJMP中断服务程序如下:INTR:PUSH AXSTIROL AL,1 ;AL左循环移位1位OUT 81H,AL ;点亮下一位LEDCLIMOV AL,20HOUT 20H,AL ;普通EOI结束命令POP AXIRET硬件连接图如下:10. 设8255A的口地址为300H303H,A口接4个开关K3K0,B口接一个七段LED显示器,用来显示4个开关所拨通的16进制数字0F,开关合上时,显示0,都断开时显示F,每隔2S检测一次,试画出硬件连接图,并编写实现这种功能的程序。答:与上题思路相同8255A:A口方式0输入,B口方式0输出端口地址300H303H8253:用于2s定时,端口地址为304H307H2MHz/0.5Hz=4000000通道0工作于方式2,取N0=4000通道1工作于方式0,取N1=999,即得OUT1每2S中断一次用8253定时中断,中断处理时检测开关状态,并点亮相应的LED共阴极LED七段显示译码表假设8259A已将初始化,主程序如下:TABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;七段码表格DB 7FH,6FH,77H,7CH,39H,5EH,79H,71HMOV AX,SEG INTR ;形成中断矢量表MOV DS,AXMOV DX,OFFSET INTR MOV AL,NMOV AH,25HINT 21HMOV AL,10010000B ;8255初始化MOV DX,303HOUT DX,ALMOV AL,00110101B ;8253初始化,通道0方式2,BCD计数MOV DX,307HOUT DX,ALMOV AL,00H ;置初值4000HMOV DX,304HOUT DX,ALMOV AL,40HOUT DX,ALMOV AL,01110001B ;通道1方式0,BCD计数MOV DX,307HOUT DX,ALMOV AL,99H ;置初值999MOV DX,305HOUT DX,ALMOV AL,09HOUT DX,ALSTIAGAIN:HLTJMP AGAIN中断服务程序:INTR:PUSH AXSTIMOV DX,300HIN AL,DX ;检测开关,合上为0AND AL,0FH ;只保留低4位PA3PA0MOV BX,OFFSEY TABLEXLAT TABLEMOV DX,3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论