- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
24交通灯电路(程序)
课 堂 教 学 教 案
授课章节名称 24定时器实现倒计时交通灯程序部分 课型 实践 授 课 日 期 年 月 日 第 周 课时数 2 教 学 目 标 知识与技能:
正确分析交通灯电路的结构、工作流程
能够根据工作流程完成程序的编制并调试
过程与方法:
1、掌握模块化编程的方法
情感态度价值观:
1、培养分块分析、软件硬件相结合的逻辑思维 教 学 重 点 能够根据工作流程完成程序的编制并调试
教 学 难 点 能够根据工作流程完成程序的编制并调试
教 学 方 法 讲授法、演示法、实验法
教 学 资 源
PPT、计算机、仿真软件
课 外 作 业 实训报告 教 学 后 记 教学实践
教学环节与主要教学内容 具体教学目标 教学活动 【新课讲授】 任务三、定时器中断实现倒计时交通灯控制电路部分
一、复习电路结构
图3-18 交通灯控制系统硬件原理图
系统中,用P3.5控制机动车道下路口绿灯,P3.6控制机动车道下路口黄灯,P3.7控制机动车道下路口红灯。因为上路口的红绿灯状态和下路口的红绿灯状态是相同的,因此,将上路口的红黄绿灯和下路口的红黄绿灯接在一起。
P3.3接行人红灯,P3.4接行人绿灯。INT0连接一个按键作为行人优先系统的输入端。P0口做数码管的段选端口,P2.0和P2.1分别做两个数码管的位选端口。
二、分析任务流程
在单片机系统中,系统总是工作在不同的状态的,当满足一定的条件时,状态之间就会产生转移,系统从一个状态转移到另一个状态的过程叫做状态切换。一个复杂的系统可能具有数十个状态,而且有的状态本身还会具有包含于自身内部的子状态。而一个完好的单片机系统最首要的就是保证各个状态之间的切换不能产生错误。在本任务中,系统的状态只有三个,即红灯状态,黄灯状态和绿灯状态。
为了达到系统状态正确切换的目的,人们发明了很多种系统程序编写的方法,其中前后台系统就是一种简单且常用的系统编程方法。
前台是指系统中具有较高实时性的部分。一般来说,前台由各个中断服务程序组成,当中断条件满足时,通过中断服务程序快速地将一些具有实时性要求的标志进行置位或复位操作,以供后台程序能够及时查询到响应的系统变化而执行相关的操作。另一方面,前台程序可以完成一些影响用户操作体验的程序,比如按键输入扫描和数码管的动态扫描显示等,前者要求无论何时都不能遗漏用户的输入操作,后者要求用户的视觉体验要没有明显不适,这类需要定时扫描的模块一般也会放在前台中。
后台是指系统中实时性要求不是很高的部分。一般来说,后台就是主函数中由while(1)限定的循环部分。比如数码管显示秒计数的时候,如果存在数十毫秒的误差,这样微小的时间差一般不会引起人感官上的差别,因此这样的程序部分就可以放在后台中。后台一般也用于通过扫描系统各个标志位的变化来切换系统的状态。需要注意的是,在采用前后台的系统中,一般后台部分的程序比较庞大,所以在后台程序中应该避免甚至杜绝延时类的程序,以免某些后台程序响应过慢。
在本任务中,主函数作为后台部分,完成系统状态切换,数码管缓冲刷新,读秒等操作。INT0、T0、T1作为前台部分,实现行人实时优先,数码管动态扫描和秒信号发生等操作。
三、任务实施
1、编写程序
系统源程序如下:
/********************************************** 交通信号灯演示程序
**********************************************/
#include reg52.h
typedef unsigned char U8; //定义8位无符号数据类型
#define DM P0 //数码管数据端口P0
#define ZT_LV 0 //定义绿灯状态号为0
#define ZT_HUANG 1 //定义黄灯状态号为1
#define ZT_HONG 2 //定义红灯状态号为2
#define LV_SJ 40 //定义绿灯起始秒数为40s
#define HUANG_SJ 4 //定义黄灯起始秒数为4s
#define HONG_SJ 20 //定义红灯起始秒数为20s
#define KAI 0
#define GUAN 1
sbit XR_HONG P3^3; //定义行人红灯硬件接口为P3.3
sbit XR_LV P3^4; //定义行人绿灯硬件接口为P3.4
sbit LV P3^5; //定义绿灯硬件接口为P3.5
sbit HUANG P3^6; //定义黄灯硬件接口为P3.6
sbit HONG P3^7; //定义红灯硬件接口为P3.7
sbit SMG0 P2^0; //数码管
文档评论(0)