LED模拟交通灯设计


东西红灯亮,南北绿灯亮,延时

东西红灯亮,南北黄灯闪烁,延时

2.2
2.2.1单片机简介
单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的1单片机
2.3
2.3.1 功能特性
与MCS-51 兼容
4K字节可编程闪烁存储器
寿命:1000写/擦循环
数据保留时间:10年
全静态工作:0Hz-24Hz
三级程序存储器锁定
128*8位内部RAM
32可编程I/O线
两个16位定时器/计数器
5个中断源
可编程串行通道
低功耗的闲置和掉电模式
片内振荡器和时钟电路
2.2.2单片机的发展历史
单片机诞生于20世纪70年代末,经历了SCM、MCU、SoC三大阶段。
SCM即单片微型计算机(Single Chip Microcomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。在开创嵌入式系统独立发展道路上,Intel公司功不可没。
1.3设计思路及关键技术
一个完整的交通灯相当于一个简单的单片机系统,该系统有交通灯设置电路、单片机、显示电路等构成。单片机是集成的IC芯片,只需根据实际设计要求选型。其他部分都需要根据应用要求和性能指标自行设计。
基于单片机的交通灯的设计时要充分的认识以下两个问题:
1.因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化规律。假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1南北绿灯通车,东西红灯。过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。再转状态3,东西绿灯通车,南北红灯。过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。最后循环至状态1。
以上各个部分通过片内总线相连,在CPU的控制下协调工作,实现用户程序的各种功能。
2.2.4单片机AT89C51
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
2.3.3
XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
1.设计任务
1.1功能及技术指标要
设计交通灯的基本要求:设计一个十字路口交通灯控制电路,要求主干道与支干道交替通行。主干道通行时,主干道绿灯亮,支干道红灯亮,时间为60秒。支干道通行时,主干道绿灯亮,主干道红灯亮,时间为30秒。
1.2设计内容
按设计技术指标进行交通灯的硬件和软件设计。熟悉使用Keil软件和Proteus软件。
3.硬件电路设计
3.1单片机最小系统
单片机最小系统复位电路的极性电容C1的大小直接影响单片机的复位时间,一般采用10~30uF,51单片机最小系统容值越大需要的复位时间越短。
单片机最小系统晶振Y1也可以采用6MHz或者11.0592MHz,在正常工作的情况下可以采用更高频率的晶振,51单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。
(1)一个8位的微处理器CPU。
(2)8KB的片内程序存储器Flash ROM(基本型的Flash ROM位128B),用于烧录运行的程序、常数数据。
(3)256B的片内数据存储器RAM(基本性的RAM为128B),在程序运行时可以随时写入和读出数据,用于存放函数相互传递的参数、接收的外部数据、运算的中间结果、最后结果及现实的数据等;128B特殊功能寄存器(SFR)控制单片机各个部件的运行。
(7)一个全双工的UART(通用异步接收发送器)串行I/O口,用于单片机之间的串行通信,或者单片机与PC机、其他设备、其他芯片之间的串行通信。
(8)片内振荡电路和时钟发生器,只需外面接上一晶振获输入振荡信号,就可以产生单片机的控制电路。
(9)有一个可寻址64KB外部数据存储器、还可以寻址64KB外部程序存储器的三总线的控制电路。
向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SoC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SoC的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。
2.2.3单片机的基本结构
(4)3个16位的定时器/计数器(基本型仅有2个定时器),每个定时器/计数器可以设置为计数方式,用于对外部事件信号进行计数,也可以设置为定时方式,满足各种定时要求。
(5)有一个管理6个中断源(基本形式5个中断源)、2个优先级的中断控制器。
(6)4个8位并行I/O端口,每个端口即可以用作输入,也可以用作输出。
/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,引脚也用于施加12V编程电源(VPP)。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚 备选功能
P3.0 RXD(串行输入口)
单片机的结构大体相同,只是在功能上存在着差异。现以MCS-51单片机为例来对单片机的内部功能结构进行介绍。
MCS-51单片机主要包括9个部分:CPU、8KB Flash ROM、256B RAM(128B SFR)、16位×3个定时器/计数器、中断控制器、8位×4个并行口、可编程全双工串行口、时钟电路、64KB总线扩展控制器。
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。
P3.1 TXD(串行输出口)
P3.2 /INT0(外部中断0)
P3.3 /INT1(外部中断1)
P3.4 T0(记时器0外部输入)
P3.5 T1(记时器1外部输入)
P3.6 /WR(外部数据存储器写选通)
P3.7 /RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
2.双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,公用负端。当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。
2.总体方案设
2.1系统总体结构
开始

四个路口红灯亮

东西绿灯亮,南北红灯亮,延时

东西黄灯闪烁,南北红灯亮,延时
2.3.4
整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
2.3.2
VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
合集下载

实验报告二-模拟交通灯实验

实验报告二-模拟交通灯实验

实验报告二模拟交通灯实验序号:5 姓名: 学号:11121549一、实验目的1. 学习在PC机系统中扩展简单I/O 接口的方法。

2. 进一步学习编制数据输出程序的设计方法。

3. 学习模拟交通灯控制的方法。

二、实验内容用8255做输出口,控制十二个发光管(4组红绿黄灯)的亮灭,模拟十字路口交通灯管理。

三、电路图四、实验程序框图五、编程CODE SEGMENTASSUME CS:CODEORG 1200HSTART: MOV AL,80HMOV DX,PTDOUT DX,AL ;设置8255各口为输出模式,工作在方式0MOV DX,PTBMOV AL,0FFHOUT DX,AL ;所有黄灯熄灭MOV DX,PTCMOV AL,0F0HOUT DX,AL ;所有红灯全亮CALL DELAY3 ;延时LOP: MOV AL,10100101BMOV DX,PTCOUT DX,AL ;点亮1,3路口绿灯,点亮2,4路口红灯CALL DELAY ;延时MOV AL,11110101BOUT DX,AL ;熄灭1,3路口绿灯MOV CX,8H ;1,3路口黄灯灯闪烁8次LOP1: MOV DX,PTBMOV AL,10101111BOUT DX,AL ;1,3路口黄灯亮CALL DELAY2 ;延时MOV AL,0FFHOUT DX,AL ;1,3路口黄灯灭CALL DELAY2 ;延时LOOP LOP1 ;循环8次MOV DX,PTCMOV AL,0F0HOUT DX,AL ;所有红灯全亮CALL DELAY3 ;延时MOV AL,01011010BOUT DX,AL ;点亮2,4路口绿灯,点亮1,3路口红灯CALL DELAY ;延时MOV AL,11111010BOUT DX,AL ;熄灭2,4路口绿灯MOV CX,8H ;2,4路口黄灯灯闪烁8次LOP2: MOV DX,PTBMOV AL,01011111BOUT DX,AL ;2,4路口黄灯亮CALL DELAY2MOV AL,0FFHOUT DX,AL ;2,4路口黄灯灭CALL DELAY2LOOP LOP2MOV DX,PTCMOV AL,0F0HOUT DX,AL ;所有红灯亮CALL DELAY3JMP LOPDELAY: PUSH AX ;延时子程序1PUSH CXMOV CX,0030HL1: CALL DELAY2LOOP L1POP CXPOP AXRETDELAY2: PUSH CX ;延时子程序2MOV CX,0D000HL2: LOOP L2POP CXRETDELAY3: PUSH CX ;延时子程序3MOV CX,0FFFFHL3: LOOP L3POP CXRETCODE ENDSEND START六、调试过程:1. 按连线图连接好,检查无误后打开实验箱电源。

交通灯控制系统模拟设计_毕业设计论文

交通灯控制系统模拟设计_毕业设计论文

附件1:学号:0121018700XXX课程设计题目交通灯控制系统模拟设计学院物流工程专业物流工程班级物流工程卓越1001姓名指导教师2013 年 6 月28 日交通灯控制系统模拟设计XXX武汉理工大学物流工程卓越1001摘要:随着经济发展,汽车数量急剧增加,城市道路日渐拥挤,交通拥塞已成为一个国际性的问题。

因此,设计可靠、安全、便捷的多功能交通灯控制系统有极大的现实必要性。

根据交通灯在实际控制中的特点,结合单片机的控制功能,提出了一种用单片机自动控制交通灯的简易方法。

设计中包括硬件电路的设计和程序设计两大步骤,对单片机学习中的几个重要内容都有涉足。

本系统采用AT89C51单片机为中心器件来设计交通灯控制器,实现了红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示(交通灯信号通过P1口输出,显示时间通过P0口输出至双位数码管);以及实现3种工作模式:正常情况、繁忙情况、特殊情况及报警功能。

本系统实用性强、操作简单、扩展功能强。

关键字:交通灯;AT89C51;数码管;三种工作模式Design of traffic light control system simulationZhiming GuoLogistics Engineering College Logistics zy1001Abstract: With the development of economy, the sharp increase in the number of cars, increasingly crowded city roads, traffic congestion has become an international problem. Therefore, multi-function traffic light control system design of reliable, safe, convenient and of great practical necessity. According to the characteristics of traffic lights in the actual control, combined with the control function of single chip, this paper presents a simple method for automatic control of traffic lights with single chip microcomputer. In the design of hardware circuit design and program design includes two steps, on several important single-chip learning have to get involved in. The system centric devices to design the traffic light controller AT89C51, realizes the cycle traffic lights lit, countdown 5 seconds left when the yellow light flashing warning (traffic light signal output, display time through the output port P0 to two digital tube through the P1 port); 3 work modes: normal, busy and implementation situation, special circumstances and alarm function. The system practical, simple operation, strong function expansion.Key words: raffic lights, AT89C51, LED, three work modes目录课程设计任务书 (1)第1章前言 (1)1.1交通灯发展概述 (1)1.2 课题背景及意义 (1)1.3课题任务及主要实现内容 (2)1.4 原理分析 (3)1.4.1交通灯显示时序的理论分析 (3)1.4.2 交通灯显示的理论分析 (4)第2章设计方案分析 (5)2.1 单片机与外围接口部件 (5)2.2 倒计时显示界面 (6)2.3 交通灯 (6)第3章硬件系统设计 (7)3.1 单片机的选择 (7)3.1.1 AT89C51单片机简介 (7)3.1.2 AT89C51单片机的主要特性 (7)3.1.3主要引脚功能 (8)3.1.4 C51的中断源 (10)3.2 硬件电路实现 (10)3.2.1 最小系统设计 (10)3.2.2 显示设计 (12)3.2.3 发光二极管模拟红绿灯 (15)3.2.4 按键模块 (15)第4章软件电路设计 (16)4.1 软件编译环境测试 (16)4.1.1 C语言介绍 (16)4.1.2 Keil uVision4介绍 (16)4.2软件总体设计 (17)结论 (19)参考文献 (20)源程序: (22)课程设计任务书学生姓名:XXX专业班级:物流工程卓越1001指导教师:朱宏辉工作单位:物流工程题目:交通灯控制系统模拟设计初始条件:1. 熟悉背景资料和任务:熟悉给定的背景资料和数据,明确系统设计的任务要求;拟订设计计划和初步方案。

毕业作品 模拟交通灯设计

毕业作品 模拟交通灯设计

模拟交通灯设计
近年来我国的运输行业是越来越发达,马路上的车也是越来越多。

交通红绿灯是必不可少的交通规则指示工具。

交通灯电路简要说明:
交通灯电路是由:5v电源电路,stc编程下载电路,单片机控制电路,led红黄绿指示灯电路,和数码管计时电路组成。

电路还设置有紧急通车,和夜间模式两种功能。

电路功能:
K1是电源控制开关,按下sw整机通电,数码管和led可以模拟的显示交通灯的状态。

Sw1是切换模式按键,东南西北四个方向和夜间模式的切换。

Sw2是将电路状态从其他模式切换到正常倒计时的状态下。

Sw是单片机的上电复位电路的操作电路。

电路原理图如下:。

一种模拟交通灯系统的设计与实现

一种模拟交通灯系统的设计与实现

● ●
3 2 1 —畔
该系统的软件流程 如图3 示。 所
舶 1 变 强 灯 设计 方 寮
灯l 与灯4 为红灯, 与灯5 灯2 为黄灯, 与灯6 灯3 为绿 灯, 我们在模拟交通灯 系统设 计中, 用一个红绿黄三色L D表示一个路 口 E 信号灯, 么整 个东西与南 那 北走向的交叉路 口 用四个三色L D E 显示。
数据端 口: 个8 2 位端 I P P ) 2 " 位端 n P 高/ 位)与T L : A、 B 、 -4 l ( f ( C 低4 T 电平
兼 容
数据 传送方式 : 无条件 、 查询 、 中断三种传送 方式 , 对应的工作方式 : 方
式0 方式】 、 及方式2 寄存器种类 : 数据 口、 控制 口和状 态口 选择数据 口C 口作为数 据输出方式 工作在方式 0  ̄ P 口 下,l C 上与红灯端相 1 ] 连, C口 P 下与绿 灯端相连 , 黄灯显示时则红灯端 与绿灯端同时有效。 32 硬件电路连 线 .
L D 由一个红色L D E 是 E 管芯和 一个绿色L D E 管芯封 装在一起, 公用负端 。 当
红色 正端加高电平, 绿色正端加低 电平 时, 红灯亮 ; 红色正端加 低电平 , 绿色 正端加高电平时, 灯亮, 绿 两端都加高电平时, 黄灯亮。
t●
4 模拟 交通 灯系统的软件设计
交 通规 划原则上 的规 划管理要求我们要对景区、 客、 游 服务设施等多方面的因 素进行深入的, 多角度、 多层次 的调查和 研究 , 以使 游览标识 系统得到不断完 善和优化 。 再者, 我们应该将游览标 识系统 的规 划放在凤景旅游 区意 、 整合, 通过恰当的色调、 图形、 材料 来把握景区环境与标识 ( ) 牌 信息传达 的一致性 。 ②在文字内容上要简明扼要, 览标识系统设置的本质就是将游览信息 游 的科学性 、 艺术性 通过 图形 、 图表表 现出来, 其更加 形象化 , 让 工具化 。 求 追 “ 即是 “ , 少” 多 即简洁、 科学 、 理性, 且采用标 准化文字、图示达到能与国际

