《微机系统与接口技术》8255流水灯实验报告
- 格式:doc
- 大小:86.50 KB
- 文档页数:4
电子信息工程系实验报告课程名称:微机原理与接口技术实验项目名称:8255并行接口流水灯实验 实验时间:2009.12班级: 姓名: 学号:一、实 验 目 的:(1)掌握8255的工作方式及应用编程。
(2)掌握8255的典型应用电路接法。
二、实 验 设备:PC 机一台,实验箱及外部线路一套。
三、实验内容:编写程序,使8255的A 口作为LED 灯的输出,实现8位数据灯的相对循环显示。
(思考:用B 口的一位作为输入,控制LED 灯的循环方向。
)四、实 验 原理:INTEL8255是一种通用的可编程并行I /O 接口芯片,是专为INTEL 公司的微处理器设计的,也可用于其它系列的微型机系统中。
利用8086汇编指令系统,编制初始化程序,可以变更8255 的工作方式,通用性强,使用灵活。
8255具有3个带锁存或缓冲的数据端口,它的并行数据宽度为8位。
可与外设并行进行数据交换。
A 口和B 口内具有中断控制逻辑,在外设与CPU 之间可用中断方式进行信息交换。
8255能与许多外部设备连接,例如:键盘、显示器、打印机等。
1、8255芯片特性(1)一个并行输入/输出的LSI 芯片,多功能的I/O 器件,可作为CPU 总线与外围的接口.(2)具有24个可编程设置的I/O 口,即使3组8位的I/O 口为PA 口,PB 口和PC 口.它们又可分为两组12位的I/O 口,A 组包括A 口及C 口(高4位,PC4~PC7),B 组包括B 口及C 口(低4位,PC0~PC3).A 组可设置为基本的I/O 口,闪控(STROBE)的I/O 闪控式,双向I/O3种模式。
2、8255引脚功能RESET:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O 口均被置成输入方式。
CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU 进行通讯;/CS=1时,8255无法与CPU 做数据传输.RD:读信号线,当这个输入引脚为低电平时,即/RD=0且/CS=0时,允许8255通过数据总线向CPU 发送数据或状态信息,即CPU 从8255读取信息或数据。
微机原理与接口技术控制流水灯一、实验目的:掌握汇编语言设计和调试方法。
二、实验要求:利用8253、8255、8259三块芯片相接实现流水灯。
三、芯片介绍:1、intel8253是NMOS工艺制成的可编程计数器/定时器,有几种芯片型号,外形引脚及功能都是兼容的,只是工作的最高计数速率有所差异,例如8253(2.6MHz),8253-5(5MHz) 8253内部有三个计数器,分别成为计数器0、计数器1和计数器2,他们的机构完全相同。
每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。
每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GA TE,另一个为输出端OUT。
每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR、一个计数执行部件CE和一个输出锁存器OL。
执行部件实际上是一个16位的减法计数器,它的起始值就是初值寄存器的值,而初始值寄存器的值是通过程序设置的。
输出锁存器的值是通过程序设置的。
输出锁存器OL用来锁存计数执行部件CE的内容,从而使CPU可以对此进行读操作。
顺便提一下,CR、CE和OL都是16位寄存器,但是也可以作8位寄存器来用。
2、8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。
同时必须具有与外设连接的接口A、B、C口。
由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。
1)与CPU连接部分根据定义,8255能并行传送8位数据,所以其数据线为8根D0~D7。
由于8255具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C口及控制寄存器,故地址线为两根A0~A1。
此外CPU要对8255进行读、写与片选操作,所以控制线为片选、复位、读、写信号。
各信号的引脚编号如下:(1)数据总线DB:编号为D0~D7,用于8255与CPU传送8位数据。
微机原理与接口技术课程设计论文题目:音乐流水灯姓名:鞠强学号:201330020228班级:1330202专业:自动化2015年6月一、实验任务及要求任务:1、掌握综合使用基本输入输出设备、通用接口芯片、专用接口芯片的方法;2、掌握实时处理程序的编制和调试方法。
要求:用8255、8253、8259配合8086使蜂鸣器发出唱歌声同时还能够使用数码管进行边跳舞边唱歌实验。
二、硬件连线键盘的控制、LED显示模块:采用74系列模块控制键盘的行信号Q_0、Q_1、Q_2、Q_3分别与开放的输入信号Q0、Q1、Q2、Q3相连,键盘的列信号P_0、P_1、P_2和开放的输出信号P0、P1、P2相连。
74芯片的片选信号CS1接地址译码信号340H, CS2接地址译码信号360H。
蜂鸣器发声控制:由8255模块控制;PC0直接与蜂鸣器相连,CS_4连接到实验仪中部的地址输出端CS_4中断处理模块:由8259控制8259的片选CS-1连地址输出300H,INT1连总线输入INTR,8259模块的INT-A连总线的INTA,8259的SP/1连+5V, 8259的IRQ0连接到8253的OUT0。
三、程序流程图主程序初始化各阶段寄存器及相关变量初始化8253、8255芯片设置中断向量、开放8253中断屏蔽开放处理器中断中断服务程序保护现场判断时间是否不小于59分55秒报时扫描键盘G 键?调用启停子程序S COUNT COUNT=40? ADDONE 子程序COUNT 清0显示时间,调用显示时间子程序结束中断(发EOI 命令)恢复现场中断返回Y YN Y四、实验源代码DATA SEGMENT AT 0 USE16ORG 1000HHOUR DW ?MIN DW ?SEC DW ?SLL DB ?COUNT DB ?DATA ENDSCODE SEGMENT USE16ASSUME CS:CODE,DS:DATAORG 1500HBEG:JMP STARTTAB DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,00H ;0~F 的共阴极七段译码表00H表示不显示任何东西KEYCOD DB 0EEH,0DEH,0BEH,0EDH,0DDH,0BDH,0EBH,0DBH,0BBH,0E7H,0D7H,0B7H ;行列编码值KEYV AL DB 0,1,2,3,4,5,6,7,8,9,0AH,0BH ;所有键的键面值PORT1 EQU 340H ;数码管段选端口PORT2 EQU 360H ;数码管位选端口,键盘矩阵的行列端口START: MOV EAX,60000000HMOV CR0,EAXMOV AX,DATAMOV DS,AXMOV HOUR,0203H ;小时分钟以及秒的初始化MOV MIN,0509HMOV SEC,0502HLEA BX,TABMOV SLL,0 ;开始暂停标志位置0MOV COUNT ,0 ;中断次数计数初始值为0;8255初始化,用于产生报时的脉冲MOV EAX,80808080H;控制字MOV DX,20CH ;后面的是4个8255的控制端口20C-20F (这个地址由实验台决定)OUT DX,EAX ;初始化8255,A、B、C口均为方式0输出MOV DX,20BHMOV AL,0FFHOUT DX,AL;8253初始化,用于产生周期为25ms的中断MOV AL,00110110B ;计数器0,先低后高,方式三,二进制MOV DX,32cH ;写往控制口OUT DX,ALMOV DX,320H ;计数器0写初值:47KHz*25msMOV AX,1175OUT DX,ALMOV AL,AHOUT DX,ALMOV AL,0FEH ;IR0开屏蔽OUT DX,ALXOR AX,AX ;装载中断向量MOV ES,AXMOV DI,08H*4MOV AX,OFFSET INTSRMOV ES:[DI],AXMOV AX,SEG INTSRMOV ES:[DI+2],AXSTI ;开中断JMP $INTSR PROC ;中断服务程序CMP MIN,0509H ;比较当前时间是否在59分55秒~00分00秒之间JL NEXT1CMP SEC,0505HJL NEXT1MOV DX,20BHMOV AL,00H ;蜂鸣器低有效,报时OUT DX,ALJMP NEXT2NEXT1: CMP MIN,0JNE NEXT3CMP SEC,0JNE NEXT3MOV DX,20BHMOV AL,00H ;蜂鸣器低有效,报时OUT DX,ALJMP NEXT2NEXT3: MOV DX,20BHMOV AL,0FFHOUT DX,ALNEXT2: CMP COUNT,20 ;用8255产生0.5ms的蜂鸣JLE NEXT4MOV DX,20BHMOV AL,0FFHOUT DX,ALNEXT4:CMP SLL,0JZ LOBCALL TSTARTLOB: CALL KEYCHECK ;检测有无键按下CMP AL,0AH ;启停键按下,调用启停程序JNZ NEXT5CALL TSTARTJMP NEXT6NEXT5: CMP AL,0BH ;设置键按下,调用设置时间程序JNZ NEXT6CALL SETTIMEINTSR ENDPTSTART PROC ;控制时间暂停和开始。
HUNAN UNIVERSITY 课程实验报告实验名称8255并口控制器应用实验学生姓名学生学号专业班级指导老师2014-12-10实验二8255并口控制器应用实验一、实验目的1.掌握8255的工作方式及应用编程;2.掌握8255的典型应用电路接法。
二、实验内容1.流水灯显示实验。
编写程序,使8255的A口和B口均为输出,实现16位数据灯的相对循环显示;2.基本输入输出实验。
编写程序,使8255的A口为输出,B口为输入,完成拨动开关到数据灯的数据传输。
要求只要开关拨动,数据灯的显示就改变。
三、实验原理并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。
CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位、32位等。
图1 8255内部结构及引脚图8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/出方式、方式1--选通输入/出方式、方式2--双向选通工作方式。
8255的内部结构及引脚如图1所示,8255工作方式控制字和C口按位置位/复位控制字格式如图2所示。
图2 8255控制字四、实验步骤及结果1、流水灯显示实验图3 流水灯显示程序流程图首先分别向A口和B口写入80H和01H,然后分别将该数右移和左移一位,再送到端口上,这样循环下去,从而实现流水灯的显示。
参考实验程序流程如图3所示。
图4 流水灯显示接线图a)实验接线图如图4所示,按图连接实验线路图,连接好的实物图如图5所示。
图5 8255连接实物图b)运行Tdpit集成操作软件,根据实验内容,编写实验程序,编译、链接,代码如下:IOY0 EQU 3000H ;片选IOY0对应的端口始地址MY8255_A EQU IOY0+00H*4 ;8255的A口地址MY8255_B EQU IOY0+01H*4 ;8255的B口地址MY8255_C EQU IOY0+02H*4 ;8255的C口地址MY8255_MODE EQU IOY0+03H*4 ;8255的控制寄存器地址STACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDSDA TA SEGMENTLA DB ? ;定义数据变量LB DB ?DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV DX,MY8255_MODE ;定义8255工作方式MOV AL,89H ;工作方式0,A口和B口为输出OUT DX,ALMOV DX,MY8255_A ;写A口发出的起始数据MOV AL,01HOUT DX,ALMOV LA,ALMOV DX,MY8255_B ;写B口发出的起始数据MOV AL,80HOUT DX,ALMOV LB,ALLOOP1: CALL DALL YMOV AL,LA ;将A口起始数据右移再写入A口ROL AL,1MOV LA,ALMOV DX,MY8255_AOUT DX,ALMOV AL,LB ;将B口起始数据左移再写入B口ROR AL,1MOV LB,ALMOV DX,MY8255_BOUT DX,ALMOV AH,1 ;判断是否有按键按下INT 16HJZ LOOP1 ;无按键则跳回继续循环,有则退出QUIT: MOV AX,4C00H ;结束程序退出INT 21HDALL Y PROC NEAR ;软件延时子程序PUSH CXPUSH AXMOV CX,0FFFHD1: MOV AX,0FFFFHD2: DEC AXJNZ D2LOOP D1POP AXPOP CXRETDALL Y ENDPCODE ENDSEND STARTc)运行程序,观察LED灯的显示,验证程序功能程序结果。
《微机系统与接口技术》预习报告学院:计算机学院专业:网络工程班级学号:学生姓名:小发实验日期:指导老师:成绩评定:五邑大学计算机学院制表一,实验目的1,学习并掌握8255 的工作方式及其应用。
2,掌握 8255 典型应用电路的接法。
3,掌握程序固化及脱机运行程序的方法。
二,实验设备PC机器一台,TD-PITE实验装置或TD-PITC实验装置一套三,实验内容1,基本输入输出实验。
编写程序,使 8255 的 A 口为输入,B 口为输出,完成拨动开关到数据灯的数据传输。
要求只要开关拨动,数据灯的显示就发生相应改变。
2,流水灯显示实验。
编写程序,使 8255 的 A 口和 B 口均为输出,数据灯 D7~D0 由左向右,每次仅亮一个灯,循环显示,D15~D8 与 D7~D0 正相反,由右向左,每次仅点亮一个灯,循环显示。
四实验内容及步骤1. 基本输入输出实验本实验使 8255 端口 A 工作在方式 0 并作为输入口,端口 B 工作在方式 0 并作为输出口。
实验接线图如图 6 所示,按图连接实验线路图。
用一组开关信号接入端口 A,端口 B 输出线接至一组数据灯上,然后通过对 8255 芯片编程来实现输入输出功能。
具体步骤如下述:(1)实验接线图如图 1-4所示,按图连接实验线路图。
(2)编写实验程序,经编译、连接无误后装入系统。
(3)运行程序,改变拨动开关,同时观察 LED 显示,验证程序功能。
(4)点击“调试”下拉菜单中的“固化程序”项,将程序固化到系统存储器中。
(5)将短路跳线 JDBG 的短路块短接到 RUN 端,然后按复位按键,观察程序是否正常运行;关闭实验箱电源,稍等后再次打开电源,看固化的程序是否运行,验证程序功能。
(6)实验完毕后,请将短路跳线 JDBG 的短路块短接到 DBG 端。
图1-4 8255基本输入输出实验接线图实验程序清单(A82551.ASM)SSTACK SEGMENT STACKDW 32 DUP(?)SSTACK ENDSCODE SEGMENTASSUME CS:CODESTART: MOV DX, 0646HMOV AL, 90HOUT DX, ALAA1: MOV DX, 0640HIN AL, DXCALL DELAYMOV DX, 0642HOUT DX, ALJMP AA1DELAY: PUSH CXMOV CX, 0F00HAA2:PUSH AXPOP AXLOOP AA2POP CXRETCODE ENDSEND START流水灯显示实验:使 8255 的 A 口和 B 口均为输出,数据灯 D7~D0 由左向右,每次仅亮一个灯,循环显示,D15~D8 与 D7~D0 正相反,由右向左,每次仅点亮一个灯,循环显示。
《微机原理及应用技术》课程实验报告实验五可编程并行I/O接口8255【预习内容】1.怎样选中可编程I/O接口?怎样实现I/O端口的寻址?8255的CS/接地址译码/CS0,则命令字地址为8003H,PA口地址为8000H,PB口地址为8001H,PC口地址为8002H。
通过地址/数据总线,按照指定地址进行读写操作直接选中8255。
并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。
CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位或32位等。
8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片。
CPU与外设交换的数据是以字节为单位进行的。
因此一个外设的数据端口含有8位。
而状态口和命令口可以只包含一位或几位信息,所以不同外设的状态口允许共用一个端口,命令口也可共用。
数据信息、状态信息和控制信息的含义各不相同,按理这些信息应分别传送。
但在微型计算机系统中,CPU通过接口和外设交换数据时,只有输入(IN)和输出(OUT)两种指令,所以只能把状态信息和命令信息也都当作数据信息来传送,且将状态信息作为输入数据,控制信息作为输出数据,于是三种信息都可以通过数据总线传送了。
但要注意,这三种信息被送入三种不同端口的寄存器,因而能实施不同的功能。
CPU对外设的访问实质上是对I/O接口电路中相应的端口进行访问,也需要由译码电路来形成I/O端口地址。
I/O端口的编址方式有两种·存储器映象寻址方式·I/O指令寻址方式2.8255A接口芯片内含几个I/O端口?它们的名称分别是?这些I/O口地址有何特点?三个数据端口,三种工作方式A口可工作于方式0、方式1和方式2中的任一种B口可工作于方式0和方式1,但不能工作于方式2C口只能工作于方式08位数据端口:A口、B口、C口A口:PA7~PA0B口:PB7~PB0C口:PC7~PC0连接外部设备A口与B口为一个8位的输入口或输出口C口单独作为一个8位的输入口或输出口配合A口和B口使用,作为控制信号和状态信号3.8255A有几个控制字?怎样设置?它有两个控制字,一个是方式选择控制字,一个是对C口进行置位或复位控制字。
8255LED流水灯控制实验四8255led流水灯控制实验一、实验目的1、认识8255接口芯片、学习其在微机系统中的应用;2、学习8255编程原理;3.掌握LED水灯的汇编语言编程方法。
2、实验仪器1、dj-598kc开发系统1台2、pc机1台三、实验内容1.8086实验箱主系统电路组成★该流水灯系统采用8255芯片扩展连接“led灯”模块。
★ 测试仪包括12个发光二极管和相应的驱动电路,如下图所示。
LED控制信号输入端子l1-l12。
当输入端为低电平“0”时,LED点亮,否则LED熄灭。
2、8255编程要点指南8255是一种通用可编程并行接口芯片。
它提供三个I/O端口。
每个端口都可以编程以多种方式工作。
它广泛应用于中小型系统。
其组成结构如下图所示。
★三个i/o口,分别是pa口、pb口和pc口。
每个口提供八根数据线,如pa口线(pa0~pa7),用于连接外设。
★ dB、CB和ab总线用于连接三条CPU总线,dB用于接收来自CPU的控制命令字或数据,CB用于选择8255数据端口的读写操作,ab用于选择读写哪个端口。
★a组和b组控制电路用于编程控制pa口、pb口和pc口的工作方式选择。
见下图控制命令字格式。
如果端口a的模式0用于控制LED灯,则控制字为1000000B=80h。
★编程控制方法a、将控制命令字设置为使端口a在模式0下工作-将控制命令字写入控制端口。
b、输出要点亮的LED数据——将照明数据写入端口A。
c.8255基地址为0ff28h,则a口地址0ff28h,b口地址0ff29h,c口地址0ff2ah,控制口地址0ff2bh。
3.实验系统的建设和使用a.键盘显示器设置:jk开关置“系统”处,进入监控状态。
c、电路连接:8255A芯片a口pa0-pa7依次连接ll-l8,B口pb0-pb3依次连接l9-l12。
d.接通实验仪电源,+5vled指示灯正常发光,实验仪数码管显示闪动p.,说明实验仪初始化成功,处于待命状态。
《微机系统与接口技术》
预习报告
学院:计算机学院
专业:网络工程
班级学号:
学生姓名:小发
实验日期:
指导老师:
成绩评定:
五邑大学计算机学院制表
一,实验目的
1,学习并掌握8255 的工作方式及其应用。
2,掌握 8255 典型应用电路的接法。
3,掌握程序固化及脱机运行程序的方法。
二,实验设备
PC机器一台,TD-PITE实验装置或TD-PITC实验装置一套
三,实验内容
1,基本输入输出实验。
编写程序,使 8255 的 A 口为输入,B 口为输出,完成拨动开关到数据灯的数据传输。
要求只要开关拨动,数据灯的显示就发生相应改变。
2,流水灯显示实验。
编写程序,使 8255 的 A 口和 B 口均为输出,数据灯 D7~D0 由
左向右,每次仅亮一个灯,循环显示,D15~D8 与 D7~D0 正相反,由右向左,每次仅点亮一个灯,循环显示。
四实验内容及步骤
1. 基本输入输出实验
本实验使 8255 端口 A 工作在方式 0 并作为输入口,端口 B 工作在方式 0 并作为输出口。
实验接线图如图 6 所示,按图连接实验线路图。
用一组开关信号接入端口 A,端口 B 输出线接至一组数据灯上,然后通过对 8255 芯片编程来实现输入输出功能。
具体步骤如下述:(1)实验接线图如图 1-4所示,按图连接实验线路图。
(2)编写实验程序,经编译、连接无误后装入系统。
(3)运行程序,改变拨动开关,同时观察 LED 显示,验证程序功能。
(4)点击“调试”下拉菜单中的“固化程序”项,将程序固化到系统存储器中。
(5)将短路跳线 JDBG 的短路块短接到 RUN 端,然后按复位按键,观察程序是否正常运行;关闭实验箱电源,稍等后再次打开电源,看固化的程序是否运行,验证程序功能。
(6)实验完毕后,请将短路跳线 JDBG 的短路块短接到 DBG 端。
图1-4 8255基本输入输出实验接线图
实验程序清单(A82551.ASM)
SSTACK SEGMENT STACK
DW 32 DUP(?)
SSTACK ENDS
CODE SEGMENT
ASSUME CS:CODE
START: MOV DX, 0646H
MOV AL, 90H
OUT DX, AL
AA1: MOV DX, 0640H
IN AL, DX
CALL DELAY
MOV DX, 0642H
OUT DX, AL
JMP AA1
DELAY: PUSH CX
MOV CX, 0F00H
AA2:
PUSH AX
POP AX
LOOP AA2
POP CX
RET
CODE ENDS
END START
流水灯显示实验:
使 8255 的 A 口和 B 口均为输出,数据灯 D7~D0 由左向右,每次仅亮一个灯,循环显示,D15~D8 与 D7~D0 正相反,由右向左,每次仅点亮一个灯,循环显示。
实验接线图如下图所示。
实验步骤如下所述:
(1)按图 1-5连接实验线路图。
(2)编写实验程序,经编译、链接无误后装入系统(具体实验步骤和实验1基本
类似)。
(3)运行程序,观察 LED 灯的显示,验证程序功能。
(4)自己改变流水灯的方式,编写程序。
(5)固化程序并脱机运行。
图1-5 8255流水灯实验接线图
实验程序清单(A82552.ASM)
SSTACK SEGMENT STACK
DW 32 DUP(?)
SSTACK ENDS
CODE SEGMENT
ASSUME CS:CODE
START: MOV DX, 0646H
MOV AL, 80H
OUT DX, AL
MOV BX, 8001H
AA1: MOV DX, 0640H
MOV AL, BH
OUT DX, AL
ROR BH, 1
MOV DX, 0642H
MOV AL, BL
OUT DX, AL
ROL BL, 1
CALL DELAY
CALL DELAY
JMP AA1
DELAY: PUSH CX
MOV CX, 0F000H
AA2: PUSH AX
POP AX
LOOP AA2
POP CX
RET
CODE ENDS
END START。