《微机系统与接口技术》8255流水灯实验报告

合集下载

微机原理8255实验报告

微机原理8255实验报告
三、 实验分析:外设(开关 k、LED)为简单外设 随时准备好,故可采用 无 条件传送方式,通过之前学习的 8255 知识,将程序编写完成。
四、 实验过程中遇到的问题:在第一次编写完成后,我们调试失败了,通 过检查,发现程序有一个指令编写错误,纠正后,程序仍然编译失败, 连续好几次都没有成功,后来通过向同学请教,发现我们在改正之前没 有进行复位,导致错误没有纠正,按照正确的过程改正后,终于调试成 功了,我们看到随着电脑屏幕上的程序一条条执行,LED 灯准确地将开 关的状态输出,实验终于成功了。
微机原理与接口技术实验报告
姓名
学号
专业年级
实验题目
8255 并行接口实验
实验目的 实验内容
通过实验了解 8255 的工作原理,并在实验中熟悉 8255 的初始化编程,巩固学
习的理论知识,将理论转化为实践。
实验题 1 编写程序,使得逻辑电平开关的变化在发光二极管上显示出来。即当 开关 ki 置于 L 时,对应发光二极管 LEDi 点亮;置于 H 时熄灭
实验题 2 编写程序,使得当开关 k1 置于 L 时,LED1~LED2 皆亮; k1 置于 H 时, LED1~LED2 皆灭
实验分析
一、首先按照以下的实验连线将电路连接好: CS8255 CS0 PA0~PA1 开关 K1~K2 PB0~PB1 发光二极管 LED1~LED2
二、(打开实验箱电源)PC 机运行 8086 调试软件 TECH86---串口 COM3 或 COM4—PREST 键 编辑程序,单步运行,调试程序 调试通过后,全速运行程序,观看实验结果
start
实验二:
assume cs:code
code segment public
org

微机实验-流水灯8255

微机实验-流水灯8255

电子信息工程系实验报告课程名称:微机原理与接口技术实验项目名称: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 ;控制时间暂停和开始。

利用8255A实现LED的流水点亮实验

利用8255A实现LED的流水点亮实验
moval,00000100b
outdx,al
;-
movdx,211h
moval,00000000b
outdx,al
movdx,210h
moval,40h
outdx,al
movdx,211h
moval,00000010b
outdx,al
;A
movdx,211h
moval,00000000b
outdx,al
moval,7fh
outdx,al
movdx,211h
moval,00100000b
outdx,al
;2
movdx,211h
moval,00000000b
outdx,al
movdx,210h
moval,5bh
outdx,al
movdx,211h
moval,00010000b
outdx,al
;5
movdx,211h
movdx,210h
moval,77h
outdx,al
movdx,211h
moval,00000001b
outdx,al
loop lp ;转至lp
jmplop ;跳至lop
hlt ;使处理器处于暂时停机状态.
codeends
end start
在数码管上显示“8255-A”。
三、实验分析
实验要求利用8255芯片8个开关来控制8个LED灯的开关。我们在课堂上学过8255有ABC三个口,可以输入和输入。因此首先可以想到的就是,把PA口A0-A7接8个波动开关K1-K7,并将A口调整为读入。同时将A口读入的信号用B口输出,这样就可以通过拨动开关来控制LED灯的明灭。为了让灯亮的时间足够人眼分辨出来,需要在程序里加入延时语句,其中加零语句就可以实现延时。

8255并口控制器应用实验报告

8255并口控制器应用实验报告

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灯的显示,验证程序功能程序结果。

《微机系统与接口技术》8255流水灯实验报告

《微机系统与接口技术》8255流水灯实验报告

《微机系统与接口技术》预习报告学院:计算机学院专业:网络工程班级学号:学生姓名:小发实验日期:指导老师:成绩评定:五邑大学计算机学院制表一,实验目的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 正相反,由右向左,每次仅点亮一个灯,循环显示。

8255实验-微机原理与接口技术

8255实验-微机原理与接口技术