LED模拟交通灯设计

LED模拟交通灯设计

1.设计任务功能及技术指标要求设计交通灯的基本要求:设计一个十字路口交通灯控制电路,要求主干道与支干道交替通行。

主干道通行时,主干道绿灯亮,支干道红灯亮,时间为60秒。

支干道通行时,主干道绿灯亮,主干道红灯亮,时间为30秒。

设计内容按设计技术指标进行交通灯的硬件和软件设计。

熟悉使用Keil软件和Proteus软件。

设计思路及关键技术一个完整的交通灯相当于一个简单的单片机系统,该系统有交通灯设置电路、单片机、显示电路等构成。

单片机是集成的IC芯片,只需根据实际设计要求选型。

其他部分都需要根据应用要求和性能指标自行设计。

基于单片机的交通灯的设计时要充分的认识以下两个问题:1.因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化规律。

假设一个十字路口为东西南北走向。

初始状态0为东西红灯,南北红灯。

然后转状态1南北绿灯通车,东西红灯。

过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。

再转状态3,东西绿灯通车,南北红灯。

过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。

最后循环至状态1。

2.双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,公用负端。

当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。

2.总体方案设计系统总体结构开始↓四个路口红灯亮东西红灯亮,南北黄灯闪烁,延时↓单片机2.2.1单片机简介单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。

