基于8051单片机设计的智能交通灯系统_毕业论文(编辑修改稿)内容摘要:

WR:写入信号,当这个输入引脚为低跳变沿时 ,即 /WR 产生一个低脉冲且 /CS=0时 ,允许 CPU 将数据或 控制字写入 8255。 D0~ D7:三态双向数据总线, 8255与 CPU 数据传送 的通道,当 CPU 执行输入输出指令时,通过它实现 8位数据的读 /写操作,控制字和状态信息也通过数据总线传送。 8255具有 3个相互独立的输入 /输出通道端口,用 +5V 单电源供电,能在以下三种方式下工作 : 方式 0———— 基本输入输出方式; 方式 1———— 选通输入 /出方式; 方式 2———— 双向选通输入 /输出方式。 PA0~ PA7:端口 A输入输出线,一个 8位的 数据输出 锁存器 /缓冲器, 一个 8位的数据输入锁存器。 工作于三种方式中的任何一种; PB0~ PB7:端口 B输入输出线,一个 8位的 I/O 锁存器, 一个 8位的输入输出缓冲器。 不能工作于方式二; PC0~ PC7:端口 C输入输出线,一个 8位的数据输出锁存器 /缓冲器 , 一个 8位的数据输入缓冲器。 端口 C 可以通过工作方式设定而分成 2个 4位的端口, 每个 4位的端口包含一个 4位的锁存器,分别与端口 A 和端口 B 配合使用,可作为 控制信号 输出或 5 状态信号输入端口 , 不能工作于方式一或二。 A1,A0:地址选择线 ,用来选择 8255的 PA 口 ,PB 口 ,PC 口和 控制寄存器。 当 A1=0,A0=0时 ,PA口被选择 ; 当 A1=0,A0=1时 ,PB口被选择 ; 当 A1=1,A0=0时 ,PC口被选择 ; 当 A1=1,A0=1时 ,控制寄存器被选择。 交通灯简介 图 21 交通灯模拟控制 当今 ,红绿灯安装在各个道口上 ,已经成为疏导交通车辆最常见和最有效的手段。 绿灯是通行信号 ,面对绿灯的车辆可以直行 ,左转弯和右转弯 ,除非另一种标志禁止某一种转向。 左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行先通行。 红灯是禁行信号 ,面对红灯的车辆必须在交叉路口的停车线后停车。 黄灯是警告信号 ,面对黄灯的车辆不能越 过停车线 ,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。 6 第三章、智能交通灯控制系统要求 总控制要求 ①设计一个十字路口的交通灯控制电路,要求南北方向和东西方向两个交叉路口的车辆交替运行,两个方向能根据车流量大小自动调节通行时间,车流量大,通行时间长,车流量小,通行时间短。 ②每次绿灯变红灯时,要求黄灯先亮 5S,才能变换运行车辆。 ③东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用数码管显示器进行显示(采用倒计时的方法)。 ④同步设置人行横道红、绿灯指示。 ⑤考虑到特殊车辆情况,设置紧急转换开关。 图 31 模拟交通运行 车检测电路 (设东西道比南北道的车流量大 ) 用来判断各方向车辆状况。 比如: 60秒内可以通过的车辆为 50辆,当 60秒内南往北方向车辆通过车辆达不到 50辆时,判断该方向为少车,当 60秒内北往南方向车辆通过车辆也达不到 50辆时,判断该方向也少车,下一次通 行仍为 60秒,当 60秒时间内南往北或北往南任意一个方向通过的车辆达 50辆时证明该状态车辆较多,下一次该方向绿灯放行时间改为 80秒,当 80秒内通过的车辆数达 100 7 辆时车辆判断为拥挤,下一次绿灯放行时间仍改为 80秒,当 80秒车辆上通过车辆达不到 100辆时,判断为少车,下次绿灯放行时间改为 60秒,依此类推。 绿灯下限时间为60秒,上限值为 80秒,初始时间为 60秒。 这样检测,某次可能不准确,但下次肯定能弥补回来,累积计算是很准确的,这就是人们常说的“模糊控制”。 因为路上的车不可能突然增多,塞车都有一个累积过程。 这样控制可以把不 断增多的车辆一步一步消化,虽然最后由于每个路口的绿灯放行时间延长而使等候的时间变长,但比塞车等候的时间短得多。 本系统的特点是成本低,控制准确。 十字路口车辆通行顺序如图所示。 信号灯电路 信号灯用来显示车辆通行状况。 下面以一个十字路口为例,说明一个交通灯的四种状态见图 2。 每个路口的信号的的转换顺序为:绿→黄→红。 绿灯表示允许通行,黄灯表示禁止通行,但已经驶过安全线的车辆可以继续通行,是绿灯过渡到红灯提示灯。 红灯表示禁止通行。 绿灯的最短时间为 60秒,最长时间为 80秒,红灯最短时间为65秒,最长时间为 85秒,黄灯时间为 5秒 (在通行时间方面控制设置为 60s→ 5s→ 85s→ 80s→ 5s→ 65s→ 60s)为一个循环,根据车流量合理分配了通行时间)。 时间显示电路 在交通信号灯的正上方安装一个可以显示绿灯通行时间,红灯等待时间的显示电路,采用数码管显示电路是一种很好的方法。 由于东往西方向和西往东方向显示的时间相同,南往北方向和北往南方向显示的时间也相同,所以只需要考虑四位数码管显示电路,其中东西方向两位,南北方向两位,两位数码管可以时间的时间为 0~99秒,完全可以满足系统的要求,数 码管连接电路。 紧急转换开关电路 一般情况下交通灯按照车流量大小合理分配通行时间,按一定规律变化,但考虑紧急车通行车况,设计紧急通行开关,下面简述单片机的中断原理 : ( 1) Mcs51的中断源 图 32 数码管连接电路 8 8051有 5个中断源,它们是两个外中断 INT0( )和 INT1( )、两个片内定时 /计数器溢出中断 TF0和 TF1以及一个片内串行口中断 TI或 RI,这几个中断源由 TCON 和 SCON 两个特殊功能寄存器进行控制,其中 5个中断源的程序入口地址如表所示。 表 8051单片机中断源 ( 2)交通灯中的中断处理流程 ①现场保护和现场恢复:有特殊车辆要通过时就要进行中断,在中断之前,先将交通灯中断前情况保护好,当中断执行后再恢复现场,包括信号灯和时间显示电路。 ②中断打开和中断关闭:为了使特殊车辆通行按一下打开中断开关就可以打开中断,关闭中断开关就关闭中断。 ③中断服务程序:有中断产生,就必然有其具体的需执行的任务,中断服务程序就是执行中断处理的具体内容即如果南北方向有特殊车辆要求通过,南北方向转换为绿灯,东西方向为红灯;如果东西方向有特殊车辆要求通过,东西方向转换为绿灯,南北方向为红灯。 ④中断返回:执行完中断服务程序后,必然要返回,即交通灯信号回到中断前状态,显示时间也和中断前一样。 中断源 入口地址 外部中断 0 0003H 定时器 0中断 000BH 外部中断 1 0013H 定时器 1中断 001BH 串行口中断 0023H 9 第四章、汇编语言 汇编语言的概述及发展 汇编语言是直接面向处理器( Processor)的程序设计语言。 处理器是在指令的控制下工作的,处理器可以识别的每一条指令 称为机器指令。 每一种处理器都有自己可以识别的一整套指令,称为指令集。 处理器执行指令时,根据不同的指令采取不同的动作,完成不同的功能,既可以改变自己内部的工作状态,也能控制其它外围电路的工作状态。 汇编语言是 机器语言 的助记符,相对于比枯燥的机器代码易于读写、易于调试和修改,同时优秀的汇编语言设计者经过巧妙的设计,使得汇编语言汇编后的代码比高级语言执行速度更快,占内存空间少等优点,但汇编语言的运行速度和空间 占用是针对高级语言并且需要巧妙设计,而且目前部分高级语言在编译后代码执行效率同样很高,目前此优点慢慢弱化。 而且在编写复杂程序时具有明显的局限性,汇编语言依赖于具体的机型,不能通用,也不能在不同机型之间移植。 常说汇编语言是低级语言,并不是说汇编语言要被弃之,相反,汇编语言仍然是计算机(或微机)底层设计程序员必须了解的语言,在某些行业与领域,汇编是必不可少的,非它不可适用。 只是,现在 计算机 最大的领域为 IT 软件 ,也是我们常说的计算机应用软件编程,在熟练的程序员手里,使用汇编语言编写的程序,运行效率与性能比其它语言写的程序相对提高,但是代价是需要更长的时间来优化,如果对计算机原理及编程基础不扎实,反而增加其开发难度,实在是得不偿失,对比现在的软件开发,已经是市场化的软件行业,加上 高级语言 的优秀与跨平台,一个公司不可以让 一个团队使用汇编语言来编写所有的东西,花上几倍甚至几十倍的时间,不如使用其它语言来完成,只要最终结果不比汇编语言编写的差太多,就能抢先一步完成,这是市场经济下的必然结果。 特点 1.机器相关性。 这 是一种面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计的。 因为是机器指令的符号化表示,故不同的机器就有不同的汇编语言。 使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。 2.高速度和高效率。 汇编语言保持了机器语言的优点,具有直接和简捷的特点,可有效地访问、控制计 算机的各种硬件设备,如 磁盘 、存储器、 CPU、 I/O 端口等,且占用内存少,执行速度快,是高效的 程序设计语言。 3.编写和调试的复杂性。 由于是直接控制硬件,且简单的任务也需要很多汇编语言语句,因此在进行程序设计时必须面面俱到,需要考虑到一切可能的问题, 10 合理调配和使用各种软、硬件资源。 这样,就不可避免 地加重了程序员的负担。 与此相同,在程序调试时,一旦程序的运行出了问题,就很难发现。 优缺点 优点 ,故能够保持机器语言的一致性,直接、简捷,并能象机器指令一样访问、控制计算机的各种硬件设备,如磁盘、存储器、 CPU、 I/O 端口等。 使用汇编语言,可以对访问所有能够被访问的软、硬件资源。 ,占用内存少,执行速度快,是高效的程 序设计语言,经常与高级语言配合使用,以改善程序的执行速度和效率,弥补高级语言在硬件控制方面的不足,应用十分广泛。 缺点 ,处于整个计算机语言层次结构的底层,故被视为一种低级语言,通常是为特定的计算机或系列计算机专门设计的。 因此,不同的处理器有不同的汇编语言语法和编译器,编译的程序无法在不同的处理器上执行,缺乏可移植性; ,可。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。