交通信号灯模拟控制器.docxVIP

  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 教学时数: 2 学时 教学目的: 1、通过交通灯控制的编程掌握单片机的编程方法 2、学习中断服务程序的编写方法。 重点、难点: 中断服务程序的编写。 主要教学内容(提纲): 一、课题内容 二、编程指导 三、参考程序 教学方法、手段: 课堂讲授,学生练习 课内外练习 将所编程序在实验仪验证 . 课后小结 1 / 7 讲 授 要 点 一、课题内容 编写一程序实现城市 “十字” 路口正常情况下以及特殊情况和紧急情况下交通信号灯的模拟控制。 1、在十字路口东西南北各设置红、 黄、绿三种信号灯, 如图 1所示。正常情况下, 东西、 南北方向轮流放行。当东西方向 (A 线 ) 放行、南北方向 (B 线) 禁行时,东西方向 (A 线 ) 绿灯 亮25秒,然后黄灯亮 5秒,南北方向 (B 线 ) 红灯亮 30秒;当南北方向 (B 线 ) 放行、东西方向 (A ) 禁行时,南北方向 (B 线 ) 绿灯亮 25秒,然后黄灯亮 5秒,东西方向 (A 线 ) 红灯亮 30秒。如此循环,实现交通灯定时控制。 2、有急救车优先通过功能。当有急救车到达时,路口的信号灯全部变红灯,以便急救车通过,急救车的通行时间为 10秒,急救车过后,交通灯恢复先前状态。 3、交通灯在红、绿灯交替点亮中,用两个数码管显示点亮的灯还能持续的时间。 北 西 东 南 图 1 交通灯布置示意图 二、编程指导 1、电路图 2 / 7 交通灯控制电路的核心元件采用单片机芯片 AT89C51 ,其内部带有 4KB 的 ROM ,无须 扩展存储器。 信号灯的控制由单片机的 P1.0~P1.5控制, 6只信号灯以共阴极方式连接,当 P1口输出 为高电平时,信号灯点亮,为实现上述控制要求, P1口共输出四种控制码,如表 1所示。 表 1:交通灯信号控制码 空 空 B 道 B 道 B 道 A 道 A 道 A 道 绿灯 黄灯 红灯 绿灯 黄灯 红灯 控制码 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 状态说明 A 道放行、 B 道 0 0 0 0 1 1 0 0 0CH 禁止 A 道警告、 B 道 0 0 0 0 1 0 1 0 0AH 禁止 A 道禁止、 B 道 0 0 1 0 0 0 0 1 21H 放行 A 道禁止、 B 道 0 0 0 1 0 0 0 1 11H 警告 2、控制程序 1) 流程图 软件包括主程序、延时、显示子程序、中断服务程序,各程序流程图如图2所示。 3 / 7 开始 开始 初始化 显示秒数减1 显示初始值设置 秒数转十进制 A道放行, B道禁行 拆分秒数 延时 秒个位数转字形码 显示 R1 个位数 A道警告, B道禁行 秒十位数转字形码 延时5S R2 十位数 A道禁行, B道放行 设置显示次数 置显示初始值 显示十位数 延时 延时1ms 显示 显示个位数 A道禁行, B道警告 延时1ms 延时 N 显示次数 =0? Y 显示 返回 主程序流程图 显示子程序流程图 图 2 程序流程图 三、参考程序 主程序: ORG 2000H MAIN: MOV DPTR,#7F00H MOV A, #0BH ;PA、 PC口均为输出 MOVX @DPTR,A MAIN: SETB EA ;开中断 SETB EX0  中断响应 保护现场 A道放行, B道禁行 延时10s 恢复现场 返回 紧急情况 中断服务程序 4 / 7 MOV 50H, #1FH ;设置时间显示初值 MOV P1, #0CH ;A 道放行, B 道禁行 MOV R7, #19H ;延时秒数 MAIN1: LCALL DISP ;调 1 秒延时、及显示子程序 DJNZ R7, MAIN1 MOV P1, #0AH ;A 道警告, B 道禁行 MOV R7, #05H ;延时秒数 MAIN2: LCALL DISP DJNZ R7, MAIN2 MOV 50H, #1FH ;设置时间显示初值 MOV P1, #21H ;A 道禁行, B 道放行 MOV R7, #19H ;延时秒数 MAIN3: LCALL DISP DJNZ R7, MAIN3 MOV P1, #11H ;A 道禁行, B 道警告 MOV R7, #05H ;延时秒数 MAIN4: LCALL DISP DJNZ R7, MAIN4 AJMP MAIN ;循环 延时、显示子程序: ORG 2000H DISP : MOV R6, #01H ;设置显示位寄存器初值(右边一位 MOV TMOD,#01H ;定时器 T0 设置为定时方式的模式 1 MOV R5, #0AH ;定时器操作循环 10 次 DEL1: MOV TH0, #3CH ;定时器

文档评论(0)

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

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

1亿VIP精品文档

相关文档