单片机由芯片内仅有CPU的专用处理器发展而来。

最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。

INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。

单片机课程设计交通灯总结

单片机课程设计交通灯总结

单片机课程设计交通灯总结在单片机课程设计中设计交通灯控制系统是一个常见而有趣的项目。

以下是一个关于交通灯控制系统单片机课程设计的总结:设计目标:实现一个模拟交通路口的交通灯控制系统,包括红灯、绿灯、黄灯状态的切换,考虑不同方向车辆的通行情况。

硬件与软件要求:1.使用单片机(如AT89C51)作为主控制器。

2.连接LED灯模拟交通灯的红、黄、绿三个状态。

3.设置按钮或传感器来模拟车辆和行人的触发信号。

4.使用编程语言(如C语言)编写单片机程序,实现交通灯的状态切换逻辑。

设计步骤:1.确定交通灯状态:定义红、黄、绿三个状态,确定每个状态的持续时间。

2.设计状态切换逻辑:编写程序逻辑,根据不同的触发条件切换交通灯的状态。

例如,通过按钮触发或设置定时器来模拟车辆和行人的触发。

3.处理不同方向的通行:考虑路口不同方向的车辆通行情况,确保交通灯切换的合理性。

可以设置不同方向的灯的状态互斥。

4.实现程序代码:使用C语言等编写程序代码,并通过编译器将代码烧录到单片机中。

