当前位置:文档之家› C51交通灯程序设计

C51交通灯程序设计

C51交通灯程序设计
C51交通灯程序设计

C51期末课程设计大作业

课程名称:交通灯程序设计

学院:信息技术学院

系别:计算机应用系

专业:计算机应用技术

班级: Z090X

组序号:第二组

组员X X

学号 XXXXXXXX

一、功能要求 (1)

二、方案论证 (1)

三、硬件解读 (2)

四、流程图 (5)

五、软件设计 (8)

六、设计总结 (15)

一、功能要求

(一)设计所要完成的功能如下:

1、信号灯受一个起动开关控制,当起动开关接通时,信号系统开始工作,且先南北红灯亮,东西绿灯亮。当起动开关断开时,所有信号灯都熄灭。

2、南北红灯亮维持25S。在南北红灯亮的同时东西绿灯也亮,并维持20S。到20S时,东西绿灯闪烁,闪烁3S后熄灭。在东西绿灯熄灭时,东西黄灯亮,并维持2S。到2S时,东西黄灯熄,东西红灯亮。同时,南北红灯熄灭,南北绿灯亮。东西红灯亮维持30S。南北绿灯亮维持25S。然后闪烁3S,熄灭。同时南北黄灯亮,维持2S后熄灭,这时南北红灯亮,东西绿灯亮

3、要有倒计时数码显示。

(二)设计要求:

1、功能要求

2、方案论证

3、系统硬件电路设计(给出键盘电路、LED显示电路)

4、系统程序设计(要求给出流程图和程序清单)

二、方案论证

(一)方案的选择和论证

根据题目要求,系统可以划分为几个基本模块:

1、时钟模块

2、时钟设置模块

3、显示译码模块

4、复位电路

对各模块的实现,分别有以下一些不同的设计方案:

(1) 标准时基模块

方案一:采用直接从晶振分频得到12MHz信号。该方案比较容易实现,但精确度不高,很难达到题目精确度的要求。

方案二:采用单片机C51经过延时程序产生12MHz时基信号。在单片机程序设计中通过延时程序的循环产生所需要的12MHz的时基信号,该方案精确度比较高,而且也易于程序调整,电路结构简单,系统资源占用较小。

基于上述理论分析,拟订方案二。

(2)时钟控制模块

方案一:采用单片机对键盘扫描和读取来控制不同时间值。通过单片机对键盘的引脚不停的扫描,读入某时刻按下的键,通过单片机内部查表程序译出按键所对应的值从而使时间的值发生改变。该方案简单,常用,资源占用较小。

方案二:采用PLD芯片引脚锁定,通过开关的通和短控制PLD中计数器的值。该方案程序设计简单,但按键不直观不易使用,且用了PLD芯片而使成本过高。

基于上述理论分析,拟订方案一。

(3)显示模块

方案一:采用液晶屏幕显示时钟和红绿灯。该方案显示清晰,体积比较小,易于PCB板的印制。但其程序设计非常复杂,成本过高。

方案二:采用七段数码管显示时钟和红绿灯。该方案简单,可以很好的通过单片机连用实现功能。成本较低。

基于上述理论分析,拟订方案二。

(二)小结

经过仔细的论证和比较,决定了系统各个主要模块的最终方案如下:

标准时基模块:采用单片机C51的延时程序产生12MHz的时钟信号驱动LED。

时间设置模块:采用键盘和单片机控制进行时间设置。

显示模块:采用普通七段显示数码管显示。

系统的模块图如下:

1、单片机时钟控制模块

2、键盘设置模块

3、七段数码管显示模块

4、复位电路

三、硬件解读

AT89C51简介:

1、AT89C51 概述

AT89C51是一个低功耗,高性能CMOS 8位单片机,片内含4k字节Flash可擦写存储器(PEROM)。AT89C51器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,AT89C51的片内Flash允许程序存储器通过传统编程器反复编程。由于芯片内集成了通用8位中央处理器和Flash存储单元,功能强大的微处理器ATMEL AT89C51可为许多嵌入式控制应用系统提供高度灵活、高性价比的解决方案。

AT89C51具有如下特点:4k Bytes Flash存储器、128 bytes的RAM、32个I/O口、2个16位定时/计数器,5个中断优先级2层中断嵌套中断、1个全双工串行通信口、片内时钟振荡器。此外,AT89C51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。AT89C51在空闲模式下,CPU 暂停工作,而RAM、定时/计数器、串行口和外中断系统可继续工作,掉电模式冻结振荡器并保存RAM的数据,停止芯片其它功能直至硬件复位。

AT89C51具有PDIP、TQFP、PQFP和PLCC四种封装形式,以适应不同产品的需求。

2、 AT89C51 特性

?兼容MCS-51指令系统

?4k可反复擦写(>1000次)Flash ROM

?时钟频率0-24MHz

?三级程序存储器锁

?128×8位内部RAM

?32个双向I/O口

?2个16位定时/计数器

?6个中断源

?可编程串行通道

?低功耗空闲和省电模式

?片内振荡器和时钟电路

3、AT89C51参数

AT89C51 参数

AT89C51 基本参数

FLASH (bytes) 4K

