单片机交通灯控制器的汇编程序设计.docVIP

单片机交通灯控制器的汇编程序设计.doc

  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文档。上传文档
查看更多
单片机交通灯控制器的设计 一. 设计任务 在一十字路口设置交通灯,并用单片机对其进行合理的控制。 时间 方向 控制要求 白天 东西 绿灯 黄灯 红灯 南北 红灯 绿灯 黄灯 夜晚 东西 黄灯 南北 黄灯 二. 总体设计方案 现在流行的一种设计为两主干线相交的十字路。本设计采用一主干道(南北方向),一从干道(东西方向)的路口,即主干道的通行时间为从干道的2倍。在正常情况下,两干道的交通灯按图1进行转换,并以倒计数的方式将剩余时间显示在每个干道对应的两位LED上;另发挥部分为当出现紧急情况时,路口的交通灯全为红灯,紧急情况解除时,恢复到原来的状态。其具体状态如图1。 状态 持续时间/S 南北方向 东西方向 控制码 绿 黄 红 绿 黄 红 1 40 亮 灭 灭 灭 灭 亮 2 5 灭 亮 灭 灭 灭 亮 3 20 灭 灭 亮 亮 灭 灭 4 5 灭 灭 亮 灭 亮 灭 5 按紧急键 灭 灭 亮 灭 灭 亮 6 按夜晚键 灭 亮 灭 灭 亮 灭 7 按恢复键 恢复 恢复 恢复 恢复 恢复 恢复 恢复原来 其系统框图如图2。 三.硬件电路的设计 1. 单片机系统 单片机系统采用atmel公司的AT89C51芯片,晶振选用6MHZ,电源电压采用5V。其总体系统电路图见图3。 2. 信号灯与按钮电路的设计 信号灯采用发光二极管组成,分红黄绿三种颜色。该系统用于控制信号灯的输出线路有六条,按钮输出线有三条,应用AT89C51的P2.7,P3口来实现上述连接。3个按钮一端通过上拉电阻连接到电源,并输入单片机,另一端接地,这样未按下时,输入是高电平,反之,为低电平。采用软件消抖。 3. LED显示电路 用LED显示器共有4位,需8位输出口用于位选输出,分别选用AT89C51的P1,P2口,驱动电路采用芯片7407驱动器。 四.软件设计 本系统的软件包括主程序,显示程序和定时器溢出中断程序三部分。 1. 主程序:设置堆栈,定时器初始化,中断系统初始化,显示缓冲区赋初值,设置状态标志,状态切换。主程序流程图见图4。 2. 中断服务程序 其功能主要包括:不同状态下的时间计时,状态的循环切换,更新显示等,其流程图见图5。 现将内部数据存储器分配如下: (1) 60H~7FH:堆栈; (2) 5CH~5FH:显示缓冲区; (3) 5BH:定时溢出次数计数; (4) 5AH:秒计数单元; (5) 20H:状态标志单元; (6) 其他:数据缓冲区。 定义状态标志位: (1) 00H:状态1标志,为“1”时表明当前运行于状态1; (2) 01H:状态2标志,为“1”时表明当前运行于状态2; (3) 02H:状态3标志,为“1”时表明当前运行于状态3; (4) 03H:状态4标志,为“1”时表明当前运行于状态4; 具体程序如下: ORG 0000H AJMP MAIN ORG 000BH AJMP T01NT MAIN:MOV SP,#5FH MOV TMOD,#01H MOV TL0,#0B0H MOV TH0,#3CH SETB 00H CLR 01H CLR 02H CLR 03H MOV 5BH,#0 MOV 5AH,#40 MOV 5CH,#4 MOV 5DH,#0 MOV 5EH,#4 MOV 5FH,#0 SETB TR0 MOV IE,#82H M1:ACALL DIR JNB P3.2,M2 JINB P3.3 ,M3 SJMP M1 M2:ACALL DIR ACALL DIR ACALL DIR ACALL DIR JB P3.2,M1 CLR TR0 MOV P3,#0DEH M21:ACALL DIR JNB P3.2,M21 SJMP M1 M3:ACALL DIR ACALL DIR ACALL DIR ACALL DIR JB P3.3,M1 JB 00H,M31 MOV P3,#7EH SJMP M34 M31:JB 01H,M32 MOV P3,#0BEH SJMP M34 M32:JB 02H,M33 MOV P3,#0CFH SJMP M34 M33:MOV P3,#0DDH M34:SETB TR0 M35:ACALL DIR JNB P3.3,M21 SJMP M1 T01NT:PUSH ACC PUSH PSW MOV PSW,#08H MOV TL0,#0B0H MOV TH0,#3CH INC 5BH MOV A,5BH CJNE A,#10,T0ED MOV 5BH,#0 DEC 5AH MOV A,5AH MOV B,#10 DIV AB MOV 5CH,A MOV 5DH,B MOV

文档评论(0)

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

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

1亿VIP精品文档

相关文档