第四讲单片机结构-CPU时序1.ppt

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四讲单片机结构-CPU时序1.ppt

单片机内部结构及最小系统 六、CPU时序 计算机在执行指令时, 通常将一条指令分解为若干基本的微操作, 这些微操作所在时间上都有严格的先后次序,这些次序就是计算机的时序。 单片机振荡电路的振荡周期和时钟电路的时钟周期决定了CPU时序。 振荡周期: 为单片机提供定时信号的振荡源的周期(晶振周期或外加振荡源周期)。 时钟周期,又称状态周期: 2个振荡周期为1个状态周期, 用S表示。分为两个节拍,即P1和P2。 机器周期: 1个机器周期含6个状态周期, 用S1、 S2、 …、 S6表示, 共有12个节拍。每个机器周期完成某些规定的操作。 指令周期:单片机执行一条指令占用的全部时间。一个指令周期通常含有1~4个机器周期。 单片机执行指令分为取指阶段和执行指令阶段。 例如: 外接晶振为12 MHz时, MCS—51单片机的4个时间周期的具体值为: 振荡周期=1/12 μs; 状态周期=1/6 μs; 机器周期=1 μs; 指令周期=1~4 μs。 MCS—51单片机的CPU取指令和执行指令的时序如图所示。 MCS—51单片机CPU取指/执行时序 单周期指令的执行从S1P2开始, 在S1P2期间读入操作码并把它锁存到指令寄存器中。 双字节指令, 则在同一机器周期的S4期间读出第2个字节。 对于单字节指令在S4处仍有一次读操作, 但这时读出的字节(下一条指令的操作码)是不予考虑的, 而且程序计数器PC也不加1。 对于单周期指令, 在上述任何情况下, 指令都在S6P2期间完成操作。 (a)和(b)分别表示单字节单周期和双字节单周期指令的执行时序。 (c)表示单字节双周期指令的时序, 单字节双周期指令在两个机器周期内作4次读操作码的操作, 由于是单字节指令, 后3次读操作是无效的。 (d)表示执行访问外部数据存储器指令MOVX的时序, 这是一条单字节双周期指令,具有其特殊性。一般情况下,两个指令码字节在一个机器周期内,从程序存储器取出,而在MOVX指令整个执行期间少执行两次取指操作,在第一个机器周期S5开始时,送出外部数据存储器地址,随后读写数据。读写期间,ALE端不输出有效信号,在第二机器周期,也不产生取指操作。 因此,在ALE作为时钟输出时,CPU在执行MOVX指令时会丢失一个周期,应予注意。 七、并行I/O端口 MCS-51单片机的四个并行I/O口,共占32个管理,其中两个管脚可以作全双工异步串行I/O口。 1.并行I/O端口 P0、P1、P2、P3 都是双向口 都是三态口(高、低、高阻) 输出有锁存、输入有缓冲 都可以作为通用I/O P0口作通用I/O需上拉电阻 都有三种读写方式 写端口、读端口、读引脚 1. P0口结构 P0口是一个三态双向口, 可作为地址/数据分时复用口, 也可作为通用I/O接口。 P0口由8个这样的电路组成: 锁存器起输出锁存作用, 8个锁存器构成了特殊功能寄存器P0; 场效应管(FET)V1、 V2组成输出驱动器, 以增大带负载能力; 三态门1是引脚输入缓冲器; 三态门2是用于读锁存器端口; 与门3、 倒相器4及模拟转换开关构成输出控制电路。 P0口1位结构原理图 2. 地址/数据分时复用功能 当P0口作为地址/数据分时复用总线时, 可分为两种情况: 一种是从P0口输出地址或数据,另一种是从P0口输入数据。 在访问片外存储器需从P0输出地址或数据信号时, 第二功能控制信号应为高电平1, 使转换开关MUX把反向器4的输出端与V1接通, 同时把与门3打开,此时PO口的输出受第二功能信号输入端(内部地址/数据线)的控制。 当读入数据时,信号直接从管脚通过输入三态缓冲器(读引脚三态缓冲器)进入内部总线。 3. 通用I/O接口功能 当P0口作为通用I/O接口使用, 在CPU向端口输出数据时, 对应的第二功能控制信号为0, 转换开关把输出级与锁存器端接通, 同时因与门3输出为0使V2截止, 此时, 输出级是漏极开路电路。因此当P0口作为通用I/O接口时, 要使“1”信号正常输出, 必须外接上拉电阻。 4. 端口操作 MCS—51单片机有不少指令可直接进行端口操作 读端口 ANL P0, A ;(P0)←(P0)∧(A) ORL P0, #data ; (P0)←(P0)∨ data DEL P0 ; (P0)←(P0)-1 以上是读-修改-写指令,第一句的含义:执行时先读入P0口(即读锁存器),然后与A(累加器)的内容相与,再把结果送到P0口引脚。 读引脚 MOV P0,

文档评论(0)

书屋 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档