基于8255A可编程并行接口的定时器循环彩灯实验报告
8255并行口实验

JZ NEXT
MOV AL,00H
NEXT:MOVAL,0FFH
”
结果无论开关是否闭合,全都不亮,后来发现只需在中间加上个跳转语句就行了。
实验程序如下
附录
实验题1:
ASSUME CS:CODE学号
113200880200057
专业年级
电子信息工程2008级
实验题目
8255并行口实验
实验目的
1、掌握可编程并行接口8255的初始化及其应用
2、掌握汇编语言源程序的设计方法
实验内容
实验内容1:8255A的A口作为输入口,与逻辑电平开关K1~K8相连。8255A的B口作为输出口,与发光二极管LED1~LED8相连。编写程序,使得逻辑电平开关的变化在发光二极管上显示出来。即当开关ki置于L时,对应发光二极管LEDi点亮;置于H时熄灭。
TEST AL,01H;测试PA0的状态
JZ NEXT;PA0为0则跳转
MOV AL,00H;否则全亮
JMP LOOP2
NEXT:MOV AL,0FFH;置全灭
LOOP2:MOV DX,04A2H
OUT DX,AL;输出,控制灯的开关
JMP LOOP1
CODE ENDS
END START
CODE SEGMENT PUBLIC
ORG 100H
START:MOVAL,10010000B
MOV DX,04A6H
OUT DX,AL;送出8255的控制字
LOOP1:MOV DX,04A0H
IN AL,DX;读入A口的状态
实验三、8255A并行接口实验

实验结论
通过本次实验,我们验证了8255A并行接口芯片的基本功能和工作原理。
实验结果证明了8255A芯片可以实现并行数据传输,并且可以通过设置不 同的端口模式来实现不同的输入输出功能。
在实际应用中,8255A芯片可以作为并行数据传输的重要接口之一,广泛 应用于各种数字电路和微机控制系统中。
05
实验总结与展望
等。
学习如何设置8255a并行接口芯 片的控制字,掌握其工作模式和
特点。
理解8255a并行接口芯片在计算 机中的重要性和作用,以及与其
他接口芯片的区别和联系。
掌握8255a并行接口芯片的工作原理
了解8255a并行接口芯片的基本 结构和工作原理,包括输入/输 出端口、控制寄存器和数据总线
等。
学习如何设置8255a并行接口芯 片的控制字,掌握其工作模式和
缺乏实验指导
实验过程中,我们遇到了一些难 以解决的问题,如果能有更多的 实验指导资料或教师指导,将有 助于我们更好地有限,我们未能充 分探索8255a并行接口的更多功 能和应用场景,建议增加实验时 间,以便我们有更多的机会深入 了解该芯片。
实验不足与改进建议
实验难度不够
学习如何使用8255a并行接口芯片进行硬件控制
学习如何使用8255a并行接口 芯片进行输入/输出操作,包括 读取和写入数据。
掌握如何通过8255a并行接口 芯片控制外部硬件设备,如 LED灯、继电器等。
了解如何将8255a并行接口芯 片与其他芯片连接,实现硬件 的扩展和控制。
了解并行接口在计算机中的作用和重要性
实验三
将端口B和端口C设置为输入,端口A设置为输出。 当在端口B和端口C上施加不同的电平时,端口A 的输出与端口C的输入相同。
实验九 可编程接口芯片8255应用(交通灯控制)

