8255,8253交通灯模拟实验报告
8255,8253交通灯模拟实验

微机原理课程设计——8255,8253交通灯模拟实验文档介绍:交通信号灯的控制:1.通过8255A并口来控制LED发光二极管的亮灭。
2.A口控制红灯,B口控制黄灯,C口控制绿灯。
3.输出为0则亮,输出为1则灭。
4.用8253定时来控制变换时间。
要求:设有一个十字路口,1、3为南,北方向,2、4为东西方向,初始态为4个路口的红灯全亮。
之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车。
延迟30秒后,1、3路口的绿灯熄灭,而1,3路口的黄灯开始闪烁(1HZ)。
闪烁5次后,1、3路口的红灯亮,同时2、4路口的绿灯亮,2、4路口方向开始通车。
延迟30秒时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁。
闪烁5次后,再切换到1、3路口方向。
之后,重复上述过程。
系统原理工作原理说明:此方案是通过并行接口芯片8255A和8086计算机的硬件连接,以及通过8253延时的方法,来实现十字路口交通灯的模拟控制。
如硬件连接图所示,红灯(RLED),黄灯(YLEDD)和绿灯(GLED)分别接在8255的A,B,C口的低四位端口,PA0,PA1,PA2,PA3分别接1,2,3,4路口的红灯,B,C口类推。
8086工作在最小模式,低八位端口AD0~AD7接到8255和8253的D0~D7,AD8~AD15通过地址锁存器8282,接到三八译码器,译码后分别连到8255和8253的CS片选端。
8253的三个门控端接+5V,CLOCK0接由分频器产生的1MHZ的时钟脉冲,OUT0接到CLOCK1和CLOCK2,OUT1接到8086的AD18,8086通过检测此端口是否有高电平来判断是否30S定时到。
OUT2产生1MHZ 方波通过或门和8255的B口共同控制黄。
8255控制交通灯实验总结

8255控制交通灯实验总结
8255控制
交通灯实验总结
一、实验目的
1. 掌握8255控制器的控制原理和编程过程;
2. 学习8255控制器的编程、基本操作;
3. 通过实验指导的方式,掌握控制交通灯的基本原理;
4. 通过编程,实现交通灯控制系统的实现。
二、实验过程
1. 首先要对8255的编程进行编程,这就需要根据8255的控制字节和模式的要求进行操作;
2. 然后用它来控制交通灯,这需要根据交通灯的运行原理和总线接线的方式来编程控制它;
3. 然后对所做程序进行测试,以验证其控制的可靠性。
三、实验结果
通过本次实验,我们学会了怎样编程控制8255,并且学会了8255控制交通灯的方式,本次实验编程操作也顺利完成,经测试验证,程序实现的正确,交通灯可以根据8255控制运行。
四、总结
本次实验主要是让我们学习掌握8255模块的操作,实现8255控制交通灯的运行,实验结果证明,程序实现正确,交通灯可以根据8255控制运行。
今后,如果能继续拓展,可以把8255用来控制更复
杂的系统,这将有助于我们深入了解和掌握8255控制器的操作技术。
8255交通灯实验报告