RAM (Bytes) 128

最大频率 (MHz) 24

Vcc (V) 5±20%

AT89C51 其他特性

I/O引脚32

ISP --

AT89C51 封装类型

PDIP40, PLCC44, TQFP44, PQFP44

(三)硬件电路:

该电路图为在Proteus仿真环境下设计,我的电路实现的是十字路口交通灯的红黄绿灯的交通控制,没有倒计时显示:

四、流程图

(1)子程序

(2)外部中断服务

(3)主程序

五、软件设计软件设计的晶振为12MHz,程序如下:

#include //头文件

#define uchar unsigned char//宏定义

#define uint unsigned int

void delay(uint x)//延时子函数

{

uint i,j;

for(i=x;i>0;i--)

for(j=1250;j>0;j--);

}

void main() //主函数

{

uchar i; //定义局部变量

while(1) //所有的交通灯都亮

{

for(i=0;i<20;i++) //东西通车较少,故延时较段

{

P2=0x14; //东西绿灯亮,南北红灯亮

delay(100);

}

for(i=0;i<3;i++) //东西绿灯闪烁3次,同时南北红灯亮

{

P2=0x10;

delay(50);

P2=0x14;

delay(50);

}

for(i=0;i<2;i++) //东西黄灯亮2秒,同时南北红灯亮

{

P2=0x12;

delay(100);

}

for(i=0;i<25;i++) //南北绿灯亮,由于车辆较多,故延时较长 {

P2=0x41; //南北的绿灯亮,东西的红灯亮

delay(100);

}

for(i=0;i<3;i++) //南北的绿灯闪烁3次,同时东西红灯亮

{

P2=0x01;

delay(50);

P2=0x41;

delay(50);

}

for(i=0;i<2;i++) //南北黄灯亮2秒,同时东西红灯亮

{

P2=0x21;

delay(100);

}

}

}

仿真截图:

该仿真截图是在Proteus环境下完成的,图一是初始状态,图二是东西绿灯闪烁的时候,图三是东西黄灯亮的时候,图四是南北绿灯亮的时候,图五是南北绿灯闪烁的时候,图六是南北黄灯亮的时候的截图,各个截图的右下角都有当时仿真的系统仿真时间,各图片如下:

五、设计总结

这次期末课程设计,让我可以把理论的学习与实践有机的结合起来,真正了解自己学习的成果如何。

在设计过程中,首先要分析课题,根据所学知识绘制出系统总体设计框图。然后按照自己的设计思路,利用所给的元器件绘制出设计图。在绘制设计图连接各个元器件的时候,要尽量使布线合适,从而使所作设计图清晰易看。绘制完设计图后,接下来就是要根据设计所要求的功能和已完成的设计图编写程序,在编程时,首先应该绘制出主程序流程图,然后采用模块化程序设计的方式,编写实现各个功能的子程序,再将各个子程序与主程序连接起来。在设计程序时要不断对程序进行修改,同时在设计程序的过程中要养成注释程序的习惯,在对程序进行修改的时候,可以通过注释很容易的看出各句程序的功能,清晰明朗。当程序设计出来之后,就可以通过仿真软件对其进行编译,生成仿真所需要的HEX文件。将生成的文件加载到Protues上,就可以进行系统仿真。通过仿真,检测所作设计是否能实现预期功能。

本次课程设计使我对单片机的工作原理有了更深刻的认识,掌握了许多在以前学习中混淆不清的知识点。在翻阅相关书籍和查询相关资料过程中学到了丰富的单片机知识,开阔了眼界,增广了知识面。在编辑程序中,对C语言又有了新的认识和理解。实物焊接中不仅锻炼了自己的动手能力,而且真正作到了理论联系实际的重要性,收益匪浅。

本次课程设计我参考了许多资料,程序设计也借鉴了别人的长处,这让我们排除一个又一个困难,最终完成了这个设计。

但是在我设计和调试的过程中,也发现了一些问题,譬如红灯和绿灯的切换还不够迅速,红绿灯规则效率还不是很高,数码管的显示不够精准等,这都需要在实践中进一步完善,进一步弥补自己的

不足。

交通灯控制模拟程序

交通灯控制模拟程序设计 ;*************定义数据段*********************************************** data segment title1 db 'Traffic-System' deng db '# # #' sing1 db 'South-North' sing2 db 'East - West' sing3 db 'Red time(scend):' time db 'Time:' sing4 db 'Yellow time(scend):' buff db 4 ;键盘缓冲区 buff1 db 3 dup(?) ;工作计数区 buff2 db 3 dup(?) ;数据保存区 yellow db ? ;黄灯时间 mode db 'Mode:auto(Y/N)?:' ans db ? ting3 db 'Red time(scend):030' ting4 db 'Yellow time(scend):5' ;************************主程序段********************************************** data ends code segment assume cs:code,ds:data,es:data start:mov ax,data mov ds,ax mov es,ax call title2 ;初始化标题 q0: call mode1 ;模式选择自动或手动 call scanf call atuo ; 默认设置参数启动 lea si,ans cmp byte ptr[si],'y' jz q1 cmp byte ptr[si],'n' jnz q0 call ask1 ;设置红灯时间 call scanf0 call ask2 ;设置黄灯时间

