基于8253和8255的模拟交通灯控制系统
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做输出口,控制十二个发光二极管燃灭,模拟交通灯管理.三、实验说明1。
因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化情况和规律。
假设一个十字路口为东西南北走向。
初始状态0为东西红灯,南北红灯。
然后转状态1东西绿灯通车,南北红灯。
过一段时间转状态2,东西绿灯灭,黄灯闪烁几次,南北仍然红灯。
再转状态3,南北绿灯通车,东西红灯.过一段时间转状态 4,南北绿灯灭,闪几次黄灯,延时几秒,东西仍然红灯.最后循环至状态1.四、实验程序框图五、实验接线图六、实验步骤①8255 PA0—PA7、PB0—PB3依次接发光二极管L1—L12.②以连续方式从0BB0H开始执行程序,初始态为四个路口的红灯全亮之后,东西路口的绿灯亮南北路口的红灯亮,东西路口方向通车.延时一段时间后东西路口的绿灯熄灭,黄灯开始闪耀。
闪耀若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北路口方向开始通车,延时一段时间后,南北路口的绿灯熄灭,黄灯开始闪耀。
闪耀若干次后,再切换到东西路口方向,之后重复以上过程。
一摘要:本系统采用单片机、键盘、LED显示、交通灯演示系统组成.设计一个用于十字路口的车辆及行人的交通管理,系统包括左拐、右拐、及行基本的交通灯的功能,计时牌显示路口通行转换剩余时间,在出现紧急情况时可由交通手动实现全路口车辆禁行而行人通行状态。
另外,在特种车辆如119、120通过路口时,系统可自动转为特种车辆放行,其他车辆禁止通行的状态,15s后系统自动恢复正常管理。
其他还有 84s与60s通行管理转换等功能。
采用数码管与点阵LED相结合的显示方法,既要求倒计时数字输出,又要求有状态灯输出等。
实验九 可编程接口芯片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、实验内容为必做内容,其中,思考题须自行设计电路、连线及编写程序。
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控制交通灯实验实验类型设计型姓名学号日期地点成绩教师评语:第1页共5页1.实验目的与要求1)了解8255芯片的工作原理,熟悉其初始化编程方法以及输入、输出程序设计技巧。
学会使用8255并行接口芯片实现各种控制功能,如本实验(控制交通灯)等。
2)熟悉8255内部结构与单片机的接口逻辑,熟悉8255芯片的3种工作方式以及控制字格式。
3)认真预习本实验内容,尝试自行编写程序,填写实验报告。
2.实验设备STAR 系列实验仪一套,PC 机一台3.实验环境星研集成环境4.实验内容1.编写程序:使用8255的PA0..2、PA5..7控制LED 指示灯,实现交通灯功能。
2.连接线路验证8255的功能,熟悉它的使用方法。
1)实验原理图D034D133D232D331D430D529D628D727PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC710RD 5WR 36A09A18RESET 35CS68255U36D0D1D2D3D4D5D6D7WR RD RSTA0A1PC5PC6PC7PC2PC3PC4PC0PC1DS35DS36DS37DS38DS39DS40DS4112345678VCCDS42A0A1CSCS1(0F000H)510R111510R112510R113510R114510R115510R116510R117510R1182)实验装置的连线说明B4区:CS 、A0、A1——A3区:CS1、A0、A1 B4区:JP56(PA 口)——G6区:JP655.实验扩展及思考1.如何对8255的PC口进行位操作?答:8255的控制字中,D7位为1时表示方式选择,D7位为0时,表示对C口进行置为/复位。
单片机实验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
利用8253、8255芯片设计7位彩灯

