如何看懂单片机的时序图

如何看懂单片机的时序图,第1张

  所谓“时序”从字面含义上来了解,一是“时刻疑问”,二是“次第疑问”。

  先说“次第疑问”,这个相对简略一些。咱们在学 UART 串口通讯的时分,先 1 位开端位,再 8 位数据位,终究 1 位接连位,这个先后次第不能错。咱们在学 1602 液晶的时分,比方写指令,RS=L,R/W=L,D0~D7=指令码,这三者的次第是无所谓的,可是终究的 E=高脉冲,有必要是在这三条程序往后,这个次榜首旦过错,写的数据也可会犯错。

  “时刻疑问”内容相对凌乱。比方 UART 通讯,每一位的时刻宽度是 1/baud。咱们初中就学过一个概念,世界上没有必定的精确。那么每一位的时刻宽度 1/baud 央求精确到啥方案内呢?

  前边教程我说到过,单片机读取 UART 的 RXD 引脚数据的时分,一位数据,单片机均匀分红了 16 份,取其间的 7、8、9 三次读到的效果,这三次中有 2 次是高电平那这一位即是 1,有 2 次是低电平,那这一次即是 0。假定咱们的波特率略微有些过错,只需累计下来到终究一位接连位,这 7、8、9 还在方案内即可。如图 13-1 所示。

如何看懂单片机的时序图,如何看懂单片机的时序图,第2张

  图 13-1 UART 信号搜集时序图

  咱们用三个箭头来标明 7、8、9 这三次的搜集方位,咱们能够留神到,当搜集到 D7 的时分,现已有一次搜集偏出去了,可是咱们搜集到的数据仍是不会错,因为有 2 次搜集精确。至于这个过错容许多大,咱们自个能够详细算一下。实习上 UART 通讯的波特率是容许必定方案内过错存在的,可是不能过大,不然就会搜集过错。咱们在核算波特率的时分,发现没有整除,有小数有些的时分,就要分外留神了,因为小数有些是一概被舍掉的,所以核算过错就发作了。咱们用 11.0592M 晶振核算的进程中,11059200/12/32/9600 得到的是一个整数,假定用 12M 晶振核算 12000000/12/32/9600 就会得到一个小数,咱们能够算一下过错多少,是不是在过错方案内。

  1602 的时序疑问,咱们要学会经过 LCD1602 的数据手册供应的时序图和时序参数表格来进行研讨,并且看懂时序图是学习单片机悉数必要把握的一项技能,如图 13-2 所示。

如何看懂单片机的时序图,如何看懂单片机的时序图,第3张

  图 13-2 1602 时序图

  咱们看到这种图的时分,不要感触惧怕。说句不过火的话,单片机这些逻辑上的疑问,只需小学结业就能够了解的,许多时分是因为咱们把疑问期望的太难才学不下去的。

  咱们先来看一下读 *** 作时序的 RS 引脚和 R/W 引脚,这两个引脚抢先行改动,由所以读 *** 作,所以 R/W 引脚首要要置为高电平,而不管它正本是啥。读指令仍是读数据,都是读 *** 作,并且都有或许,所以 RS 引脚既有或许是置为高电平,也有或许是置为低电平,咱们留神图上的画法。而 RS 和 R/W 改动了经过 Tsp1 这么长时刻后,使能引脚 E 才华从低电平到高电平发作改动。

  而使能引脚 E 拉高经过了 tD 这么长时刻后,LCD1602 输出 DB 的数据即是有用数据了,咱们就能够来读取 DB 的数据了。读完了往后,咱们要先把使能 E 拉低,经过一段时刻后 RS、R/W 和 DB 才华够改动持续为下一次读写做预备了。

  而写 *** 作时序和读 *** 作时序的纷歧样,即是写 *** 作时序中,DB 的改动是由单片机来结束的,因而要放到使能引脚 E 的改动之跋涉行 *** 作,其它差异咱们能够自行比照一下。

  仔细的同学会发现,这个时序图上还有许多时刻标签。比方 E 的上升时刻 tR,下降时刻时刻 tF,使能引脚 E 从一个上升沿到下一个上升沿之间的长度周期 tC,使能 E 下降沿后,R/W 和 RS 改动时刻间隔 tHD1 等等许多时刻央求,这些央求怎么看呢?定心,只需是规范的数据手册,都会把这些时刻央求给咱们符号出来的。咱们来看一下表 13-1。

如何看懂单片机的时序图,如何看懂单片机的时序图,第4张

  咱们要长于把手册中的这个表格和时序图联络起来看。表 13-1 中的数据,都是时序参数,本节课的悉数时序参数,我都一点点的给咱们讲出来,往后遇到同类时序图,就不再讲了,仅仅提一下,可是咱们必需求学会自个看时序图,这个很首要,此外,看以下阐明需求联络图 13-2 来看。

  tC:指的是使能引脚 E 从本次上升沿到下次上升沿的最短时刻是 400ns,而咱们单片机因为速度较慢,一个机器周期即是 1us 多,而一条 C 言语指令必定是一个或许几个机器周期的,所以这个条件彻底满意。

  tPW:指的是使能引脚 E 高电平的持续时刻最短是 150ns,一样因为咱们的单片机比照慢,这个条件也彻底满意。

  tR, tF:指的是使能引脚 E 的上升沿时刻和下降沿时刻,不能逾越 25ns,别看这个数很小,正本这个时刻限值是很宽余的,咱们实惯用示波器测了一下开发板的这个引脚上升沿和下降沿时刻大约是 10ns 到 15ns 之间,彻底满意。

  tSP1:指的是 RS 和 R/W 引脚使能后起码坚持 30ns,使能引脚 E 才华够成为高电平,这个条件一样也彻底满意。

  tHD1:指的是使能引脚 E 成为低电平后,起码坚持 10ns 往后,RS 和 R/W 才华进行改动,这个条件也彻底满意。

  tD:指的是使能引脚 E 成为高电平后,最多 100ns 后,1602 就把数据送出来了,那么咱们就能够正常去读取状况或许数据了。

  tHD2:指的是读 *** 作进程中,使能引脚 E 成为低电平后,起码坚持 20ns,DB 数据总线才华够进行改动,这个条件也彻底满意。

  tSP2:指的是 DB 数据总线预备好后,起码坚持 40ns,使能引脚 E 才华够从低到高进行使能改动,这个条件也彻底满意。

  tHD2:指的是写 *** 作进程中,要引脚 E 成为低电平后,起码坚持 10ns,DB 数据总线才华够改动,这个条件也彻底满意。

  好了,表 13-1 这个 LCD1602 的时序参数表现已解析结束了,看完往后,是不是感触比你期望的要简略,没有你想的那么艰难。咱们自个也得逐步学会看这种时序图和表格,在往后的学习中,这方面的才华尤为首要。假定往后换用了其它类型的单片机,那么就依据单片机的施行速度来评价你的程序是不是满意时序央求,全体上来说器材都是有一个最活络度的绑缚,而没有最慢绑缚,所以当换用高速的单片机后通常都是靠在各进程间刺进软件延时来满意较慢的时序央求。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2511305.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-05
下一篇 2022-08-05

发表评论

登录后才能评论

评论列表(0条)

保存