基于单片机交通灯课程设计报告书

三峡职业学院 课程设计 课题名称交通灯控制系统设计 交通灯控制系统设计 摘要:本系统由单片机最小系统、按键(开关)、LED 显示等等组成交通灯演示系统。系统用红、黄、绿三个发光二极管模拟交通灯的红灯、黄灯、绿灯的功能。系统除基本交通灯功能外,还具有倒计时(15秒)、时间设置、紧急情况(按键模拟传感器)处理等功能。 关键词:AT89C51,交通规则 引言:随着日新月异的电子变革,电子产品发生了突飞猛进的巨变,而在其中AT89C51扮演着一个重要的角色,AT89C51单片机具有广泛性、工具性、基础性的几个特点。单片机应成为中等技术人员的重要技术知识层面。近年来,我国工程技术队伍的梯队建设有了很大的进展。各类高职、高专如雨后春笋,涉电专业普遍开设单片机类课程。直观性表现在尽可能让我们在学习基本原理时能直观地看到相关实物及实物表演,使基本原理能实现形象化的表达;实践性表现在我们要通过许多实际操作来理解与掌握单片机的本质与技能;综合性表现在最终能使我们达到运用知识与技能来完成一个应用系统开发的全过程,有助于大学生动手能力的培养和提高,课程设计就是一门应用性很强的课程。如何让我们在学好基础知识的同时,迅速掌握设计应用技术,其中,实验与课程设计环节起着非常重要的作用。对我们学习和掌握单片机设计技术起到积极的作用。 一、方案比较、设计与论证

(1) 电源提供方案 为使模块稳定工作,须有可靠电源。我们考虑了两种电源方案 方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统线路变复杂,且可能影响系统各模块的电路电平。 方案二:采用干电池提供电源。该方案的优点是系统简明扼要,线路易于梳理,节约成本;缺点是输出功率不高。 综上所述,我们选择第二种方案。 (2) 显示界面方案: 该系统要求完成数码管倒计时(15s)、状态灯发光二极管(红、黄、绿)的显示功能。基于上述原因,我们考虑了二种方案: 方案一:东西南北四个方向分别采用两位数码管显示倒计时。这种方案只显示有限的符号和数码字苻,并且制作PCB图时有许多的线相交,线路十分的复杂,不易制作原理图与PCB图,无法胜任题目要求。 方案二:东西南北四面各自采用红、黄、绿三个发光二极管显示,采用一个两位数码管显示倒计时,主要优点是易于调整元件在硬制板上摆放的位置,同时也易于PCB图的制作。 综上所述,我们选择方案二。 (3) 输入方案: 题目要求系统能即时的处理外部紧急情况产生的中断,我们讨论了两种方案: 方案一:采用矩阵键盘。该方案的优点是: 可提供较多I/O 口,实现更多的外部中断。直接站单片机的接口少的特点,但操作起来稍显复杂,而且编程也趋于复杂。 方案二:直接在IO口线上接上按键开关。因为设计时精简和优化了电路。 由于该系统对于交通灯等发光二极管的控制,只用单片机本身的I/O 口就可实现,只要一个开关来模拟一个外部的紧急中断,且本身的计数器及RAM已经够用,故选择方案二。 (4) 系统方案: 本系统的硬件采用模块化设计,以单片机控制器为核心,与LED信号灯电路等组成单片机控制信号系统.

交通灯程序设计

交通灯程序设计 一、设计任务及要求: 设计任务:模拟十字路口交通信号灯的工作过程,利用开发板上的两组红、黄、绿LED作为交通信号灯,设计一个交通信号灯控制器。要求: (1)交通灯从绿变红时,有4秒黄灯亮的间隔时间; (2)交通灯红变绿是直接进行的,没有间隔时间; (3)主干道上的绿灯时间为40秒,支干道的绿灯时间为20秒;(4)在任意时间,显示每个状态到该状态结束所需的时间。 图1 路口交通管理示意图 表1 交通信号灯的4种状态 二、程序清单: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY TrafficLight IS PORT ( CLK: IN std_logic; led7s: OUT std_logic_vector(3 downto 0); led7s1: OUT std_logic_vector(3 downto 0); R,Y,G,R1,Y1,G1: OUT std_logic); END;

ARCHITECTURE one OF TrafficLight IS TYPE dm IS (s0,s1,s2,s3); SIGNAL current_state,next_state:dm; SIGNAL FOUT: STD_LOGIC; SIGNAL tl :STD_LOGIC_VECTOR(6 DOWNTO 0); SIGNAL th :STD_LOGIC_VECTOR(1 DOWNTO 0); SIGNAL tm :STD_LOGIC_VECTOR(6 DOWNTO 0); SIGNAL time :STD_LOGIC_VECTOR(6 DOWNTO 0); BEGIN P1: PROCESS(CLK) -------秒脉冲发生器 VARIABLE CNT8:STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN IF CLK'EVENT AND CLK='1' THEN IF CNT8 = "01111111" THEN CNT8:="00000000"; FOUT<='1'; ELSE CNT8 := CNT8+1; FOUT <= '0'; END IF; END IF; END PROCESS P1; P2:PROCESS(FOUT) -------负责对秒脉冲进行计数