实验线路连接
(1) 8255A芯片PC0~ PC7插孔依次接K1~ K8。
(2) 8255A芯片PB0~PB7插孔依次接L1 ~ L8。
(3) 8255A的CS插孔CS-8255接译码输出Y7插
孔。
要求: ① 读懂系统程序中有关 8255A 的部分。
包括:端口地址、初始化编程、 二极管发光情况与开关状态间的对应关系
并使其根据开关 K1~ K8 的状态发光。 · 以 K8 作为总开关,
若 K8打开(0),则 L1~ L8同时熄灭; 若 K8闭和(1),则 L1~ L7由K1~ K7控 制。
IOCONPT EQU 0073H IOCPT EQU 0072H IOBPT EQU 0071H IOAPT EQU 0070H
② 执行程序,并进行观察,记录。 PC 口 8 位接 8 个开关 K1~ K8 , PB 口 8 位接 8 个 LED 发光二极管 L1~ L8 , 并使其根据开关 K1~ K8 的状态发光。
③ 改变电路接法并修改程序,要求实现:
· PA 口 8 位接 8 个开关 K1~ K8 ,
PB 口 8 位接 8 个发光二极管 L1~ L8
IOLED: CALL FORMAT CALL LEDDISP
MOV AL,90H B口输出
;10010000 写方式控制字 方式0 A口输入
MOV DX,IOCONPT
OUT P
IOLED1: MOV DX,IOAPT
IN AL,DX
MOV DX,IOBPT
OUT DX,AL
并行接口 8255 的应用
1、实验目的 掌握8255A和微机接口方法。 掌握8255A的工作方式和编程原理。
2、实验内容

微机原理实验报告 可编程并行IO接口8255

微机原理实验报告 可编程并行IO接口8255

《微机原理及应用技术》课程实验报告实验五可编程并行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流水灯控制

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.,说明实验仪初始化成功,处于待命状态。

8255实验报告

8255实验报告

一、实验目的掌握8255A的编程原理。

二、实验设备CPU挂箱、8086CPU模块。

三、实验内容8255A的A口作为输入口,与逻辑电平开关相连。

8255A的B口作为输出口,与发光二极管相连。

编写程序,使得逻辑电平开关的变化在发光二极管上显示出来。

四、实验原理介绍本实验用到两部分电路:开关量输入输出电路和8255可编程并口电路。

五、实验步骤1、实验接线CS0↔CS8255; PA0~PA7↔平推开关的输出K1~K8; PB0~PB7↔发光二极管的输入LED1~LED8。

2、编程并全速或单步运行。

3、全速运行时拨动开关,观察发光二极管的变化。

当开关某位置于L时,对应的发光二极管点亮,置于H时熄灭。

六、实验提示8255A是比较常用的一种并行接口芯片,其特点在许多教科书中均有介绍。

8255A 有三个8位的输入输出端口,通常将A端口作为输入用,B端口作为输出用,C端口作为辅助控制用,本实验也是如此。

实验中,8255A工作于基本输入输出方式(方式0)。

七、实验结果程序全速运行后,逻辑电平开关的状态改变应能在LED上显示出来。

例如:K2置于L位置,则对应的LED2应该点亮。

八、程序框图(实验程序名:t8255.asm)开始设置8255工作方式读A口输出至B口结束九、程序源代码清单:assume cs:codecode segment publicorg 100hstart: mov dx,04a6h ;控制寄存器地址mov ax,90h ;设置为A口输入,B口输出out dx,axstart1:mov dx,04a0hin al,axmov dx,04a2hout dx,aljmp start1code endsend start十、扩展要求程序全速运行之后,实现流水灯。

通过开关控制流水灯的流水方向。

十一、实验代码assume cs:codecode segment publicorg 100hstart:mov dx,04a6hmov ax,90hout dx,axmov bh,0fehstart1:mov dx,04a0hin al,dxand al,1hcmp al,0jz LR:ror bh,1jmp OutputL:rol bh,1Output:mov dx,04a2hmov al,bhout dx,almov cx,0fffhABC:loop ABCjmp start1code endsend start十二、实验收获通过本实验,我们掌握8255A的编程原理。

微机实验五

微机实验五

