单片机实验三报告定时计数器实验

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

南昌大学实验报告

学生姓名:学号:专业班级:

实验类型:?验证?综合■设计?创新实验日期:实验成绩:

实验三定时计数器实验

(一)实验目的

1.掌握单片机中断原理;

2.掌握定时器的初始化和定时模式编程。

(二)设计要求

1.采用定时器0/1做16位自动重装(方式0),中断频率为1000HZ;

2.中断函数从取反输出500HZ方波信号;

3.如果由于频率问题实验现象无法观察,请在中断程序中想办法实现。

(三)实验原理

1.单片机定时/计数器(T0/T1)的结构和工作原理

IAP15W4K58S4单片机内部有5个16位的定时/计数器,即T0、T1、T2、T3和T4。T0、T1结构框图如下图(图一)所示,TL0、TH0是定时/计数器T0的低8位、高8位状态值,TL1、TH1是定时/计数器T1的低8位、高8位状态值。TMOD是T0、T1定时/计数器的工作方式寄存器,由它确定定时/计数器的工作方式和功能;TCON是TO、T1定时/计数器的控制寄存器,用于控制T0、T1的启动与停止以及记录T0、T1的计满溢出标志;AUXR称为辅助寄存器,其中T0x12、T1x12 用于设定T0、T1内部计数脉冲的分频系数。、分别为定时/计数器T0、T1的外部计数脉冲输入端。

T0、T1定时/计数器的核心电路是一个加1计数器,如下图(图二)所示。加1计数器的脉冲有两个来源:一个是外部脉冲源:T0、T1,另一个是系统的时钟信号。计数器对两个脉冲源之一进行输入计数,每输入一个脉冲,计数值加1,当计数到计数器为全1时,再输入一个脉冲就使计数值回零,同时使计数器计满溢出标志位TF0或TF1置1,并向CPU发出中断请求。

(图一)

(图二)

定时功能:当脉冲源为系统时钟(等间隔脉冲序列)时,由于计数脉冲为一-时间基准,脉冲数乘以计数脉冲周期(系统周期或12倍系统周期)就是定时时间。即当系统时钟确定时,计数器的计数值就确定了时间。

计数功能:当脉冲源为单片机外部引脚的输入脉冲时,就是外部事件的计数器。如定时1计数器TO,在其对应的计数输入端TO 有一个负跳变时,TO计数器的状态值加1。外部输入信号的速率是不受限制的,但必须保证给出的电平在变化前至少被采样一次。

2.单片机定时/计数器(T0/T1)的控制

IAP15W4K58S4单片机内部定时/计数器(TO/T1) 的工作方式和控制由TMOD、TCON和AUXR 三个特殊功能寄存器进行管理。

TMOD:设置定时/计数器(TO/T1) 的工作方式与功能。

TCON:控制定时/计数器(TO/T1) 的启动与停止,并包含定时/计数器(TO/TI)的溢出标志位。

AUXR:设置定时计数脉冲的分频系数。

1)工作方式寄存器TMOD

TMOD为T0\T1的工作方式寄存器,其格式如下:

TMOD的低4位为T0的方式字段,高4位为T1的方式字段。他们的含义完全相同。M1/M0为T0/T1工作方式选择位,其定义如下图所示:

为功能选择位,0时为定时工作模式,1时为计数工作模式;GATE为门控位,当(GATE) =0时,软件控制位TRO或TR1置1即可启动定时1计数器;当(GATE)=1时,软件控制位TRO或TR1须置1,同时还须INT0或INT1引脚输入为高电平方可启动定时/计数器,即允许外部中断INT0、INT1输入引脚信号参与控制定时/计数器的启动与停止。

TMOD不能位寻址,只能用字节指令设置定时器工作方式,高4位定义T1,低4位定义T0。

复位时,TMOD所有位均置0。

2)定时/计数器控制寄存器TCON

TCON的作用是控制定时/计数器的启动与停止,记录定时/计数器的溢出标志以及外部中断的控制。定时/计数器控制字TCON的格式如下:

其中TF1为定时/计数器1溢出标志位,当定时/计数器1计满产生溢出时,由硬件自动置位TF1,在中断允许时,向CPU发出中断请求,中断响应后,由硬件自动清除TF1标志。也可通过查询TF1标志,来判断计满溢出时刻,查询结束后,用软件清除TF1标志;TR1为定时/计数器1运行控制位,由软件置1或清0来启动或关闭定时/计数器1。当(GATE)=0时,TR1置1即可启动定时/计数器1,当(GATE)=1时,TR1置1且INT1输入引脚信号为高电平时,方可启动定时/计数器1;TF0为定时/计数器0溢出标志位,其功能及操作情况同TF1;TR0为定时/计数器0运行控制位。其功能及操作情况同TR1。

3.单片机定时/计数器(T0/T1)的工作方式0

方式0是一个可自动重装初始值的16位定时/计数器,结构如下图所示,T0定时/计数器有两个隐含的寄存器RL_TH0、RL_TL0,用于保存16位定时/计数器的重装初始值,当TH0、TL0构成的16位计数器记满溢出时,RL_TH0、RL_TL0的值自动装入TH0、TL0中。RL_TH0与TH0共用同一个地址,RL_TL0与TL0共用同一个地址。当(TR0)=0时,TH0、TL0寄存器写入数据时,也会同时写入RL_TH0,RL_TL0寄存器中;当(TR0)=1时,对TH0、TL0写入数据时,只写入RL_TH0,RL_TL0寄存器中,而不会写入TH0、TL0寄存器中,这样不会影响T0的正常计数。对TH0、TL0寄存器读取数据时,读取的是TH0、TL0的状态值。

当T0工作在定时方式时,定时时间的计算公式如下:

定时时间=(2^16-T0定时器的初始值)×系统时钟周期×12^(1-T0×12)

(四)实验设备

硬件:PC机、USB数据传输线、STC单片机综合实验箱

软件:兼容51单片机的Keil uvision5集成开发环境、STC-ISP单片机烧录软件

(五)实验结果

相关文档
最新文档