基于单片机交通灯课程设计

重庆三峡职业学院 课程设计 课题名称交通灯控制系统设计 交通灯控制系统设计 摘要:本系统由单片机最小系统、按键(开关)、LED显示等等组成交通灯演示系统。 系统用红、黄、绿三个发光二极管模拟交通灯的红灯、黄灯、绿灯的功能。系统除基本交通灯功能外,还具有倒计时(15秒)、时间设置、紧急情况(按键模拟传感器)处理等功能。 关键词:AT89C51,交通规则 弓I 言:随着日新月异的电子变革,电子产品发生了突飞猛进的巨变,而在其中AT89C51扮演着一个重要的角色,AT89C51单片机具有广泛性、工具性、基础性的几个特点。单片机应成为中等技术人员的重要技术知识层面。近年来,我国工程技术队伍的梯队建设有了很大的进展。各类高职、高专如雨后春笋,涉电专业普遍开设单片机类课程。直观性表现在尽可能让我们在学习基本原理时能直观地看到相关实物及实物表演,使基本原理能实现形象化的表达;实践性表现在我们要通过许多实际操作来理解与掌握单片机的本质与技能;综合性表现在最终能使我们达到运用知识与技能来完成一个应用系统开发的全过程,有助于大学生动手能力的培养和提高,课程设计就是一门应用性很强的课程。如何让我们在学好基础知识的同时,迅速掌握设计应用技术,其中,实验与课程设计环节起着非常重要的作用。对我们学习和掌握单片机设计技术起到积极的作用。

一、方案比较、设计与论证

(1)电源提供方案 为使模块稳定工作,须有可靠电源。我们考虑了两种电源方案 方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统线路变复杂,且可能影响系统各模块的电路电平。 方案二:采用干电池提供电源。该方案的优点是系统简明扼要,线路易于梳理,节约成本;缺点是输出功率不高。 综上所述,我们选择第二种方案。 (2)显示界面方案: 该系统要求完成数码管倒计时(15s)、状态灯发光二极管(红、黄、绿)的显示功能。基于上述原因,我们考虑了二种方案: 方案一:东西南北四个方向分别采用两位数码管显示倒计时。这种方案只显示有限的符号和数码字苻,并且制作PCB图时有许多的线相交,线路十分的复杂,不易制作原理图与PCB图,无法胜任题目要求。 方案二:东西南北四面各自采用红、黄、绿三个发光二极管显示,采用一个两位数码管显示倒计时,主要优点是易于调整元件在硬制板上摆放的位置,同时也易于PCB图的制作。 综上所述,我们选择方案二。 (3)输入方案: 题目要求系统能即时的处理外部紧急情况产生的中断,我们讨论了两种方案: 方案一:采用矩阵键盘。该方案的优点是: 可提供较多I/O 口,实现更多的外部中断。直接站单片机的接口少的特点,但操作起来稍显复杂,而且编程也趋于复杂。 方案二:直接在IO 口线上接上按键开关。因为设计时精简和优化了电路。 由于该系统对于交通灯等发光二极管的控制,只用单片机本身的I/O 口就可实现,只要一个开关来模拟一个外部的紧急中断,且本身的计数器及RAM E经够用,故选择方案二。 (4)系统方案: 本系统的硬件采用模块化设计,以单片机控制器为核心,与LED信号灯电路等组成单片机控制信号系统? 单 片 机

交通灯控制模拟程序

交通灯控制模拟程序设计 data segment title1 db 'Traffic-System' deng db '# # #' sing1 db 'South-North' sing2 db 'East - West' sing3 db 'Red time(scend):' time db 'Time:' sing4 db 'Yellow time(scend):' buff db 4 ;键盘缓冲区 buff1 db 3 dup(?) ;工作计数区 buff2 db 3 dup(?) ; 数据保存区 yellow db ? ; 黄灯时间 mode db 'Mode:auto(Y/N)?:' ans db ? ting3 db 'Red time(scend):030' ting4 db 'Yellow time(scend):5' ?************************ J data ends code segment assume cs:code,ds:data,es:data start:mov ax,data mov ds,ax mov es,ax call title2 ; 初始化标题 q0: call mode1 ; 模式选择 自动或手动 call scanf call atuo ; 默认设置参数启动 lea si,ans cmp byte ptr[si],'y' jz q1 cmp byte ptr[si],'n' jnz q0 call ask1 ;设置红灯时间 call scanf0 call ask2 ;设置黄灯时间 ?************* 定义数据段 *********************************************** 主程序段 **********************************************

单片机交通灯课程设计

单片机原理及应用课程设计报告 系别:物理系 专业:电子信息工程 指导教师: 班级:1504 学号: 姓名: 2018.5

课程设计任务书 目录

一、绪言 (1) 二、方案比较与论证 (1) 2.1 系统整体流程图 (1) 2.2 单片机的选择方案论证 (1) 2.3 89C51单片机引脚功能说明 (2) 2.4单片机最小系统 (5) 三、硬件电路设计 (6) 3.1 交通灯控制系统电路图 (6) 3.2 晶振电路的设计 (7) 3.3 LED灯电路的设计 (7) 3.4 主要元器件选择 (8) 四、程序设计 (8) 五、交通灯控制系统仿真 (10) 六、结束语 (11) 七、参考文献 (11)