《微机原理与接口技术》实验报告8255并行接口实验-流水灯显示实验学院:应用物理与材料学院专业:电子信息工程(半导体绿色光源)班级学号:140604学生姓名:huxiaoling实验日期:2016.11.28指导老师:杭维颖成绩:五邑大学计算机学院接口与通信实验室1.1 实验目的1. 学习并掌握8255的工作方式及其应用。

2. 掌握8255典型应用电路的接法。

3. 掌握程序固化及脱机运行程序的方法。

1.2 实验设备 PC 机一台,TD-PITE 实验装置或TD-PITC 实验装置一套。

1.3 实验内容1. 基本输入输出实验。

编写程序,使8255的A 口为输入,B 口为输出,完成拨动开关到数据灯的数据传输。

要求只要开关拨动,数据灯的显示就发生相应改变。

2. 流水灯显示实验。

编写程序,使8255的A 口和B 口均为输出,数据灯D7~D0由左向右,每次仅亮一个灯,循环显示,D15~D8与D7~D0正相反,由右向左,每次仅点亮一个灯,循环显示。

1.4 实验步骤流水灯显示实验使8255的A 口和B 口均为输出,数据灯D7~D0由左向右,每次仅亮一个灯,循环显示,D15~D8与D7~D0正相反,由右向左,每次仅点亮一个灯,循环显示。

实验接线图如图4.35所示。

实验步骤如下所述:(1)按图1-5连接实验线路图。

(2)编写实验程序,经编译、链接无误后装入系统。

(3)运行程序,观察LED 灯的显示,验证程序功能。

(4)自己改变流水灯的方式,编写程序。

(5)固化程序并脱机运行。

D0D7...WR RD CSPA0PA7...PB0PB7...XD0XD7...IOW#IOR#IOY1D0D7...D8D15...系统总线8255单元A0A1XA1XA2开关及LED显示单元图1-5 8255流水灯实验接线图1.5 实验调试数据与结果方案一:SSTACK SEGMENT STACK DW 32 DUP(?) SSTACK ENDS CODE SEGMENTASSUME CS:CODE START:MOV DX, 0646HMOV AL, 80HOUT DX, ALMOV BX, 0100HAA1: MOV DX, 0640HMOV AL, BHOUT DX, ALMOV DX, 0642HMOV AL, BLOUT DX, ALROL BX, 1CALL DELAYCALL DELAYJMP AA1DELAY: PUSH CXMOV CX, 0F000HAA2: PUSH AXPOP AXLOOP AA2POP CXRETCODE ENDSEND START现象:数据灯D0亮,数据灯D15-D0,从左往右依次点亮,每次仅点亮一个灯,循环显示方案二SSTACK SEGMENT STACKDW 32 DUP(?)SSTACK ENDSCODE SEGMENTASSUME CS:CODESTART: MOV DX, 0646HMOV AL, 80HOUT DX, ALMOV BX, 0080HAA1: MOV DX, 0640HMOV AL, BHOUT DX, ALMOV DX, 0642HMOV AL, BLOUT DX, ALROR BX, 1CALL DELAYCALL DELAYJMP AA1DELAY: PUSH CXMOV CX, 0F000HAA2: PUSH AXPOP AXLOOP AA2POP CXRETCODE ENDSEND START现象:数据灯D15亮,数据灯D15-D0,从右往左依次点亮,每次仅点亮一个灯,循环显示方案三SSTACK SEGMENT STACKDW 32 DUP(?)SSTACK ENDSCODE SEGMENTASSUME CS:CODESTART: MOV DX, 0646HMOV AL, 80HOUT DX, ALMOV BX, 8000HAA1: MOV DX, 0640HMOV AL, BHOUT DX, ALMOV DX, 0642HMOV AL, BLOUT DX, ALSAR BX, 1CALL DELAYCALL DELAYJC AAJMP AA1DELAY: PUSH CXMOV CX, 0F000HAA2: PUSH AXPOP AXLOOP AA2POP CXRETCODE ENDSEND START现象:数据灯D15亮,数据灯D15-D0,从右往左依次点亮,D15-D0全亮后,再循环到D15亮,其他灭,接着又从右往左依次点亮,循环显示1.6 实验中遇到问题与解决方法问题1:不懂部分语句意思解决1:询问老师和同学,参考书本加深理解问题2:不懂得如何编写流水灯程序解决2:在老师提醒下,逐步完善完成问题3:当操作练习完成时,尝试改变流水灯位置,但结果不合意解决3:重新把程序从头到尾看一次,重新理解程序1.7 实验收获与体会收获:掌握8255典型应用电路的接法体会:理解A,B端口的具体操作方式。

