基于单片机交通灯控制的c语言程序设计,基于单片机控制的交通灯设计含完整C程序 原理图.doc...

基于单片机控制的交通灯设计含完整C程序 原理图

电子与信息工程学院

课 程 设 计 报 告

(2010— 2011学年 第 2 学期)

课程名称: 单片机课程设计

班 级:

学 号:

姓 名:

指导教师:

2011年 03月

目的

实习是在教师指导下,学生运用所学理论知识及实验方法解决实际问题的一种实践活动,通过这些活动培养学生分析问题和解决问题的能力。具体表现在构造一个控制系统框架的能力;检索和阅读文献资料的能力;综合运用所学专业知识使之对所设计系统具有独立调试的能力和故障处理的能力;绘图能力;计算机运用能力;逻辑思维能力与形象思维能力;文字及口头表达的能力;撰写实习报告的能力

内容和要求

任务1:交通灯

(1)基本要求:以单片机为核心设计一个完整的交通灯模拟系统。所谓模拟就是以每组有绿,红,黄色3支共两组发光二极管表示交通信号灯,数码管2只共两组以递减的方式表示各色信号灯的时间。

在双干线路口上,交通信号灯的变化是定时的。假定:

⑴. 放行线,绿灯亮放行25秒,黄灯亮警告5秒,然后红灯亮禁止。

⑵. 禁止线,红灯亮禁止30 秒,然后绿灯亮放行。

使两条路线交替地成为放行线和禁止线,就可以实现定时交通控制。假定以P1口线接6支发光二极管(即交通信号灯),因为电路中有反相器的关系,所以口线输出高电平则“信号灯”熄灭,口线输出低电平则“信号灯“亮。

(2)进阶要求一:在基本要求的基础上,要求红绿灯时间可通过按键设置,例如红灯60秒,绿灯52秒,黄灯8秒。提示:时间设置一定是要遵循以下规律:红灯时间=绿灯时间+黄灯时间;

任务2:秒表

要求:至少包括4个功能:时间清零;启动计时;暂停计时;继续计时;计时最小单位0.1 秒,最大计时时间999.9秒

3.过程(如实际程序开发、电子制作,详细说明有关原理、开发过程、调试过程、结果)

一.交通灯

芯片介绍

SST89E58RD:是8位FLASH FLEX51系列单片机。FLASH FLEX51是在高级FLASH CMOS半导体工艺下设计和生产出来的单片机产品之一。单片机有40K片内FLASH EEPROM程序存储器,它利用SST的超级FLASH专利技术,这些都是SST的领先技术。超级FLASH存储器被分为两个独立的程序存储器块,基本FLASH Block0占用32K字节片内程序存储空间,二级FLASH Block1占用8K字节的片内程序存储器空间;8K字节的二级FLASH块能被映射到32K字节低地址空间它也能从程序计数器中被隐藏掉而用做一个独立的类似EEPROM的数据存储器。其具有以下特点:兼容80C51系列,内置超级FLASH存储器的单片机;工作电压Vdd=4.5~5.5;1K*8的内部RAM(256Bytes+768Bytes,可以放心使用C语言编程)等。

8155:Intel8155是可编程RAM/IO芯片,为40脚双列直插式封装。有256*8位静态RAM,

2个8位和1个6位可编程并行I/O接口,以及1个14位可编程定时器/计数器。可直

与MCS-51单片机相接,是MCS-51单片机应用系统中应用最多的芯片之一

其内部结构图和引脚图如图1所示

图1

1.数码管显示模块

在交通灯系统中,四位数码管是用来显示交通灯倒计时时间的,一路显示放行线时间,一路显示禁止线时间

四位数码管的电路如图2:

图2

四位八段数码管,属共阴逆序,高电平有效,所以不带小数点的0-f的段码如下:

{0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H,0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH};

PROTEUS 仿真图如图3:

图3四位数码管的显示使用了并行扩展芯片8155,8155与单片机SST89E58RD的接口如图4

图4

8155的高8位数据地址线与单片机的P0口相连,CE与AD15相连,IO/M与AD8相连

数码管的八位段选与PB口相连,四位位选与PA口相连。

用C语言初始化8155和显示程序如下:

#define PA8155 XBYTE[0x7101]

#define PB8155 XBYTE[0x7102]

#define COM8155 XBYTE[0x7100]

COM8155=0x03;

2.发光二极管模块

用两组分别为红黄绿共六盏LED灯来模拟实际的交通信号灯,时间上遵循红灯时间等

于绿灯时间加黄灯时间。LED灯是低电平有效,硬件电路图如图5所示:

图5

LED的控制是在定时器0的中断中实现的,每一秒时间到后,会根据实时时间(current_time)与红黄绿时间比较,来确定相应的两盏灯亮,程序如下所示:

if(current_

一、 功能分析 硬件的设计采用89ATC51单片机为核心器件。并辅助复位电路,驱动电路,数码管及晶体管显示部分。通过中断扩展实现交通灯系统特殊情况的转换。 软件设计部分分为一个主程序和两个中断子程序,一个用于有紧急车辆通过时,系统要能禁止普通车辆通行,实行中断可使A(东西道)、B(南北道)两道均红灯;另一个用于一道有车而另一道无车时,通过控制交通灯系统能立即让有车道放行,假如A道有车B道无车,长按K0可以控制交通灯系统能立即让东西道放行;假如南北道有车东西道无车,长按K1可以控制交通灯系统能立即南北道放行。 十字路口的交通灯在工作时应具有如下特点:红灯表示该条道路禁止通行;黄灯表示该条道路上未过停车线的车辆禁止通行,已过停车线的车辆继续通行;绿灯表示该条道路允许通行。 本设计利用单片机控制可以实现以下功能: (1)A道和B道上均有车辆要求通过时,A,B道轮流放行。A道放行5分钟(调试时改为5钟),B道放行4分钟(调试时改为4钟)。 (2)一道有车而另一道无车(实验时用开关K0和K1控制),交通灯控制系统能立即让有车道放行。 (3)有紧急车辆要求通过时,系统要能禁止普通车辆通行,A,B道均为红灯,紧急车由K2开关模拟。 (4)绿灯转换为红灯黄灯1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值