一、绪言 近年来,随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,正在不断的应用到实际生活中,并且根据具体硬件结构软硬件结合,加以完善。 十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用单片机AT89C51为中心器件来设计交通灯控制器,实现了通过信号灯对路面状况的智能控制。从一定程度上解决了交通路口堵塞、车辆停车等待时间不合理、急车强通等问题。系统具有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,有广泛的应用前景。 二、方案比较与论证 2.1 系统整体流程图 2.2 单片机的选择方案论证 方案一:采用可编程逻辑期间CPLD 作为控制器。CPLD可以实现

51单片机用C语言实现交通灯(红绿灯)源程序

51单片机用C语言实现交通灯(红绿灯)源程序 2009-10-29 23:00 交通灯,红黄绿灯交替亮,怎样实现呢?其实就是根据单片机定时器及倒计时的程序修改。 源程序如下: /* 1、程序目的:使用定时器学习倒计时红绿灯原理主要程序和倒计时一样 2、硬件要求:数码管、晶振12M */ #include bit red,green,yellow,turnred; //定义红、黄、绿及转红标志 code unsigned char tab[]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共阴数码管 0-9 unsigned char Dis_Shiwei;//定义十位 unsigned char Dis_Gewei; //定义个位 void delay(unsigned int cnt) //用于动态扫描数码管的延时程序{ while(--cnt); } main() { TMOD |=0x01;//定时器设置 10ms in 12M crystal定时器0,工作方式1,16位定时器 TH0=0xd8; //65535-10000=55535=D8F0(十六进制) TL0=0xf0; IE= 0x82; //中断控制,EA=1开总中断,ET0=1:定时器0中断允许 TR0=1; //开定时器0中断 P1=0xfc;//红灯亮,根据红黄绿接灯的顺序。 red =1; while(1) { P0=Dis_Shiwei;//显示十位,这里实现用8位数码管,即左1位 P2=0; delay(300);//短暂延时 P0=Dis_Gewei; //显示个位,左数,2位 P2=1;

AT89C52单片机控制交通灯系统

目录 1 交通信号灯控制系统设计任务和性能指标 (1) 设计任务 (1) 性能指标 (1) 2 交通信号灯控制系统设计方案 (1) 设计思路 (1) 设计思路 (1) 功能设计 (2) 总体设计 (2) 通行方案设计 (2) } 硬件设计方案 (4) 软件设计方案 (4) 3 交通信号灯控制系统硬件设计 (5) 系统硬件框图 (5) 单元电路设计 (5) 单片机最小系统 (5) 信号灯显示电路 (7) 倒计时显示电路 (8) 按键操作电路 (8) 4 交通信号灯控制系统程序设计 (8) - 理论基础知识 (8) 定时器原理 (8) 软件延时原理 (9) 中断原理 (9) 主程序框图 (9) 5 调试分析及所用器件 (10) 调试环境 (10) 所用芯片 (11) 6 心得体会 (11) 7 参考文献 (12) | 8 附录 (13) 附件1 程序清单 (13)

附件2 系统仿真图 (16) 摘要 交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。 近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。 本系统采用单片机AT89C52为中心器件来设计交通信号灯控制器,系统实用性强、操作简单、扩展性强。本设计系统就是由单片机最小系统、交通灯状态显示系统、LED 数码显示系统、复位电路和按键操作电路等几大部分组成。系统除具有基本的交通信号灯功能外,还具有倒计时、时间调整和紧急情况处理等功能,较好的模拟实现了十字路口可能出现的状况。 \ 软件上采用KEIL C 编程,主要编写了主程序,LED数码管显示程序,中断程序,延时程序等。经过整机调试,实现了对十字路口交通灯的模拟。 关键字:AT89C52 交通灯PROTUES 中断程序

单片机课程设计——交通灯控制系统设计

本科课程设计报告 单片机课程设计报告交通灯控制系统设计

摘要 本设计是针对交通灯系统的设计,由单片机AT89C51(实物用AT89S52)、键盘、LED显示、交通灯演示系统组成。单片机是把微型计算机的各功能部件集成在一块芯片中,构成的一个完整的微型计算机。AT89C51单片机是MC-51中的子系列,是一组高性能兼容型单片机,AT89C51是一个低功耗高性能的CMOS 8位单片机,40个引脚,片内含4KB Flash ROM和128B RAM,它是一个全双工的串行通行口,既可以用常规编程,又可以在线编程。 本设计中的数码管的选通采用的方法是动态显示,对每一位数码分时轮流通电显示,复位电路采用上电+按钮电平复位,时钟电路采用内部时钟产生方式。对特殊情况的处理采用中断处理方式,在中断处理程序中采用对管脚的状态查询扫描,已采取相应情况的处理。 对设计方案进行电路硬件设计,并将已编程的程序载入调试,可以得到理想的实验效果。系统包括人行道、左转、右转、以及基本的交通灯的功能.具体功能是假如 A 道和B道上均有车辆要求通过时,A、B道轮流放行。A道放行 25秒,B道放行20秒。一道有车而另一道无车,交通灯控制系统能立即让有车道放行。有紧急车辆要求通过时,系统要能禁止普通车辆通行,A、B道均为红灯,紧急车由K2 开关模拟。绿灯转换为红灯时黄灯亮 1秒钟。系统除基本交通灯功能外,还具有倒计时、时间设置、紧急情况处理、分时段调整信号灯的点亮时间以及根据具体情况手动控制等功能。