微机原理实验报告(8255并口实验)

微机原理实验报告(8255并口实验)

WORD格式深圳大学实验报告课程名称:微型计算机技术实验项目名称:8255并行接口实验学院:信息工程学院专业:电子信息工程指导教师:报告人:学号:班级:实验时间:实验报告提交时间:教务处制一,实验目的1,学习并掌握8255的工作方式及其应用。

2,掌握8255典型应用电路的接法。

3,掌握程序固化及脱机运行程序的方法。

二,实验设备PC机器一台,TD-PITE实验装置一套,导线若干,另外PC与TD-PITE实验装置连接线。

三,实验内容1,基本输入输出实验。

编写程序,使8255的A口为输入,B口为输出,完成拨动开关到数据灯的数据传输。

要求只要开关拨动,数据灯的显示就发生相应改变。

2,流水灯显示实验。

编写程序,使8255的A口和B口均为输出,数据灯D7~D0由左向右,每次仅亮一个灯,循环显示,D15~D8与D7~D0正相反,由右向左,每次仅点亮一个灯,循环显示。

四实验内容及步骤1.基本输入输出实验本实验使8255端口A工作在方式0并作为输入口,端口B工作在方式0并作为输出口。

实验接线图如图6所示,按图连接实验线路图。

用一组开关信号接入端口A,端口B输出线接至一组数据灯上,然后通过对8255芯片编程来实现输入输出功能。

图68255基本输入输出失误接线图3.编写实验程序如下面(1)汇编源程序SSTACKSEGMENTSTACKDW32DUP(?)SSTACKENDSCODESEGMENTASSUMECS:CODESTART:MOVDX,0646H;控制端口地址0646H送DX,因为8255的cs端口接的是I0Y1,而I0Y1对应的编址空间是0640H—067FH,所以这里是0646H。

MOVAL,90H;方式选择控制字送ALOUTDX,AL;方式选择控制字输给8255A的控制端口,完成端口A工作在方式0并作为输入口,端口B工作在方式0并作为输出口。

AA1:MOVDX,0640H;控制端口A地址0640H送DXINAL,DX;将端口A连接的开关的对应状态送给ALCALLDELAYMOVDX,0642H;控制端口A地址0642H送DXOUTDX,AL;将AL的数据送到8255的端口B,从而使其连接的LED的灯发光JMPAA1DELAY:PUSHCXMOVCX,0F00HAA2:PUSHAXPOPAXLOOPAA2POPCXRETCODEENDSENDSTARTii具体实验步骤如下述:(1)编写实验程序,经编译、连接无误后装入系统(2)运行程序,改变拨动开关,同时观察LED显示,验证程序功能。

8255并行接口流水灯显示实验

8255并行接口流水灯显示实验

※※※※※※※※※※※※※※※※※※※※※※※※微机原理课程设计报告书课题名称 8255 并行接口流水灯显示实验姓名学号院、系、部物理与电信工程系专业指导教师一、设计任务及要求:设计任务:流水灯显示实验。

编写程序,使8255 的A口和B口均为输出,数据灯D7~D0由左向右,每次仅亮一个灯,循环显示,D15~D8与D7~D0 正相反,由右向左,每次仅点亮一个灯,循环显示。

要求:指导教师签名:2009年6月8日二、指导教师评语:指导教师签名:2009 年6月8 日三、成绩验收盖章2009年6 月8日8255 并行接口流水灯显示实验一、设计目的1. 学习并掌握8255 的工作方式及其应用;2. 掌握8255 典型应用电路的接法。

二、设计要求流水灯显示实验。

编写程序,使8255 的A口和B口均为输出,数据灯D7~D0由左向右,每次仅亮一个灯,循环显示,D15~D8与D7~D0 正相反,由右向左,每次仅点亮一个灯,循环显示。

