实验7 外部中断与定时/计数器
实验目的
1. 熟悉软件的操作和使用方法;
了解单片机中断系统、定时/计数器的编程应用
3.进一步熟练使用开发系统的各种调试方法。
设备
89C51 基本实验单元、计算机设备系统、发光二极管显示单元
实验原理
(一)实验说明
用8051单片机设计一交通信号灯模拟控制系统,能够完成正常情况下的轮流放行以及特殊情况和紧急情况下的红绿灯控制
1.掌握单片机中断系统、定时/计数器的编程应用。
2.通过对交通灯控制程序的编写与调试,掌握中断程序的结构。
3.正常情况下A、B道(A、B道交叉组成十字路口,A是主道,B是支道)轮流放行,A道放行1分钟(其中5秒用于警告),B道放行30秒(其中5秒用于警告)。
4.一道有车而另一道无车时,使有车车道放行,K5键按下表示A道有车,K1键按下表示B道有车。
5.K9键按下表示有紧急车辆通过时,A、B道均为红灯。
控制码表
P1.7
P1.6
P1.5
P1.4
P1.3
P1.2
P1.1
P1.0
控制码
(P1口数据)
状态说明
(空)
(空)
B线
绿灯
B线
黄灯
B线
红灯
A线
绿灯
A线
黄灯
A线
红灯
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
0
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
0
F3H
F5H
DEH
EEH
A线放行,B线禁止
A线警告,B线禁止
A线禁止,B线放行
A线禁止,B线警告
(二) 实验连线表
A01
A06
A08
A15
连接1
+5V/GND
+5V/GND
+5V/GND
U1P20/U1P7
连接2
GND
KC1
连接3
P1.0-P1.5
LED0-LED5
连接4
INT0
KR1
连接5
T0
KR2
U1P1
连接6
T1
KR3
U1P2
连接7
INT1
U1P3
注:74LS08安装在A15模块的U1位置,上对齐。
(三)程序流程图
交通信号灯模拟控制系统程序流程图
实验步骤
输入程序并检查无误,对程序进行汇编、调试,然后烧写程序到89c51单片机;
连接A01、A06、A08和A15各相应的引脚;
运行程序,看交通灯是否正常运行,按下K5、K1键,观察交通灯的变化情况,按下K9键看是不是两道交通灯都变为红灯。
五 思考题
改变程序,同时实现左转弯和右转弯控制?