目录 1引言.......................................................................................................................................... - 1 - 1.1交通灯的重要作用........................................................................................................... - 1 -1.2该交通灯系统的特点....................................................................................................... - 1 -2系统总体方案及硬件设计 ......................................................................................................... - 2 - 2.1原理框图........................................................................................................................... - 2 -2.2设计功能........................................................................................................................... - 2 - 2.3交通灯控制系统各部分硬件组成................................................................................... - 2 - 2.3.1复位部分.................................................................................................................... - 2 - 2.3.2时钟电路部分............................................................................................................ - 3 - 2.3.3路口指示灯部分........................................................................................................ - 3 - 2.3.4显示部分.................................................................................................................... - 3 -2.4元器件清单....................................................................................................................... - 4 -3软件设计..................................................................................................................................... - 5 - 3.1交通灯控制系统软件流程图及程序分析....................................................................... - 5 - 3.1.1主程序流程图及程序模设计.................................................................................... - 5 - 3.1.2INT0中断服务程序流程图及程序模设计.............................................................. - 6 -3.2路口指示灯部分............................................................................................................... - 7 - 3.3显示部分........................................................................................................................... - 7 - 4. Proteus软件仿真 ..................................................................................................................... - 8 - 5 课程设计体会......................................................................................................................... - 10 -参考文献....................................................................................................................................... - 10 -附1:源程序代码 (13) 附2:系统原理图 (20)

单片机8255交通灯程序

单片机8255交通灯程序

交通灯程序 /*********************************************************** 十字路口交通灯控制 C 程序 ***********************************************************/ #include #define uchar unsigned char #define uint unsigned int /*****定义控制位*******************************************/ sbit Time_Show_LED2=P2^5; //Time_Show_LED2(直行时间显示)控制位 sbit Time_Show_LED1=P2^4; //Time_Show_LED1(直行时间显示)控制位 sbit EW_LED2=P2^3; //EW_LED2控制位 sbit EW_LED1=P2^2; //EW_LED1控制位 sbit SN_LED2=P2^1; //SN_LED2控制位 sbit SN_LED1=P2^0; //SN_LED1控制位 sbit SN_Yellow=P1^6; //SN黄灯 sbit EW_Yellow=P1^2; //EW黄灯 sbit EW_ManGreen=P3^0; //EW人行道绿灯 sbit SN_ManGreen=P3^1; //SN人行道绿灯 sbit Special_LED=P2^6; //交通特殊指示灯 sbit Busy_LED=P2^7; //交通繁忙指示灯 sbit Nomor_Button=P3^5; //交通正常按键 sbit Busy_Btton=P3^6; //交通繁忙按键 sbit Special_Btton=P3^7; //交通特殊按键

智能交通灯的毕业设计

太原科技大学 毕业设计(论文)任务书化学与生物工程学院机电一体化专业10级3班设计人(作者):徐今 同组人:徐今吉武师海斌韩志刚 王煜贺斌兰晓江邢超斌一.毕业设计(论文)题目: 智能交通灯 二.原始数据(材料): (1)单片机LED灯显示设计 (2)用实验室模块演示 (3)软件protus仿真演示 (4)亚龙实验平台

目录 摘要------------------------------------1 AT89C51单片机简介----------------------2 一、设计目的---------------------------4 二、设计目标---------------------------4 三、设计任务---------------------------5 四、设计内容---------------------------6 (1)指示灯燃亮的状态----------------------6(2)设计并绘制硬件电路图。-------------7(3)设计程序流程图---------------------8(4)编程-------------------------------9 五、交通管理方案----------------------10 六、结束语----------------------------11 七、参考文献--------------------------13

摘要 交通在人们生活中占有重要地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量,提高道路通行能力,减少交通事故,有明显的效果。近年来,随着科技的飞速发展,单片机的应用不断深入,同时带动传统控制检测技术日益更新和自动控制的单片机应用系统中。单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。 本系统采用单片机AT89C51为中心器件,来设计交通灯控制器系统实用性强,操作简单,扩展性强。本设计就是采用单片机模拟十字路口交通灯的各种状态显示。本设计系统由单片机I/O口扩展系统、交通灯状态显示系统、复位电路等其它部分组成。较好的模拟实现了十字路口可能出现的交通情况。 关键字:电子线路、AT89C51、交通灯

交通灯控制程序