三、电路及连线设计并行接口是以数据的字节为单位与I/O 设备或被控制对象之间传递信息。

CPU 和接口之间的数据传送总是并行的,即可以同时传递8 位、16 位或32 位等。

8255可编程外围接口芯片是Intel公司生产的通用并行I/O 接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/输出方式、方式1--选通输入/输出方式、方式2--双向选通工作方式。

8255 的内部结构及引脚如图2-6-1 所示,8255工作方式控制字和C口按位置位/复位控制字格式如图2-6-2所示图2-6-1 8255内部结构及外部引脚图(a)工作方式控制字(b)C口按位置位/复位控制字图2-6-2 8255控制字格式图2-6-5 8255流水灯实验接线图四、使用说明使8255的A口和B口均为输出,数据灯D7~D0 由左向右,每次仅亮一个灯,循环显示,D15~D8 与D7~D0正相反,由右向左,每次仅点亮一个灯,循环显示。

微机原理可编程并行接口8255实验

微机原理可编程并行接口8255实验

;************************************************************************** *** ; /*全灭子程序*/ ;************************************************************************** *** ALLOFF: IN AL,0FFH OUT DX,AL CALL DELAY RET
RIGHT1:
;************************************************************************** ***
3
; /*左移子程序*/ ;************************************************************************** *** LEFT: MOV MOV CLC RCL OUT CALL LOOP RET CL,08H AL,0FFH AL,1 DX,AL DELAY LEFT1
A8255 B8255 C8255 D8255
MAIN: TRAFFIC:
;状态口 ;方式 0 输出 ;PA 口地址
TRAFFIC1:
5
CALL ST2 CALL ST3 CALL ST4 JMP TRAFFIC1 ;************************************************************************* ; /*初始状态全为红灯*/ ;************************************************************************* ST0: MOV AL,1BH OUT DX,AL CALL DELAY RET ;************************************************************************** *** ; /*南北为绿灯,东西为红灯子程序*/ ;************************************************************************** *** ST1: MOV OUT CALL CALL CALL CALL CALL CALL RET AL,33H DX,AL DELAY1 DELAY1 DELAY1 DELAY1 DELAY1 DELAY1

微机原理与接口技术实验2报告

微机原理与接口技术实验2报告

微机原理与接口技术实验报告实验二实验名称:试验箱软件环境搭建实验实验内容:流水灯显示实验:首先分别向A口和B口写入80H和01H,然后分别将该数右移和左移一位,再送到端口上,这样循环下去,从而实现流水灯的显示。

参考实验程序流程如图所示:实验步骤:(1)实验接线图如图6所示,按图连接实验线路图。

(2)运行Tdpit集成操作软件,根据实验内容,编写实验程序,编译、链接。

(3)运行程序,观察LED灯的显示,验证程序功能。

(4)自己改变流水灯的方式,编写程序。

实验代码:代码一:;T8255-2.asm;8255流水灯显示实验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,80H ;工作方式0,A口和B口为输出OUT DX,ALMOV DX,MY8255_A ;写A口发出的起始数据MOV AL,80HOUT DX,ALMOV LA,ALMOV DX,MY8255_B ;写B口发出的起始数据MOV AL,01HOUT DX,ALMOV LB,ALLOOP1: CALL DALL YMOV AL,LA ;将A口起始数据右移再写入A口ROR AL,1MOV LA,ALMOV DX,MY8255_AOUT DX,ALMOV AL,LB ;将B口起始数据左移再写入B口ROL 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 START运行结果:流水灯从两边往中间依次闪烁。

微机原理与接口技术实验报告-8255控制交通灯实验-1204012009-解小东

微机原理与接口技术实验报告-8255控制交通灯实验-1204012009-解小东

