单片机课设交通灯.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《单片机课程设计》说明书 ---交通灯控制系统 学号 姓 名:芦金洋 班 级:10计Y 指导教师:王建农 2018年12月23日- 2018年1 月3日 目录 TOC \o 1-3 \h \z \u 一、引言3 1.1系统设计的意义与目的3 1.2系统设计的基本要求和内容3 二、工作原理4 2.1系统框图4 2.2 程序原理4 2.3 选题方案论证5 2.3.1供电方式5 2.3.2显示方案6 三、硬件设计6 3.1 单片机6 3.1.1单片机的概述6 3.1.2单片机的特点6 3.2芯片介绍7 3.2.1 STC89C52芯片特性8 3.4.2 交通灯的状态显示8 四、软件设计9 4.1程序设计语言9 4.2程序设计软件9 4.2.1编程软件9 4.2.2烧录软件10 4.3程序流程图10 五、调试测试10 5.1调试10 。5.2测试过程11 5.2.1通电测试11 5.2.2基本测试11 5.2.3复位测试11 六、结论11 6.1特点11 6.2存在的问题12 七、结束语12 参考文献13 附录14 图14 程序代码15 一、引言 1.1系统设计的意义与目的 1)加强对单片机和C51语言的认识,充分掌握和理解设计各部分的工作原理、 设计过程、选择芯片器件、模块化编程等多项知识。? 2)用单片机模拟实现具体应用,使个人设计能够真正使用。? 3)把理论知识与实践相结合,充分发挥个人能力,并在实践中锻炼。? 4)提高利用已学知识分析和解决问题的能力。? 5)提高实践动手能力。 1.2系统设计的基本要求和内容 任务:设计一个能够控制十二盏交通信号灯的模拟系统 要求:利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭,并用LED灯显示倒计时间。1、东西绿灯亮,南北红灯亮2、黄灯亮3、东西红灯亮,南北绿灯亮 二、工作原理 2.1系统框图 2.2 程序原理 1、首先了解实际交通灯的变化情况和规律。假设一个十字路口如上图所示,为东南西北走向。初始状态0:为东西绿灯亮,南北红灯亮;然后转状态1:东西绿灯亮黄灯亮,南北红灯亮黄灯亮;过后转状态2:东西红灯亮,南北绿灯亮;再转状态3:东西红灯亮黄灯亮,南北绿灯亮黄灯亮。一段时间后,又循环至状态0。中间可通过中断按钮产生中断,跳入中断程序执行中断。列出交通信号灯的状态表如下:其中,1代表灯亮,0代表灯灭) 2、对于交通信号灯来说,应该有东西南北共四组灯,但因为同一道上的两组的信号灯的显示情况是相同的,所以只要用两组就行了,因此,采用单片机内部的I/O口上的P1口中的6个引脚即可来控制6个信号灯。 3、通过编写程序,实现对发光二极管的控制,来模拟交通信号灯的管理。每延时一段时间,灯的显示情况都会按交通灯的显示规律进行状态转换。 4、通过延时时间送显,可以在原有的交通信号灯系统的基础上,增添其倒计时间的显示功能,实现其功能的扩展。? 5、通过脉冲中断编写中断程序,可实现中断。 2.3 选题方案论证 2.3.1供电方式 连接单片机控制芯片板和笔记本设备的USB接口,使用笔记本的电源,打开芯片板总开关正常通电。本方案的优点是系统简明扼要,节约成本;缺点是输出功率不高,笔记本要保持在通电的状态。 HYPERLINK /****************初始变量设定*****************/ sbit p1_0=P1^0。 //定义P1口的8位 sbit p1_1=P1^1。 sbit p1_2=P1^2。 sbit p1_3=P1^3。 sbit p1_4=P1^4。 sbit p1_5=P1^5。 sbit p1_6=P1^6。 sbit p1_7=P1^7。 bit flag=0。 //定义显示状态控制位 int ns_time。 //定义东西,南北红黄绿各自的时间初值分别为20,15,5秒 int ew_time。 int ns_time_red=20。 int ns_time_green=15。 int ns_time_yellow=5。 int ew_time_red=20。 int ew_time_green=15。 int ew_time_yellow=5。 char point=20。 //定时的控制次数初值设定 int a=0。 //南北,东西两方向切换状态标志初值设定 char code led_discode[]={0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90, 0x88,0x83,0xc6,0xa1,0x86,0x8e}。 //共

文档评论(0)

159****6529 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档