- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CPU输出1时,Q=1,场效应管截止,P2.x引脚输出1;CPU输出0时,Q=0,场效应管导通,P2.x引脚输出0。 输入时,分为“读锁存器”和“读引脚”两种方式。“读锁存器”时,Q端信号经输入缓冲器BUF1进入内部总线;“读引脚”时,先向锁存器写1,使场效应管截止,P2.x引脚上的电平经输入缓冲器BUF2进入内部总线。 2.P2口总结 作为地址输出线使用时,P2口可输出外部存储器的高8位地址,与P0口输出的低8位地址一起构成16位地址,共可寻址64KB的地址空间。当P2口作为高8位地址输出口时,输出锁存器的内容保持不变。 作为通用I/O口使用时,P2口为一个准双向口,功能与P1口一样。 一般情况下,P2口大多作为高8位地址总线口使用,就不能再作为通用I/O口。如果不作为地址总线口使用,可作为通用I/O口使用。 2.5.4 P3口 由于AT89S51的引脚数目有限,因此在P3口电路中增加了引脚的第二功能(定义见表2-1)。 P3口的每一位都可分别定义为第二输入功能或第二输出功能。字节地址为B0H,位地址为B0H~B7H。P3口某一位的位电路结构见图2-12。 * 图2-12 P3口某一位的位电路结构 1.P3口工作原理 (1)第二输入/输出功能。 当选择第二输出功能时,该位的锁存器需置“1”,使“与非门”为开启状态。当第二输出为1时,场效应管截止,P3.x引脚输出为1;当第二输出为0时,场效应管导通,P3.x引脚输出为0。 当选择第二输入功能时,该位的锁存器和第二输出功能端均应置1,保证场效应管截止,P3.x引脚的信息由输入缓冲器BUF3的输出获得。 (2)第一功能的通用I/O口 当用作通用I/O输出时,“第二输出功能”端应保持高电平,“与非门”为开启状态。CPU输出1时,Q=1,场效应管截止,P3.x引脚输出为1;CPU输出0时,Q=0,场效应管导通,P3.x引脚输出为0。 当用作通用I/O输入时,P3.x位的输出锁存器和“第二输出功能”端均应置1,场效应管截止,P3.x引脚信息通过输入BUF3和BUF2进入内部总线,完成“读引脚”操作。 2.6 时钟电路与时序 产生AT89S51工作时所必需的控制信号,在时钟信号控制下,严格按时序执行指令。 执行指令时,CPU首先到程序存储器中取出需要执行的指令操作码,然后译码,并由时序电路产生一系列控制信号完成指令所规定的操作。 CPU发的时序信号两类,一类用对片内各个功能部件控制,用户无须了解;另一类用于对片外存储器或I/O端口的控制,这部分时序对于分析、设计硬件接口电路至关重要。 * 2.6.1 时钟电路设计 时钟频率直接影响单片机的速度,时钟电路质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式,一种是内部时钟方式,另一种是外部时钟方式。AT89S51的最高时钟频率为33MHz。 1.内部时钟方式 AT89S51内部有一个用于构成振荡器的高增益反相放大器,输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,构成一个稳定的自激振荡器,图2-13是AT89S51内部时钟方式的电路。 * 图2-13 内部时钟方式电路 电路中的电容?C1和?C2?的典型值通常选择为?30pF。晶体振荡频率的范围通常是在?1.2~12MHz。AT89S51单片机常选择振荡频率6MHz或12MHz的石英晶体。 * * 2.外部时钟方式 用现成的外部振荡器产生脉冲信号,常用于多片AT89S51同时工作,以便于多片AT89S51单片机之间的同步。 外部时钟源直接接到XTAL1端,XTAL2端悬空,见图2-14。 图2-14 外部时钟方式电路 3.时钟信号的输出 当使用片内振荡器,XTAL1、XTAL2引脚还能为应用系统中的其他芯片提供时钟,但需增加驱动能力。其引出的方式有两种,如图2-15。 * 图2-15 时钟信号的两种引出方式 2.6.2 机器周期、指令周期与指令时序 各种指令时序与时钟周期相关。 1.时钟周期 时钟控制信号的基本时间单位。若晶振频率为fosc,则时钟周期Tosc=1/fosc。如fosc=6MHz,Tosc=166.7ns。 2.机器周期 CPU完成一个基本操作所需时间为机器周期。执行一条指令分为几个机器周期。每个机器周期完成一个基本操作,如取指令、读或写数据等。每12个时钟周期为1个机器周期 * 1个机器周期包括12个时钟周期,分6个状态:S1~S6。每个状态又分两拍:P1和P2。因此,一个机器周期中的12个时钟周期表示为S1P1、S1P2、S2P1、S2P2、…、S6P2,如图2-16。 * 图2-16 AT89S51的机器周期
原创力文档


文档评论(0)