第1章.需求分析1.1课程设计题目循环彩灯控制系统设计1.2设计任务及要求任务:设计一个循环彩灯控制系统,能输出四种花型,参考花型如下:1)00000001 左循环(1时亮,0时灭)2)10000000右循环3)按00011000,00100100,01000010,10000001规律变化,然后彩灯全亮后,再循环不断。
4)按01010101,10101010(或红、绿彩灯)交替闪烁。
功能要求:1)循环彩灯的循环速度可调;2)按键要求①启动/暂停,按SW0开关启动系统,按SW1开关停止系统工作。
②花型变换,由开关SW2、SW3进行四种花型切换;3)彩灯亮与灭的时间由8253提供1.3 软硬件运行环境及开发工具1、软硬件运行环境利用TDN86/88实验平台进行硬件连接,利用TDN集成开发环境进行循环彩灯系统的程序设计(采用汇编语言),调试,直到满足设计要求。
2、开发工具实验所使用的实验开发设备是TDN86/88型多功能微机实验平台,它的硬件由基本系统、外设功能模块和面包板实验区三大部分,按模块化开放式结构设计而成。
第2章.概要设计2.1总体方案与说明1. 8255A可编程并行接口芯片。
Intel 8255A是一种通用的可编程并行接口芯片,由于它是可以编程的,可以通过程序来设置芯片的工作方式,通用性强,使用灵活,可为多种不同的CPU与外设之间提供并行输入/输出的通道。
(1)数据总线缓冲器它是一个双向三态8位缓冲器,用作与系统总线连接是的缓冲部件.CPU与8255A之间所有的数据的发送与接收以及CPU向8255A发送的控制信息和8255A向CPU回送的状态信息都是通过它传送的(2) 三个8位端口PA、PB、PC端口A(PA口):有一个8位数据输入锁存器和一个8位数据输入锁存/缓冲器;端口B(PB口):有一个8位数据输入锁存器和一个8位数据输入/输出,锁存/缓冲器;端口C(PC口):有一个8位数据输入锁存器和一个8位数据锁存/缓冲器。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
广东外语外贸大学信息科学技术学院《微型计算机接口技术》大作业设计报告基于8255,8253的发声人性化交通灯控制设计日期:2011-1-7摘要十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。
井然秩序的实现,靠的是交通信号灯的自动指挥系统。
交通信号灯控制方式有很多。
本系统采用8255A芯片实现了A口设置红、绿、黄灯点亮时间的功能,从而控制LED发光二极管实现红、黄、绿灯循环点亮。
另外结合日常生活经验,并且从亚残会中对残疾人的生活不便中得出感悟,采用8253进行控制扬声器,在红、绿灯变换之间黄灯闪烁时,同时添加了“声音提示"功能。
整个系统具有固定的“红灯—黄灯—绿灯”转换间隔,并自动切换,对东西南北方向的道路进行“自动”的控制。
但是,经过小组成员提出的各种假设,发现此系统需要加入更多人性化的元素:交警可以根据实际的路面情况,针对不同的突发事件,进行手工控制红绿灯的转换。
例如救护车警车执行紧急任务;例如东西道路塞车,南北道路空闲无车辆行驶时,需要灵活调节红绿灯的转化。
通过8255并口控制,可以达到更加人性化的效果从而方便各种人群。
关键字:8255 交通灯控制8253 发声人性化第一部分概论1.1设计任务:交通信号灯的控制(1)通过8255并行接口来控制LED发光二极管的亮灭,并适当延时。
(2)黄灯闪烁时,通过8253控制扬声器发出声音,以提醒灯的转换。
(3)通过8255并口控制,人工进行交通灯的转换。
1.2 任务要求(1)南北路口的绿灯、东西路口的红灯同时亮5秒左右。
(2)南北路口的黄灯闪烁若干次,扬声器鸣叫,同时东西路口的红灯闪烁。
(3)南北路口的红灯、东西路口的绿灯同时亮5秒左右。
(4)南北路口的红灯闪烁、同时东西路口的黄灯亮闪烁若干次,扬声器鸣叫。
(5)转(1)重复。
紧急情况可以手动控制红绿灯的变换。
1.3设计原理本次课程设计是交通灯实时控制器,主要是用发光二极管模拟十字路口的红绿灯。
交通灯控制器的设计与实现主要是通过编写汇编语言程序利用8255的C 口对灯的亮与灭进行控制,用8253对扬声器的发声进行控制。
装有定时计数器8253芯片和可编程接口8255芯片,研究了扬声器发声的软件控制过程,利用软件编程给定8253芯片某一频率的方波信号,并且设定8255芯片的门控信号PA0 =1和PA1 =1 ,则可控制扬声器发声。
第二部分硬件设计2.1线路示意图8255连接图:8253连接图:2.2硬件连接图:第三部分软件设计3.1流程如下主程序中主要是通过初始化8255,然后将PC口设置成为输出口,将PC口与LED灯连接起来。
3.2程序清单data segmentio8255a equ 28ahio8255aa equ 288hio8255b equ 28bhio8253a equ 280hio8253b equ 283hportc1 db 24h,44h,04h,44h,04h,44h,04h ;六个灯可能db 81h,82h,80h,82h,80h,82h,80h ;的状态数据db 0ffh ;结束标志string1 db '************************************',0ah,0dh,'$' string2 db '* auto traffic lights *',0ah,0dh,'$' string3 db '************************************',0ah,0dh,'$' string4 db '************************************',0ah,0dh,'$' stringstart db ' PRESS 1 TO START ',0AH,0DH,'$' string5 db '************************************',0ah,0dh,'$' string6 db '************************************',0ah,0dh,'$' STRINGEND DB ' PRESS ANY KEY TO EXIT ',0AH,0DH,'$' string7 db '************************************',0ah,0dh,'$' table dw 524data endscode segmentassume cs:code,ds:datastart:mov ax,datamov ds,axMOV AH,0FH ; 清屏 INT 10HMOV AH,0hINT 10HLEA DX,string1MOV AH,09HINT 21HLEA DX,string2MOV AH,09HINT 21HLEA DX,string3MOV AH,09HINT 21HLEA DX,string4MOV AH,09HINT 21HLEA DX,STRINGSTART MOV AH,09HINT 21HLEA DX,string5MOV AH,09HINT 21HKEY:MOV AH,01HINT 21HCMP AL,"1"JNZ KEYMOV AH,0FH ; 清屏 INT 10HMOV AH,0hINT 10HLEA DX,string6MOV AH,09HINT 21HLEA DX,STRINGENDMOV AH,09HINT 21HLEA DX,string7MOV AH,09HINT 21Hmov dx,io8255bmov al,80hout dx,al ;设置8255为C口输出 mov dx,io8255are_on: mov bx,0on: mov al,portc1[bx]push axpush Bxpush Cxpush Dxtest al , 42hjz contsin: call singcont: pop DXPOP CXPOP BXPOP AXout dx,alcmp al,0ffhjz re_onout dx,al ;点亮相应的灯inc bxmov cx,250 ;参数赋初值test al,21h ;是否有绿灯亮jz de1 ;没有,短延时mov cx,2000 ;有,长延时de1: mov di,9000 ;di赋初值9000 de0: dec di ;减1计数jnz de0 ;di不为0loop de1push dxmov ah,06hmov dl,0ffhint 21hpop dxjz on ;没有,转到onexit: mov ah,4ch ;返回int 21hsing proc nearmov al,31hsub al,31hshl al,1 ;转为查表偏移量mov bl,al ;保存偏移到bxmov bh,0mov ax,4240H ;计数初值 = 1000000 / 频率, 保存到AX mov dx,0FHdiv word ptr[table+bx]mov bx,axmov dx,io8253b ;设置8253计时器0方式3mov al,00110110Bout dx,almov dx,io8253amov ax,bxout dx,al ;写计数初值低字节mov al,ahout dx,al ;写计数初值高字节mov dx,io8255b ;设置8255 A口输出mov al,10000000Bout dx,almov dx,io8255aamov al,03hout dx,al ;置PA1PA0 = 11(开扬声器)call delay ;延时mov al,0hout dx,al ;置PA1PA0 = 00(关扬声器sing endpdelay proc near ;延时子程序push cxpush axmov ax,15x1: mov cx,0ffffhx2: dec cxjnz x2dec axjnz x1pop axpop cxretdelay endpcode endsend start第四部分系统测试与性能分析4.1系统测试利用微机实验箱上的8255A并行口、发光二级管以及扬声器,构成发声交通灯控制系统。
测试结果与预期相同,东西、南北方向的红、绿灯交错亮灭。
进入系统,根据菜单界面提示,按数字“1”开始执行程序;东西方向绿灯亮,南北方向红灯亮;5秒后东西方向绿灯灭,东西方向的黄灯和南北方向的红灯闪烁;5秒后东西方向红灯亮,南北方向绿灯亮;5秒后南北方向绿灯灭,东西方向的红灯和南北方向的黄灯闪烁;5秒后东西方向绿灯亮,南北方向红灯亮;如此循环,知道按下任意键退出,程序结束。
4.2测试图示图4-21图4-22 交通灯界面菜单:按1后自动演示图4-23 交通灯界面菜单:按任意键后退出图4-24按任意键后退出后界面4.3性能分析本系统实现了交通灯自动变换的基本功能,并通过扬声器提醒灯的转换,使系统更人性化。
利用编程给定8253芯片某一频率的方波信号,控制扬声器发声。
但缺点是用8255递减的方法不能很精确地计算和控制灯亮的时间。
但本次试验的主要目的是通过灯闪速的同时,鸣叫扬声器提醒行人,以达到人性化的效果。
第五部分总结体会5.1课程体会(1)想法很重要。
设计的思想很大程度上决定了实验的高度。
根据亲身的考察和体验,红绿灯加入扬声器这一人性化的功能,提醒行人有很大的实际意义。
除了此项功能,我们也一直在寻找其他的新功能,例如加人行通道的红绿灯,绿灯时播放音乐,以及温馨提示。
但是由于条件资源的限制,我们只能通过8255和8253控制扬声器的鸣叫。
但是也达到了实验的目的。
(2)汇编语言知识和微机原理知识要扎实。
通过这次实验,我们小组三个成员受益匪浅。
实验的完成需要扎实的基础知识,于是我们回去复习了汇编语言的书籍,查阅了相关文献和资料。
这次实验不仅是对课程内容掌握程度的一次考验,而且是一次很好的训练机会,训练了我们查找资料的能力。
通过此次课程设计的锻炼,自己的动手能力有了很大的提高,查找问题、解决问题的能力也有了相应的进步。
(3)做实验,总要信。
在本次的实验过程中,遇到很多我们无法解决的问题。
经过我们小组成员间的相互讨论,寻求同学的指导,就把自己发觉不到的错误找出来了,从而继续进行实验。
过程中遇到很多困难,几天都呆在寒冷的实验室,途中也会遇到挫折,毫无头绪的时候。