5.调试与优化:在实际硬件上进行调试,确保交通灯的状态切换和触发条件的逻辑正确。

根据实际情况优化代码,提高系统的稳定性和可靠性。

设计成果:成功设计并实现了一个交通灯控制系统,具有良好的交互性和可扩展性。

系统能够模拟真实路口的交通流量情况,通过合理的状态切换实现车辆和行人的有序通行。

学到的知识与技能:1.掌握单片机编程技能,包括IO口控制、定时器使用等。

2.熟悉硬件与软件协同设计的过程。

3.提高了系统设计和调试的能力。

4.学习了如何考虑不同方向车辆通行情况,提高了系统的实用性。

反思与展望:通过这个项目,我更深入地理解了单片机的工作原理和编程技术。

在未来,可以考虑增加更多的功能,如紧急情况下的交通灯切换、LED显示屏显示等,以提高系统的智能化和实用性。

这个课程设计不仅锻炼了我的技术能力,也培养了我对系统设计的整体思考能力。

模拟交通灯实验报告

单片机综合实验报告题目: 模拟真实交通灯班级:姓名:学号:指导老师:时间:一、实验内容:用8255芯片的PA、PB口低四位做输出口,控制十二个发光二极管燃灭,模拟十字路口交通灯管理,并利用数码显示器进行倒计时显示(采用单片机内部定时器定时)。