1引言 (2) 1.1编写目的 (2) 1.2背景 (2) 1.3定义 (2) 1.4参考资料 (2) 2总体设计 (2) 2.1需求规定 (2) 2.2运行环境 (2) 2.3基本设计概念和处理流程 (3) 2.4结构 (3) 2.5功能器求与程序的关系 (3) 2.6人工处理过程 (3) 2.7尚未问决的问题 (3) 3接口设计 (3) 3.1用户接口 (3) 3.2外部接口 (3) 3.3内部接口 (4) 4运行设计 (4) 4.1运行模块组合 (4) 4.2运行控制 (4) 4.3运行时间 (4) 5系统数据结构设计 (4) 5.1逻辑结构设计要点 (4) 5.2物理结构设计要点 (4) 5.3数据结构与程序的关系 (4) 6系统出错处理设计 (5) 6.1出错信息 (5) 6.2补救措施 (5) 6.3系统维护设计 (5)

概要设计说明书 1引言 1.1编写目的 创建一个可供日常交通灯使用的程序,目标读者为交通灯控制人员。 1.2背景 说明: a.交通路口复杂交通信号灯的设计 b.任务提出者,开发者:陈磊 用户:交通指挥系统 设计环境:使用Verilog HDL语言进行设计 使用Quartus 2编程环境进行开发。。 1.3定义 ORDER 选择信号 ROAD 亮灯控制信号 EN5 5秒延时使能信号 LIN5 5秒延时终止信号 EN25 25秒延时使能信号 LIN25 25秒延时终止信号 RST 系统复位信号 CLK 系统时钟信号 1.4参考资料 Verilog HDL数字系统设计与应用

2总体设计 2.1需求规定 输入项目: CLK 系统时钟信号 RST 系统复位信号 输出项目: ROAD 亮灯控制信号,ROAD=00,红灯亮;ROAD=01,黄灯亮;ROAD=10,绿灯亮;ROAD=11,黄灯亮。 处理要求: 根据ORDER的不同值,使相应的灯发亮。 2.2运行环境 运行环境:。Quartus II 9.0 2.3基本设计概念和处理流程

模拟交通灯单片机课程设计

模拟交通灯单片机课程设计

————————————————————————————————作者:————————————————————————————————日期: ?

目录 第一章概述?错误!未定义书签。 1.1设计目的?错误!未定义书签。 1.2 设计要求?错误!未定义书签。 1.3 实用价值与理论意义?错误!未定义书签。 第二章系统硬件设计?错误!未定义书签。 2.1系统电路设计框图?错误!未定义书签。 2. 2系统主要硬件需求介绍 ..................................... 错误!未定义书签。 2. 3系统电力模块图?错误!未定义书签。 2.4系统电路图?错误!未定义书签。 第三章系统软件设计 ................................ 错误!未定义书签。 3.1 在正常情况下交通灯控制程序流程 ....................... 错误!未定义书签。 3.2源程序清单与注释?错误!未定义书签。 第四章仿真结果?错误!未定义书签。 4.1正常情况的仿真图?错误!未定义书签。 第五章课程设计总结 ................................ 错误!未定义书签。 参考文献?错误!未定义书签。

第一章概述 目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用必须重视。 伴随着社会的发展以及人类生活水平的提高,汽车数量在逐年递增,交通问题不得不引起人们的重视。早在1858年,英国伦敦在主要街头安装了以燃煤气为光源的红蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。信号灯的出现,是交通得以有效管制,对于疏导交通流量,提高道路通行能力,减少交通事故有明显效果。近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时监测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,紧单片机方面知识是不够的,还应根据具体结构软硬件结合,加以完善。 目前交通灯的问题日益突出,单单依靠人力来指挥交通已经不可行了,所以,设计单片机来完成这个需求就显得越加迫切了。本设计的意义在于通过具体控制系统的设计,掌握微机控制系统设计的一般方法和处理问题的思路,特别是一些常用的技术手段。使大家能在实践教学环节中,积累设计经验,开阔思维空间,全面提高个人的综合能力。 1.1 设计目的 通过对模拟交通灯控制系统的制作,掌握定时器应用。 1.2设计要求 利用AT89S51单片机控制交通灯,实现三种情况下的控制: 正常情况下双方向轮流点亮交通灯,如表所示。

用单片机控制交通灯源程序代码及流程图

用单片机控制交通灯 传统的交通灯控制电路一般由数字电路构成,电路复杂、体积大、成本高。采用单片机控制交通灯不但可以解决上述问题,而且还具有时间显示功能,非常方便。下面介绍一种用单片机控制交通灯的方法。 一、硬件硬件电路如附图。AT89C2051的P1.7~P1.5和P1.3~P1.1直接驱动红、黄、绿灯,利用单片机的串口和二片74LS164串/并转换移位寄存器实现时间显示,七段数码管为共阴管,硬件电路极为简单。 二、软件交通灯有红、黄、绿三种。红灯亮,停止通行;绿灯亮,允许通行;黄灯亮,作过渡。红灯亮60秒,绿灯亮55秒,黄灯亮5秒。每组灯的亮暗状态以2分钟为周期循环,故程序采用主、子程序方式,循环结构。另外,为了简化电路,红、黄、绿灯采用低电平点亮。 源程序清单如下: ORG0000H START:MOVDRTR,#TAB MOVSCON,#00H MOVP1,#6CH;点亮红、绿灯 MOVR0,#0;R0清零 LEFT:INCR0 CJNER0,#55,LP0;R0<55,转LP0 MOVP1,#6AH;R0=55,点亮红、黄灯 LJMPLP1 LP0:CJNER0,#60,LP1;R0<60,转LP1 MOVP1,#0C6H;R0=60,点亮绿、红灯 LJMPRIGHT LP1:LCALLDBDB LCALLDISP LJMPLEFT;20H为1,转LEFT RIGHT:DECR0 CJNER0,#5,LP2;R0>0,转LP2 MOVP1,#0A6H;R0=5,点亮黄、红灯 LJMPLP3 LP2:CJNER0,#0,LP3 MOVP1,#6CH;R0=0,点亮红、绿灯 LJMPLEFT LP3:LCALLDBDB