8255交通灯实验报告8255交通灯实验报告一、实验目的本实验旨在通过使用8255芯片控制交通灯的亮灭,熟悉和掌握8255芯片的使用方法,并了解交通灯控制系统的基本原理。
二、实验原理交通灯控制系统是一种常见的嵌入式系统,其核心是使用微控制器或者可编程逻辑器件控制交通灯的亮灭。
在本实验中,我们使用8255芯片作为控制器,通过控制芯片的输入输出端口,实现交通灯的控制。
8255芯片是一种通用输入输出设备,具有24个可编程的输入输出引脚,可以通过编程控制这些引脚的状态。
在本实验中,我们将使用8255芯片的其中8个引脚来控制交通灯的亮灭。
三、实验材料1. 8255芯片2. 交通灯模块3. 电路连接线4. 电源四、实验步骤1. 将8255芯片插入实验板上的相应位置,并根据芯片的引脚定义连接电路。
2. 将交通灯模块连接到8255芯片的输出端口。
3. 将电源连接到电路上,确保电源正常工作。
4. 编写控制程序,通过对8255芯片的输入输出端口进行编程,控制交通灯的亮灭。
5. 运行程序,观察交通灯的亮灭情况。
五、实验结果经过实验,我们成功地使用8255芯片控制了交通灯的亮灭。
通过编程控制8255芯片的输出端口,我们可以实现交通灯的各种状态,如红灯亮、绿灯亮、黄灯亮等。
实验结果表明,8255芯片是一种可靠且灵活的控制器,适用于各种嵌入式系统。
六、实验总结通过本次实验,我们深入了解了8255芯片的使用方法,并掌握了交通灯控制系统的基本原理。
8255芯片作为一种通用输入输出设备,具有广泛的应用前景。
在实际工程中,我们可以使用8255芯片来控制各种设备,如灯光、电机等,实现更加复杂的控制功能。
然而,本实验只是对8255芯片的基本应用进行了简单的演示。
在实际项目中,我们还需要考虑更多的因素,如多任务处理、中断处理等。
因此,我们需要进一步学习和掌握更加高级的嵌入式系统开发技术,以应对更加复杂的控制需求。
总之,本次实验为我们提供了一个宝贵的学习机会,让我们更加深入地了解了8255芯片的应用和交通灯控制系统的原理。
8255控制交通灯实验原理

8255控制交通灯实验原理我们需要了解交通灯的工作原理。
一般来说,交通灯是通过控制红、黄、绿三个灯的亮灭来指示交通的状态。
红灯表示停车,黄灯表示准备行车,绿灯表示可以行车。
交通灯的亮灭是通过控制电流的开关来实现的。
在实验中,我们将使用8255芯片的三个I/O端口来控制交通灯的红、黄、绿三个灯。
具体来说,我们将把红灯连接到8255芯片的一个I/O端口,黄灯连接到另一个I/O端口,绿灯连接到第三个I/O端口。
通过编程控制这三个I/O端口的输出电平,我们就可以控制交通灯的亮灭。
在编程方面,我们需要使用汇编语言来编写控制程序。
首先,我们需要初始化8255芯片的工作模式。
通过将控制字写入控制寄存器,我们可以将8255芯片设置为输出模式,同时设置输出的电平。
然后,我们需要编写一个循环程序,不断改变输出的电平,从而实现交通灯灯光的变换。
具体来说,我们可以通过改变红、黄、绿三个灯的输出电平的组合来控制交通灯的亮灭。
在实验中,我们可以通过按下开关来触发交通灯的变换。
当按下开关时,控制程序将会执行一次循环,改变交通灯的亮灭状态。
这样,我们就可以通过按下开关来模拟交通灯的工作过程。
通过这个实验,我们可以更好地理解8255芯片的工作原理,并且掌握使用8255芯片来控制外部设备的方法。
在实际应用中,我们可以利用8255芯片来控制各种外部设备,如LED灯、电机等。
这样,我们可以通过编程来实现对外部设备的控制,从而实现各种功能。
使用8255芯片来控制交通灯是一种简单而有效的方法。
通过编程控制8255芯片的输出电平,我们可以实现交通灯的亮灭变换。
这个实验不仅可以帮助我们更好地理解8255芯片的工作原理,还可以培养我们的编程能力。
希望通过这个实验,我们可以更好地掌握8255芯片的使用,为以后的学习和工作打下良好的基础。
8255交通灯模拟实验

