第五章MCS-51定时计数器、串行口及中断系统 本章重点讨论 定时/计数器; 2.全双工串行口; 3.中断系统
第五章MCS-51定时/计数器、串行口及中断系统 本章重点讨论: 1. 定时/计数器; 2. 全双工串行口; 3. 中断系统
5.1MCS-51定时/计数器 51.1定时器/计数器的基本概念 512MCS-51定时/计数器的组成 51.3定时器/计数器的控制方法 514定时器、计数器的初始化 515举例 51.6定时计数器总结
5.1 MCS-51定时/计数器 5.1.1 定时器/计数器的基本概念 5.1.2 MCS-51定时/计数器的组成 5.1.3 定时器/计数器的控制方法 5.1.4 定时器、计数器的初始化 5.1.5 举例 5.1.6 定时计数器总结
计数概念的引入1 生活中计数的例子处处可见。例:录音机上的计数器、 家里面用的电度表、汽车上的里程表等等。再举 工业生产中的例子,线缆行业在电线生产出来之后要 计米,也就是测量长度,怎么测法呢?用尺量?不现 实,太长不说,要一边做一边量呢,怎么办呢?行业 中有很巧妙的方法,用一个周长是1米的轮子,将电 缆绕在上面一周,由线带轮转,这样轮转一周不就是 线长1米嘛,所以只要记下轮转了多少圈,就可以知 道走过的线有多长了
计数概念的引入1 生活中计数的例子处处可见。例:录音机上的计数器、 家里面用的电度表、汽车上的里程表等等。再举一个 工业生产中的例子,线缆行业在电线生产出来之后要 计米,也就是测量长度,怎么测法呢?用尺量?不现 实,太长不说,要一边做一边量呢,怎么办呢?行业 中有很巧妙的方法,用一个周长是1米的轮子,将电 缆绕在上面一周,由线带轮转,这样轮转一周不就是 线长1米嘛,所以只要记下轮转了多少圈,就可以知 道走过的线有多长了
计数概念的引入2 石油工业中,也有大量计数的问题。 比如如何确定油层的深度?通常采用的方法是在裸眼井 完钻测井以后,需要下金属套管固井,每一根套管的 长度是一样的,比如10米,在每根套管的接箍处都打 上磁标记。 下完套管就要用水泥固井,然后套管就被永久埋在地下 为了产出石油,下一步就是在测井以后确定的层位处 射孔。这时在射孔枪的上面就通过电缆接了一根磁定 位仪器,这个仪器可以测量到套管接箍上的磁标记, 并且可以计量磁标记的数目,因此就可以确定射孔枪 的目标油层的深度。当然10m以内的深度是靠地面测 量电缆长度确定的
计数概念的引入2 石油工业中,也有大量计数的问题。 比如如何确定油层的深度?通常采用的方法是在裸眼井 完钻测井以后,需要下金属套管固井,每一根套管的 长度是一样的,比如10米,在每根套管的接箍处都打 上磁标记。 下完套管就要用水泥固井,然后套管就被永久埋在地下。 为了产出石油,下一步就是在测井以后确定的层位处 射孔。这时在射孔枪的上面就通过电缆接了一根磁定 位仪器,这个仪器可以测量到套管接箍上的磁标记, 并且可以计量磁标记的数目,因此就可以确定射孔枪 的目标油层的深度。当然10m以内的深度是靠地面测 量电缆长度确定的
计数器的容量1 从一个生活中的例子看起:一个水盆在水龙头下,水龙 没关紧,水一滴滴地滴入盆中。水滴不断落下,盆的 容量是有限的,过一段时间之后,水就会逐渐变满。 那么单片机中的计数器有多大的容量呢?8031单片机中 有两个计数器,分别称之为T0和T1,这两个计数器分 别是由两个8位的RAM单元组成的,即每个计数器都 是16位的计数器,最大的计数量是65535
计数器的容量1 从一个生活中的例子看起:一个水盆在水龙头下,水龙 没关紧,水一滴滴地滴入盆中。水滴不断落下,盆的 容量是有限的,过一段时间之后,水就会逐渐变满。 那么单片机中的计数器有多大的容量呢?8031单片机中 有两个计数器,分别称之为T0和T1,这两个计数器分 别是由两个8位的RAM单元组成的,即每个计数器都 是16位的计数器,最大的计数量是65535
计数器的容量2 般的下井电缆长度在7000m,根据井眼长度的 不同还有更长或更短的电缆,可以依据需要选 取 因此,计数器的容量就是由电缆长度决定的
计数器的容量2 一般的下井电缆长度在7000m,根据井眼长度的 不同还有更长或更短的电缆,可以依据需要选 取。 因此,计数器的容量就是由电缆长度决定的
计数与定时的关系 8031中的计数器除了可以作为计数之用外,还可 以用作时钟,时钟的用途当然很大,如学校的打 铃器,电视机定时关机,空调定时开关等等,那 么计数器是如何作为定时器来用的呢? 一个闹钟,将它定时在1个小时后闹响,换言之 也可以说是秒针走了(3600)次后闹响,所以时 间就转化为秒针走的次数,也就是计数的次数了。 可见,计数的次数和时间之间的确十分相关。那 么它们的关系是什么呢?那就是秒针每一次走动 的时间正好是1秒。 因此只要计数脉冲的间隔相等,计数脉冲的周期 已知则计数值就代表了时间的流逝
计数与定时的关系 n 8031中的计数器除了可以作为计数之用外,还可 以用作时钟,时钟的用途当然很大,如学校的打 铃器,电视机定时关机,空调定时开关等等,那 么计数器是如何作为定时器来用的呢? n 一个闹钟,将它定时在1个小时后闹响,换言之, 也可以说是秒针走了(3600)次后闹响,所以时 间就转化为秒针走的次数,也就是计数的次数了。 可见,计数的次数和时间之间的确十分相关。那 么它们的关系是什么呢?那就是秒针每一次走动 的时间正好是1秒。 n 因此只要计数脉冲的间隔相等,计数脉冲的周期 已知,则计数值就代表了时间的流逝
溢出 让我们再来看水滴的例子,当水不断落下,盆中 的水不断变满,最终有一滴水使得盆中的水满了 这时如果再有一滴水落下,就会发生什么现象? 水会漫出来,用个术语来讲就是“溢出”。 水溢出是流到地上,而计数器溢出后将使得TF0变 为“12。至于TF0是什么我们稍后再谈。一旦TF0 由0变成1,就是产生了变化,产生了变化就会引 发事件,就象定时的时间一到,闹钟就会响一样
溢出 n 让我们再来看水滴的例子,当水不断落下,盆中 的水不断变满,最终有一滴水使得盆中的水满了。 这时如果再有一滴水落下,就会发生什么现象? 水会漫出来,用个术语来讲就是“溢出” 。 n 水溢出是流到地上,而计数器溢出后将使得TF0变 为“1” 。至于TF0是什么我们稍后再谈。一旦TF0 由0变成1,就是产生了变化,产生了变化就会引 发事件,就象定时的时间一到,闹钟就会响一样
溢出2 ◆如果电缆的最大长度为7000m,那么磁标记计 数器计满700以后,就要产生一个溢出信号, 这个溢出信号意味着电缆已经放到头了,需要 地面的缆车立即停止工作,否则可能造成射孔 枪落井的事故 ◆计数器溢出后会引发什么事件,我们下次课再 介绍,现在我们来研究另一个问题:要有多少 个计数脉冲才会使TFO由0变为1?
溢出2 如果电缆的最大长度为7000m ,那么磁标记计 数器计满700以后,就要产生一个溢出信号, 这个溢出信号意味着电缆已经放到头了,需要 地面的缆车立即停止工作,否则可能造成射孔 枪落井的事故。 计数器溢出后会引发什么事件,我们下次课再 介绍,现在我们来研究另一个问题:要有多少 个计数脉冲才会使TF0由0变为1?
任意定时及计数的方法 刚才已研究过,MCS-51计数器的容量是16位,也就是最大 的计数值到65536,因此计数计到65536就会产生溢出。 问题是在现实生活中,经常会有少于65536个计数值的要 求,如包装线上,一打为12瓶,一瓶药片为100粒,怎么 样来满足这个要求呢? 提示:如果是一个空的盆要10000滴水滴进去才会满,如 果在开始滴水之前就先放入一勺水,还需要10000滴吗? 我们采用预置数的方法,要计数100次,那就先放进 65436,再来100个脉冲,不就到了65536了吗。 定时也是如此,每个脉冲是1微秒,则计满65536个脉冲 需时65.536毫秒。如果现在只要10毫秒定时怎么办? 10个毫秒为10000个微秒,所以,只要在计数器里面放进 65536-10000=55536就可以了
任意定时及计数的方法 刚才已研究过,MCS-51计数器的容量是16位,也就是最大 的计数值到65536,因此计数计到65536就会产生溢出。 问题是在现实生活中,经常会有少于65536个计数值的要 求,如包装线上,一打为12瓶,一瓶药片为100粒,怎么 样来满足这个要求呢? n 提示:如果是一个空的盆要10000滴水滴进去才会满,如 果在开始滴水之前就先放入一勺水,还需要10000滴吗? n 我们采用预置数的方法,要计数100次,那就先放进 65436,再来100个脉冲,不就到了65536了吗。 n 定时也是如此,每个脉冲是1微秒,则计满65536个脉冲 需时65.536毫秒。如果现在只要10毫秒定时怎么办? n 10个毫秒为10000个微秒,所以,只要在计数器里面放进 65536-10000=55536就可以了