并口控制器应用实验_第1页
并口控制器应用实验_第2页
并口控制器应用实验_第3页
并口控制器应用实验_第4页
并口控制器应用实验_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、8255并口控制器应用实验一、实验目的1. 掌握 8255 的工作方式及应用编程。2. 掌握 8255 典型应用电路的接法。二、实验内容1. 基本输入输出实验。编写程序,使 8255 的 A 口为输出, B 口为输入,完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就改变。 2流水灯显示实验。编写程序,使 8255 的 A 口和 B 口均为输出,数据灯D7D0 由左向右,每次仅亮一个灯,循环显示,D15D8 与D7D0 正相反,由右向左,每次仅点亮一个灯,循环显示。四、实验原理与步骤实验步骤(1)基本输入输出实验实验说明:本实验使 8255的端口A作为输出口工作在方式0,端口 B

2、 作为输入口工作在方式0。用一组开关信号接入端口B,端口A 输出线接至一组数据灯上,然后通过对8255 芯片编程来实现输入输出功能。图3-2 8255基本输入输出实验参考接线图实验步骤如下:实验接线图如图3-2所示,按图连接实验线路图。运行Tdpit 集成操作软件,根据实验内容,调用程序代码(T8255-1.ASM),填写程序代码中的空缺处,编译、链接。运行程序,改变拨动开关,同时观察LED 显示,验证程序功能。实验代码如下:IOY0 EQU 9860H ;片选IOY0对应的端口始地址MY8255_A EQU 9860H ;8255的A口地址MY8255_B EQU 9861H ;8255的B

3、口地址MY8255_C EQU 9862H ;8255的C口地址MY8255_MODE EQU 9863H ;8255的控制寄存器地址STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSCODE SEGMENT ASSUME CS:CODESTART: MOV DX,MY8255_MODE ;初始化8255工作方式 MOV AL, 82H ;工作方式0,A口输出,B口输入 OUT DX,ALLOOP1: MOV DX,MY8255_B ;读B口 IN AL,DX MOV DX,MY8255_A ;写A口 OUT DX,AL MOV AH,1 ;判断是否有按

4、键按下 INT 16H JZ LOOP1 ;无按键则跳回继续循环,有则退出QUIT: MOV AX,4C00H ;结束程序退出 INT 21HCODE ENDS END START(代码结束)(2)流水灯显示实验实验说明:使8255 的A 口和B 口均为输出,数据灯D7D0 由左向右,每次仅亮一个灯,循环显示,D15D8 与D7D0 正相反,由右向左,每次仅点亮一个灯,循环显示。参考实验程序流程如图3-3所示。 图3-3流水灯显示参考程序流程图实验步骤如下:实验接线图如图3-4所示,按图连接实验线路图。运行Tdpit 集成操作软件,根据实验内容,调用程序代码(T8255-2.ASM),填写程序

5、代码中的空缺处,编译、链接。运行程序,观察LED 灯的显示,验证程序功能。自己设计流水灯的流动模式,编写程序并实现。图3-4 8255流水灯显示参考接线图实验代码如下:IOY0 EQU 9860H ;片选IOY0对应的端口始地址MY8255_A EQU IOY0+00H ;8255的A口地址MY8255_B EQU IOY0+01H ;8255的B口地址MY8255_C EQU IOY0+02H ;8255的C口地址MY8255_MODE EQU IOY0+03H ;8255的控制寄存器地址STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSDATA SE

6、GMENT LA DB ? ;定义数据变量LB DB ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV DX,MY8255_MODE ;定义8255工作方式 MOV AL, 80H ;工作方式0,A口和B口为输出 OUT DX,AL MOV DX,MY8255_A ;写A口发出的起始数据 MOV AL, 80H OUT DX,AL MOV LA,AL MOV DX,MY8255_B ;写B口发出的起始数据 MOV AL, 01H OUT DX,AL MOV LB,ALLOOP1: CALL

7、 DALLY MOV AL,LA ;将A口起始数据右移再写入A口 ROR AL,1 MOV LA,AL MOV DX,MY8255_A OUT DX,AL MOV AL,LB ;将B口起始数据左移再写入B口 ROL AL,1 MOV LB,AL MOV DX,MY8255_B OUT DX,AL MOV AH,1 ;判断是否有按键按下 INT 16H JZ LOOP1 ;无按键则跳回继续循环,有则退出QUIT: MOV AX,4C00H ;结束程序退出 INT 21HDALLY PROC NEAR ;软件延时子程序 PUSH CX PUSH AX MOV CX,0FFFHD1: MOV AX,