实验一(2) 8255交通灯模拟实验1、实验要求: 编写程序,以8255的PA 口作为输出口,控制4个双色LED 灯(可发红、绿、黄光),模拟十字路口交通灯管理。
2、实验目的:(1)学习I /0口扩展方法;掌握8255的工作原理以及编程方法,了解软件与硬件的调试技术。
(2)学习模拟交通灯控制方法;(3)学习双色LED 灯的使用;3.8255的工作原理:8255有三个8位的并行口,端口既可以编程为普通I/O 口,也可以编程为选通I/O 口和双向传输口。
8255为总线兼容型,可以与CPU 的总线直接接口。
其中,口地址取决于片选CS 和A1、A0。
选择如下:8255方式字选择:工作方式字特征位本实验中8255编程为PB口、PC口、PA口均输出,根据8255状态控制字选择方法。
8255控制字应为80H。
4.实验器材:(1)G2010+实验平台 1台(2)G6W仿真器1台(3)连线若干根(4)8255芯片1片(5)G2002—8086板 l块5.接线方案:6、实验说明:(1) 把G2002—8086板上的8255的片选CS5孔连“译码器”的YC2(0A000H)孔。
因8255片选信号为0A000H,所以,A口为0A000H、口为0A001H、C口为0A002H、命令口为0A003H。
(2) 因为本实验是模拟交通灯控制实验,所以要先了解实际交通灯的变化规律。
假设一个十字路口为东西南北走向。
初始状态0为东西红灯,南北红灯。
然后转状态1南北绿灯通车,东西红灯。
过一段时间转状态2,南北绿灯闪几次转亮黄灯,东西仍然红灯,延时儿秒。
再转状态3,东西绿灯通车,南北红灯。
过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。
最后循环至状态1。
(3)双色LED是由一个红灯LED管芯和一个绿色LED管芯封装在一起,公用负端。
当红色端加高电平,绿色正端加低电平,红灯亮;当红色端加低电平,绿色正端加高电干,绿灯亮;两端都加高电平时,黄灯亮。
单片机实验8255控制交通灯

