有急救车交通灯控制实验(共10页).doc
精选优质文档-倾情为你奉上辽 宁 工 程 技 术 大 学实 验 报 告实 验 项 目: 单片机原理与接口技术 实验中心(室)名称: 微机原理与应用实验室 实 验 名 称: 有急救车的交通灯控制实验 院(系、部): 专 业 姓 名: 学 号: 实验成绩 评阅老师2007年6月3日有急救车的交通灯控制实验一.实验目的1.学习掌握多个接口芯片综合应用方法。2.学习中断技术的基本使用方法。3.学习模拟交通灯控制的实现方法。4.学习控制程序的编程方法。二.实验条件和要求1.用业余时间进行调研,了解交通灯燃灭的规律,并写出调研报告,并在此基础上设计出硬件电路原理图。2.在设计硬件电路时,要充分利用实验仪上的接口芯片,如8051单片机、8255并行接口芯片、发光二极管(红、黄、绿各两个)。 设计或利用接口仪上已有的单脉冲发生器,但脉冲发生器产生的负脉冲来产生中断,进行模拟有急救车通过。3.编制相应的软件应用程序,并运行调试。4.写出规范的实验报告。实验报告用A4纸写出。三.实验报告格式1. 实验题目2. 实验要求3. 调研报告4. 电路原理逻辑框图5. 程序流程图6. 应用程序7. 总结、分析、体会调研报告调研时间:2007年6月2日调研地点:葫芦岛新区一处交通岗调查任务:刘宏宇葫芦岛市公安局交警大队警员调研人员:谢铭泉、陈锐、石俊峰调研内容: 该路口东西方向和南北方向各有交通灯三盏,分别为红色 绿色 黄色。经过我们的观察,其亮灭变化规律为:1 东西南北两向起始状态为全红。-延续10秒2 东西向绿灯亮,南北向红灯亮。-延续30秒3 东西向绿灯灭,黄灯闪,南北向红灯亮。-闪烁5秒4 东西向红灯亮,南北向绿灯亮。-延续30秒5 东西向红灯亮,南北向绿灯灭,黄灯闪。-闪烁5秒6 循环以上步骤。7 若有急救车通过等特殊情况,东西南北向均为红灯亮,延续十秒。然后恢复之前状态。调研分析通过对该路口交通灯变化规律的调研调我们了解了交通灯的变化规律,理解了交通灯的作用,它是人们安全行驶的指示灯,为减少交通事故的发生,规范人们的生活提供了保障。本路口的交通灯功能还不够完善,如车辆转向等,但已经符合本设计的要求,能实现急救车通过等紧急情况。经总结此路口的交通灯亮灭规律表如下:交通灯亮灭规律表: 灯名状态东西红L1南北红L2东西黄L3南北黄L4东西绿L5南北绿L6 L7无效 L8无效状态1 红红 0 0 0 0 1 1状态2 0 红 0 0 绿 0 0 0状态3 0 红黄0 0 0 0 0 0状态4 红 0 0 0 0 绿 0 0 状态5 红 0 0黄0 0 0 0 0紧急情况 红 红 0 0 0 0 1 1实验报告一.电路原理逻辑框图二.程序流程图主程序: 定时器中断程序: 开 始初始化中断程序初始化8255开始定时记数 状态0 等 待 结 束 中断入口 存储器入栈 取反P1.1口重置定时器 存储器出栈 中断返回 计数器中断程序 急救车中断子程序 中断入口存储器入栈状态1状态3 状态2中断返回存储器出栈状态标号归0状态4中断入口存储器入栈东西南北全红延时10s返回中断前状态存储器出栈中断返回三.交通灯控制码 十六进制 二进制状态1 C3H B状态2 12H B状态3 06H 02H B B状态4 21H B状态5 09H 01H B B紧急情况 C3H B四.应用程序 CSEG AT 0000H LJMP STARTCSEG AT 4003H LJMP JJCSEG AT 400BH LJMP TIMBCSEG AT 401BH LJMP COUNTCSEG AT 4100HSTART:MOV SP ,#60H SETB IT0 SETB BA SETB EX0 SETB ET0SETB ET1MOV DPTR,#0CFA3HMOV A,#80H ;初始化8255,A为输入口MOVX DPTR,ANOPMOV TMOD,#61H ;初始化计数器0.1SMOV TH0,#3CHMOV TL0 #0B0HMOV TH1,#9CHMOV TL1,#9CH;计数100次MOV R2,#00H STA0: MOV DPTR,#0CFA0H MOV A,#03H MOVX DPTR,A MOV R6,A SETB TR0 ;启动定时器 SETB TR1 ;启动计数器 WAIT: SJMP WAIT JJ: PUSH PSW ;急救车中断 PUSH ACC PUSH R6 PUSH TH0 ;保持中断时刻时间 PUSH TL0 ;保持中断时刻计数值 PUSH TH1 PUSH TL1 CLR TR0 CLR TR1 SETB EAMOV A,#0C3H ;东西南北全红MOVX DPTR,ALCALL DBLAY2POP TL1POP TH1POP TL0POP TH0POP 6MOV A,R6 ;输出中断前状态MOVX DPTR,APOP ACCSETB TR0SETB TR1POP PSWRETITIME: PUSH PSW ;定时器中断PUSH ACCPUSH 2CLR TR0MOV TH0,#3CHMOV TL0,#0B0HCPL P1.1SETB TR0POP 2POP ACCPOP PSWRETI COUNT: PUSH PSW ;计数器中断 PUSH ACC PUSH DPH PUSH DPL MOV TH1,#9CH MOV A,R2 MOV DPTR,#STAUS JMP A+DPTR STAUS: AJMP S1 ;状态路由表 AJMP S2 AJMP S3 AJMP S4 S1: ADD A,#02H ;状态1 MOV R2,A MOV DPTR,#0CFA0H MOV A,#12H MOVX DPTR,A MOV R6,A LJMP OUT S2: ADD A,#02H ; 状态2 MOV R2,A MOV DPTR,#0CFA0H MOV R7,#05H ;闪烁5次 LOOP0: MOV A,#06H MOVX DPTR ,A LCALL DELAY1 MOV A,#02H MOVX DPTR,A LCALL DELAY1 DJNZ R7,LOOP0 MOV TH1,#0FFH MOV TL1,#0FFH LJMP OUT S3: ADD A,#02H MOV R2,A MOV DPTR,#0CFA0H MOV A,#21H MOVX DPTR,A MOV R6,A LJMP OUT S4: NOP MOV DPTR,#0CFA0H MOV R7,#05H LOOP1: MOV A,#09H MOVX DPTR,A LCALL DELAY1 MOV A,#01H MOVX DPTR,ALCALL DELAY1DJNZ R7,LOOP1MOV TH1,#0FFH ; 重置计数器MOV TL1,#0FFHMOV R2,#00HLJMP OUTOUT: POP DPLPOP DPHPOP ACCPOP PSW RETI DELAY1: MOV R5,#05H ; 0.5秒延时子程序LOP2: MOV R4,#200LOP1: MOV R3,#126LOP0: DJNZ R3,LOP0DJNZ R4,LOP1DJNZ R5,LOP2RETDELAY2: MOV R5,#100 ;10秒延时子程序LOPP2: MOV R4,#200LOPP1: MOV R3,#126LOPP0: DJNZ R3,LOPP0DJNZ R4,LOPP1DJNZ R5,LOPP2RETEND 五.实验总结、分析、体会通过本次带急救车通过的交通灯的调研活动,我熟悉了一个实际项目的设计过程,更锻炼了自己的动手实践能力,在设计的过程中,我对8051单片机外围电路的设计有了更深刻的认识,掌握了并行口如何输入输出数据,定时器 计数器的工作过程,以及中断子程序的使用方法等,也清楚了自己在实践过程中应该注意的问题。在设计电路时,充分利用了接口芯片8051单片机,8255并行接口芯片,发光二极管等,也就是对这些器件的使用和功能有了更进一步的了解,同时把学到的知识运用到了实际当中去,使知识掌握的更加稳固。另外,对团对合作有了更进一步的了解。专心-专注-专业