8255A并行口实验三控制交通灯怎么做?

五、编程提示
①通过8255A控制发光二极管PB3、PB0、PA5、PA2对应黄灯,PB1、PA6、PA3、PA0对应红灯,PB2、PA7、PA4、PA1对应绿灯,以模拟交通路灯的管理。
②要完成本实验,必须先了解交通路灯的亮灭规律,没有一个十字路口1、3为南北方向,2、4为东西方向,初始状态为四个路口的红灯全亮。之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车。延时一段时间后,1、3路口的绿灯熄灭,而1、3路口的黄灯开始闪烁,闪烁若干次以后,1、3路口红灯亮,而同时2、4路口的绿灯亮,2、4路口方向通车,延时一段时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次以后,再切换到1、3路口方向,之后,重复上述过程。
③程序中设定好8255A的工作模式,及三个端口均工作在方式0,并处于输出状态。
④各发光二极管共阳极,使其点亮应使8255A相应端口的位清0。
给位高手帮帮忙,感激不尽!

第1个回答  2015-11-22
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int

uchar b=5,c;
unsigned char code a[]=;
sbit sg=P1^0;
sbit sy=P1^1;
sbit sr=P1^2;
sbit hg=P1^3;
sbit hy=P1^4;
sbit hr=P1^5;
sbit ge=P1^6;
sbit shi=P1^7;
uint num1,num2,num3;

void delay(unsigned int z1)
{
unsigned int a1,b1;
for(a1=z1;a1>0;a1--)
for(b1=12500;b1>0;b1--);
}
void main()
{
P2=0;
P1=0;
shi=1;
P2=a[8];
shi=0;
ge=1;
P2=a[4];
ge=0;
TMOD=0X11;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
EA=1;
ET0=1;
ET1=1;
TR0=1;
TR1=1;
while(1)
{

switch(num2) //红绿灯
{
case(0): //10s内s绿灯亮
sr=0;
hg=0;
sg=1;
hr=1;
break;
case(1): //5S:竖黄横红
sg=0;
sy=1;
delay(5);
sy=0;
delay(5);
break;
case(2): //10s:竖红横绿
sg=0;
sr=1;
sy=0;
hg=1;
hr=0;
break;
case(3): //5S:竖红横黄
hg=0;
hy=1;
delay(5);
hy=0;
delay(5);
break;
}
}
}
void timer0() interrupt 1 //定时器0
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
num1++;
if(num1==200)
num2=1;
if(num1==300)
num2=2;
if(num1==500)
num2=3;
if(num1==600)
{
num1=0;
num2=0;
}

}
void timer1() interrupt 3 //定时器1
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
num3++;
if(num3>=20) //数码管显示
{
num3=0;
c++;
ge=1;
P2=a[b++];
ge=0;
if(b>=10)
b=0;
if(b==1)
{
P2=a[9];
shi=1;
shi=0;
}
if(c>=15)
{
c=0;
shi=1;
P2=a[8];
shi=0;
ge=1;
P2=a[4];
ge=0;
b=5;
}
}

求交通信号灯控制器设计---总电路图
以计算机为核心.利用可编程并行接口芯片8255A的软硬件功能,实现对交通灯控制。实验内容:设计一个用于十字路口的交通灯控制器。基本要求:在十字路口的东西和南北两个方向都各有红、黄、绿三个信号灯。红、黄、绿交通灯的变化规律为: 1)南北方向的绿灯、东西方向的红灯同时亮20秒。 2)南北方向的绿...

微机原理实验箱显示灯位置
(3)CPU接口部分①读\/写控制逻辑电路 地址线A1和A0、CS(片选)、RD(读控制)、WR(写控制)、RESET(复位)信号的组合,用来控制8255A进行数据信息、状态信息和控制信息的传输。② 数据总线缓冲器 它是一个8位的双向三态数据缓冲器,它是8255A与CPU数据总线的接口,所有数据的输入\/输出,以及CP...

杭电微机原理8255A并口实验报告
五、实验程序框图图4-2六、实验步骤1.断电连接导线,8255A芯片A口的PA0-PA7依次和开关量输入Kl-K8相连,8255A芯片B口的PB0-PB7依次接Ll-L8;2.在PC机和实验系统联机状态下,新建实验程序,编辑完成后进行保存(保存后缀为.asm文件);3.编译下载;4.全速运行,运行程序。七、实验程序CODESEGMENTMA...

在模拟交通灯实验中,要用到8255A芯片请问它有哪几种工作方式?简述它们...
方式0是一种基本输入输出方式;8255A分成彼此独立的两个8位和两个4位并行口,共24根I\/O线全部由用户支配;不设置专用联络信号线,需要联络时可由用户任意指定C口中的某个线完成某种联络功能;是单向I\/O,一次初始化只能指定端口作为输入或输出,不能指定端口同时既作输入又作输出。方式1为选通输入输...

8255并行接口实验工作方式
8255有三种工作方式,应依据具体的实验目的要求选用适当的方式:.方式0(基本输入输出方式):不需任何选通信号,A口、B口、C口高4位、C口低位,都可被设定为输入或输出。作输出口时输出数据存锁;作输入口时输入数据不存锁。.方式1(选通输入输出方式):A、B、C 三个口分为两组。A组:包括A...

微机原理8255并行接口实验怎么让K0控制L7
实验内容:8255接口芯片非常重编写一个基本输入输出程序,使8255的A口为输入,B口为输出,完成拨动开关到数据灯的数据传输。要求:数据灯的显示随开关动态变化。要的,使用非常简单,在以后的实验会经常使用到。实验的目的:了解可编程并行接口芯片8255的内部结构、工作方式、初始化编程及应用。并学会如何...

微机原理与接口技术实验:8086,8255A,74LS138开关控制LED灯
点击运行以后,似乎IN,OUT指令没有作用,就是读取A端口信息,和把信息输出到B端口的时候,8255A的D0~D7引脚状态一直显示的是灰色。--- D0~D7显示灰色,是正确的。关键是 PA、PB,显示的红色、蓝色,对不对。

微机原理课程设计怎么做?
按照时间控制原则,利用并行接口和定时器,采用时间中断方式设计一套十字路口的交通灯管理系统,通行时间(或禁止时间)30秒,准备时间3秒,在准备时间里黄灯闪烁3次,闪烁频率为0.5秒,周而复始。可利用8255、8253、8259等接口电路。总体设计 1、基本工作原理 设有一个十字路口,1、3为南,北方向,2...

交通灯有几种?
黄灯亮5秒,同时东西方向的红灯继续亮。3)南北方向的黄灯灭、红灯亮,同时东西方向的红灯灭、绿灯亮,持续20秒。4)南北方向的红灯继续亮,同时东西方向的绿灯灭、黄灯亮5秒。5)转1)重复。交通灯用微机原理实验箱上的。通过8255并行端口来实现对交通灯的模拟控制,定时时间由编程实现 ...

计算机接口实验中有一道思考题:简述8255A的内部结构及工作原理。请帮...
可编程并行I\/O接口芯片8255A的内部结构:工作原理:(1)8255A具有A、B两组,3个8位数据端口A、B、C A组:端口A (PA0~7) 、端口C的高四位(PC4~7)B组:端口B (PB0~7) 、端口C的低四位(PC0~3)(2)数据端口的工作方式  基本输入\/输出方式:A、B、C三个端口可以为输入...

相似回答