交通灯信号灯自动控制系统.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文档。上传文档
查看更多
《C51程序设计》大作业 设计题目:交通灯信号灯自动控制系统 班 级:电信092 学 号:090407207 姓 名:董康宁 成 绩: 2012年6月 一、 设计任务 设计功能要求如下 以秒为计时单位,两位数码管以十进制递减计数形式作定时显示,在递减计数回零瞬间完成换灯操作。 通过键盘红黄绿三色信号灯所亮时间在0~99秒内任意设定。 十字路口的通行起始状态可人工设定,运行中可通过人工干预使十字路口通行状态固定于任何一种工作模式。 二、电路原理图 三、 系统流程图 1、主程序流程图 2、时钟初值控制子程序 3、绿灯,黄灯初值设置子程序 4、时钟控制与倒计时控制 时钟,倒计时初值通过键盘输入。倒计时使用52单片机 内部定时器1实现计数,时钟控制部分是使用定时、计数器2 实现计时,以秒为基本单位在数码管中显示。时钟部分:当秒的 个位计时到了10,则秒个位清0,同时十位进一,以此类推;倒 计时部分显示是则递减显示。此过程通过判断语句实现。 5、.灯状态控制 灯的状态通过键盘扫描控制。状态固定键按下时,关闭定 时器1;再次按下此键时,打开定时器。状态选择键按下时,程 序跳至下一个状态的程序控制部分,从而实现状态改变。 6、电路设计 (1) 显示模块 倒计时与时钟 说明: ⑴共阴极两位数码管用于倒计时 ; 段选端由锁存器控制,位选端用P3_0与P3_1控制 ⑵两个四位共阴极数码组成八位数码管 用于时钟显示 段位选分别由两个锁存器控制 (2)红绿灯模块 说明: ⑴ 图为两方向的红绿黄灯 ,分别接在P0口上,由P0口控制 ⑵ 51系列单片机的P0口内部没有集成上拉电阻,加上拉就是提高驱动能力,必须要通过上拉电阻接VCC。上拉电阻一般接1K的 说明 ⑴ P2键控制功能说明: P2^6 key0绿灯位选择 P2^5 key1黄灯位选择 P2^4 key2 加1操作 P2^3 key3 减1操作 P2^2 key4 信号灯状态固定 P2^1 key5 信号灯状态切换 P2^0 key6时钟时分秒设置键 ⑵ 键盘加上拉提高驱动能力 (5)时钟电路: 说明 :用12M晶振时 电容要选择30p 四、所用器件与功能 (1) 共阴数码管10个:8个显示时间,2个显示倒计时时间 (2) 红黄绿发光二极管个4个:模拟十字路口信号灯。令各 加1个人行道上的红灯和绿灯 (3) 74HC573锁存器2个:段码和位选锁存各一个 (4) STC单片机一块 按键8个 12M晶振一个 排线 排 针 电阻 电容若干 五、故障及其分析 (1)问题:每次通电后都要在十八、十十九口触发一下才能正 常工作。 分析:晶振电路与单片机距离过远,输入噪声很大 解决:把晶振电路改在紧挨单片机位置就可排除干扰。 (2) 共阳数码管需要接三极管放大驱动电流,为节约成本选用 共阴数码管。 (3) 键盘扫描程序中加了按键前沿消抖延时,但按键不够灵敏 加了后延消抖后使得按键足够灵敏。 (4) 在段锁存器给各个数码管送段码时相互之间有影响,在显 示函数中加消影程序解决相互之间的影响。 (5) 在第一次焊接时一次性焊接完,调试时无法检查错误,而 在第二次焊接时采用边调试边焊接的方法,加快速度,提 高了准确度。 (6) 杜邦线 数码管、锁存器等接线比较多,用单根导线焊接 容易相互连接且不易检查错误,用杜邦线便于检查和模块 化调试。 六、 源程序 #includereg52.h #define uint unsigned int #define uchar unsigned char uchar aa,bb,cc,dd,ee,ff,a1,a3,con32,con31; uchar temp,ye,shi1,ge1,shi2,ge2,shi,ge,flag; int b,c=0,d=0,m=1,t; uint n1,n2; sbit p0_3=P0^3; //A干道黄灯 sbit p0_2=P0^2; //A干道红灯 sbit p0_4=P0^4; //A干道绿灯 sbit p0_6=P0^6; //B干道黄灯 sbit p0_7=P0^7; //B干道红灯 sbit p0_5=P0^5; //B干道绿灯 sbit wela=P3^0; sbit dula=P3^1; sbit p3_2=P3^2; sbit p3_3=P3^3; uchar

文档评论(0)

文档分享 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档