通过外部中断能使交通灯暂停运行,并点亮4个红灯。

通过16*16点阵中的图形模拟控制行人过马路的人形“走”、“停”指示灯,可参考下图所示。

选做增加项目:在交通灯开始之前可通过开关对红绿灯亮灭时间的初始值进行增、减设定或者交通灯暂停时加上乐曲报警。

二、实验电路及功能说明电路:74LS138译码器电路8255与发光二极管连线图数码LED显示器电路(不需接线)16×16LED点阵显示电要求:交通灯亮灭过程同“8255控制交通灯实验”,倒计时显示只需两位数(0~99),用定时器定时进行倒计时,每秒钟减1。

在16*16点阵中显示的人形“走”、“停”标志可自定义,由专门软件可转换为相应显示代码,不需自己推理。

三、实验程序流程图:主程序:子程序:详细程序请参考程序清单。

四、实验结果分析对程序进行仿真可以观察到:点阵中交替显示如图(a)、(b)所示图像,且交替显示时间为30秒。

当显示图像为(a)时,表示可以容行人通过,限时30秒;当显示图像为(b)时,表示不容行人通过,也限时30秒。

如此,在十字路口各置一对点阵即可模拟实景。

五、心得体会通过此次实验,对单片机的I/O口的使用的条件有了更深的理解,对单片机的各个管脚功能的理解也加深了,以及在常用编程设计思路技巧的掌握方面也向前迈了一大步。

这次的课程设计让我把单片机的理论知识应用在实践中,实现了理论和实践相结合,从中更懂得理论是实践的基础,实践有助于检验理论的正确性的道理,对我以后参加工作或者继续学习深造将产生巨大的帮助和影响。