实验九可编程接口芯片8255应用(交通灯控制)双击自动滚屏发布者:admin 发布时间:2005-9-8 阅读:2151次一、实验目的1、学习扩展简单I/O接口的方法以及双色灯的使用。
2、进一步学习微处理器的编程技术。
二、实验要求编写程序,以8255作为输出口,控制4个双色LED灯(可发红、绿、黄光)红绿交替闪亮。
三、实验说明1、双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,公用负端。
当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。
2、本实验要求8255工作于方式0,四个双色灯红绿交替闪亮。
四、实验电路及连线将DG1~DG4,DR1~DR4用导线连至8255的PC0~PC7,8255的CS片选接至138译码处的200H~207插孔。
芯片在实验机的位置五、实验参考程序D1 EQU 10HD2 EQU 200HDA TA SEGMENTPB DB ?DA TA ENDSSTACK SEGMENT STACKSTA DW 50 DUP(?)TOP EQU LENGTH STASTACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: PUSH CSPOP DSMOV DX,203H ;设置为全输出MOV AL,80HOUT DX,ALMOV DX,202HOUT DX,AL ;清LEDMOV DX,202H ;全红MOV AL,0F0HOUT DX,ALMOV BX,7fHCALL DL YBG: MOV AL,01101001B ;南北绿,东西红OUT DX,ALMOV BX,D2CALL DL YMOV CX,03HXH1: AND AL,0F6H ;绿灭OUT DX,ALMOV BX,D1CALL DL YOR AL,09H ;绿亮OUT DX,ALMOV BX,D1CALL DL YLOOP XH1OR AL,90H ;南北黄OUT DX,ALMOV BX,D1CALL DL YMOV BX,D1CALL DL YMOV AL,10010110B ;南北红,东西绿OUT DX,ALMOV BX,D2CALL DL YMOV CX,03XH2: AND AL,0F9HOUT DX,ALMOV BX,D1CALL DL YOR AL,06HOUT DX,ALMOV BX,D1CALL DL YLOOP XH2OR AL,60HOUT DX,ALMOV BX,D1MOV BX,D1CALL DL YJMP BGDL Y PROC NEARPUSH CXDDD: MOV CX,0FFFHCCC: LOOP CCCDEC BXCMP BX,0JNE DDDPOP CXRETDL Y ENDPCODE ENDSEND START六、思考题有紧急车辆或紧急情况出现,如何处理?程序如何设计?七、实验报告要求1、实验内容为必做内容,其中,思考题须自行设计电路、连线及编写程序。
实验七 8255A 并行口实验

实验七8255A 并行口实验(二)一、实验目的掌握通过8255A 并行口传输数据的方法,以控制发光二极管的亮与灭。
二、实验内容用8255 做输出口,控制十二个发光管亮灭,模拟交通灯管理。
三、实验程序CODE SEGMENTASSUME CS:CODEIOCONPT EQU 0FF2BH;8255控制口IOAPT EQU 0FF28H;PA口IOBPT EQU 0FF29H;PB口IOCPT EQU 0FF2AH;PC口ORG 11E0HSTART: MOV AL,82H;PB输入,PA,PC输出MOV DX,IOCONPTOUT DX,AL;写命令字MOV DX,IOBPT;读PB口IN AL,DXMOV BYTE PTR DS:[0601H],AL;保存PBMOV DX,IOCONPT;8255控制口MOV AL,80HOUT DX,AL;写命令字,PA,PB,PC输出MOV DX,IOBPTMOV AL,DS:[0601H]OR AL,0F0HOUT DX,AL;将读入的PB状态重新置到PB上MOV DX,IOCPTMOV AL,0F0HOUT DX,AL;四路口红灯全亮CALL DELAY1;延时IOLED0:MOV AL,10100101BMOV DX,IOCPTOUT DX,AL;南北绿灯亮,东西红灯亮;-----------------------------------------------CALL DELAY1;延时CALL DELAY1;延时CALL DELAY1;延时CALL DELAY1;延时CALL DELAY1;延时CALL DELAY1;延时;------------------------此处为南北绿灯亮的时间-------------OR AL,0F0HOUT DX,AL;南北绿灯灭,东西红灯亮MOV CX,8IOLED1:MOV DX,IOBPTMOV AL,DS:[0601H]AND AL,10101111BOUT DX,AL;南北黄灯亮,东西黄灯亮CALL DELAY2;延时 --------------南北黄灯闪烁时间OR AL,01010000BOUT DX,AL;南北黄灯灭,东西黄灯灭CALL DELAY2;延时LOOP IOLED1;南北黄灯闪烁8次MOV DX,IOCPTMOV AL,0F0HOUT DX,AL;四路口红灯全亮;----------------------------------------------------------CALL DELAY2;延时;----------------------此处为四路口红灯全亮时间---------------- MOV AL,01011010BOUT DX,AL;东西绿灯亮,南北红灯亮;---------------------------------------------------------CALL DELAY1;延时CALL DELAY1;延时CALL DELAY1;延时CALL DELAY1;延时CALL DELAY2;延时CALL DELAY2;延时CALL DELAY2;延时CALL DELAY2;延时CALL DELAY2;延时CALL DELAY2;延时CALL DELAY2;延时CALL DELAY2;延时;----------------------此处为东西绿灯亮的时间-----------------------------------OR AL,0F0HOUT DX,AL;东西绿灯灭MOV CX,8IOLED2:MOV DX,IOBPTMOV AL,DS:[0601H]AND AL,01011111BOUT DX,AL;东西黄灯亮,CALL DELAY2;延时 --------------东西黄灯闪烁时间OR AL,10100000BOUT DX,AL;东西黄灯灭,CALL DELAY2;延时LOOP IOLED2;东西黄灯闪烁8次,南北黄灯亦然MOV DX,IOCPTMOV AL,0F0HOUT DX,AL;四路口红灯全亮;---------------------------------------------------------- CALL DELAY2;延时;----------------------此处为四路口红灯全亮时间------------ JMP IOLED0;循环继续DELAY1:PUSH AXPUSH CXMOV CX,0030HDELY2:CALL DELAY2;延时,DELAY1延时是DELAY2的48倍LOOP DELY2POP CXPOP AXRETDELAY2:PUSH CXMOV CX,8000HDELA1:LOOP DELA1POP CXRETCODE ENDSEND START四、实验结果本实验实现了双路口的,交通灯循环。
微机接口实验报告(循环彩灯)

