- 1、本文档共64页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
51单片机内部_及工作原理
OVER ! ⑶ 执行调用子程序或发生中断时,CPU会自动将当前 PC值压入堆栈,将子程序入口地址或中断入口地址装入PC;子程序返回或中断返回时,恢复原有被压入堆栈的PC值,继续执行原顺序程序指令。 2.2.5 程序计数器PC ※ PC不属于特殊功能寄存器,不可访问,在物理结构上是独立的。 ※ PC是一个16位的地址寄存器,用于存放将要从ROM中读出的下一字节指令码的地址,因此也称为地址指针。 ※ PC的基本工作方式有: ⑴ 自动加1。CPU从ROM中每读一个字节,自动执行 PC+1→PC; ⑵ 执行转移指令时,PC会根据该指令要求修改下一次 读ROM新的地址; §2-3 I/O端口结构及工作原理 ※ 有4个8位并行I/O口,共32条端线: P0、P1、P2和P3口。 每一个I/O口都能用作输入或输出。 ※ 用作输入时,均须先写入“1”; 用作输出时,P0口应外接上拉电阻。 ※ P0口的负载能力为8个LSTTL门电路; P1~P3口的负载能力为4个LSTTL门电路。 ※ 在并行扩展外存储器或I/O口情况下, P0口用于低8位地址总线和数据总线(分时传送) P2口用于高8位地址总线, P3口常用于第二功能, 用户能使用的I/O口只有P1口和未用作第二功能 的部分P3口端线。 单片机的I/O引脚结构 众多功能各异的I/O引脚源于它结构的不同 单片机的引脚(P0口) P0.0—P0.7: 双向I/O (内置场效应管上拉) 寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。 2 1 D Q CK /Q 读引脚 读锁存器 写锁存器 内部总线 地址/数据 控制 引脚P0.X 3 4 Vcc V1 V2 2 1 D Q CK /Q 读引脚 =1 读锁存器 写锁存器 内部总线 地址/数据 控制 引脚P0.X 3 4 0 0 1 0 0 截止 截止 =0 Vcc 单片机的引脚(P0口) P0用作通用I/O时,控制=0 : (1)此脚作输入口(事先必须对它写“1”) V2 V1 2 1 D Q CK /Q 读引脚 读锁存器 写锁存器 内部总线 地址/数据 控制 引脚P0.X 3 4 0 0 1 0 0 截止 截止 =0 Vcc 单片机的引脚(P0口) P0用作通用I/O时,控制=0 : (2)此脚作输出口时,当P0口用作输出口时,因输出级处于开漏状态,必须外接上拉电阻。当“写锁存器”信号加在锁存器的时钟端CLK上,此时D触发器将“内部总线”上的信号反相后输出到Q端,若D端信号为0,Q=1,v2导通,P0.x引脚输出“0”;若D端信号为1,Q=0,v2截止,虽然V1截止,因P0.x引脚已外接上拉电阻,P0.x引脚输出“1”。 V2 V1 2 1 D Q CK /Q 读引脚 =0 读锁存器 写锁存器 内部总线 地址/数据 控制=1 引脚P0.X 3 4 1 0 1 1 =0 导通 截止 =0 Vcc 单片机的引脚(P0口) P0口用作地址/数据复用口,控制=1 (1)作地址/数据输出:输出地址/数据 =0 时 V1 V2 2 1 D Q CK /Q 读引脚 =0 读锁存器 写锁存器 内部总线 地址/数据 控制=1 引脚P0.X 3 4 1 1 0 0 =1 截止 导通 =1 Vcc 单片机的引脚(P0口) P0口用作地址/数据复用口,控制=1 (2)作地址/数据输出:输出地址/数据 =1 时 V1 V2 2 1 D Q CK /Q 读引脚 =1 读锁存器 写锁存器 内部总线 地址/数据 控制=0 引脚P0.X 3 4 Vcc 单片机的引脚(P0口) P0口用作地址/数据复用口 (3)作/数据输入: 与P0用作通用I/O时输入时情况相同,CPU使V1、V2均截止,从引脚上输入的外部数据经缓冲器U2进入内部数据总线。 V1 V2 简单说: (1) P0口无固定上拉电阻。P1,P2,P3有。 (2) 就是P0口作为输入输出口时,为了能让内部1能正确输出,要接上拉电阻(如果不接的话,内部D=1的时候,Q非=0,V1被截止,V1,V2都处于截止状态,不能正确反映1,所以需要上拉电阻。),在读取输入的时候,因为此时P0口是作为一个准双向口,所以得先向外写1,不然的话,如果锁存器曾经锁存过0,则V1被导通,PO.x被钳制在低电平,不能正确反映输入。 (3)P0口作为地址/数据口的时候,由于访问外部存储器期间,CPU会自动向PO口的锁存器写入0FFH,对用户而言,PO口此时才是真正的三态双向口。 §2-4 时钟和时序 CPU总是按照一定的时钟节拍与时序工作 §2-4 时钟和时
文档评论(0)