8255并口控制器应用实验

上传人:桔**** 文档编号:491624465 上传时间:2024-02-23 格式:DOC 页数:11 大小:217KB
返回 下载 相关 举报
8255并口控制器应用实验_第1页
第1页 / 共11页
8255并口控制器应用实验_第2页
第2页 / 共11页
8255并口控制器应用实验_第3页
第3页 / 共11页
8255并口控制器应用实验_第4页
第4页 / 共11页
8255并口控制器应用实验_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《8255并口控制器应用实验》由会员分享,可在线阅读,更多相关《8255并口控制器应用实验(11页珍藏版)》请在金锄头文库上搜索。

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

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

3、Y8255_CEQU9862H;8255的C 口地址MY8255_MODEEQU9863H;8255 的控制寄存器地址STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSCODE SEGMENTASSUME CS:CODESTART: MOV DX,MY8255_MODEMOV AL, 82H;工作方式OUT DX,ALLOOP1: MOV DX,MY8255_BIN AL,DXMOV DX,MY8255_AOUT DX,ALMOV AH,1INT 16HJZ LOOP1QUIT: MOV AX,4C00HINT 21H;初始化 8255 工作方式0,A

4、口输出, B 口输入;读 B 口;写 A 口;判断是否有按键按下;无按键则跳回继续循环,有则退出;结束程序退出CODE ENDSEND START (代码结束) (2)流水灯显示实验实验说明:使8255的A 口和B 口均为输出,数据灯D7DO由左向右,每次仅亮一个灯, 循环显示,D15D8与D7DO正相反,由右向左,每次仅点亮一个灯, 循环显示。参考实验程序流程如图 3-3 所示。开始初始化8255控制寄存器二-有按键按下?是写A 口发出的起始数据80H返回到DOS结束图3-3流水灯显示参考程序流程图实验步骤如下: 实验接线图如图3-4所示,按图连接实验线路图。 运行Tdpit集成操作软件,根

5、据实验内容,调用程序代码(T8255-2.ASM),填写程序代码中的空缺处,编译、链接。 运行程序,观察LED灯的显示,验证程序功能。 自己设计流水灯的流动模式,编写程序并实现。LED显乐Q 1 2-气J p PPPJ 7 BBQ B p p p po Inza 斗 5 A AAAA AAA D p p p p ppp巧兀7 s si I 0 1 e D DDD DDD D A A7Lo12 5 4 5 D DDD DDD D DDDD DDD图3-4 8255 流水灯显示参考接线图实验代码如下:IOYOEQU 9860H;片选IOYO对应的端口始地址MY8255 AEQU IOY0+00H;

6、8255的A 口地址MY8255_BEQUIOY0+01H;8255 的 B 口地址MY8255_CEQUIOY0+02H;8255 的 C 口地址MY8255_MODEEQUIOY0+03H;8255 的控制寄存器地址STACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDSDATA SEGMENTLADB;定义数据变量LBDBDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV DX,MY8255_MODEMOV AL, 80H;工作方式 0,OUT DX,ALMOV

7、 DX,MY8255_AMOV AL, 80HOUT DX,ALMOV LA,ALMOV DX,MY8255_BMOV AL, 01HOUT DX,ALMOV LB,ALLOOP1: CALL DALL YMOV AL,LAROR AL,1MOV LA,ALMOV DX,MY8255_AOUT DX,ALMOV AL,LBROL AL,1MOV LB,ALMOV DX,MY8255_B;定义 8255 工作方式 A 口和 B 口为输出;写 A 口发出的起始数据;写 B 口发出的起始数据; 将 A 口起始数据右移再写入 A 口; 将 B 口起始数据左移再写入 B 口;判断是否有按键按下;无按键则

8、跳回继续循环,有则退出;结束程序退出;软件延时子程序OUT DX,ALMOV AH,1INT 16HJZ LOOP1QUIT: MOV AX,4C00HINT 21HDALL Y PROC NEARPUSH CXPUSH AXMOV CX,0FFFH D1:MOV AX,0FFFFHD2:DEC AXJNZ D2LOOP D1POP AXPOP CXRETDALL Y ENDPCODE ENDSEND START(代码结束)8254定时/ 计数器应用实验内容计数应用实验。编写程序,应用 8254 的计数功能,用开关模拟计数,使每 当按动 KKI+ 五次后,产生一次计数中断,并在屏幕上显示一个字