目录第一章需求分析1.1 设计目的 (1)1.2 设计任务和要求 (1)1.3 软硬件运行环境及开发工具 (1)第二章概要分析2.1 总体方案和说明 (2)2.2 8255A芯片图 (3)2.3 循环彩灯流程图 (4)第三章详细设计3.1 硬件设计和实现 (5)3.2 实验电路图和说明 (6)3.3 源程序代码 (6)第四章系统调试和操作说明4.1 系统调试 (9)4.2 操作说明 (9)第五章总结体会 (10)参考文献 (10)第一章:需求分析1.1设计目的巩固和加深课堂所学知识;熟悉各种指令的使用及条件;学习掌握一般的软硬件的设计方法和查阅、运用资料的能力;深入了解和掌握8255A在PC机系统的典型接法和8255A的工作方法及使用编程。
1.2设计任务和要求任务:循环彩灯控制系统输出四种参考花型如下:数位为1时表示灯亮1)00000001 左循环2)10000000 右循环3)按10000001,11000011,11100111,11111111 规律递增,全亮后同时闪烁十次,循环不断。
4)按11110000,00001111 交替闪烁。
要求:1.画出硬件原理图(接口芯片和外设部分)和实验连线图;2.功能要求:1)循环彩灯的循环速度可调;2)按键要求①启动/暂停,按K0开关启动系统,按K1开关停止系统工作。
②花型变换,由开关K2、K3进行四种花型切换;1.3软硬件运行环境及开发工具利用TDN86/88实验平台进行硬件电路的连接,在Wmd86软件下进行程序的调试,直到使循环彩灯按照设计要求运行,实验所使用的实验开发平台是Wmd86,使用的编程语言是汇编。
第二章:概要设计2.1 总体方案和说明根据所学内容和对8255A的使用,整个系统硬件采用8086微处理器,和8255A可编程并行接口芯片和8个led彩灯。
Intel 8255A是一种通用的可编程并行接口芯片,由于它是可以编程的,可以通过程序来设置芯片的工作方式,通用性强,使用灵活,可为多种不同的CPU和外设之间提供并行输入/输出的通道;8086微处理器,选择最小工作模式,所有的总线控制信号均由8086产生;8086CPU的地址\数据总线AD15-AD0和地址\状态总线A16/S3-A19/S6是复用的,必须通过地址锁存器把地址总线和数据总线分离。
微机接口实验报告8255并口控制器实验