计算机科学与技术系实验报告专业名称计算机科学与技术课程名称微机原理与接口技术项目名称 8255控制交通灯实验班级 12计本(2 )班学号 1204012009姓名解小东同组人员实验日期 2014/12/3实验四 8255控制交通灯实验一、实验目的与要求D034D133D232D331D430D529D628D727PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC710RD 5WR 36A09A18RESET 35CS68255U36D0D1D2D3D4D5D6D7WRRD RSTA0A1PC5PC6PC7PC2PC3PC4PC0PC1DS35DS36DS37DS38DS39DS40DS4112345678VCCDS42A0A1CSCS1(0F000H)510R111510R112510R113510R114510R115510R116510R117510R118.MODEL TINYCOM_ADD EQU 0F003HPA_ADD EQU 0F000HPB_ADD EQU 0F001HPC_ADD EQU 0F002H.STACK 100.DATALED_Data DB 01111101B ;东西绿灯,南北红灯DB 11111101B ;东西绿灯闪烁,南北红灯DB 10111101B ;东西黄灯亮,南北红灯DB 11010111B ;东西红灯,南北绿灯DB 11011111B ;东西红灯,南北绿灯闪烁DB 11011011B ;东西红灯,南北黄灯亮.CODESTART: MOV AX,@DATAMOV DS,AXNOPMOV DX,COM_ADDMOV AL,80HOUT DX,ALMOV DX,PA_ADDMOV AL,0FFHOUT DX,ALLEA BX,LED_DATASTART1: MOV AL,0XLEAOUT DX,ALCALL DL5SMOV CX,6START2: MOV AL,1XLATOUT DX,AL ;东西绿灯闪烁,南北红灯CALL DL500msMOV AL,0XLATOUT DX,ALCALL DL500msLOOP START2MOV AL,2 ; 东西黄灯亮,南北红灯XLATOUT DX,ALCALL DL3SMOV AL,3 ;东西红灯,南北绿灯XLATOUT DX,ALCALL DL5SMOV CX,6START3: MOV AL,4 ;东西红灯,南北绿灯闪烁XLATOUT DX,ALCALL DL500msMOV AL,3XLATOUT DX,ALCALL DL500msLOOP START3MOV AL,5 ;东西红灯,南北黄灯亮XLATOUT DX,ALCALL DL3SJMP START1DL500ms PROC NEARPUSH CXMOV CX,60000DL500ms1: LOOP DL500ms1POP CXRETDL500ms ENDPDL3S PROC NEARPUSH CXMOV CX,6DL3S1: CALL DL500msLOOP DL3S1POP CXRETENDPDL5S PROC NEARPUSH CXMOV CX,10DL5S1: CALL DL500msLOOP DL5S1POP CXRETENDPEND START七.实验报告1.实验结果先是东西绿灯闪烁,南北红灯,然后东西黄灯亮,南北红灯,然后东西红灯,南北绿灯,然后东西红灯,南北绿灯闪烁,最后东西红灯,南北黄灯亮。

8255接口实验报告

8255接口实验报告

8255接口实验报告8255接口实验报告引言:8255接口是一种常见的数字输入输出设备,它可以连接到计算机的并行接口上。

本实验旨在通过使用8255接口,实现计算机与外部设备之间的数据传输与控制。

一、实验背景计算机与外部设备之间的数据交互是计算机系统中非常重要的一部分。

而8255接口作为一种常见的数字输入输出设备,广泛应用于各种工业控制和数据采集系统中。

了解和掌握8255接口的工作原理和使用方法,对于我们深入理解计算机与外部设备之间的数据传输与控制有着重要的意义。

二、实验目的1. 了解8255接口的基本工作原理;2. 掌握8255接口的连接方法和操作步骤;3. 实现计算机与外部设备之间的数据传输与控制。

三、实验过程1. 连接8255接口首先,将8255接口与计算机的并行接口连接起来。

确保连接的稳固和正确。

2. 编写程序使用C语言编写程序,通过并行接口与8255接口进行通信。

程序中需要包含相关的头文件和函数库,以实现对8255接口的控制和数据传输。

3. 实现数据输入通过编写程序,实现从外部设备向计算机输入数据的功能。

可以通过连接外部开关或传感器等设备,将数据输入到计算机中。

4. 实现数据输出通过编写程序,实现从计算机向外部设备输出数据的功能。

可以通过连接LED灯或其他输出设备,将计算机中的数据输出到外部设备上。