9、符 5。实验步骤计数应用实验实验说明:编写程序,将 8254的计数器 0设置为方式 0,计数值为 5,用微动开关 KKl+ 作 为CLKO时钟,OUTO连接INTR,每当KKI+按动5次后产生中断请求,在 屏幕上显示字符“ 5”。实验步骤如下: 实验接线如图 4-1 所示,按图接线。 运行 Tdpit 集成操作软件,根据实验内容,调用程序代码( T8254-1.ASM ),填写程序代码中的空缺处,编译、链接。 运行程序,按动KK1 +产生单次脉冲,观察实验现象。 改变计数值,验证8254的计数功能实验代码如下:MY8254_COUNT0EQUIOY0+00H*4MY8254_COUNT1EQU

10、IOY0+01H*4MY8254_COUNT2EQUIOY0+02H*4MY8254_MODEEQUIOY0+03H*4EQU 3000HINTR_IV ADDEQU 01C8HINTR_OCW1EQU0A1H;INTRINTR_OCW2EQU0A0H;INTRINTR_IMEQU0FBH;INTRIOY0;INTR 对应的中断矢量地址 对应 PC 机内部 8259 的 OCW1 地址 对应 PC 机内部 8259 的 OCW2 地址 对应的中断屏蔽字;片选 IOY0 对应的端口始地址;8254 计数器 0 端口地址;8254 计数器 1 端口地址;8254 计数器 2 端口地址;8254 控

11、制寄存器端口地址STACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDSDATA SEGMENTCS_BAK DW ?;保存 INTR 原中断处理程序入口段地址的变量IP_BAK DW ? ;保存 INTR 原中断处理程序入口偏移地址的变量 IM_BAK DB ?;保存 INTR 原中断屏蔽字的变量STR1 DB COUNT: $; 显示的字符串DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX CLI;替换 INTR 的中断矢量MOV AX,0000HMOV ES,AX

12、MOV DI,INTR_IV ADDMOV AX,ES:DIMOV IP_BAK,AX;保存 INTR 原中断处理程序入口偏移地址MOV AX,OFFSET MYISRADD DI,2MOV AX,ES:DIMOV CS_BAK,AXMOV AX,SEG MYISRMOV ES:DI,AXMOV ES:DI,AX;设置当前中断处理程序入口偏移地址;保存 INTR 原中断处理程序入口段地址;设置当前中断处理程序入口段地址MOV DX,INTR_OCW1 ; 设置中断屏蔽寄存器,打开 INTR 屏蔽位 IN AL,DXMOV IM_BAK,AL; 保存 INTR 原中断屏蔽字AND AL,INTR

13、_IMOUT DX,AL;显示字符串STIMOV DX,OFFSET STR1MOV AH,9INT 21HMOV DX,MY8254_MODE;初始化 8254 工作方式MOV AL,10H;计数器 0,方式 0OUT DX,ALMOV DX,MY8254_COUNT0MOV AL,4OUT DX,AL;装入计数初值WAIT1: MOV AH,1INT 16HJZ WAIT1QUIT: CLIMOV AX,0000HMOV ES,AXMOV DI,INTR_IV ADDMOV AX,IP_BAKMOV ES:DI,AXADD DI,2MOV AX,CS_BAKMOV ES:DI,AXMOV DX,INTR_OCW1MOV AL,IM_BAKOUT DX,ALSTI;判断是否有按键按下;无按键则跳回继续等待,有则退出;恢复 INTR 原中断矢量;恢复 INTR 原中断处理程序入口偏移地址;恢复 INTR 原中断处理程序入口段地址;恢复 INTR 原中断屏蔽寄存器的屏蔽字MOV AX,4C00HINT 21H;返回到 DOSMYISR PROC NEAR;中断处理程序 MYISRPUSH AXMOV AL,35HMOV AH,0EHINT 10H

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号