六、程序清单#include <reg51.h>#include <absacc.h>#define uchar unsigned char#define uint unsigned int#define ROW1 XBYTE[0XFFE3]#define ROW2 XBYTE[0XFFE0]#define COL1 XBYTE[0XFFE2]#define COL2 XBYTE[0XFFE1]#define PA XBYTE[0xffd8]#define PB XBYTE[0xffd9]#define CTL XBYTE[0xffdb]#define SEG XBYTE[0xffdc]#define BIT XBYTE[0xffdd]#define allredend 10#define ewredend 2*ewstarter+allredend#define snyellowend ewredend+10#define snredend snyellowend+2*snstarter#define ewyellowend snredend+10sbit KEY1=P1^0;sbit KEY2=P1^1;sbit KEY3=P1^2;sbit P32=P3^2;uchar tongBu;uchar code ewTable[]={0xb6,0x75,0xf3,0xf7,0xae,0x9e,0xbe};uchar code nsTable[]={0xd,0xd,0xc,0xd,0xb,0x7,0xf};//uchar tempa,tempb;int time=1,cnt,change,intflag,inttime=1,ewstarter=10,snstarter=15;int tempseg;uchar key1=0;uchar buffer[]={0,0,0,0,0,0};uchar table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff};/*-- 行走--*//*-- 宽度x高度=16x16 --*/uchar code led1[]={0x01,0x80,0x02,0x40,0x02,0x40,0x01,0x80,0x03,0xC0,0x06,0x60,0x0A,0x50,0x0A,0x5 0,0x0B,0xD0,0x12,0x48,0x02,0x40,0x02,0x60,0x04,0x20,0x04,0x20,0x08,0x20,0x18,0x60};/*-- 停止--*//*-- 宽度x高度=16x16 --*/uchar code led2[]={0x01,0x80,0x02,0x40,0x02,0x40,0x01,0x80,0x07,0xE0,0x7E,0x7E,0x02,0x40,0x02,0x40 ,0x03,0xC0,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x03,0xC0};/*-- 文字: 高--*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --uchar code led2[]={0x02,0x00,0x01,0x00,0xFF,0xFE,0x00,0x00,0x0F,0xE0,0x08,0x20,0x0F,0xE0,0x00,0x0 0,0x7F,0xFC,0x40,0x04,0x4F,0xE4,0x48,0x24,0x48,0x24,0x4F,0xE4,0x40,0x14,0x40,0x08};*/ void delayshort(){char n;for(n=50;n>0;n--);}uchar changeleft(uchar led){uchar temp;temp=0;temp|=(led<<7)&0x80;temp|=(led<<5)&0x40;temp|=(led<<3)&0x20;temp|=(led<<1)&0x10;temp|=(led>>1)&0x08;temp|=(led>>3)&0x04;temp|=(led>>5)&0x02;temp|=(led>>7)&0x01;return(temp);}void led16_16display(uchar *table,uchar length){uchar i=length/2,scan1=0x1,scan2=0x1;for(i=0;i<16;i++){if(i<8){ROW1=0;ROW2=0;COL1=scan1;COL2=0;ROW1=changeleft(table[2*i]);ROW2=table[2*i+1];COL1=scan1;COL2=0;delayshort();scan1<<=1;}else{ROW1=0;ROW2=0;COL1=0;COL2=scan2;ROW1=changeleft(table[2*i]);ROW2=table[2*i+1];COL1=0;COL2=scan2;delayshort();scan2<<=1;}}}void changeseg(){if(key1==0){buffer[3]=10;buffer[0]=10;buffer[5]=tempseg%10;buffer[4]=tempseg/10;buffer[2]=tempseg%10;buffer[1]=tempseg/10;}else if(key1==1){buffer[3]=10;buffer[0]=10;buffer[5]=ewstarter%10;buffer[4]=ewstarter/10;buffer[2]=ewstarter%10;buffer[1]=ewstarter/10;}else{buffer[3]=10;buffer[0]=10;buffer[5]=snstarter%10;buffer[4]=snstarter/10;buffer[2]=snstarter%10;buffer[1]=snstarter/10;}}void timer1()interrupt 3{static uchar temp=0x20,cnt1;TH1=(65536-1000)/256;TL1=(65536-1000)%256;changeseg();SEG=0xff;SEG=table[buffer[cnt1]];cnt1++;if(cnt1==6)cnt1=0;BIT=temp;temp>>=1;if(temp==0)temp=0x20;}void int_0()interrupt 0{delayshort();if(P32==0){PA=0xB6;PB=0xd;PT0=1;PT1=1;intflag=1;while(inttime<=20)led16_16display(led2,32);inttime=1;intflag=0;PT0=0;PT1=0;PA=ewTable[tongBu];PB=nsTable[tongBu];}}void timer0()interrupt 1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;cnt++;if(cnt==5){cnt=0;if(intflag==1){inttime++;tempseg=10-inttime/2;}else{time++;if(time<=allredend){tongBu=0;PA=ewTable[tongBu];PB=nsTable[tongBu];tempseg=allredend/2-(time+1)/2;}else if((time>allredend)&&(time<=ewredend)){tongBu=1;PA=ewTable[tongBu];PB=nsTable[tongBu];tempseg=ewstarter+allredend/2-(time+1)/2;}else if((time>ewredend)&&(time<=snyellowend)){if(change==0){tongBu=2;PA=ewTable[tongBu];PB=nsTable[tongBu];change=1;}else{tongBu=3;PA=ewTable[tongBu];PB=nsTable[tongBu];change=0;}tempseg=ewstarter+allredend/2+5-(time+1)/2;}else if((time>snyellowend)&&(time<=snredend)){tongBu=4;PA=ewTable[tongBu];PB=nsTable[tongBu];tempseg=ewstarter+allredend/2+5+snstarter-(time+1)/2;}else if((time>snredend)&&(time<=ewyellowend)){if(change==0){tongBu=5;PA=ewTable[tongBu];PB=nsTable[tongBu];change=1;}else{tongBu=6;PA=ewTable[tongBu];PB=nsTable[tongBu];change=0;}tempseg=ewstarter+10+allredend/2+snstarter-(time+1)/2;}else{tongBu=1;time=allredend+1;PA=ewTable[tongBu];PB=nsTable[tongBu];tempseg=ewstarter+allredend/2-(time+1)/2;}}}}void key(){uchar keynum;keynum=~(P1|0XF8);switch(keynum){case 0x1:while(KEY1==0)led16_16display(led2,32);key1++;TR0=0;if(key1==3){key1=0;TR0=1;}break;case 0x2:while(KEY2==0)led16_16display(led2,32);if(key1==1){ewstarter++;if(ewstarter==100)ewstarter=0;}if(key1==2){snstarter++;if(snstarter==100)snstarter=0;}break;case 0x4:while(KEY3==0)led16_16display(led2,32);if(key1==1){ewstarter--;if(ewstarter==-1)ewstarter=99;}if(key1==2){snstarter--;if(snstarter==-1)snstarter=99;}break;default:break;}}void main(){IE=0x8b;IT0=1;TMOD=0x11;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TH1=(65536-1000)/256;TL1=(65536-1000)%256;CTL=0x80;tongBu=0;TR1=1;PA=ewTable[tongBu];PB=nsTable[tongBu];tempseg=allredend/2-(time+1)/2;TR0=1;while(1){key();if(intflag==0){if(key1==0){if(time<=allredend)led16_16display(led2,32);else if(time>allredend&&time<=snyellowend)led16_16display(led1,32);else if(time>snyellowend&&time<=ewyellowend)led16_16display(led2,32);}elseled16_16display(led2,32);}}}。