5. 运行程序将编写好的程序加载到计算机中,并运行。

观察计算机与外部设备之间的数据传输和控制情况,检查是否实现了预期的功能。

四、实验结果与分析通过实验,我们成功地实现了计算机与外部设备之间的数据传输与控制。

通过编写程序,我们可以将外部设备上的数据输入到计算机中,并将计算机中的数据输出到外部设备上。

通过观察实验结果,我们可以判断数据传输和控制是否正常。

如果数据传输和控制出现异常,我们可以通过调试程序或检查硬件连接来解决问题。

五、实验总结通过本次实验,我们深入了解了8255接口的工作原理和使用方法。

《微机系统与接口技术》8255流水灯实验报告

《微机系统与接口技术》8255流水灯实验报告

微机系统与接口技术:8255流水灯实验报告实验目的本次实验的目的是加深对8255芯片的理解,掌握8255口的输入、输出和中断原理,在此基础上,实现8255流水灯的控制。

实验原理8255芯片8255是一个可编程的并行输入 / 输出设备,拥有三个可编程I / O端口(Port A,Port B和Port C)。

篮牙分别对应着六个可用的I / O线路。

8255芯片可通过编程来设置8255设备的I / O方式,实现不同的应用。

8255芯片也支持中断请求(IRQ)和中断响应(IRQACK)。

流水灯流水灯是一种LED应用,即多个LED依次熄灭和点亮,形成一个具有动态效果同的图形。

在此次实验中,我们将通过8255口控制流水灯的状态,从而实现LED的流动效果。

实验步骤硬件实现本实验用到的硬件包括:8255芯片、LED灯、电路图板、电缆和电源。

在构建电路时,请按照以下步骤操作:1.首先,将8255芯片插入电路图板上的8255插槽中。

注意芯片的方向应该正确,否则芯片可能会被损坏。

2.将三个分别对应Port A, Port B和Port C的引脚与相应的电路元件进行连接。

在此,我们需要连接6个灯泡和6个电阻,其中每个电阻都应与一个电源连接。

3.最后,将电源输入并连接到电路图板,并打开电源。

软件实现为了控制流水灯的状态,我们将使用汇编程序编写代码,在8255口上进行读/写操作。

具体步骤如下:1.设置8255口的方式。

在此处,我们需要将8255口设置为模式0,即所有口都是单向的,其中Port A和Port B都是输出口,Port C则是输入口。

2.将Port A设为11111111。

这将设置第一个LED灯亮起。

3.然后,依次将Port A的状态更改为10111111,10011111,10001111等,以便LED灯以递减的顺序熄灭。

4.最后,在将Port A的状态设置为00000000之后,程序跳转到开始执行第二个LED的流动。

8255流水灯实验

8255流水灯实验

1)设计题目分析编写程序,使用8255的A口和B口均为输出,实现16位流水灯显示效果2)功能扩展i:将流水灯设计成可以正着流水,也可以倒着流水ii:通过开关对流水灯闪烁的速度进行控制,高电平时为快,低电平时为慢速2)总体方案设计分析要求用8255的A口和B口做为输出,接16个发光二极管,从而实现16位流水灯的显示效果,基本的界限可如下图A所示,在C口的地两位接两个开关,实现两个扩展功能的控制。

i:基本流水灯显示电路A口和B口两个端口不能同时复制,从而在试验中可以用BX进行需要复制的数据的存储,因为BX可以分从BH BL两个部分进行独立的操作,在本次试验中用BH对A口进行赋值,用BL对B口进行赋值,通过演示一段时间再对BH BL 进行移位和输出,实现流水灯的效果。

ii:正反方向选择把PC.0口接在开关上,编写程序对C端口的数据进行读取,并进行判断,使得当PC.0为高电平的时候则灯进行左移,同时B口与A口相反。

iii:快慢速度控制把PC.1口接在开关上,编写程序对C端口的数据进行读取,并进行判断,使得当PC.1为高电平的时候则延时的时间缩短,使得流水灯的流水速度加快,低电平的时候则进行延时的时间变长,使得流水灯的流水速度加快。