微机接口实验报告8255并口控制器实验8255并口控制器实验一.实验目的:1,掌控8255的工作方式和应用领域编程;2,掌控8255的典型应用领域电路三相。
二.实验设备pc微机一台,td―pit+实验系统一套。
三.实验内容:编写程序,并使8255的a口味输入b口为输出,顺利完成敲击控制器至数据等的数据传输。
建议:只要敲击控制器,数据灯的现实就可以发生改变。
四.实验原理:并行接口就是以数据的字节为单位与i/o设备或被掌控对象之间传输信息。
cpu和USB之间的数据传输总是循序的。
8255并行控制器具有abc三个并行接口,用+5v但电源供电,能在一下三种方式下工作:方式一:基本输出|出来方式方式二:选道输出|出来方式方式三:双向选项工作方式五.实验步骤:1.证实从pc着急带出的两根扁平电缆已经相连接在实验平台上。
2.相连接实验先例参照右图:3.运行check成功内需,查看i/o空间始地址。
4.利用查出的地址编写程序,然后便于链接。
5.运行程序,拨动开关,看数据灯显示是否正确。
六.编程与调试:1.使用ckeck程序找到ioyo空间始址:dcooh2.编写程序:ioyoequodcoohaaequioyo+0*4bbequioyo+1*4ccequioyo+2*4modeequioyo+1*4stack1seqme ntstackdw256dup(?)stack1endscodeseqmentassumecs:code,ss:stack1stack:movbx,odcoohnext:movdx,bbinal,dxoutdx,almovah,1in t16hjznextmovah,40hint21hcodeendsendsstart3.编程,链接,运转程序七.实验结果:运转程序后,数据灯随着控制器的变化而变化,即为控制器拨打时,数据灯亮,控制器断裂时,数据灯攻灭。
八.实验总结:通过本次实验,对8255并口控制器存有了一定的介绍,掌控了掌控8255的工作方式和应用领域编程,掌控8255的典型应用领域电路三相。
8255并行口实验报告心得

8255并行口实验报告心得
8255并行口是一种常见的外部设备接口芯片,具有多种不同的应用场景。
在这次实验中,我们学习了8255并行口的基本原理、功能和编程方法,并通过实际操作来加深对其特性的理解。
首先,在实验中我们了解到8255并行口有三个可编程I/O端口,分别是Port A、Port B和Port C。
每个端口都有相应的输入和输出功能,并可以通过编程来进行控制。
我们通过编程设置相应的寄存器和位操作来实现数据的输入和输出,同时可以通过读取端口状态来获取外部设备的输入信号。
其次,我们了解到8255并行口可以工作在三种不同的模式下,分别是模式0、模式1和模式2。
每种模式下的端口功能和工作方式稍有不同,我们可以根据实际需求来选择合适的模式。
在实验中,我们通过编程设置相应的模式寄存器来选择特定的模式,并根据实验要求进行相应的端口配置。
在实验过程中,我们实际操作了8255并行口的各种功能。
我们通过编写简单的程序,在Port A输出一个数字信号,然后通过Port B将其读取并显示在七段数码管上。
同时,我们还尝试了通过Port C控制外部设备的LED灯和蜂鸣器。
通过这次实验,我深刻认识到了8255并行口的重要性和广泛应用的场景。
它可以用于各种控制和通信系统中,如工业自动化、仪器仪表、机器人等。
掌握8255并行口的编程方法和应用技巧对我们今后的学习和工作都非常有帮助。
总而言之,通过这次实验,我不仅学到了8255并行口的基本原理和工作方式,还加深了对其应用的理解。
我相信通过不断的实践和学习,我会更加熟练地运用8255并行口,并将其应用于实际的项目中。
单片机可编程8255接口实验报告

