1、实验三急救车与交通灯控制综合性实验指导书实验三 急救车与交通灯控制综合性实验指导书一、实验内容P1口进行十字路口交通灯控制,允许急救车优先通过。有急救车到达时,两个方向交通信号灯全红,以便让急救车通过。设急救车通过路口时间为10秒,急救车通过后,交通恢复正常。并实验用单次脉冲申请中断,表示有急救车通过。二、实验目的及要求 (一)实验目的1 学习外部中断技术的基本使用方法。2 学习中断服务程序的编程方法。(二)实验要求1学生在实验课前必须认真预习教科书与指导书中的相关内容,绘制流程图,编写C51语言源程序,为实验做好充分准备。2该实验要求学生综合利用前期课程及本门课程中所学的相关知识点,充分发挥
2、自己的个性及创造力,独立操作完成实验内容,并写出实验报告。三、实验条件及要求计算机,C51语言编辑、Keil_uVersion2和Protues仿真软件50台套。四、实验相关知识点1单片机内部结构。2C51编程、调试。3单片机端口控制。4外部中断应用。五、实验原理图七、实验参考流程图八、实验程序#include #define uchar unsigned char #define uint unsigned int unsigned int i ;void delay(uint xms) unsigned int a ,j; for(a=xms;a0;a-) for(j=114;j0;j-)
3、; void main() TMOD = 0x01; TH0 = 0x3C; TL0 = 0x0B0; EA = 1; ET0 = 1;TR0 = 1;IP=0x01;IT0=1;EX0=1;P2=0xcf;while(1)void Timer0Interrupt(void) interrupt 1 TH0 = 0x3c;TL0 = 0x0b0;i+;if(i=100)P2=0xdb;if(i=200)P2=0x9f;if(i=205)P2=0xdf;if(i=210)P2=0x9f;if(i=215)P2=0xdf;if(i=220)P2=0x9f;if(i=225)P2=0xdf; if(
4、i=230)P2=0x9f;if(i=235)P2=0xdf; if(i=240)P2=0x9f;if(i=245)P2=0xdf; if(i=250)P2=0x9f;if(i=255)P2=0xdf;if(i=260)P2=0xe7;if(i=360)P2=0x6f;if(i=365)P2=0xef;if(i=370)P2=0x6f;if(i=375)P2=0xef;if(i=380)P2=0x6f;if(i=385)P2=0xef;if(i=390)P2=0x6f;if(i=395)P2=0xef;if(i=400)P2=0x6f;if(i=405)P2=0xef;if(i=410)P2=0x6f;if(i=415)P2=0xef;if(i=420)P2=0xdb; i=0; void exter0() interrupt 0 /中断服务程序,中断为外部中断0 P2=0xcc; delay(10000); /全红10s,急救车通过 P2=0xcf; 九、实验实施步骤 1仔细阅读实验内容及要求,编写C51源程序。 2上机编辑、仿真调试源程序。 3按要求接线。 4在线调试源程序,观查运行结果。十、思考问题如何改变急救车通过路口的时间改变void exter0() interrupt 0 中delay()括号中的值