打印
[示例代码]

T0定时器中断模式实验

[复制链接]
4275|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cyclefly|  楼主 | 2021-10-26 17:46 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 cyclefly 于 2021-10-26 17:45 编辑

功能简述: T0定时中断模式的使用,使得数码管从0~9999计数,1秒增加1,当加到 9999时,又从0开始计数。

本实验运用到两个模块,一个是单片机内部功能模块,定时器0(T0),另一个是数码管显示模块。数码管具体特性在此之前已经讲解过,在此不作敷述,T0属于内部模块,不需进行接线操作

T0是一个8位的定时/计数器,当T0寄存器值加到255时,再加1,则会产生溢出,T0寄存器的值返回到0开始重新计数。使用T0定时器,只需配置OPTR一个寄存器,其各个位如图4.1所示。在此重点讲解定时器0的分频器使用,例如我们采用8M频率,T0工作在定时模式下为每个机器周期加1,则定时器每次加1的时间是(1/8M)*4=0.5us。如果此时将预分频器分频比设置成64分频,那么定时器每次加1的时间就是0.5us*64=32us。如果我们需要一个5MS的定时,那么我们需要156个这样的计数。此时我们即可将T0寄存器初始值设为100,当T0数值加到256时正好是156个计数,这样便会产生一个5MS的定时。200个5MS这样的定时就是1S的时间。当T0用于定时中断功能时,关于OPTR寄存寄存器的说明如下:






   








使用特权

评论回复
沙发
单片小菜| | 2021-10-27 10:54 | 只看该作者
代码写的很工整,不错的,但是不太理解你的问题。

使用特权

评论回复
板凳
自己造声卡| | 2021-10-28 08:51 | 只看该作者
楼主的代码写的很工整,不错的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

106

主题

569

帖子

1

粉丝