课题六 简易频率计 课件 广东2022中职《单片机应用技术(C语言 第二版)》

2023-01-24
| 56页
| 112人阅读
| 10人下载
普通

内容正文:

任务一 输出1 000 Hz的方波 任务二 每秒闪烁一次的LED 任务三 简易频率计 课题六 建议频率计 在实践中,往往需要利用单片机实现间隔一较短时间重复执行某一事件的功能。使用单片机可输出不同频率的方波,既可以作为其他电路的信号源,也可作为报警器、简易音乐等的信号提供电路,直接驱动发声器件发出对应的声音。 本任务的内容是使用AT89S51单片机的定时/计数器模块,利用定时中断实现从P1.0输出1 000 Hz方波的功能。 任务提出 任务一 输出1 000 Hz的方波 根据任务目标,要实现从P1.0输出1 000 Hz的方波,实际上就是要求从P1.0连续输出周期为1 ms的方波,或者说按标准时间间隔改变P1.0引脚的高低电平。由于单片机的定时/计数器属于单片机内部功能模块,所以整个系统的硬件仅需要单片机的最小系统即可。 任务分析 要完成标准时间间隔,可以采用空循环指令的方式实现延时,其缺点是单片机在定时期间内不能进行其他操作,使单片机的工作效率极低;也可以采用执行其他任务来兼顾延时,但执行其他任务的耗时与期望定时的时间不尽相同,因此不能实现精确定时。 为了解决精确定时与执行其他任务之间的矛盾,常采用单片机定时/计数器定时中断的方式来实现精确定时。 采用定时中断时,定时的任务是由单片机的定时/计数器硬件单独完成的,而单片机就可以正常地执行其他程序任务,只有当定时时间到了,才中断正在执行的程序,转去执行中断服务程序,中断服务程序执行完成后,自动回到断点,继续执行被中断的程序。 一、定时/计数器简介 在8051系列单片机中有两个可编程的定时/计数器,分别叫做T0和T1。在8052系列单片机除了上述两个定时/计数器外,还有一个定时/计数器2(T2),它的功能更强一些。它们既可以编程作为定时器使用,也可以编程作为计数器使用。T1和T2还可以作为串行接口的波特率发生器。 相关知识 定时/计数器实质上就是一个加1计数器,定时器实际上也是以计数方式工作的,只是它对固定频率的脉冲进行计数,由于脉冲周期固定,由计数值可以计算出定时时间,由此实现定时功能。 当定时/计数器工作于定时器方式时,它对具有固定时间间隔的内部机器周期进行计数,每个机器周期使定时器的值增加1。而每个机器周期等于系统石英晶体振荡器的12个振荡周期,故计数频率为系统振荡器工作频率的1/12,当采用12MHz的晶振时,计数频率为1 MHz,计数周期为1 μs。 定时/计数器的寄存器是一个16位的寄存器,由两个8位寄存器组成。对应定时器T0的寄存器是由TL0和TH0组成的,对应定时器T1的寄存器是由TL1和TH1组成的。定时/计数器的初始值通过计数寄存器进行设置,定时或计数的脉冲个数也可以从计数寄存器读出。 T0和T1由模式控制寄存器TMOD来设置工作方式,由控制寄存器TCON来控制T0、T1的启动、停止和设置溢出标志。 当计数溢出(计数器计数到所有位全为“1”时,下一个计数脉冲到达时,使计数各位全部回到零)时,使定时器控制寄存器TCON的TF0或TF1位置1,向CPU发出中断请求,在定时/计数器中断允许的情况下,将引起定时中断。当发生溢出时,如果定时/计数器工作于定时模式,则表示定时时间已到,如果工作于计数模式,则表示外部脉冲个数已超过定时/计数器设置的工作方式允许的最大计数值。 二、定时/计数器的模式控制寄存器TMOD 模式控制寄存器TMOD是对定时器0和定时器1的计数方式和计数器控制方式进行设置的寄存器,低4位用于T0,高4位用于T1。TMOD位于内部特殊寄存器区的89H单元,TMOD不能位寻址,即只能对其整体赋值或读取。CPU复位时TMOD所有位清0。TMOD寄存器的八位控制功能如下所示: 定时/计数器有4种工作方式,由M1、M0位进行设置。工作方式的设置见表。 定时/计数器工作方式 1.方式0 定时/计数器工作方式0的结构图 2.方式1 定时/计数器工作方式1的结构图 3.方式2 定时/计数器工作方式2的结构图 4.方式3 定时/计数器工作方式3的结构图 四、定时/计数器中断的实现过程 在外部中断模块中已介绍过中断控制寄存器TCON,TCON的低4位用于外部中断控制,而TCON的高4位则用于定时/计数器的启动和中断申请,TCON位于内部特殊寄存器区的88H单元,高4位功能如下所示: 为了说明定时/计数器中断时各寄存器的设置和工作过程,图给出了定时/计数器T0中断设置和工作示意图。 定时/计数器中断设置和工作示意图 五、定时/计数器的初始化设置 定时/计数器的初始化是非常重要的,以定时器0为例,初始化编程格式如下所示: TMOD=方式字; //选择定时器的工作方式,高4位为T1的设置 TH0=高8位初始值;//装入T0时间常数 TL0=低8位

资源预览图

课题六 简易频率计 课件 广东2022中职《单片机应用技术(C语言 第二版)》
1
课题六 简易频率计 课件 广东2022中职《单片机应用技术(C语言 第二版)》
2
课题六 简易频率计 课件 广东2022中职《单片机应用技术(C语言 第二版)》
3
课题六 简易频率计 课件 广东2022中职《单片机应用技术(C语言 第二版)》
4
课题六 简易频率计 课件 广东2022中职《单片机应用技术(C语言 第二版)》
5
课题六 简易频率计 课件 广东2022中职《单片机应用技术(C语言 第二版)》
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。