交通灯控制系统设计-实验报告

交通灯控制系统设计-实验报告
实验目的:设计一个交通灯控制系统,实现对交通灯的自动控制。

实验材料:
1. Arduino UNO开发板
2. 红绿黄LED灯各1个
3. 杜邦线若干
实验原理:
交通灯系统的控制主要是通过控制LED灯的亮灭来实现。


色LED灯表示停止,绿色LED灯表示通行,黄色LED灯表
示警示。

通过控制不同LED灯的亮灭状态,可以模拟交通灯
的不同信号。

实验步骤:
1. 将红色LED灯连接到Arduino开发板的数字输出引脚13,
绿色LED灯连接到数字输出引脚12,黄色LED灯连接到数
字输出引脚11。

2. 在Arduino开发环境中编写控制交通灯的程序。

3. 将Arduino开发板与计算机连接,将程序上传到Arduino开
发板中。

4. 接通Arduino开发板的电源,观察交通灯的亮灭状态。

实验结果:
根据程序编写的逻辑,交通灯会按照规定的时间间隔进行变换,实现红绿灯的循环。

实验总结:
通过本次实验,我们设计并实现了一个简单的交通灯控制系统。

掌握了Arduino编程和控制LED灯的方法,加深了对控制系
统的理解。

通过实验,我们发现了交通灯控制系统的重要性和意义,为今后的交通控制提供了一种可行的解决方案。

模拟红绿交通灯课程设计

模拟红绿交通灯课程设计一、教学目标本课程的学习目标包括知识目标、技能目标和情感态度价值观目标。

知识目标要求学生掌握交通信号灯的工作原理、交通规则等相关知识;技能目标要求学生能够设计并模拟红绿交通灯的工作过程;情感态度价值观目标要求学生培养遵守交通规则、关爱生命的意识。