3硬件原理设计A该模块的WR.RD分别练到PC总线接口模块的XIOW和XIORB该模块的数据(AD0~AD7)、地址线(A0~A7)分别连到PC总线接口模块的数据(D0~D7)、地址线(A0~A7)C 8255模块选通线CA连到PC总线接口模块的IOY3D 8255的PA0~PA7连到发光二极管的L1~L8;8255的PB0~PB7连到发光二极管的L9~L16E 8255的PC0 PC1分别练到开关K0 K1F 软件流程框图及程序清单程序代码MY8255_A EQU 09860HMY8255_B EQU 09861HMY8255_C EQU 09862HMY8255_MODE EQU 09863HCODE SEGMENTASSUME CS:CODESTART:MOV DX,MY8255_MODEMOV AL,81H ;设置A口、B口方式0输出,C口低四位方式0输出OUT DX,ALMOV CL,0XOR BX,BX ;将BX清零MOV DX,MY8255_BMOV AL,0FEHMOV BL,ALOUT DX,ALMOV DX,MY8255_AMOV AL,7FHMOV BH,ALOUT DX,AL ;对A口、B口赋值,并将值保存在BH BL中A1:ROL BL,1ROR BH,1 ;对BH BL做出相应的移位A3:PUSH BX ;保护现场CALL BREAK ;调用任意键退出程序CALL DELAY ;调用延时程序POP BX ;恢复现场MOV DX,MY8255_AMOV AL,BHOUT DX,ALMOV DX,MY8255_BMOV AL,BLOUT DX,AL ;将移位后的结果输出MOV DX,MY8255_CIN AL,DX ;将C都的数据输入AND AL,01H ;查看PC0口是否有数据输入,改变流水灯的方向JNZ A2 ;结果不全为0,则跳转JMP A1A2:ROL BH,1ROR BL,1JMP A3DELAY PROC NEAR ;延时程序MOV CX,0FFFHK1:MOV BX,0FFFHK2:DEC BXCMP BX,1000HJNE K2MOV DX,MY8255_CIN AL,DX ;将C口的数据输入AND AL,02H ;查看PC1是否有输入,改变延时,使得延时的时间变快JNZ K3 结果不全为0.则跳转LOOP K1K3:RETDELAY ENDPBREAK PROC NEAR ;按任意键退出MOV AH,06HMOV DL,0FFHINT 21HJE RETURNMOV AX,4C00HINT 21HRETURN:RETBREAK ENDPCODE ENDSEND START取反输出SSTACK SEGMENT STACKDW 32 DUP(?)SSTACK ENDSCODE SEGMENTASSUME CS:CODESTART: MOV DX, 0646HMOV AL, 90HOUT DX, ALAA1: MOV DX, 0640HIN AL, DXCALL DELAYMOV DX, 0642Hnot ALOUT DX, ALJMP AA1 DELAY: PUSH CXMOV CX,0F00H AA2: PUSH AXPOP AXLOOP AA2POP CXRETCODE ENDSEND START流水灯两边向中间显示SSTACK SEGMENT STACKDW 32 DUP(?) SSTACK ENDSCODE SEGMENTASSUME CS:CODE START: MOV DX, 0646HMOV AL, 80HOUT DX, ALMOV BX, 8001HAA1: MOV DX, 0640HMOV AL, BLOUT DX, ALROL BL, 1MOV DX, 0642HMOV AL, BHOUT DX, ALROR BH, 1CALL DELAYCALL DELAYJMP AA1 DELAY: PUSH CXMOV CX, 08F00H AA2: PUSH AXPOP AXLOOP AA2POP CXRETCODE ENDSEND START4)实验心得:写过基本输出输入之后,对本实验只是有个大概了解,直到真正懂也花了很长时间,接着做流水灯闪烁效果时,开始混乱,有很多代码不懂,后来通过问同学,问老师,自己不断地思考、理解,对不懂的代码进行注释,终于克服了代码。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《微机系统与接口技术》
预习报告
学院:计算机学院
专业:网络工程
班级学号:
学生姓名:小发
实验日期:
指导老师:
成绩评定:
五邑大学计算机学院制表
一,实验目的
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。

相关文档
最新文档