单片机交通灯实训报告.pdf
《单片机交通灯实训报告.pdf》由会员分享,可在线阅读,更多相关《单片机交通灯实训报告.pdf(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、机电工程学院课程设计报告机电工程学院课程设计报告课程名称:单片机课程设计专业班级:13 电本 2 班学号:2013041632学生姓名:罗 炜指导教师:王清辉、何文丰完成时间:报告成绩:评阅意见:评阅教师日期交通灯设计一、设计任务与要求设计基本要求:(1)车辆通行繁忙的十字交叉路口,设计一交通灯控制器,设东西方向通行时间为30 秒,当剩余 3 秒时黄灯亮,南北方向通行时间为 20 秒,当剩余 3 秒时黄灯亮。(2)东西、南北方向各用三个(绿、黄、红)LED 表示,并用数码管显示东西、南北方向的剩余时间。(3)可利用按键修改时间参数,可以利用按键切换东西南北交通灯的当前状态(即立刻东西由红变绿,
2、南北有绿变红,并按设定的时间工作)。二、方案设计与论证交通灯的工作方式及状态设计:东西状态红黄绿1、东西绿灯南北红灯1102、东西黄灯南北红灯1013、东西红灯南北绿灯4、东西红灯南北黄灯011011南北红黄绿011011110101通行时间注27 秒(时间可设)交通灯从状态 1 至3 秒(黄灯闪烁)4 不断循环,通过17 秒(时间可设)外设按钮实现状3 秒(黄灯闪烁)态 1 和 3 的切换表 2-1:交通灯的工作状态表根据表 2-1 所示可将交通灯的工作状态设为以下几个步骤:1、初始状态时即为东西方向绿灯通行 27 秒+3 秒黄灯,此时南北红灯亮。2、随后是南北方向绿灯通行 17 秒+3 秒
3、黄灯,此时东西红灯亮。3、通过按模式选择键一次来切换东西南北交通灯的当前状态。(通过设置定时计时器 T1 实现交通灯的计时)4、通过按模式选择键第二次切换至南北方向红绿灯的计时设置,通过加减按键来确定南北方向红绿灯的计时数。5、确定南北方向计数值后,通过按模式选择键第三次切换至东西方向红绿灯的计时设置,通过加减按键来确定东西方向红绿灯的计时数。6、确定交通灯计时数后再按下模式选择键后,交通灯便进入工作状态。时间计时的实现:采用定时中断实现秒的精确计时(详细方案入下列程序设计所示)。按键输入的实现:通过编写按键读取函数,来实现交通灯的状态以及时间值得设定(详细方案入下列程序设计所示)。图 2-1
4、 程序设计流程框图三、硬件电路设计1、倒计时显示该系统要求完成倒计时的功能。因只需显示数字,基于上述原因,我完全采用数码管显示,四个路口分别采用一个二位共阴极数码管即可。2、状态灯显示该系统要求完成状态灯显示的功能。采用红绿黄三种 LED 灯一个路口只需三个个状态灯,绿灯通行,红灯停止,黄灯闪烁。3、输入方案该系统要求能手动改变东西与南北的通行时间、红绿灯状态紧急交换处理。运用单片机中四个 IO 口设置三个按键,三个按键的功能分别为:增加、减少、状态切换和暂停。4、复位电路与晶振电路复位电路:复位方式有多种,本设计采用按键复位。接线图如图 3-1 所示,当按下复位按键时,RST 端产生高电平,
5、使单片机复位。复位后,其片内各寄存器状态改变,片内 RAM 内容不变。晶振电路(如图 3-2 所示):结合单片机内部产生单片机所需的时钟频率。图 3-1 程序仿真接线图图 3-2 程序仿真接线图5、AT89S51的简介AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-systemprogrammable)的可反复擦写 1000 次的 Flash 只读程序存储器,器件采用 ATMEL公司的高密度、非易失性存储技术制造,兼容标准 MCS-51 指令系统及 80C51 引脚结构,芯片内集成了通用 8 位中央处理器和 ISP Flash 存储单元,AT89S
6、51在众多嵌入式控制应用系统中得到广泛应用。图 3-3 程序仿真接线图四、软件设计根据设计要求得完整的交通灯程序源代码包含有:1.定时 2.数码管显示 3.LED 状态切换.4 按键读取。#include reg51.h#define uint unsigned int#define uchar unsigned charuchar code num=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;/数码管显示数组uchar T0_Count=0,East_time=0,North_time=0;/定时变量,东西倒计时变量
7、,南北倒计时变量sbit DXD_Red=P30;sbit DXD_Yellow=P31;sbit DXD_Green=P32;sbit NBD_Red=P33;sbit NBD_Yellow=P34;/东西方向红灯/东西方向黄灯/东西方向绿灯/南北方向红灯/南北方向黄灯sbit NBD_Green=P36;sbit DXKZ_GE=P24;sbit DXKZ_SHI=P25;sbit NBKZ_GE=P26;sbit NBKZ_SHI=P27;/南北方向绿灯/东西方向个位数码管公共端/东西方向十位数码管公共端/南北方向个位数码管公共端/南北方向十位数码管公共端sbit Key_Add=P11
8、;sbit Key_Dec=P12;sbit Key_OK=P13;sbit LE=P10;void delayms(uint i)uint x,y;for(x=i;x0;x-)for(y=110;y0;y-);void t0_init()TMOD=0X01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;ET0=1;EA=1;TR0=1;void state1()DXD_Red=1;DXD_Yellow=1;DXD_Green=0;NBD_Red=0;/增加按键/减少按键/确定按键,兼具状态切换/毫秒级延时/16 位定时器 0/定时 50ms/开启中断
9、 1/开启总中断/开启定时器 0/东西绿灯亮,南北红灯亮NBD_Yellow=1;NBD_Green=1;void state2()DXD_Red=1;void state3()void state4()NBD_Red=1;DXD_Red=0;/东西黄灯闪烁DXD_Yellow=0;DXD_Green=1;/东西红灯亮,南北绿灯亮DXD_Yellow=1;DXD_Green=1;NBD_Red=1;NBD_Yellow=1;NBD_Green=0;/南北黄灯闪烁NBD_Yellow=0;NBD_Green=1;void Display(uchar num1,num2)/功能:数码管扫描显示函数
10、/参数:num1,东西方向数码管显示值;num2,南北方向数码管显示值P0=numnum1%10;/LE=1;LE=0;/写入个位数DXKZ_GE=0;delayms(10);/开启一个数码管公共端,显示一段时间DXKZ_GE=1;/关闭公共端P0=numnum1/10;/LE=1;LE=0;DXKZ_SHI=0;delayms(10);DXKZ_SHI=1;/写入十位数P0=numnum2%10;/LE=1;LE=0;NBKZ_GE=0;delayms(10);NBKZ_GE=1;/写入个位数P0=numnum2/10;/LE=1;LE=0;NBKZ_SHI=0;delayms(10);NB
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 交通灯 报告
限制150内