这里说说定时器/计数器中断
一,CPU时序相关知识:
1,震荡周期:一次震荡时间。比如我们常用的12M HZ的晶振,表示1s震荡12M次,即1s钟震荡12 x 1000 000 次,那么震荡一次需要的时常为(1 / 12000000 )s,这样(1/12000000 )s就是12M晶振的一个震荡周期。
2,状态周期:两个震荡周期的时长为一个状态周期。比如12M晶振下为(2 / 12000000 )s
3,机器周期:1个机器周期包含6个状态周期,也就是12个震荡周期。比如12M晶振下为(12 / 12000000 )s
4,指令周期:完成一条指令所占用的时间,它是以机器周期为单位
二,定时计数器:
51单片机有两组定时计数器
定时器/计数器和单片机CPU是相互独立的,工作是自动完成,CPU不会参与
定时器/计数器会根据机器内部时钟/外部脉冲对寄存器数据进行加1 操作。
定时器/计数器可以在CPU之外独立工作,减轻CPU负担。
工作方式:定时计数器工作时候,会随着机器时钟/外部脉冲进行+1操作,有两个计数器(比如计时器0中的TL0,TH0)计数,两个字节一共16位,如果计数器全部为 1的时候,再输入一个脉冲,计数器就会清零,同时计数器使对应的中断标志位(比如TF0)置为1,然后向CPU发起中断请求,中断函数响应。定时模式下的中断发生,表示时间到了;计数模式下的中断发生,表示计数值已满。
如果需要进行计时操作;为了精准控制,就需要我们对计数器的初始值(比如TH0,TL0)进行准确设置。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !