网站大量收购独家精品文档,联系QQ:2885784924

交通信号灯模拟控制器文档.doc

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

昆明冶金高等专科学校教学教案 课题: 编程实例2 教学时数:2学时 教学目的: 1、通过交通灯控制的编程掌握单片机的编程方法 2、学习中断服务程序的编写方法。 重点、难点: 中断服务程序的编写。 主要教学内容(提纲): 一、课题内容 二、编程指导 三、参考程序 教学方法、手段: 课堂讲授,学生练习 课内外练习 将所编程序在实验仪验证. 课后小结 讲授要点 一、课题内容 编写一程序实现城市“十字”路口正常情况下以及特殊情况和紧急情况下交通信号灯的模拟控制。 1、在十字路口东西南北各设置红、黄、绿三种信号灯,如图1所示。正常情况下,东西、南北方向轮流放行。当东西方向(A线)放行、南北方向(B线)禁行时,东西方向(A线)绿灯亮25秒,然后黄灯亮5秒,南北方向(B线)红灯亮30秒;当南北方向(B线)放行、东西方向(A线)禁行时,南北方向(B线)绿灯亮25秒,然后黄灯亮5秒,东西方向(A线)红灯亮30秒。如此循环,实现交通灯定时控制。 2、有急救车优先通过功能。当有急救车到达时,路口的信号灯全部变红灯,以便急救车通过,急救车的通行时间为10秒,急救车过后,交通灯恢复先前状态。 3、交通灯在红、绿灯交替点亮中,用两个数码管显示点亮的灯还能持续的时间。 北 北 西 东 南 图1 交通灯布置示意图 二、编程指导 1、电路图 交通灯控制电路的核心元件采用单片机芯片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 状态说明 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 A道禁止、B道警告 2、控制程序 流程图 软件包括主程序、延时、显示子程序、中断服务程序,各程序流程图如图2所示。 图2 程序流程图 三、参考程序 主程序: ORG 2000H MAIN: MOV DPTR,#7F00H MOV A,#0BH ;PA、PC口均为输出 MOVX @DPTR,A MAIN: SETB EA ;开中断 SETB EX0 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 ;定时器100ms计数器的初始值 MOV TL0,#B0H SETB TR0 ;启动定时器 DEL2: DEC 50H ;显示秒数减1 MOV A,50H MOV B,#0AH DIV B ;拆分秒数 ADD A,#2BH MOVC A,@A+PC ;查表个位数的字形码 MOV R1,A ;个位数字形码送R1 MOV A,B ADD A,#25H MOVC A,@A+PC ;查表十位数的字形码 MOV R2,A ;十位数字形码送R2 MOV A,R6 ;位控码 MOV DRTP,#7F03H MOVX @DPTR,A MOV A,R1 ;送个位数显示 MOV DPTR,#7F01H MOVX @

文档评论(0)

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

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

1亿VIP精品文档

相关文档