通过对课程性质、学生特点和教学要求的分析,明确课程目标,将其分解为具体的学习成果,以便后续的教学设计和评估。

二、教学内容根据课程目标,选择和教学内容,确保内容的科学性和系统性。

本课程的教学大纲包括以下几个部分:1.交通信号灯的基本知识:介绍红绿交通灯的起源、工作原理和交通规则。

2.交通信号灯的设计:讲解交通信号灯的设计原则、电路图和组件。

3.交通信号灯的模拟:教授学生如何使用模拟软件进行红绿交通灯的模拟设计。

4.交通规则与安全:教育学生遵守交通规则,提高安全意识。

教学内容将根据教学大纲进行安排和进度调整,确保学生能够逐步掌握课程知识点。

三、教学方法为了激发学生的学习兴趣和主动性,将采用多种教学方法进行教学。

包括:1.讲授法:讲解交通信号灯的基本知识和交通规则。

2.讨论法:学生讨论交通信号灯的设计和模拟方法。

3.案例分析法:分析实际案例,让学生了解交通信号灯在生活中的应用。

4.实验法:指导学生进行交通信号灯的模拟实验,提高动手能力。

通过多样化的教学方法,使学生在轻松愉快的氛围中掌握知识,提高能力。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,将选择和准备以下教学资源:1.教材:选用内容丰富、结构清晰的教材,为学生提供理论知识的学习。

2.参考书:提供相关领域的参考书籍,拓展学生的知识视野。

3.多媒体资料:制作精美的课件、视频等多媒体资料,增强课堂教学的趣味性。

4.实验设备:准备充足的实验设备,确保每个学生都能动手进行实验。

通过合理利用教学资源,提高教学效果,促进学生的全面发展。

五、教学评估为了全面反映学生的学习成果,本课程将采用以下评估方式:1.平时表现:通过观察学生在课堂上的参与程度、提问回答等情况,评估学生的学习态度和理解能力。

交通灯控制电路设计实验(实验报告)

学号 **********东北师范大学2015——2016学年学年小论文学院、系物理学院专业名称电气及其自动化年级 2014级学生姓名伍敏2016年11月1日一.设计背景如今,红绿灯成为管制交通的最有效的手段之一。

作为疏导交通必不可少的工具,已经出现在各个交通路口。

红绿灯的出现有效的减少了交通事故的发生,提高了道路的畅通性。

因此,为了巩固对课堂知识的理解,更进一步了解单片机结构与功能,加强自己的动手实践能力,本人决定用单片机来实现简单模拟交通灯的设计。

二.设计功能1.东西方向车道和南北方向车道上车辆交替运行。

2.路口数码管按秒倒计时显示数字作为提醒。

3.红灯亮表示禁止通行,绿灯亮表示允许通行。

4.数码管显示时间共用,按秒倒计时显示数字作为提醒。

5.黄灯时间和绿灯时间可以进行更改,红灯时间默认为两个时间相加。

三.所需元件1. 74ls1922. 74ls2453. 741384. 7486 四异或门5. 7474双D 触发器6. 发光二极管 12个(红黄绿各3个)7. 电容电阻若干8. 晶振9.导线若干南东西北 交通路口示意图主 干 道四.实验设计部分设计思路五.单元设计电路1.秒信号发生器:本来想选用555定时器实现秒信号产生的额基本功能,因为在课上接触到的比较熟悉,但是由于某些原因,不让使用555定时器,只能够想用32768晶振和CD4060搭配,通过分频实现秒信号发生的功能,而且由于555定时器受到的外界因素影响较大,使用晶振产生的秒信号会更加的稳定。

状态译码电路 输出 电路状态产生电路时间倒计时电路 时间预置电路 南北方向计时东西方向计时秒信号产生电路2.时间预置电路:74LS245:同相三态双向总线收发器,通过G端口的选择,可以选择由A向B发送数据或者是由B向A发送数据。

每个芯片有着八个开关,前四个开关控制的计时的个位数据,后四个开关控制的计时的十位预置数据。

而预置数据具体选择的是哪一个芯片上的数据由G控制,任何时刻两个芯片只有其中的一个能正常传输数据,而另一个不能传输。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档