想学习单片机的同学可以关注、私信我或者在评论区回复我要入门。在学习单片机的过程中,中断、串口是比较难的点。因为这是学习单片机的重点内容,如果在学习单片机过程中没有理解这几部分内容,那就等于还没有掌握51单片机,那更谈不上独立开发单片机,我们都知道在成品的单片机项目中,有很多是以这几部分为理论基础的,万年历是以定时器为主的,报警器是以中断为主的,联机通讯是以串口为主的。

打开网易新闻 查看精彩图片

在这几部分内容中,计数器/定时器对于初学者说很容易搞混淆,下面我将对这方面的内容结合自己的学习经验来讲一下。

记数器和定时器是相同的,他们都是对单片机中产生的脉冲进行计数,只不过计数器是单片机外部触发的脉冲,定时器是单片机内部在晶振的触发下产生的脉冲。当他们的脉冲间隔相同的时候,计数器和定时器就是一个概念。

在定时器和计数器中都有一个溢出的概念,那什么是溢出了。我们可以从一个生活小常识得到答案,我们用瓶子接水的时候,一段时间后,碗的水满了,就发生溢出。瓶子中溢出的水就造成了资源浪费,在单片机的中“这些水”溢出就会产生一次中断。

在定时器计数器中,我们有个概念叫容量,就是最大计数量。

把水滴比喻成脉冲,那么导致水溢出的最后一滴水就是定时计数器溢出的最后一个脉冲。

在各种单片机书本中,在介绍定时计数器时都讲到一个计数初值,那什么是计数初值呢?在这里我们还是假设水滴碗。假设第一百滴水能够使碗中的水溢出,我们就知道这个瓶子的容量是100。

要怎么样才能使瓶子接到10滴水就溢出呢?如果拿一个空碗去接水,那么还是得要100滴水才能溢出,但是如果我们拿一个已经装有水的碗去接,那就不用100滴了。到此我们可以算出,要使10滴水让碗中的水溢出,那么碗中就先要装90滴水。这个90滴水就是初始值。

本期先分享到这里,想要进群学习单片机编程的同学可以私信我,回复“我要入门”,与我们一起成长,喜欢的可以点个赞关注我们!

打开网易新闻 查看精彩图片