《十字路口交通灯设计》课程设计论文:.doc

《十字路口交通灯设计》课程设计论文:.doc

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
设计项目简介 随着电子科学技术的发展,单片机的应用在现实生活中得到越来越广泛的应用。此十字路口交通灯控制的设计是基于单片机AT89C51的定时装置,当到达一定时间时相应的红、绿、黄灯亮起,起到疏导交通的作用。此外还可以通过人为控制根据具体情况设定具体定时时间,灵活性较强。 1.1 设计任务 用单片机的定时器产生秒信号,控制十字路口的红、绿、黄灯交替点亮和熄灭,并利用LED数码管十字路口两个方向的剩余时间。要求能用按键设置两个方向的通行时间(绿等、红等点亮时间)和暂缓通行时间(黄灯点亮时间)。系统的工作应符合一般交通灯控制的要求。 1.2 性能指标 两位数码管显示器(00-99) 四组(东、南、西、北)交通信号灯 东:绿<EAST>、红< EAST >、黄< EAST > 南:绿<SOUTH>、红< SOUTH >、黄<SOUTH> 西:绿<WEST>、红< WEST >、黄< WEST > 北:绿<NORTH>、红<NORTH >、黄<NORTH> 9个按键 BUTTON_RST-复位 BUTTON_RUN-运行 BUTTON_WE-东西方向红绿灯设置 BUTTON_SN南北方向红绿灯设置 BUTTON_Y-黄灯设置 BUTTON_DA-设置时间加一 BUTTON_DB-设置时间加十 BUTTON_CANCEL-取消设置 BUTTON_FINISH-完成设置 系统总体方案及硬件设计 2.1 单片机简介 AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。如下图所示(Vcc和GND隐藏): 单片机最小系统:电源电路,复位电路和振荡电路(如下图)。 2.2 系统硬件电路的设计 硬件原理图 2.3系统功能描述 通电后,数码管显示00,不同方向的所有灯全部亮起; 点击BUTTON_RUN:电路以默认初始状态开始工作,初始状态下,东西方向方向通行设置时间完成后,此按键开始以设置时间,不设置重新点击则以上一次时间重新运行; TTON_WE:进入东西方向红绿灯时间设置状态,东西方向红绿灯亮起,点击BUTTON_DA一次,数码管个位数加一,点击BUTTON_DB,数码管十位数加一,数码管显示时间为人为设定时间(0-99s),点击BUTTON_FINISH保存当前设置时间,点击BUTTON_CANCEL取消当前设置时间并回到默认(30秒)状态;点击BUTTON_RUN开始运行; 点击BUTTON_SN:进入南北方向红绿灯时间设置状态,南北方向红绿灯亮起,点击BUTTON_DA一次,数码管个位数加一,点击BUTTON_DB,数码管十位数加一,数码管显示时间为人为设定时间(0-99s),点击BUTTON_FINISH保存当前设置时间,点击BUTTON_CANCEL取消当前设置时间并回到默认(25秒)状态;点击BUTTON_RUN开始运行; 点击BUTTON_Y:进入黄灯时间设置状态,所有黄灯灯亮起,点击BUTTON_DA一次,数码管个位数加一,点击BUTTON_DB,数码管十位数加一,数码管显示时间为人为设定时间(0-99s),点击BUTTON_FINISH保存当前设置时间,点击BUTTON_CANCEL取消当前设置时间并回到默认黄灯(3秒)状态;点击BUTTON_RUN开始运行; 点击BUTTON_RST:为复位按键,回到刚上电后状态,以默认初始状态运行。 程序流程图 程序清单 #include<reg52.h> //按键端口声明 sbit b_run = P3^0; sbit b_we = P3^1; sbit b_sn = P3^2; sbit b_y = P3^3; sbit b_da = P3^4; sbit b_db = P3^5; sbit b_cancel = P3^6; sbit b_finish = P3^7; //字符表 unsigned char code LedChar[]={ 0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90, 0xFF }; //共阳极 unsigned char code LedRGY[] ={ 0x11, 0x14, 0x10, 0x0A, 0x22, 0x02, 0x3F, 0x03, 0x18, 0x24, 0x00 }; /* LedRGY[0] 东西通行,南北禁止 LedRGY[1],[2] 东西黄灯闪烁 LedRGY[3] 东西禁止,南北通行 LedRGY[4],[5] 南北黄灯闪烁 LedRGY[6] 所有 灯 亮 LedRGY[7] 东西 红绿灯 亮 LedRGY[

文档评论(0)

琼瑶文档 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档