单片机信号灯.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机信号灯

简易十字路口交通灯控制 一、概述: 本电路意在实现十字路口的交通灯控制,通过单片机控制外围延时时间数码管显示和红绿灯的切换。 本玩法其控制方案如下: 红灯停,绿灯行,黄灯闪烁提示行人红绿灯即将切换。四个方向各有一个红、黄、绿显示和两个数码管。东西道为人行道(20秒),南北道为车行道(60秒),黄灯延时最后三秒时,闪烁并切换。 二、芯片简介 74373八D锁存器为三态输出的八D透明锁存器,共有54/74S373和54/?xml:namespace prefix = st1 /373两种线路结构型式,其主要电器特性的典型值如下: 373的输出端Q0-Q7可直接与总线相连。当三态允许控制端OE为低电平时,Q0-Q7为正常逻辑状态,可用来驱动负载或总线。当OE为高电平时,Q0-Q7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。 当锁存器允许端LE为高电平时,Q随数据D而变。当LE为低电平时,O被锁存在已建立数据电平。 当LE端施密特触发器的输入滞后作用,使交流和直流噪声搞扰度被改善400MV 引出端符号: ????? D0-D7:数据输入端 ??? OE:三态允许控制端(低电平有效) ????? LE;锁存器允许端 ??? Q0—Q7:输出端 外部管脚图: 真值表: 关于芯片详细的Data sheet可在网上下载。都有详细的介绍。 三、硬件电路设计 此电中路设计采用AT51单片机,74LS47(数码管驱动)74LS373(数码管驱动输出锁存),8个数码管显示其延时值,四个红、黄、绿指示灯。硬件设计关键在于,延时显示时,要考虑到当个位数字显示时,要确保十位数字显示输出的不变。因此,可加输出锁存器。在延时最后三秒时,要让黄灯进行闪烁,并同时显示数字(这一步在软件设计上很关键)。 (1)电路连接图: 三、软件程序(C语言) ???以下是整个设计的软件程序,直接可以编译成*。Hex代码。通过以上电路,下载到单片机,可直接运行。(由于显示字数有限,部分程序如下) #includestdio.h #includereg51.h #includeintrins.h?? sbit sw????? = p0^0; sbit?? OE??? =P0^6; sbit?? LE??? =P0^7;??? char display[]={ 0x00,0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88,0x99 };?? void delay1(int count); void delay_long(int number1,int number2); void??? people_car_drive(); void?? people_car_drive() { int?? p_1=2,i,j=9,p_2=6;??????? ??? ????????? p2=0x09;??? ????????? ???????????????? ?p3=0x24;??? ???????????????????????? while(p_1--0) ???? { LE=1; OE=0; ?????? ?? if(p_1==0){OE=1;}????????????????? ?? p1=display[p_1]; delay1(1000); ?????? ?? LE=0;?? j=9; ?? for(i=10;i0;i--) ?????? { if(p_1==0j==3)break;????? ??? ?????? ??? p1=display[j--]; ?????? ??? delay_long(16000,2); ????????????? if(sw==1)return;?? ?????? }?????? }?????????? ???? p2=0x12;???????????? ?? ????????????????? p3=0x12;????? ?????? p1=display[3]; ?????? delay_long(8000,1); ?????? p2=0x00;???????????? ?? ???? p3=0x00;???????????? ?? ?????? delay_long(14000,1); ??????? p2=0x12; ?????? p3=0x12; ?????? p1=display[2]; ?????? delay_long(8000,1); ?????? p2=0x00;???????????? ?? ???? p3=0x00; ?????? delay_long(14000,1); ?????? p2=0x12; p3=0x12; p1=disp

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档