delay(20);
pa8255=0xf7;
pb8255=0x0d;
delay(20);
}
pa8255=0xae;
pb8255=0x0b;
delay(400);
while(d2--)
{
pa8255=0x9e;
pb8255=0x07;
delay(20);
pa8255=0xbe;
题目:实验四8255控制交通灯
硬件实验
实验类别:【设计】
班级:
学号:
姓名:
1、实验内容或题目
题目:8255控制交通灯
实验内容:用8255做输出口,控制十二个发光二极管燃灭,模拟交通灯管理。
2、实验目的与要求
实验目的:
(1)掌握8051系统中,扩展8255做输出口的方法;
(2)了解芯片8255编程方法。
void delay(unsigned int i)
{
unsigned int j,k;
for(k=0;k<i;k++)
for(j=0;j<1000;j++);
}
void main(void)
{ com8255=0x88;
pa8255=0xb6;
pb8255=0x0d;
delay(400); //all red lamp light
pb8255=0x0f;
delay(20);
}
}
}
while(1)
{ uchar d1=5,d2=5;
pa8255=0x75; //west and east green lamp light
pb8255=0x0d; //south and north red lamp light
微机原理实验四实验报告控制交通灯实验

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,80H ;PA、PB、PC为基本输出模式OUT DX,ALMOV DX,PA_ADD ;灯全熄灭MOV AL,0FFHOUT DX,ALLEA BX,LED_DataSTART1: MOV AL,0XLATOUT DX,AL ;东西绿灯,南北红灯CALL 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的PC口进行位操作?控制字最高位写0,中间三位无关取0,接着三位是编码了对应的C口哪几位,最低一位为0是复位,为1是置位。
北理工微机原理与接口技术之8255,8253实验报告

北理工微机原理与接口技术之8255,8253实验报告微机原理与接口技术实验报告———8253可编程定时器8255并行接口实验实验一8255并行接口实验一,实验内容8255的A口作为输入口,与逻辑电平开关相连。
8255的B口作为输出口,与发光二极管相连。
编写程序,使得逻辑电平开关的变化在发光二极管上显示出来。
二,实验目的(1)掌握8255的工作原理。
(2)掌握编写8255并行接口初始化及编程实现的方法。
三,实验仪器微机实验教学系统实验箱、8086CPU模块四,实验步骤(1)连线8255的PA0—PA7分别与逻辑电平开关的K1—K8相连?PB0—PB7分别与发光二极管电路的LED1—LED8相连?CS0与8255的片选CS8255相连其它线路均已连好具体如图所示:(2)编辑程序,编译链接后,单步运行,调试程序。
(3)调试通过后,全速运行,观察实验结果。
(4)撰写实验报告。
五,实验源程序如下CODE SEGMENT PUBLICASSUME CS:CODEORG 100HSTART:MOV DX,04A6HMOV AX,90H ;写8255的控制字,A组工作在方式0,A口输入,C口高4位输出,B组工作在方式0,B口及C口的低4位均工作在输出OUT DX,AXSTART1:MOV DX,04A0HIN AX,DX ;读取A口数据MOV DX,04A2HOUT DX,AX ;将从A口读取的数据从B口输出,控制LED灯JMP START1CODE ENDSEND START六,实验现象LED灯低电平有效。
当某一开关拨到低电平时,对应的LED灯点亮。
当某一开关拨到高电平时,对应的LED灯熄灭七,思考题1.将片选线接到CS1—CS7;重新编写程序。
CS0对应地址是04A0---O4AF, CS1对应地址是04B0---O4BF.现将片选线接到CS1,重新编程:CODE SEGMENT PUBLICASSUME CS:CODEORG 100HSTART:MOV DX,04B6H ;CS1对应的地址MOV AX,90HOUT DX,AXSTART1:MOV DX,04B0HIN AX,DXMOV DX,04B2HOUT DX,AXJMP START1CODE ENDSEND START实验现象:如同片选线接到CS02.交换A B接线,A口输出、B口输入;重新编写程序。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(-)课题简介 (2)(二)设计方案 (2)(三)具体设计 (4)1.电路原理 (4)2. ........................................................ 程序原理: 63.系统原理 (8)1)....................................................................... 8259, 8255A, 8254 工作原理:84.关键技术分析 (13)1)实时控制和管理设计 (13)2)发光二极管闪烁程序 (14)3)源程序 (15)(四)测试 (21)1.在测试中遇到的问题记录 (21)2.测试结果 (22)(五)....................... 总结22 (六)........................... 设计体会23 (七)........................... 参考文献24(一)课题简介十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。
十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。
当前,国大多数城市正在采用“自动”红绿交通灯,它具有固左的“红灯一绿灯”转换间隔,并自动切换。
它们一般由“通行与禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。
在交通灯的通行与禁止时间控制显示中,通常要么东西、南北两方向务50秒:要么根拯交通规律,东四方向60秒,南北方向40秒,时间控制都是固泄的。
交通灯的时间控制显示,以固定时间值预先"固化”在单片机中,每次只是以一泄周期交替变化。
但是,实际上不同时刻的车辆流通状况是十分复杂的, 是高度非线性的、随机的,还经常受认为因素的影响。
采用定时控制经常造成道路有效应用时间的浪费,出现绿灯方向车辆较少,红灯方向车辆积压。
它不顾当前道路上交通车辆数的实际情况变化,苴最大的缺陷就在于当路况发生变化时,不能满足司机与路人的实际需要,轻者造成时间上的浪费,重者直接导致交通堵塞,导致城市交通效率的下降。
目前,有一种使用“模糊控制”技术控制交通灯的方法。
能够根据十字路口两个方向上车辆动态状况, 自动判断红绿灯时间间隔,以保证最大车流量,减少道口的交通堵塞。
但是却不像定时控制,能用数字显示器显示当前灯色剩余时间,以便于驾驶员随时掌握自己的驾驶动作,及时停车或启动。
(二)设计方案使用了8259A中断控制器、8254 if数器、8255可编程并行接口实现了,对南北、东西方向交通的分别计时、分别控制,设计采用定时加中断控制的方式进行,对两个方向车辆的通行时间分别计时,可随意进行更改双向的通行时间。
城市十字交叉路口红緑灯控制系统主要负责控制东西走向和南北走向的红绿灯的状态和转换顺序,关键是各个状态之间的转换和进行适当的时间延时,正是基于以上考虑,采用如下设计:1 1.即东西方向的绿灯和南北方向的红灯同时点亮1分钟;2.1分钟后,东西方向的黄灯闪烁5秒钟,。
此时南北方向仍维持红灯点亮。
3.东西方向的黄灯闪烁5秒钟后,转为东西方向的红灯和南北方向的绿灯同时点亮20 秒钟:4.20秒钟后,转为南北方向的黄灯闪烁5秒钟,此时东西方向仍维持红灯点亮。
5.南北方向的黄灯闪烁5秒钟后,东西方向的绿灯和南北方向的红灯同时点亮1分钟。
如此循环重复。
基于以上设汁,在表1中给出了交通灯控制器的4种状态,对应的状态迁移过程见表(1)和图(1)。
东西走向南北走向状态0红、黄、绿001红、黄、绿100状态1红、黄、绿011红、黄、绿100状态2红、黄、绿100红、黄、绿001状态3红、黄、绿100红、黄、绿011表(1)交通灯控制器的4种状态状态2状态3状态0状态1图(1)(三)具体设计1.电路原理本课题的设汁可通过实验平台上的一些功能模块电路组成,由于各模块电路部已经连接,用户在使用时只要设计模块间电路的连接,因此,硬件电路的设汁及实现相对简单。
完整系统的碾件连接如图1所示。
硬件电路由泄时模块、发光二极管模块、数码管显示模块和紧急中断模块组成。
立时模块是由8254的计数器0来实现左时lOOniSo ClkO接实验平台分频电路输出Q6, f=46875hZoGATE0接8255的PA0,由8255输出来控制计数器的起停cOUTO接8259的IRQ2, 定时完成申请中断,进入中断服务程序。
发光二极管显示模块由8255输出来控制发光二极管的亮火。
8255输岀为低电平时, 对应的发光二极管就点亮,否则就熄火。
8255的接口电路如图2所示。
交通灯的对应关系如下:L7L6L5L2L1L0PC7PC6PC5PC2PCIPCO13红灯13黄灯13绿灯24红灯24黄灯24绿灯实验平台上提供一组六个LED数码管。
插孔CS1用于数码管段选的输岀选通,插孔CS2用于数码管位选信号的输岀选通。
本设计用4个数码管来倒计时。
紧急中断模块是由单脉冲发生单元和8259中断控制器,单脉冲发生单元主要用来请求中断,然后做岀紧急情况处理。
图2 8255接口电路2.程序原理:设计数器0的计数初值为25000,由于CLKO接脉冲信号,频率为2.5MH乙所以每10ms 中断一次。
利用CX对不同的状态时间计数,用来实现il•数器0对1分钟,20秒钟,5秒钟的定时。
中断子程序分为数码显示刷新部分和红绿黄灯各种状态切换部分。
每进入中断即刷新LED显示。
用对于东西车道和南北车道黃灯闪烁利用标志位判断实现,满足比较条件就暗,不满足条件就亮。
8254 it数的起停由8255的PA0控制,8255的PAO输出1时,8254开始计数,交通灯按正常状态切换工作,PAO输出0时,汁数器停止工作,交通灯不再按正常状态切换。
8254开始讣数后每100ms发岀一个中断申请信号,在中断子程序中先刷新数码管,然后判断当前状态,进入相应的处理程序进行处理。
主程序负责系统的初始化,然后数码管数据输出显示,同时检测PC键盘按键,有按键就退出程序。
主程序的流程图如图3所示。
定时中断子程序是本设计的重点,负责完成数码管输出数据刷新和各个状态的处理切换。
中断子程序包括数码管输出数据刷新程序和各状态处理程序。
数码管输出数据刷新子程序是实现倒讣时25s,用LEDOUT表示输岀的数据,ent用来软件计时Is,就是i|•数10个100ms。
LED输岀是要将输出的数据转化为段选码。
根据当前的状态跳转到相应的处理程序,在处理程序中完成左时和状态的切换。
状态1和3的流程是一样的,先点亮对应的交通灯,再判断泄时到了就可以切换了。
状态2和4要实现黄灯的闪烁,间隔点亮和熄火就可以了。
状态1和3处理程序的流程图(以状态1为例)如图6所示,其中NUM是状态1对应的PC 口输出。
外部中断服务子程序主要用来处理紧急情况,将2个方向的车都停止运行,点亮所有红灯。
下次中断来时恢复以前的状态。
用一个标志位FLAG判断是第一次进入还是恢复状态。
3.系统原理1)8259, 8255A, 8254 工作原理:1、8259的工作原理1、数据总线缓冲器:8259A与系统数据总线的接口,是8位双向三态缓冲器° CPU与8259A 之间的控制命令信息、状态信息以及中断类型信息,都是通过缓冲器传送的。
2、读/写控制逻辑:CPU通过它实现对8259A的读/写操作。
3、级连缓冲器:用以实现8259A芯片之间的级连,使得中断源可以由8级扩展至64级。
4、控制逻辑电路:对整个芯片部各部件的工作进行协调和控制。
5、中断请求寄存器IRR:8位,用以分别保存8个中断请求信号,当响应的中断请求输入脚有中断请求时,该寄存器的相应位置1。
6、中断屏蔽寄存器IMR:8位,相应位用以对8个中断源的中断请求信号进行屏蔽控制。
当其中某位置"0“时,则相应的中断请求可以向CPU提出;否则,相应的中断请求彼屏蔽,即不允许向CPU提出中断请求。
该寄存器的容为8259A的操作命令字OCW1,可以由程序设宜或改变。
7、中断服务寄存器ISR:8位,当CPU正在处理某个中断源的中断请求时,ISR寄存器中的相应位置1。
8、用以比较正在处理的中断和刚刚进入的中断请求之间的优先级别,以决定是否产生多重中断或中断嵌套。
II.8255A的工作原理1、8255A的部结构:1)数据总线缓冲器:这是一个双向三态的8位数据缓冲器,它是8255A与微机系统数拯总线的接口。
输入输出的数据、CPU输岀的控制字以及CPU输入的状态信息都是通过这个缓冲器传送的。
2)三个端口A, B和C:A端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入锁存器。
B端口包含一个8位数据输入/输出锁存器和缓冲器,一个8位数据输入缓冲器。
C端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入缓冲器(输入没有锁存器)。
3)A组和B组控制电路:这是两组根据CPU输岀的控制字控制8255工作方式的电路, 它们对于CPU而肓,共用一个端口地址相同的控制字寄存器,接收CPU输出的一字节方式控制字或对C 口按位复位字命令。
方式控制字的高5位决泄A组的工作方式,低3位决左B组的工作方式。
对C 口按位复位命令字可对C 口的每一位实现置位或复位。
A组控制电路控制A 口和C 口上半部,B组控制电路控制B 口和C 口下半部。
4)读写控制逻辑:用来控制把CPU输岀的控制字或数摇送至相应端口,也由它来控制把状态信息或输入数据通过相应的端口送到CPUo2、8255A的工作方式:方式0---基本输入输出方式;方式1---选通输入输出方式;方式2---双向选通输入输出方式。
3、引脚信号8255A的引脚如图7.5所示,分为数据线、地址线、读/写控制线、输入/输出端口线和电源线。
D7〜DO (databus):三态、双向数据线,与CPU数据总线连接,用来传送数据。
(chip select):片选信号线,低电平有效时,芯片被选中。
Al, AO (port address):地址线,用来选择部端口。
(read):读出信号线,低电平有效时,允许数据读出。
(write):写入信号线,低电平有效时,允许数据写入。
RESET (reset):复位信号线,高电平有效时,将所有部寄存器(包括控制寄存器)淸0。
PA7〜PAO (portA): A 口输入/输出信号线。
PB7〜PBO (portB): B 口输入/输出信号线。
PC7〜PCO (portC): C 口输入/输岀信号线。
VCC: +5V电源。
GND:电源地线。
III.8254的工作原理:8254是可编程的计数器/宦时器淇部有三个独立的16位计数器碇时器通道,每个计数器通道均可按6种不同的方式工作,并且都可以按二进制或十进制计数。
其CLK0〜CLK2是计•数器0〜2的时钟脉冲输入端,GATE0〜GATE2是门控脉冲输入端,OUTO-OUT2是输出端。