单片机可编程8255接口实验报告可编程8255接口实验报告㈠实验目的1.掌握可编程并行接口芯片的基本工作原理及其使用方,熟悉8255可编程并行I/O扩展接口。
2.掌握8255可编程并行I/O扩展接口方法,能够利用8255可编程并行接口芯片设计简单应用系统。
㈡实验器材1. G6W仿真器一台2. MCS-51实验板一台3. PC机一台4.电源一台㈢实验内容及要求1.声光报警器实验8255是可编程的通用并行输入输出扩展接口。
8255芯片的片选信号CS4 及口地址选择线AA0、AA1分别由8051的地址线提供。
8255的A口设置为输入数据端口,B口设置为输出数据端口,通过控制位操作控制字将C口某一位置位或复位,B口与发光二极管LED相连,C口与蜂鸣器相连,读取A 口数据,只要有一位为“1”,则点亮发光二极管LED(B口输出为低,LED 亮,反之,LED 灭),同时蜂鸣器响(若 C口某一位置1,蜂鸣器不响)。
2.交通灯控制实验通过并行接口8255实现十字路nb 口交通灯的模拟控制。
L6~L8与PC5~PC7相连,作为南北路口的交通灯,L1~L3与PC0~PC2相连,作为东西路口的交通等。
编程使六个灯按以下规律变化:南北路口的“绿”灯(L8)、东西路口的“红”灯(L1)同时亮30秒(要求有倒计时显示);南北路口的“黄”灯(L7)闪烁若干次,同时东西路口“红”灯(L1)继续亮;南北路口的“红”灯(L6)、东西路口的“绿”灯(L3)同时亮30秒(要求有倒计时显示);东西路口的“黄”灯(L2)闪烁若干次,南北路口的“红”灯(L6)继续亮;重复以上步骤。
㈣实验步骤1.连接8255芯片的片选信号CS4及口地址选择线AA0、AA1,并根据片选信号及口地址选择线确定8255的各I/O口地址和控制字寄存器的地址。
2.声光报警器实验的连线①8255的A口的8位根据需要接入高低电平。
②8255的B口中任一口与TEST相连,运行程序,即可观察L9发光二极管。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于8255A可编程并行接口的定时器实验
——循环彩灯实验
一、实验项目
用8255A可编程并行接口芯片,PA口作为显示输出口,PB口作为开关量输入口。
由8051内部定时器1按方式1工作,发光二极管显示。
要求编写程序模拟循环彩灯,PB口不同的三个开关按下,彩灯以不同的形式循环点亮:模式一(开关K1控制)L1-L2-…-L8右移逐个亮,后一个点亮的同时前一个熄灭,再再左移、全亮、全灭,循环显示;模式二(开关K2控制)L1L2-L7L8两个一起亮并右移,后面亮的同时前面熄灭,再左移、全灭、全亮,循环显示:模式三(开关K3控制)L4L5-L3L6-L2L7-L1L8,后面亮的同时前面熄灭,再反向、全灭、全亮,循环显示;时序间隔0.5秒。
二、实验目的
1.学习8051内部定时器的使用、编程方法,了解8255A芯片的结构及编程方法;
2.进一步掌握中断处理程序的编写方法及8255A并行接口读取开关数据的方法。
三、实验原理
1.定时常数的确定
定时器/计数器的输入脉冲周期与机器周期一样,为振荡频率的1/12。
本实验中时钟频率为12.0 MHZ,现要采用中断方法来实现0.5秒延时,要在定时器1中设置一个时间常数,使其每隔0.05秒产生一次中断,CPU响应中断后将R0中计数值减一,令R0=0AH,即可实现0.5秒延时。
时间常数可按下述方法确定:
机器周期=12÷晶振频率=12/(12×106)=1us
设计数初值为X,则(216-x)×1×10-6=0.05,可求得X=15536
化为十六进制则X=3CB0H,故初始值为TH1=3CH,TL1=B0H
2.初始化程序
包括定时器初始化和中断系统初始化,主要是对IP、IE、TCON、TMOD的相应位进行正确的设置,并将时间常数送入定时器中。
由于只有定时器中断,
IP不必设置。
3.设计中断服务程序和主程序
中断服务程序除了要完成计数减一工作外,还要将时间常数重新送入定时器中,为下一次中断做准备。
4. 设置好8255A各端口的工作方式:三个端口都工作于方式0,PA口作为显示输出口,PB口作为开关量输入口。
四、实验电路
六、参考程序
ORG 0000H
LJMP START0
ORG 401BH ;定时器/计数器1中断程序入口地址
PA EQU 0CFA0H
PB EQU 0CFA1H
PCTL EQU 0CFA3H
LJMP INT
ORG 4100H
START0: MOV DPTR, #PCTL ;置8255A 控制字,A、B口均工作;方式0,
A口为输出,B 口为输入
MOV R0,#5H ;05是计数值
MOV TMOD,#10H ;计数器置为方式1
MOV TL1,#0AFH ;装入时间常数
MOV TH1,#03CH
START1:MOV A, PB
LL1: CJNE A, #01H, LL2
LOOP1
LL2: CJNE A, #02H, LL3
LOOP2
LL3: CJNE A, #04H, LL1
LOOP3
LOOP1: MOV A,#01H ;首显示码
MOV R1,#03H ;03是偏移量,即从基址寄存器到表首的距离
ORL IE,#88H ;CPU中断开放标志位和定时器
;1溢出中断允许位均置位
SETB TR1 ;开始计数
MOV A,R1 ;从表中取显示码入累加器
MOVC A,@A+PC
CJNE R0, #00, DISP
MOV R0,#5H ;R0计数计完一个周期,重置初值
INC R1 ;表地址偏移量加1
CJNE R1, #11H, LOOP1
MOV R1,#03H ;如到表尾,则重置偏移量初值
DB 01H,02H,04H,08H,10H,20H,40H,80H,40H,20H,10H,08H,04H,02H,01H, 00H ,0FFH
LOOP2: MOV A,#01H ;首显示码
MOV R1,#03H ;03是偏移量,即从基址寄存器到表首的距离
ORL IE,#88H ;CPU中断开放标志位和定时器
;1溢出中断允许位均置位
SETB TR1 ;开始计数
MOV A,R1 ;从表中取显示码入累加器
MOVC A,@A+PC
CJNE R0, #00, DISP
MOV R0,#5H ;R0计数计完一个周期,重置初值
INC R1 ;表地址偏移量加1
CJNE R1, #09H, LOOP2
MOV R1,#03H ;如到表尾,则重置偏移量初值
DB 03H,0CH,30H,0C0H,30H,0CH,03H,00H,0FFH
LOOP3: MOV A,#01H ;首显示码
MOV R1,#03H ;03是偏移量,即从基址寄存器到表首的距离
ORL IE,#88H ;CPU中断开放标志位和定时器
;1溢出中断允许位均置位
SETB TR1 ;开始计数
MOV A,R1 ;从表中取显示码入累加器
MOVC A,@A+PC
CJNE R0, #00H, DISP
MOV R0,#5H ;R0计数计完一个周期,重置初值
INC R1 ;表地址偏移量加1
CJNE R1, #09H, LOOP3
MOV R1,#03H ;如到表尾,则重置偏移量初值
DB 18H,24H,42H,81H,42H,24H,18H, 00H,0FFH
DISP: MOV PA, A ;将取得的显示码从P1口输出显示
JMP START1
INT: CLR TR1 ;停止计数
DEC R0 ;计数值减一
MOV TL1,#0AFH ;重置时间常数初值
MOV TH1,#03CH
SETB TR1 ;开始计数
RETI ;中断返回
END
七、实验步骤
1. 分析实验所用到的电路原理图,8255A的PA0-PA7接发光二极管L1-L8,PB0-PB2接开关K1-K3,片选信号CS8255接CS0。
2. 89C51内部定时器1按方式1工作,即作为16位定时器使用,每0.05秒钟T1溢出中断一次。
3.根据流程图,编写实验程序,并完成调试。
记录实验现象及问题。