基于单片机控制的交通灯设计(含完整C程序 原理图) .doc
《基于单片机控制的交通灯设计(含完整C程序 原理图) .doc》由会员分享,可在线阅读,更多相关《基于单片机控制的交通灯设计(含完整C程序 原理图) .doc(19页珍藏版)》请在三一文库上搜索。
1、实 习 报 告电子与信息工程学院课 程 设 计 报 告(2010 2011学年 第 2 学期)课程名称: 单片机课程设计 班 级: 学 号: 姓 名: 指导教师: 2011年 03月1、 目的实习是在教师指导下,学生运用所学理论知识及实验方法解决实际问题的一种实践活动,通过这些活动培养学生分析问题和解决问题的能力。具体表现在构造一个控制系统框架的能力;检索和阅读文献资料的能力;综合运用所学专业知识使之对所设计系统具有独立调试的能力和故障处理的能力;绘图能力;计算机运用能力;逻辑思维能力与形象思维能力;文字及口头表达的能力;撰写实习报告的能力2、 内容和要求任务1:交通灯(1)基本要求:以单片机
2、为核心设计一个完整的交通灯模拟系统。所谓模拟就是以每组有绿,红,黄色3支共两组发光二极管表示交通信号灯,数码管2只共两组以递减的方式表示各色信号灯的时间。在双干线路口上,交通信号灯的变化是定时的。假定: 放行线,绿灯亮放行25秒,黄灯亮警告5秒,然后红灯亮禁止。 禁止线,红灯亮禁止30 秒,然后绿灯亮放行。使两条路线交替地成为放行线和禁止线,就可以实现定时交通控制。假定以P1口线接6支发光二极管(即交通信号灯),因为电路中有反相器的关系,所以口线输出高电平则“信号灯”熄灭,口线输出低电平则“信号灯“亮。(2)进阶要求一:在基本要求的基础上,要求红绿灯时间可通过按键设置,例如红灯60秒,绿灯52
3、秒,黄灯8秒。提示:时间设置一定是要遵循以下规律:红灯时间绿灯时间黄灯时间;任务2:秒表要求:至少包括4个功能:时间清零;启动计时;暂停计时;继续计时;计时最小单位0.1 秒,最大计时时间999.9秒3过程(如实际程序开发、电子制作,详细说明有关原理、开发过程、调试过程、结果)一交通灯芯片介绍SST89E58RD:是8位FLASH FLEX51系列单片机。FLASH FLEX51是在高级FLASH CMOS半导体工艺下设计和生产出来的单片机产品之一。单片机有40K片内FLASH EEPROM程序存储器,它利用SST的超级FLASH专利技术,这些都是SST的领先技术。超级FLASH存储器被分为两
4、个独立的程序存储器块,基本FLASH Block0占用32K字节片内程序存储空间,二级FLASH Block1占用8K字节的片内程序存储器空间;8K字节的二级FLASH块能被映射到32K字节低地址空间它也能从程序计数器中被隐藏掉而用做一个独立的类似EEPROM的数据存储器。其具有以下特点:兼容80C51系列,内置超级FLASH存储器的单片机;工作电压Vdd=4.55.5;1K*8的内部RAM(256Bytes+768Bytes,可以放心使用C语言编程)等。8155:Intel8155是可编程RAM/IO芯片,为40脚双列直插式封装。有256*8位静态RAM,2个8位和1个6位可编程并行I/O接
5、口,以及1个14位可编程定时器/计数器。可直与MCS-51单片机相接,是MCS-51单片机应用系统中应用最多的芯片之一其内部结构图和引脚图如图1所示图11.数码管显示模块在交通灯系统中,四位数码管是用来显示交通灯倒计时时间的,一路显示放行线时间,一路显示禁止线时间四位数码管的电路如图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与
6、单片机SST89E58RD的接口如图4图48155的高8位数据地址线与单片机的P0口相连,CE与AD15相连,IO/M与AD8相连数码管的八位段选与PB口相连,四位位选与PA口相连。用C语言初始化8155和显示程序如下:#define PA8155 XBYTE0x7101#define PB8155 XBYTE0x7102#define COM8155 XBYTE0x7100COM8155=0x03;2发光二极管模块用两组分别为红黄绿共六盏LED灯来模拟实际的交通信号灯,时间上遵循红灯时间等于绿灯时间加黄灯时间。LED灯是低电平有效,硬件电路图如图5所示:图5LED的控制是在定时器0的中断中实
7、现的,每一秒时间到后,会根据实时时间(current_time)与红黄绿时间比较,来确定相应的两盏灯亮,程序如下所示: if(current_timegreen)/主绿灯和从红灯时间 Allocate(green-current_time)*100+green+yellow-current_time); P1=0xf3; else if(current_timegreen+yellow)/主黄从红 Allocate(green+yellow-current_time)*100+green+yellow-current_time); P1=0xf5; else if(current_time2)
8、 traffic_mode=0;EA=1;4.程序流程图如下:开始初始化1S到?进入定时器中断0LED及数码管显示Traffic_mode=1?状态1按键处理按键是否按下状态2Traffic_mode=2?主流程图K1按下进入修改选择状态进入加状态K3按下进入减状态K4按下返回按键流程图二秒表秒表的要求是至少包括4个功能:时间清零;启动计时;暂停计时;继续计时;计时最小单位0.1 秒,最大计时时间999.9秒数码管显示模块见一中“数码管显示模块”,此处略;程序主流程图如下:开始初始化复位键?暂停暂停键?显示时间结束 秒表主流程图三将两个程序合并将两个程序合并需要用一个变量来判断,我们选择扫描P
9、1.7口来设定变量的值,然后在中断和主函数中用变量的值来选择执行的程序段程序流程图如下:开始初始化执行交通灯功能Mode=2?执行秒表功能Mode =1?四合并后的程序如下:#include /头文件#include#include #include#define PA8155 XBYTE0x7101 /数码管位选地址#define PB8155 XBYTE0x7102 /数码管段选地址#define COM8155 XBYTE0x7100unsignedcharcode Table16=0X0FC,0X60,0X0DA,0X0F2,0X66,0X0B6,0X0BE,0X0E0,0X0FE,0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于单片机控制的交通灯设计含完整C程序 原理图 基于 单片机 控制 交通灯 设计 完整 程序 原理图
链接地址:https://www.31doc.com/p-3264656.html