4交通信号灯的控制.doc

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

实验四 交通信号灯的控制 一 实验目的: 掌握MCS-51单片机内部定时器/计数器的工作原理和方式。 掌握定时器/计数器的初始化编程方法。 学习定时/计数器中断的处理方法。 二 实验说明 在一条主干道上A和一条支路B相交的十字路口上,各设一组红、黄、绿信号灯,管理车辆的通行。正常情况下,信号灯(亮)应按下述顺序和时间间隔循环操作: 干道A:A绿 A黄 A红 A红 支路B:B红 B红 B绿 B黄 12s 1s 12s 1s 要求在主干道A为红灯,支路B为绿灯期间,一旦干道A上有三辆车待行,则应立即使B黄、A红,亮一秒后,则应A绿、B红,亮12秒以放行干道上的待行车辆,随后转入正常次序循环运行。 三 实验内容 用两组红,黄,绿LED指示灯模拟干道A和支路B上的信号灯,用微动开关的按下次数模拟干道A上待行车辆数,按照下图连接好电路。 选用8051单片机内部的T0做定时器,工作于方式1,以提供信号灯各组态所需的时间间隔。用P1.0—P1.5通过驱动电路74LS07输出,T1做计数器,工作于方式2,以纪录微动开关的按下次数。当按下次数达到预定值时,则产生中断要求。在中断服务程序中按要求放行A道上的车辆。 注:按下图连接 (三)读懂所附实验参考程序,分析其功能及结构,并加以注释。 (四)翻译成目标程序,输入并运行该程序,观察LED指示灯转换顺序及各组态持续时间。 (五)按动微动开关,观察信号灯的变化。 (六)改变有关参数,以便延长或缩短某组态的持续时间,并作实验记录。 四、实验报告要求: (一)整理程序清单(机器码、注释),画出程序流程图。 (二)改变有关参数,以改变各组态持续时间的数据表格。 (三)讨论以下思考题: 具体到本实验电路和控制程序,按动微动开关,必须是三次才产生中断吗? 五、实验参考程序: ORG 0000H LJMP MAIN ORG 2300H RRR EQU 0F6H // 根据实际口线连接设置参数 GR EQU 0DEH //根据实际口线连接设置参数 YR EQU 0EEH // 根据实际口线连接设置参数 RG EQU 0F3H //根据实际口线连接设置参数 RY EQU 0F5H //根据实际口线连接设置参数 C0U EQU 0FDH MAIN:MOV SP, #60H MOV TMOD, #61H //定时器0,计数器1 SETB EA //开总中断 MOV P1, #RRR //A红B红 LCALL DIS MGR: MOV P1, #GR //A绿B红 LCALL D12S MYR:MOV P1, #YR //A黄B红 LCALL DIS MRG:MOV P1, #RG //A红B绿 MOV TH1, #C0U //计数器赋初值253,256溢出 MOV TL1, #C0U MOV R7, #0F0H CLR PSW.5 //溢出 标志清零 SETB ET1 //计数器1中断开 SETB TR1 //计数器1开 DL12:LCALL D50 //循环延时,等待中断 JBC PSW.5, ALT DJNZ R7, DL12 ALT:CLR ET1 //中断关 CLR TR1 //计数器1关 MRY:MOV P1, #RY LCALL DIS LJMP MGR ORG 2400H D50:MOV TMOD, #61H //延时50ms MOV TH0, #3CH MOV TL0, #0B0H SETB TR0 //计数器开始 DD: JBC TF0, TRE AJMP DD TRE: RET DIS: MOV R6, #14H //延时1S D10: ACALL D50 DJNZ R6, D10 RET D12S: MOV R5, #0CH //延时12S D11: ACALL DIS DJNZ R5, D11 RET ORG 001BH //定时器1中断服务程序 LJMP TINT ORG 2500H TINT:CLR TR0 //定时器0关 CLR TR1 //计数器1关 MOV P1, #RY //A红B黄 SETB PSW.5 MOV R7, #01H SETB TR0 RETI END 六、实验分

文档评论(0)

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

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

1亿VIP精品文档

相关文档