交通灯程序设计

1 前言 用8255控制十字路口的交通灯每个方向有左拐、右拐、直行及行人4种通行指示灯,计时牌显示路口剩余时间,正常运行时间为60S。在特种车辆如119、120通过路口时,系统可自动转为特种车辆放行,其他车辆禁止通行的状态,15S后系统自动恢复正常管理。还可实现30s与60s通行管理转换等功能。此设计以单片机为控制核心,实现了硬件电路的设计、程序设计,并能够在PROTEUS平台实现仿真。 2 方案设计 2.1设计任务 (1)实现交通灯的循环显示 (2)显示正常情况下的红、黄、绿灯所亮的剩余时间和特殊情况下计时牌显示AA; (3)编写程序代码; (4)程序分析与调试。 2.2 工程方案 此方案克根据以下流程来实行:在WINDOWS2000/XP系统中操作,用C语言或汇编语言实现程序设计,画出交通灯的流程图,具体分析系统各个模块用相应函数调用的实现。再用 proteus电子设计软件来绘制电路原理图,然后Proteus仿真软件中进行编译仿真。最后进行仿真结果分析,以及此次课程设计总结。 3电路设计 3.1电路原理图

3.2 单元电路设计 8255输出信号与数码管的连接:

LED的显示原理:通过同名管脚上所加电平的高低来控制发光二极管是否点量而显示不同的字形如 SP,g,f,e,d,c,b,a 管角上加上7FH所以SP上为0伏,不亮其余为TTL高电平,全亮则显示为8. 采用共阴级连接: 其中PC0\PB0-a, PC1\PB1-b, PC2\PB2-c, PC3\PB3-d, PC4\PB4-e, PC5\PB5-f, PC6\PB6-g PC7\PB7 -SP接地 驱动代码表3.1.3

十字路口交通灯控制 C 程序

/************************************ ***************** 十字路口交通灯控制C 程序 ************************************* *****************/ #define uchar unsigned char #define uint unsigned int #include /*****定义控制位**********************/ sbit Time_Show_LED2=P2^5;//Time_Show_LED 2控制位 sbit Time_Show_LED1=P2^4;//Time_Show_LED 1控制位 sbit EW_LED2=P2^3; //EW_LED2控制位sbit EW_LED1=P2^2; //EW_LED1控制位sbit SN_LED2=P2^1; //SN_LED2控制位sbit SN_LED1=P2^0; //SN_LED1控制位sbit SN_Yellow=P1^6;//SN黄灯 sbit EW_Yellow=P1^2;//EW黄灯 sbit EW_Red=P1^3;//EW红灯 sbit SN_Red=P1^7;//SN红灯 sbit EW_ManGreen=P3^0;//EW人行道绿灯 sbit SN_ManGreen=P3^1;//SN人行道绿灯 sbit Special_LED=P2^6;//交通正常指示灯 sbit Busy_LED=P2^7;//交通繁忙指示灯sbit Nomor_Button=P3^5;//交通正常按键 sbit Busy_Btton=P3^6;//交通繁忙按键sbit Special_Btton=P3^7;//交通特殊按键sbit Add_Button=P3^3;//时间加 sbit Reduces_Button=P3^4;//时间减 bit Flag_SN_Yellow; //SN黄灯标志位bit Flag_EW_Yellow;//EW黄灯标志位char Time_EW;//东西方向倒计时单元 char Time_SN;//南北方向倒计时单元uchar EW=60,SN=40,EWL=19,SNL=19; //程序初始化赋值,正常模式 uchar EW1=60,SN1=40,EWL1=19,SNL1=19;//用于存放修改值的变量 uchar code table[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D, 0x7D,0x07,0x7F,0x6F};//1~~~~9段选码uchar code S[8]={0X28,0X48,0X18,0X48,0X82,0X84,0 X81,0X84};//交通信号灯控制代码 /**********************延时子程序************************/ void Delay(uchar a) { uchar i; i=a; while(i--){;} } /*****************显示子函数**************************/ void Display(void) { char h,l; h=Time_EW/10; l=Time_EW%10; P0=table[l]; EW_LED2=1; Delay(2); EW_LED2=0; P0=table[h]; EW_LED1=1; Delay(2); EW_LED1=0; h=Time_SN/10; l=Time_SN%10; P0=table[l]; SN_LED2=1; Delay(2); SN_LED2=0; P0=table[h]; SN_LED1=1; Delay(2); SN_LED1=0;

相关主题
文本预览
相关文档 最新文档