2 定时 /计数器实验扩展——急救车与交通灯一、实验目的1、进一不了解单片机的定时/计数器工作方式;2、了解并掌握单片机的中断原理和应用
二、实验内容完成交通灯基本功能基础上,当有急救车到达时,两向交通信号为全红,以便让急救车通过
假定急救车通过路口时间为10 秒,急救车通过后,交通灯恢复中断前状态
本实验以按键为中断申请,表示急救车通过
三、实验环境PC 机一台、 Proteus 仿真软件、 KEIL uVision2软件一套
四、实验电路原理图说明: SW1 与+5V 接通时交通灯开始工作,SW1 与“地”接通时交通灯灭,当交通灯工作时按下 BUTTON 表示有急救车通过
五、实验程序流程图主程序INT_1 急救车中断程序初始化 8255 P1
N Y 交通灯工作,自动循环BUTTON 按下
Y N 进入中断服务程序初始化中断控制字保护现场东西南北红灯亮初始化定时器0,开定时中断启动 T0,并等待定时结束恢复现场,中断返回T0_Delay 定时中断程序INT_0 交通灯熄灭中断程序六、实验程序清单ORG 0000H AJMP 0100H ORG 0003H AJMP INT_0 ORG 000BH AJMP T0_DELAY ORG 0013H AJMP INT_1 ORG 0100H MAIN:MOV A,#80H MOV DPTR,#7300H MOVX @DPTR,A MOV A,#00H MOV DPTR,#7100H 停止定时器T0 工作给 T0 重新赋值启动 T0 A-1A(A 为中断次数标志) 中断返回#00hPB 口跳转至程序末尾断点结 束MOVX @DPTR,A START:MOV A,P1 ANL A,#01H JZ START MOV SP,#60H SETB EA SETB EX0 SETB EX1 SETB IT0 SET