8、0FFFFHD2: DEC AX JNZ D2 LOOP D1 POP AX POP CX RETDALLY ENDPCODE ENDS END START(代码结束)8254定时/计数器应用实验内容计数应用实验。编写程序,应用8254的计数功能,用开关模拟计数,使每当按动KKI+五次后,产生一次计数中断,并在屏幕上显示一个字符5。实验步骤计数应用实验实验说明:编写程序,将8254的计数器0设置为方式0,计数值为5,用微动开关KKl+作为CLK0时钟,OUT0连接INTR,每当KKl+按动5次后产生中断请求,在屏幕上显示字符“5”。实验步骤如下:实验接线如图4-1所示,按图接线。运行Tdpit

9、 集成操作软件,根据实验内容,调用程序代码(T8254-1.ASM),填写程序代码中的空缺处,编译、链接。运行程序,按动KK1产生单次脉冲,观察实验现象。改变计数值,验证8254的计数功能。实验代码如下:INTR_IVADD EQU 01C8H ;INTR对应的中断矢量地址INTR_OCW1 EQU 0A1H ;INTR对应PC机内部8259的OCW1地址INTR_OCW2 EQU 0A0H ;INTR对应PC机内部8259的OCW2地址INTR_IM EQU 0FBH ;INTR对应的中断屏蔽字IOY0 EQU 3000H ;片选IOY0对应的端口始地址MY8254_COUNT0 EQU I

10、OY0+00H*4 ;8254计数器0端口地址MY8254_COUNT1 EQU IOY0+01H*4 ;8254计数器1端口地址MY8254_COUNT2 EQU IOY0+02H*4 ;8254计数器2端口地址MY8254_MODE EQU IOY0+03H*4 ;8254控制寄存器端口地址 STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSDATA SEGMENT CS_BAK DW ? ;保存INTR原中断处理程序入口段地址的变量IP_BAK DW ? ;保存INTR原中断处理程序入口偏移地址的变量IM_BAK DB ? ;保存INTR原中断屏蔽

11、字的变量STR1 DB COUNT: $ ;显示的字符串DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX CLI MOV AX,0000H ;替换INTR的中断矢量 MOV ES,AX MOV DI,INTR_IVADD MOV AX,ES:DI MOV IP_BAK,AX ;保存INTR原中断处理程序入口偏移地址 MOV AX,OFFSET MYISR MOV ES:DI,AX ;设置当前中断处理程序入口偏移地址 ADD DI,2 MOV AX,ES:DI MOV CS_BAK,AX ;保存INT

12、R原中断处理程序入口段地址 MOV AX,SEG MYISR MOV ES:DI,AX ;设置当前中断处理程序入口段地址 MOV DX,INTR_OCW1 ;设置中断屏蔽寄存器,打开INTR屏蔽位 IN AL,DX MOV IM_BAK,AL ;保存INTR原中断屏蔽字 AND AL,INTR_IM OUT DX,AL STI MOV DX,OFFSET STR1 ;显示字符串 MOV AH,9 INT 21H MOV DX,MY8254_MODE ;初始化8254工作方式 MOV AL,10H ;计数器0,方式0 OUT DX,AL MOV DX,MY8254_COUNT0 ;装入计数初值

13、MOV AL,4 OUT DX,ALWAIT1: MOV AH,1 ;判断是否有按键按下 INT 16H JZ WAIT1 ;无按键则跳回继续等待,有则退出QUIT: CLI MOV AX,0000H ;恢复INTR原中断矢量 MOV ES,AX MOV DI,INTR_IVADD MOV AX,IP_BAK ;恢复INTR原中断处理程序入口偏移地址 MOV ES:DI,AX ADD DI,2 MOV AX,CS_BAK ;恢复INTR原中断处理程序入口段地址 MOV ES:DI,AX MOV DX,INTR_OCW1 ;恢复INTR原中断屏蔽寄存器的屏蔽字 MOV AL,IM_BAK OUT DX,AL STI MOV AX,4C00H ;返回到DOS INT 21HMYISR PROC NEAR ;中断处理程序MYISR PUSH AX MOV AL,35H MOV AH,0E

温馨提示

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

评论

0/150

提交评论