欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PDF文档下载  

    基于STC90C51单片机的智能交通灯设计.pdf

    • 资源ID:5335720       资源大小:2.26MB        全文页数:48页
    • 资源格式: PDF        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于STC90C51单片机的智能交通灯设计.pdf

    精心整理 基于 STC90C51 单片机的交通灯设计 1、 设计题目 基于 STC90C51 单片机的智能交通灯设计 2、设计要求 2.1、系统功能 (1)按照交通规则, 控制宝田路和前进路方向 及其人行道的交通信号灯(红黄绿)的通断。 (2)设置信号灯的通断时间。 (3) 可人工干预,使交通信号灯开启不同模式。 2.2、性能参数: (1)电源: 5VDC (2)LED 灯电流: 10mA (3)定时时间: 10s-200s 3、总体设计 根据系统功能和设计要求,系统采用单片机控制 的方案,基于HC6800S 开发板,由 STC90C51 , 74HC573 ,交通灯模块,动态数码显示管以及4*2 精心整理 独立按键组成。 3.1 系统工作原理 在十字路口,分为宝田路和前进路,正常情况下, 在任一时刻只有一个方向通行,另一方向禁行, 持续一定时间,经过短暂的过渡时间,将通行禁 行方向对换。其具体状态如下:? (1)普通模式 : 状态一:宝田路通行阶段(宝田路及其人行道 亮绿灯 30 秒、前进路及其人行道亮红灯30 秒) ; 状态二:黄灯阶段(宝田路和前进路亮黄灯5 秒、两侧人行道亮红灯5 秒) ; 状态三:前进路通行阶段(前进路及其人行道 亮绿灯 30 秒、宝田路及其人行道亮红灯30 秒) ; 状态四:黄灯阶段(宝田路和前进路亮黄灯5 秒、两侧人行道亮红灯5 秒) ; 返回到状态一。 (2)高峰期模式(设宝田路为主干道): 按下按键 2(key2) ,开启高峰期模式; 状态一:宝田路通行阶段(宝田路及其人行道 亮绿灯 60 秒、前进路及其人行道亮红灯30 秒) ; 精心整理 状态二:黄灯阶段(宝田路和前进路亮黄灯5 秒、两侧人行道亮红灯5 秒) ; 状态三:前进路通行阶段(前进路及其人行道 亮绿灯 30 秒、宝田路及其人行道亮红灯30 秒) ; 状态四:黄灯阶段(宝田路和前进路亮黄灯5 秒、两侧人行道亮红灯5 秒) ; 返回到状态一; 按键 2 释放,回到普通模式。 (3)紧急模式 : 按下按键 1(key1) ,开启紧急模式,所有道路及其 人行道均红灯亮,数码管不显示。释放按键1,回 到普通模式。 3.2? 单片机交通控制系统的功能要求? 本设计能模拟基本的交通控制系统,用红绿黄 灯表示禁行,通行和等待的信号发生,还能进行倒 计时显示,通行时间调整功能和紧急情况全面禁 行。 ? (1)倒计时显示 ? 倒计时显示可以提醒驾驶员在信号灯灯色发生 改变的时间、在“停止”和“通过”两者间作出合 精心整理 适的选择。驾驶员和行人普遍都愿意选择有倒计时 显示的信号控制方式,并且认为有倒计时显示的路 口更安全。倒计时显示是用来减少驾驶员在信号灯 色改变的关键时刻做出复杂判断的一种方法,它可 以提醒驾驶员灯色发生改变的时间,帮助驾驶员在 “停止”和“通过”两者间作出合适的选择?。? (2)时间的设置 ? 本设计中对时间进行了人为控制设置,正常情 况下宝田路和前进路的绿灯通行与红灯禁行时间均 设置为 30 秒、黄灯等待时间设置为5 秒。假设前进 路为主干道,考虑到主干道在上下班高峰期车流量 和人流量较大,人为增加开关K2。当 K2开启时, 主干道前进路上绿灯通行时间和宝田路上的红灯禁 行时间更改为60 秒,其余设置均不变;当K1关闭 时,又恢复正常情况下的时间设置。 (3)紧急情况全面禁行 精心整理 本设计中在紧急情况下增加了全面禁行状态, 增加开关 K1。当 K1开启时,宝田路和前进路及其 各自人行道均量红灯禁行;当 K1关闭时,交通灯恢 复正常状态。 4、详细设计硬件设计 为了实现本设计要求的具体功能,选用STC90C51 单片机及外围器件构成最小控制系统,10 个发光二 极管分别分成两组红黄绿和两组红绿灯构成信号灯 指示模块, 4 个 LED动态数码管构成各个方向倒计 时显示模式,两个按键分别用来设置高峰期模式和 紧急模式。 4.1、单片机系统设计 单片机设计交通灯控制系统,可用单片机直接 控制信号灯的状态变化,基本上可以指挥交通的具 体通行,当然,接入LED数码管就可以显示倒计时 以提醒行使者,更具人性化。 精心整理 单片机上电后,系统进入正常工作状态,执行 交通灯状态显示控制,同时将时间数据倒计时输入 到 LED数码管上实时显示。 HC6800S整体结构视图: STC90C51 内部结构图: 精心整理 STC90C51 芯片引脚图: 4.2、LED 数码管显示屏设计 LED动态数码管的显示原理为: 2 位 8 段数码管电路采用“共阳”连 接驱动代码,如右图所示。 段码和位码,段码即段选信号SEG , 它负责数码管显示的内容,图中ag、dp 组成的数据 (a 为最低位, dp 为最高位) 就是段码。 位码即位选信号DIG,它决定哪个数码管工作,哪 个数码管不工作。 LED 数码管显示代码表如下表所 示: 显示数值dp,g,f,e,d,c,b,a 代码 0 01111111 0x3f 1 00000110 0x06 2 01011011 0x5b 3 01001111 0x4f 4 01100110 0x66 精心整理 5 01101101 0x6d 6 01111101 0x7d 7 00001101 0x07 8 01111111 0x7f 9 01101111 0x6f HC6800S 开发板中动态数码管模块原理图如下图 所示: 4.3、交通灯设计 HC6800S 开发板中交通灯模块原理图如下图所 示,宝田路红黄绿灯及其人行道上的红绿灯和前 进路上的红黄绿灯由JP1控制,前进路人行道上 的红绿灯由 J22控制。 5、详细设计软件设计 5.1、软件开发工具和环境 keilC51 Vision6.12 5.2、软件总体设计 5.2.1总体结构流程图如下 主程 序, 即 开 精心整理 N Y Y N N Y Y N 5.2.2子结构软件设计 (1)普通模式 程序流程简图如下: 程序源代码如下: while(1) 开 初 设 红灯 结 黄灯 绿灯 黄灯 检测 是否 检测 是否 检测 按键 检测 按键 执行相应 程序,即 执行相应 程序,即 精心整理 if(S=71) S=0; /*宝田路通行,宝田路绿灯亮30 秒*/ if(S0;a-) for(b=110;b0;b-); (3)紧急模式 程序流程简图如下: N Y 程序源代码如下: /*按下按键 1,开启紧急模式, 所有红灯亮, 数码 管不显示 */ if(key1=0) 开 普 紧急 按 精心整理 delayms(); /去抖延时 if(key1=0) Data0=0x00; Data1=0x00; Data2=0x00; Data3=0x00; Data4=0x00; Data5=0x00; Data6=0x00; Data7=0x00; Display(); led=0xFF; RED00=1; GREEN00=1; RED10=0; RED11=0; RED00=0; RED01=0; 精心整理 while(!key1); /按键 1 释放 keyscan(); (4)高峰模式 程序流程简图如下: N Y 程序源代码如下: /*按下按键 2,开启上下班高峰期模式,主干道宝 田路绿灯时间为60秒*/ voidkeyscan() if(key2=0) 普 高峰 按 开 精心整理 delayms(); /去抖延时 if(key2=0) while(1) if(key2!=0)break; /当按键 2 释放,跳出循环 if(M=101) M=0; if(M #defineucharunsignedchar #defineuintunsignedint #defineWeixuanP1 / 定义使用的 I/O 口 #defineDuanxuanP0 #defineledP2 sbitRED10=P20;/上人行道红灯 sbitGREEN10=P21;/ 上人行道绿灯 sbitRED11=P22; sbitYELLOW11=P23; sbitGREEN11=P24; sbitRED00=P30; / 右人行道红灯 sbitGREEN00=P31; /右人行道绿灯 sbitRED01=P25; 精心整理 sbitYELLOW01=P26; sbitGREEN01=P27; sbitkey1=P33; sbitkey2=P35; ucharcodewei= 0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/ / 位选控制 ucharcodeduan= 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x 7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;/段 选显示码 ucharData8; ucharT,S,M; /* 声明全局函数 */ voidDisplay(); voidinit(); 精心整理 voiddelayms(); voidkeyscan(); voidmain() S=0; M=0; init(); / 初始化函数 while(1) if(S=71) S=0; /* 宝田路通行,宝田路绿灯亮30 秒*/ if(S0;a-) for(b=110;b0;b-); voidinit() TMOD=0x01; / 设置定时器工作方式 TH0=0x3C; / / 装初值 TH1=0xB0; 精心整理 EA=1; / 开启总中断 ET0=1; / 开启定时器中断 TR0=1; / 启动定时器 voidDisplay() / 显示子函数 uchari; uintj; for(i=0;i8;i+) Weixuan=weii; / 送位选数据 Duanxuan=Datai;/送段选数据 j=10; / 扫描间隔时间设定 while(j-); Duanxuan=0x00;/ 消隐 voidT0_time()interrupt1 TH0=0x3C; / / 重装初值 精心整理 TH1=0xB0; T+; if(T=20) S+; /S 计数 M+; /M 计数 T=0; /1 秒时间到, T清 0 重新再计 20 次

    注意事项

    本文(基于STC90C51单片机的智能交通灯设计.pdf)为本站会员(tbuqq)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开