昆明冶金高等专科学校教学教案课题: 编程实例 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
5 控制,6 只信号灯以共阴极方式连接,当 P1 口输出为高电平时,信号灯点亮,为实现上述控制要求,P1 口共输出四种控制码,如表 1 所示
表 1:交通灯信号控制码空空B 道绿灯B 道黄灯B 道红灯A 道绿灯A 道黄灯A 道红灯控制码P1
0状态说明000011000CHA