


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学科单片机控制系统运行和检修授课班级10411-10414日期3.21课题任务4模拟汽车左右转向灯 控制授课类型项目教学课时4教材单片机使用技术(C语言版)任课教师课序1-2教学目标认知目标熟悉单片机定时/计数器结构及定时器工作方式设定、初始值设置等基本使用方法能力目标掌握C语言控制单片机定时器的基本技能情感目标1、通过任务驱动项目教学培养学生学习电子专业单片机课程的浓 厚兴趣;2、养成做事耐心、细致、严谨的科学作风;3、提高学生“ 6S管理”意识。教学重点掌握C语言控制单片机定时器的基本技能教学难点掌握C语言控制单片机定时器的基本技能教学方法讲练结合课前准备教师准备:1、教案设计2、课件准备
2、;学生准备:1、学生预习2、完成预习报告,明确任务设计意图教师要求学生课前预习,明确本次课学习的内容。教师在单片机实训室按照 实训指导书的要求一步步完成相关的实训内容。在教师做适当讲解后尽量让学 生自主学习,讨论学习,展示成果。进行总结。教学过程教学内容教师活动学生活动一、实训目的通过对8个LED发光二极管显示的流水线工件计数器 系统的制作,进一步熟悉单片机定时/计数器结构及定时器工作方式设定、初始值设置等基本使用方法,掌握C语言控制单片机定时器的基本技能。二、实训要求说明实训内容、 目的说明实训要求学生观看、思 考学生观看、思 考OQOQ Q a Q 0 o a o o o o 0 pooo
3、o1$DODODOOX24EnDODDBOJIWOQPOllJ53刚】*OS%HWllDODwslaaiioai用单片机控制8个LED发光二极管,要求8个发光二 极管按照BCD码格式循环显示0099,跳变条件为计数按 键按下一次循环加 1显示方式如上图所示。三、实训电路川I少 *蔑thtf1hhwMt.*1 dWe:Fi iorfi 1F1上fl 駅f in_rrP1 口和LED之间连接了一个 74LS240,它是一块具有 驱动功能的八路反相器,除反相功能外,还可以起隔离作 用,保护单片机芯片电路,增加输出口的扇出能力。四、参考程序#in elude un sig ned char i,t;v
4、oid int_0() interrupt 0/外部中断0的中断号为 0i+;t=(i/10)4)|(i%10);/ 将 i 转换为 BCD 码P1=t;/计数值取反后送P1 口显示说明实训电路仍旧用以前实训3学生拿出以 前做的电路的电路要求学生自己编 程序学生思考、写程序教师指导学生编程序投影学生的程 序,大家一起分 析学生分析、发言、讨论void mai n()EA=1;EX0=1;IT0=1;while(1);五、程序运行测试编译、链接、接通电路板电源,即可观察到8个发光二极管可按照BCD码格式循环显示0099,跳变条件为按 下计数按钮。六、任务小结求学生编译、链接、调试程序 教师记录考
5、核要求学生小结学生编译、链 接、调试程序学生小结教学后记通过对8个LED发光二极管显示的流水线工件计数器系统的制作,进一步熟悉单片机定时/计数器结构及定时器工作方式设定、初始值设置等基本使用方法,掌握C语言控制单片机定时器的基本技能。学科单片机控制系统运行和检修授课班级10411-10414日期3.21课题任务4模拟汽车左右转向灯 控制授课类型项目教学课时2教材单片机使用技术(C语言版)任课教师王益军课序3-4教学目标认知目标知道定时器的初始值的计算方法能力目标1、会根据具体要求计算定时器的初始值2、会用定时器编制延时程序情感目标1、通过任务驱动项目教学培养学生学习电子专业单片机课程的浓 厚兴
6、趣;2、养成做事耐心、细致、严谨的科学作风;3、提高学生“ 6S管理”意识。教学重点定时器的初始值的计算教学难点会用定时器编制延时程序教学方法讲练结合课前准备教师准备:1、教案设计2、课件准备;学生准备:1、学生预习2、完成预习报告,明确任务设计意图本次课重点在于计算定时器的初始值,所以米用先介绍计算方法,后师生 一起解决一个初始值计算问题 。然后教师引出多个实际问题,要求学生自主 练习,教师指导。再根据初始值的计算,用定时器编制延时程序。教学过程教学内容教师活动学生活动1、定时器的初始值的计算对于不同的工作方式,计数器位数不同,故最大计数值M也不同:方式 0: M=213=8192方式 1:
7、 M=2 16=65536方式 2: M=2 8=256方式3:定时器0分为2个8位计数器,每个 M均为256。因为定时/计数器是作加1计数,并在计满溢出时产生中 断,因此初值X的计算如下:X = M -计数值计算出来的结果X转换为16进制数后分别写入 TL0 (TL1 )、TH0 (TH1 )。注意!方式0时初始值写入时,对于 TL不用的高3位 应填入0!2、举例1用T1、工作方式0实现1秒延时函数,晶振频率为12MHz。方式0米用13位计数器,其最大定时时间为:8设问:如何进行 定时器的初始值 的计算?教师记录考核教师举例学生阅读、思 考回答学生阅读、思 考回答192X Ws = 8.19
8、2ms,因此,定时时间不可能象任务7中一样选择50ms,可选择定时时间为 5ms,再循环200 次。定时时间为 5ms,则计数值为 5ms/Ws =5000,T1 的初值为:X = M -计数值=8192 - 5000 = 3192 = C78H = 00B13位计数器中TL1的高3位未用,填写0,TH1占高8 位,所以,X的实际填写值应为:X = 11000B = 6318H用T1方式0实现任务7中1秒延时函数如下:void delay1s()un sig ned char i;TMOD=OxOO;/置T1为工作方式0for(i=0;i0xc8;i+)/设置 200 次循环次数TH1=0x6
9、3;/设置定时器初值TL1=0x18;TR1=1;启动 T1while(!TF1);/查询计数是否溢出,即定时5ms时间到,TF1=1TF1=0;/ 5ms定时时间到,将定时器溢出标志位TF1清零3、举例2用T1、工作方式2实现1秒延时,晶振频率为12MHz。 因工作方式2是8位计数器,其最大定时时间为: 256X 1ks = 256Ms,为实现1秒延时,可选择定时时间为250Ms,再循环4000次。定时时间选定后,可确定计数值 为250,则T1的初值为:X = M -计数值=256 - 250=6 = 6H。米用T1方式2工作,因此,TMOD =0x20。 用定时器工作方式2实现的1秒延时函数如下:void delay1s()unsigned int i;/ i 取值范围为 04000,因此不能定义成 un sig ned charTMOD=0x20;/设置T1为方式2TH1=6;/设置定时器初值,放在for循环之外TL1=6;for(i=0;i4000;i+)/ 设置 4000 次循环次数TR1=1;启动 T1while(!TF1);/查询计数是否溢出,即定时2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论