您现在的位置是:首页 > 经验 > codewarrior定时器实验
推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

codewarrior定时器实验

更新时间:2020-06-22 00:20:01 大小:271K 上传用户:neverlandlg查看TA发布的资源 标签:codewarrior定时器 下载积分:2分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

定时器实验

在本次实验中,我进一步熟悉了串行口的相关原理和编程方法,实现了用定时器计数并且在小灯上体现,熟悉GP32利用定时中断计时的工作及编程方法。

首先,我们将串行口的时间输出值为十进制值字符输出即在时间输出时加‘0’即可。在编制利用定时器中断计数的程序时,通过串口中断方式接受PC端发送的系统时间,在定时溢出中断中对时间进行更新。而程序的主体是一个死循环。在该循环体中判断时间的秒是否更新,若更新了则用查询的方法将更新后的时间发送回PC端来验证程序正确与否。

同时,我们可以根据定时间隔计算时间参数。根据定时间隔计算分频因子和预置寄存器的值,在Timer1Init(定时器初始化子程序)设置定时器一状态和控制寄存器(T1SC)以及定时器一预置寄存器T1MODH、T1MODL)的相应位。设置允许定时器中断、允许定时器计数、定时器溢出标志位、定时器复位位,即设置定时器一状态和控制寄存器(T1SC)相应位。设置计数初值0x0000,即对定时器一计算寄存器(T1CNTH和T1CNTL)置初值0x0000

如果我们想要获取更大的定时器定时间隔,可以通过对分频因子和预置寄存器的设置来获取所要求的时间间隔,当超过一定值后,可以通过中断处理程序解决。

向计数寄存器中直接写入0可以使计数寄存器清零;向定时器复位位写入1时会清除计数寄存器;在允许计数的情况下,当计数寄存器的值达到预置寄存器的设定值时,计数寄存器亦自动清零。

 通过该实验,了解了如何使用定时器溢出中断进行计时,熟悉和掌握了MT-IDE嵌入式开发系统环境及其调试方式,进一步熟悉汇编编程和C语言编程;复习了串口通信(SCI)的相关原理和方法。

 


部分文件列表

文件名 大小
mcu实验三定时器实验.doc 271K

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载