基于PC机与8255的交通灯电路系统设计
- 格式:doc
- 大小:96.50 KB
- 文档页数:11
《微型计算机技术》课程设计报告题目:基于8255A的应用—交通灯的设计专业名称:通信工程班级:学号:姓名:2013年 1月基于8255A的应用—交通灯的设计胡晋电子信息工程学系摘要:随着微型计算机技术的飞速发展。
为此,基于8255芯片原理来实现交通灯的的控制是这次设计基础。
因为交通灯的控制可以分东西方向和南北方向两种,每种可用红、绿、黄三个灯进行交通管理,所以用8255芯片的PB口对六个交通灯进行控制。
通过8255芯片的PA口来控制交通灯状态的切换。
关键词:交通灯;8255芯片;控制;开关1 设计要求、目的和内容1.1设计要求基于微型计算机技术,利用8255芯片的原理实现交通的的控制,即8255芯片的应用—交通灯的的设计。
1.2 设计目的掌握8255芯片方式0的编程方法,PC机及配套的接口电路实验装置的连接于调试,IC芯片:8255A芯片的原理应用1.3 设计内容采用8255芯片设计交通灯控制的接口方案,硬件电路的设计和连接,程序的编写和调试。
2 设计原理2.1 8255内部框图介绍图1 8255A的内部结构图数据总线缓冲器:这是一个双向三态的8位数据缓冲器,它是8255A与微机系统数据总线的接口。
输入输出的数据、CPU输出的控制字以及CPU输入的状态信息都是通过这个缓冲器传送的。
三个端口A,B和C:A端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入锁存器。
B端口包含一个8位数据输入/输出锁存器和缓冲器,一个8位数据输入缓冲器。
C端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入缓冲器(输入没有锁存器)。
A组和B组控制电路:这是两组根据CPU输出的控制字控制8255工作方式的电路,它们对于CPU而言,共用一个端口地址相同的控制字寄存器,接收CPU输出的一字节方式控制字或对C 口按位复位字命令。
方式控制字的高5位决定A组的工作方式,低3位决定B组的工作方式。
[2]对C口按位复位命令字可对C口的每一位实现置位或复位。
西安郵電學院硬件课程设计报告题目:微机原理与接口课程设计院系名称:计算机学院专业名称:软件工程班级:软件0802学生姓名:***学号(8位):********指导教师:**设计起止时间:2011年05月23日~2011年05月27日一、设计目的通过可编程并行接口芯片8255A和可编程定时器/计数器芯片8253/8254以及中断控制器 8259实现十字路口交通灯的模拟控制,进一步掌握并行接口和定时器/计数器及数码管控制的实际应用。
二、设计内容1.用试验台提供的发光二极管(红绿黄各两支,共六支)作为南北路口(红绿黄各一支)和东西路口(红绿黄各一支)的模拟交通灯。
2.用可编程并行接口芯片8255A控制模拟交通灯的亮与灭和数码管的倒计时显示。
3.用可编程定时器/计数器芯片8253实现模拟交通灯亮与灭的时间延迟控制。
4.用数码管作为模拟交通灯亮与灭的时间延迟控制的倒计时显示。
5.用汇编语言编程使六个灯按交通灯变化规律“亮/灭”。
交通灯变化规律要求:① 南北路口的绿灯,东西路口的红灯同时亮30秒,且数码管30秒倒计时显示。
② 南北路口的黄灯闪烁3秒(三亮三灭),同时东西路口的红灯继续亮,且数码管3秒倒计时显示。
③ 南北路口的红灯,东西路口的绿灯同时亮20秒,且数码管20秒倒计时显示。
④ 南北路口的红灯继续亮,同时东西路口的黄灯闪烁3秒(三亮三灭),且数码管3秒倒计时显示。
⑤ 转①重复⑥按压“东西紧急键”,则东西方向绿灯,南北方向红灯;再次按压“东西紧急键”,解除东西紧急通行状态。
(“东西紧急键”可是键盘键,亦可是逻辑开关键)⑦按压“南北紧急键”,则南北方向绿灯,东西方向红灯;再次按压“南北紧急键”,解除南北紧急通行状态。
(“南北紧急键”可是键盘键,亦可是逻辑开关键)⑧按<ESC>键退出程序。
备注:1、按键用8255A 芯片的PC 口实现或用键盘模拟实现。
2、8253定时到可以通过8259,用中断的方式实现定时器。
8255A 控制交通灯的应用系统设计天津轻工职业技术学院 周树清[摘 要]单片机是一个基本的微型计算机,由M CS -51单片机一个芯片通过简单的电路连接,便可组成最小应用系统,利用集成在单片机内部的接口,实现并、串行数据传输,定时 计数控制,中断等功能,从而完成一定的检测控制功能。
为扩大单片机的实际应用范围,常需要将单片机系统扩展,以实现更为强大的功能。
所谓扩展就是在以CPU 为核心的单片机的外围连接具有各种功能的芯片,包括ROM 扩展芯片、RAM 扩展芯片、并行接口芯片、中断扩展芯片、定时 计数器扩展芯片等。
8255就是并行接口芯片的一种,在各种应用系统设计中使用非常广泛。
[关键词]可编程接口 L ED (发光二极管) 1.可编程接口:是指其功能可由计算机的指令来改变的接口芯片。
可编程接口通过编制程序,可使一个接口执行不同的接口功能,使用灵活方便。
用它来连接计算机的外设时,不需要或只需要很少的外加硬件。
2.L ED (发光二极管):在单片机系统中,经常用L ED (发光二极管)数码显示器来显示单片机系统的工作状态,运行结果等各种信息,它是单片机与人对话的一种重要输出设备。
一、设计要求编写程序,使用8255A 可编程并行接口芯片,控制12位L ED (发光二极管)的亮灭,从而实现交通灯的模拟控制过程。
控制要求如下:初始状态为四个路口的红灯全亮,之后,东西路口的绿灯亮南北路口的红灯亮,东西路口方向通车。
延时一段时间后东西路口的绿灯熄灭,黄灯开始闪烁,闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯熄灭,黄灯开始闪烁。
闪烁若干次后,再切换到东西路口方向,之后重复以上过程。
二、设计目的希望通过设计了解8255A 芯片的内部结构、工作方式、各引脚功能及I O 口的使用,掌握8255A 的控制字的意义、功能和设置方法,重点是根据控制要求,对8255A 进行初始化编程和应用,培养将理论知识应用于实践的综合能力。
微机原理与接口技术课程设计课程设计题目:基于PC机与8255的交通灯电路系统设计班级专业:姓名:学号:指导老师:地点:微机原理与接口技术实验室基于PC机与8255的交通灯电路系统设计第一部分概论十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。
井然秩序的实现,靠的是交通信号灯的自动指挥系统。
交通信号灯控制方式有很多。
本系统采用8255A芯片实现了A口设置红、绿、黄灯点亮时间的功能,从而控制LED发光二极管实现红、黄、绿灯循环点亮。
另外结合日常生活经验,并且从亚残会中对残疾人的生活不便中得出感悟,采用8253进行控制扬声器,在红、绿灯变换之间黄灯闪烁时,同时添加了“声音提示"功能。
整个系统具有固定的“红灯—黄灯—绿灯”转换间隔,并自动切换,对东西南北方向的道路进行“自动”的控制。
但是,经过小组成员提出的各种假设,发现此系统需要加入更多人性化的元素:交警可以根据实际的路面情况,针对不同的突发事件,进行手工控制红绿灯的转换。
例如救护车警车执行紧急任务;例如东西道路塞车,南北道路空闲无车辆行驶时,需要灵活调节红绿灯的转化。
通过8255并口控制,可以达到更加人性化的效果从而方便各种人群。
1.1设计任务:交通信号灯的控制(1)通过8255并行接口来控制LED发光二极管的亮灭,并适当延时。
(2)黄灯闪烁时,通过8253控制扬声器发出声音,以提醒灯的转换。
(3)通过8255并口控制,人工进行交通灯的转换。
1.2 任务要求(1)南北路口的绿灯、东西路口的红灯同时亮5秒左右。
(2)南北路口的黄灯闪烁若干次,扬声器鸣叫,同时东西路口的红灯闪烁。
(3)南北路口的红灯、东西路口的绿灯同时亮5秒左右。
(4)南北路口的红灯闪烁、同时东西路口的黄灯亮闪烁若干次,扬声器鸣叫。
(5)转(1)重复。
紧急情况可以手动控制红绿灯的变换。
1.3设计原理电路原理:本课题的设计可通过实验平台上的一些功能模块电路组成,由于各模块电路内部已经连接,用户在使用时只要设计模块间电路的连接,因此,硬件电路的设计及实现相对简单。
随着计算机科学技术的不断发展,微型计算机得到了广泛的应用,是人们利用计算机设计和开发各种应用系统的基础。
同时微型计算机接口技术也是一门实践性较强的课程,理论与实践相结合可以更好的掌握知识,这也是这次交通灯系统控制的设计目的。
交通灯是交通安全的关键,已广泛应用于城乡的十字路口,它的有无作为交通安全检查的重要依据,是交通秩序正常进行的有力保障。
十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。
十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。
当前,国大多数城市正在采用“自动”红绿交通灯,它具有固定的“红灯—绿灯”转换间隔,并自动切换。
它们一般由“通行与禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。
交通灯的时间控制显示,以固定时间值预先“固化”在单片机中,每次只是以一定周期交替变化。
但是,实际上不同时刻的车辆流通状况是十分复杂的,是高度非线性的、随机的,还经常受认为因素的影响。
采用定时控制经常造成道路有效应用时间的浪费,出现绿灯方向车辆较少,红灯方向车辆积压。
它不顾当前道路上交通车辆数的实际情况变化,其最大的缺陷就在于当路况发生变化时,不能满足司机与路人的实际需要,轻者造成时间上的浪费,重者直接导致交通堵塞,导致城市交通效率的下降。
目前,有一种使用“模糊控制”技术控制交通灯的方法。
能够根据十字路口两个方向上车辆动态状况,自动判断红绿灯时间间隔,以保证最大车流量,减少道口的交通堵塞。
但是却不像定时控制,能用数字显示器显示当前灯色剩余时间,以便于驾驶员随时掌握自己的驾驶动作,及时停车或启动。
本次的交通灯控制系统主要由8255A并行口、8253定时/计算器、8259单极中断控制器以及74LS139译码器实验等芯片组成。
整个课程设计主要使用8255A的A口和B口模拟十字路口交通灯的闪烁情况。
主要包括以下五个方面:1.课程设计题目名称;2.课程设计要求完成的任务;3.系统设计文档(包括了总体设计、详细设计以及程序设计等文档);4、课程设计总结;5.参考文献本次课程设计以固定的程序实现对交通灯实行控制,没有实现智能化,但智能化是交通控制系统是交通控制系统发展的必然趋势,也是满足日益发展的社会需要。
西安郵電學院硬件课程设计报告题目:微机原理与接口课程设计;^院系名称:计算机学院专业名称:软件工程班级:软件0802学生姓名:王晶晶学号(8位): 04085047指导教师:刘军设计起止时间:2011年05月23日~2011年05月27日[一、设计目的通过可编程并行接口芯片8255A和可编程定时器/计数器芯片8253/8254以及中断控制器 8259实现十字路口交通灯的模拟控制,进一步掌握并行接口和定时器/计数器及数码管控制的实际应用。
二、设计内容1.用试验台提供的发光二极管(红绿黄各两支,共六支)作为南北路口(红绿黄各一支)和东西路口(红绿黄各一支)的模拟交通灯。
2.用可编程并行接口芯片8255A控制模拟交通灯的亮与灭和数码管的倒计时显示。
3.用可编程定时器/计数器芯片8253实现模拟交通灯亮与灭的时间延迟控制。
4.用数码管作为模拟交通灯亮与灭的时间延迟控制的倒计时显示。
'5.用汇编语言编程使六个灯按交通灯变化规律“亮/灭”。
交通灯变化规律要求:① 南北路口的绿灯,东西路口的红灯同时亮30秒,且数码管30秒倒计时显示。
② 南北路口的黄灯闪烁3秒(三亮三灭),同时东西路口的红灯继续亮,且数码管3秒倒计时显示。
③ 南北路口的红灯,东西路口的绿灯同时亮20秒,且数码管20秒倒计时显示。
④ 南北路口的红灯继续亮,同时东西路口的黄灯闪烁3秒(三亮三灭),且数码管3秒倒计时显示。
⑤ 转①重复⑥按压“东西紧急键”,则东西方向绿灯,南北方向红灯;再次按压“东西紧急键”,解除东西紧急通行状态。
(“东西紧急键”可是键盘键,亦可是逻辑开关键)⑦按压“南北紧急键”,则南北方向绿灯,东西方向红灯;再次按压“南北紧急键”,解除南北紧急通行状态。
(“南北紧急键”可是键盘键,亦可是逻辑开关键)"⑧按 <ESC>键退出程序。
备注:1、按键用 8255A 芯片的 PC 口实现或用键盘模拟实现。
2、8253定时到可以通过8259,用中断的方式实现定时器。
交通灯控制课程设计报告课程名称:微型计算机技术及应用专业:电气工程及其自动化************ 级:班************ 学号:************ 姓名:: ************ 指导教师2013-12-10期:日目录第一章设计内容的概述一. 设计任务内容二. 设计要求第二章硬件的设计一. 设计过程简单分析二. 硬件系统工作原理三. 硬件原理1. 8086各个引脚的连接方法2. 时钟发生器8284芯片的说明第三章程序设计一.流程图二.程序代码三.硬件清单四.芯片资料1. 8255介绍2.8253介绍3. 8282介绍4.3—8译码器74LS138介绍第四章总结第一章设计内容的概述一.设计任务内容用8255来控制LED灯,用8253来定时,达到交通控制的目的。
二.设计要求一开始,(南北用1,3东西为2,4)四个路口都为红灯,然后南北变为绿灯通车东西变为红色,30秒之后后,黄灯变亮,黄灯闪烁5次之后南北变为红灯,东西变为绿灯通车,30秒之后后,黄灯变亮,黄灯闪烁5次之后南北变绿灯,东西变为红灯,重复上述过程。
第二章硬件的设计一.设计过程简单分析分析:红,黄,绿灯可分别接在8255的A口,B口和C口上,灯的亮灭可直接由8086输出0,1控制。
30秒延时及闪烁由8253控制,由闪烁的实现方法可由8253来实现。
设8253各口地址分别为:设8253基地址即通道0地址为04A0H;通道1为04A2H;通道2为04A4H;命令控制口为04A6H。
黄灯闪烁的频率为1HZ,所以想到由8253产生一个1HZ的方波,8255控制或门打开的时间,在或门打开的时间内,8253将方波信号输入或门使黄灯闪烁。
由于计数值最大为65535,1MHZ/65536的值远大于2HZ,所以采用两个计数器级联的方式,8253通道0的clock0输入由分频器产生的1MHZ时钟脉冲,工作在方式3即方波发生器方式,理 s,因此通1MHZ0.01s的方波。
摘要 (3)第一章问题概述 (4)1.1 设计题目 (4)1.2 设计目的 (4)1.3 仪器、设备及器材 (4)1.4 设计内容 (4)1.5 设计步骤 (4)1.6 思考题 (4)第二章交通灯设计方案 (4)2.1 方案设计 (5)2.2 状态分析 (5)第三章交通灯控制系统的实现 (7)3.1 扩展并行I/O口8255 (7)3.2 8255A芯片的工作方式0 (8)3.3 电路插接 (8)3.4 程序设计 (8)3.5 程序运行测试 (10)3.6 运行结果分析与问题回答 (11)第四章课程设计小结 (12)随着社会的发展,城市规模的不断扩大,城市交通成为制约城市发展的一大因素。
人口和汽车日益增长,市区交通也日益拥挤,人们的安全问题当然也日益重要。
因此,红绿交通信号灯成为交管部门管理交通的重要工具之一。
有了交通灯,人们的安全出行也有了很大的保障。
自从交通灯诞生以来,其内部的电路控制系统就不断的被改进,设计方法也开始多种多样,从而使交通灯显得更加智能化。
尤其是近几年来,随着电子与计算机技术的飞速发展,电子电路分析和设计方法有了很大的改进,电子设计自动化也已经成为现代电子系统中不可或缺的工具和手段,这些都为交通灯控制系统的设计提供了一定的技术基础。
本课程设计运用可编程并行接口芯片8255A作为扩展输出口,通过十二个发光二极管来模拟进行交通灯的燃灭管理,并详细阐述了其工作原理、基本功能框图、关键设计技术及软件工作流程,对选用芯片的特点进行了分析,并最后进行了软件实现,达到了系统要求的功能。
关键词:交通灯、8255A第一章问题概述1.1、设计题目8255A应用——交通灯控制1.2、设计目的●掌握8255A方式0的使用与编程方法● PC机及配套的接口电路实验装置● IC芯片:8255A应用1.3、仪器、设备及器材● PC机及配套的接口电路实验装置● IC芯片:8255A1.4、设计内容●采用8255A设计交通灯控制的接口方案●插接电路●编写控制程序1.5、设计步骤(1)方案设计考虑普通十字路口,交通灯的控制可分东西向和南北向两组,每组可用红、黄、绿三个灯进行交通管理,所以本方案要点是对六个交通灯进行控制。
实验一 8255控制交通灯实验一、实验目的与要求1、了解8255芯片的工作原理,熟悉其初始化编程方法以及输入、输出程序设计技巧。
学会使用8255并行接口芯片实现各种控制功能,如本实验(控制交通灯)等。
并行接口芯片实现各种控制功能,如本实验(控制交通灯)等。
2、熟悉8255内部结构和与8088的接口逻辑,熟悉8255芯片的3种工作方式以及控制字格式。
字格式。
3、认真预习本节实验内容,尝试自行编写程序,填写实验报告。
、认真预习本节实验内容,尝试自行编写程序,填写实验报告。
二、实验设备STAR 系列实验仪一套、系列实验仪一套、PC PC 机一台机一台三、实验内容1、编写程序:使用8255的PA0..2PA0..2、、PA4..6控制LED 指示灯,实现交通灯功能。
指示灯,实现交通灯功能。
2、连接线路验证8255的功能,熟悉它的使用方法。
的功能,熟悉它的使用方法。
四、实验原理图D034D133D232D331D430D529D628D727PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC710RD 5WR 36A09A18RESET 35CS68255U36D0D1D2D3D4D5D6D7WRRD RSTA0A1PC5PC6PC7PC2PC3PC4PC0PC1DS35DS36DS37DS38DS39DS40DS4112345678VCCDS42A0A1CSCS1(0F000H)510R111510R112510R113510R114510R115510R116510R117510R118五、实验步骤1、连线说明:、连线说明:B4区:区:CS CS CS、、A0A0、、A1 ————A3区:CS1CS1、、A0A0、、A1B4区:区:JP56JP56JP56((PA 口)口)————G6区:区:JP65 JP652、观察实验结果,是否能看到模拟的交通灯控制过程。
..’. 实验四8255A并行口实验-----交通灯控制一、8255A并行口实验(二)目的掌握通过8255A并行口传输数据的方法,以控制发光二极管的亮与灭。
二、8255A并行口实验(二)内容1、实验原理实验原理图如图所示,PB4 ~ PB7和PC0 ~ PC7分别与发光二极管电路L1~ L12 相连,本实验为模拟交通灯实验。
交通灯的亮灭规律如下:设有一个十字路口,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的PB4~ PB7对应黄灯,PC0 ~ PC3对应红灯,PC4~ PC7对应绿灯。
8255A工作于模式0,并置为输出。
由于各发光二极管为共阳极,使其点亮应使8255A相应端口清0。
2、实验线路连接(1) 8255CS插孔连译码输出070H-07FH插孔。
(2) L1 - PC4 L4 - PC5 L7 - PC6 L10 - PC7L2 - PB4 L5 - PB5 L8 - PB6 L11 - PB7L3 - PC0 L6 - PC1 L9 - PC2 L12 - PC33、实验步骤(1) 按图5-9连好实验线路(2) 运行实验程序在系统显示"DVCC-86H"状态下,按任意键,系统显示命令提示符"-"。
按GO键,显示"1000 XX"输入F000 :B1B0按EXEC键,在DVCC-8086H上显示"8255-2"。
同时L1~L12 发光二极管模拟交通灯显示。
三、实验程序CODE SEGMENTASSUME CS:CODEIOCONPT EQU 0073HIOAPT EQU 0070HIOBPT EQU 0071HIOCPT EQU 0072HIOBDATA EQU 0500HCONTPORT EQU 00DFH DATAPORT EQU 00DEHDATA1 EQU 0640HSTART: JMP IOLEDIOLED: CALL FORMATCALL LEDDISPMOV AX,0HMOV DS,AXMOV AL,82HMOV DX,IOCONPTOUT DX,ALMOV DX,IOBPTIN AL,DXMOV BYTE PTR DS:[0501H],ALMOV DX,IOCONPTMOV AL,80HOUT DX,ALMOV DX,IOBPTMOV AL,DS:[0501H]OR AL,0F0HOUT DX,ALMOV DX,IOCPTMOV AL,0F0HOUT DX,ALCALL DELAY1IOLED0: MOV AL,10100101BMOV DX,IOCPTOUT DX,ALCALL DELAY1CALL DELAY1OR AL,0F0HOUT DX,ALMOV CX,8HIOLED1: MOV DX,IOBPTMOV AL,DS:[0501H]AND AL,10101111BOUT DX,AL..’. CALL DELAY2OR AL,01010000B OUT DX,ALCALL DELAY2 LOOP IOLED1 MOV DX,IOCPT MOV AL,0F0H OUT DX,ALCALL DELAY2 MOV AL,01011010B OUT DX,ALCALL DELAY1 CALL DELAY1OR AL,0F0HOUT DX,ALMOV CX,8HIOLED2: MOV DX,IOBPT MOV AL,DS:[0501H]AND AL,01011111BOUT DX,ALCALL DELAY2OR AL,10100000BOUT DX,ALCALL DELAY2LOOP IOLED2MOV DX,IOCPTMOV AL,0F0HOUT DX,ALCALL DELAY2JMP IOLED0 DELAY1: PUSH AXPUSH CXMOV CX,0030H DELY2: CALL DELAY2 LOOP DELY2POP CXPOP AXRETDELAY2: PUSH CXMOV CX,8000H DELA1: LOOP DELA1POP CXRETLEDDISP:MOV AL,90HMOV DX,CONTPORTOUT DX,ALMOV BYTE PTR DS:[0600H],00 LED1: CMP BYTE PTR DS:[0600H],07HJA LED2MOV BL,DS:[0600H]MOV BH,0HMOV AL,CS:[BX+DA TA1]MOV DX,DA TAPORTOUT DX,ALADD BYTE PTR DS:[0600H],01HJNZ LED1LED2: RETFORMAT: MOV BX,0MOV WORD PTR DS:[BX+0640H],405BHADD BX,2MOV WORD PTR DS:[BX+0640H],4040HADD BX,2MOV WORD PTR DS:[BX+0640H],6D6DHADD BX,2MOV WORD PTR DS:[BX+0640H],7F5BHRETCODE ENDSEND START。
微机原理与接口技术课程设计课程设计题目:基于PC机与8255的交通灯电路系统设计班级专业:12级通信工程2班姓名:黄长贺学号:1204040203指导老师:欧青立陈君宋芳地点:微机原理与接口技术实验基于PC机与8255的交通灯电路系统设计第一部分概论十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。
井然秩序的实现,靠的是交通信号灯的自动指挥系统。
交通信号灯控制方式有很多。
本系统采用8255A芯片实现了A口设置红、绿、黄灯点亮时间的功能,从而控制LED发光二极管实现红、黄、绿灯循环点亮。
整个系统具有固定的“红灯—黄灯—绿灯”转换间隔,并自动切换,对东西南北方向的道路进行“自动”的控制。
但是,经过小组成员提出的各种假设,发现此系统需要加入更多人性化的元素:交警可以根据实际的路面情况,针对不同的突发事件,进行手工控制红绿灯的转换。
例如救护车警车执行紧急任务;例如东西道路塞车,南北道路空闲无车辆行驶时,需要灵活调节红绿灯的转化。
通过8255并口控制,可以达到更加人性化的效果从而方便各种人群。
1.1设计任务:交通信号灯的控制(1)通过8255并行接口来控制LED发光二极管的亮灭,并适当延时。
(3)通过8255并口控制,人工进行交通灯的转换。
1.2 任务要求(1)南北路口的绿灯、东西路口的红灯同时亮10秒左右。
(2)南北路口的黄灯闪烁若干次,同时东西路口的红灯闪烁。
(3)南北路口的红灯、东西路口的绿灯同时亮10秒左右。
(4)南北路口的红灯闪烁、同时东西路口的黄灯亮闪烁若干次。
(5)转(1)重复。
紧急情况可以手动控制红绿灯的变换。
1.3设计原理电路原理:本课题的设计可通过实验平台上的一些功能模块电路组成,由于各模块电路内部已经连接,用户在使用时只要设计模块间电路的连接,因此,硬件电路的设计及实现相对简单。
完整系统的硬件连接如图所示。
硬件电路由定时模块、发光二极管模块、数码管显示模块和紧急中断模块组成。
定时中断子程序是本设计的重点,负责完成数码管输出数据刷新和各个状态的处理切换。
中断子程序包括数码管输出数据刷新程序和各状态处理程序。
数码管输出数据刷新子程序是实现倒计时25s,用LEDOUT表示输出的数据,cnt用来软件计时1s,就是计数10个100ms。
LED输出是要将输出的数据转化为段选码。
根据当前的状态跳转到相应的处理程序,在处理程序中完成定时和状态的切换。
状态1和3的流程是一样的,先点亮对应的交通灯,再判断定时到了就可以切换了。
状态2和4要实现黄灯的闪烁,间隔点亮和熄灭就可以了。
状态1和3处理程序的流程图(以状态1为例)如图所示,其中NUM是状态1对应的PC 口输出。
外部中断服务子程序主要用来处理紧急情况,将2个方向的车都停止运行,点亮所有红灯。
下次中断来时恢复以前的状态。
用一个标志位FLAG判断是第一次进入还是恢复状态。
二、软件仿真图如下:第三部分硬件设计3.1 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输出的控制字或数据送至相应端口,也由它来控制把状态信息或输入数据通过相应的端口送到CPU。
2、8255A的工作方式:方式0---基本输入输出方式;方式1---选通输入输出方式;方式2---双向选通输入输出方式。
3、引脚信号8255A的引脚如有:分为数据线、地址线、读/写控制线、输入/输出端口线和电源线。
D7~D0(data bus):三态、双向数据线,与CPU数据总线连接,用来传送数据。
(chip select):片选信号线,低电平有效时,芯片被选中。
A1, A0(port address):地址线,用来选择内部端口。
(read):读出信号线,低电平有效时,允许数据读出。
(write):写入信号线,低电平有效时,允许数据写入。
RESET(reset):复位信号线,高电平有效时,将所有内部寄存器(包括控制寄存器)清0。
PA7~PA0(port A):A口输入/输出信号线。
PB7~PB0(port B):B口输入/输出信号线。
PC7~PC0(port C):C口输入/输出信号线。
VCC:+5V电源。
GND:电源地线。
第四部分软件设计4.1流程如下主程序中主要是通过初始化8255,然后将PC口设置成为输出口,将PC口与LED灯连接起来。
4.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,STRINGSTARTMOV 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赋初值9000de0: 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 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,alcall delay ;延时mov al,0hout dx,alsing endpdelay proc near ;延时子程序push cxpush axmov ax,15x1: mov cx,0ffffhx2: dec cxjnz x2dec axjnz x1pop axpop cxretdelay endpcode endsend start第五部分系统测试与性能分析5.1系统测试利用微机实验箱上的8255A并行口、发光二级管以及扬声器,构成发声交通灯控制系统。