05_端口输入输出教程.ppt

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

C8051F120 有8 个并口—— 64 个数字I/O 引脚,这64个引脚既可以用作数字输入,也可以用作数字输出(在同一时刻输入/输出二选一)。 如何输入/输出?通过端口寄存器(SFR) P0-P7 P0:80 P1:90 P2:A0 P3:B0 P4:C8 P5:D8 P6:E8 P7:F8 端口(P0-P7)既可以按位寻址也可以按字节寻址。 低端口:P0、P1、P2 和P3 高端口:P4、P5、P6 和P7 3.1 输出驱动电路 输入电路;输出时为什么端口寄存器和引脚状态之间有对应关系?对应关系是什么?;与此类似,还有P1、P2、P3、P4 、P5 、P6 、P7;推挽还是上拉?;输出时为什么端口寄存器和引脚状态之间有对应关系?对应关系是什么?;第一个输入: 第一个输入如果为1,则下管导通,查上页表格可知,输出0或输出禁止时自动关掉弱上拉; 第一个输入如果为0,则下管关断,查上页表格可知,输出使能且输出1时,弱上拉受第二个输入控制 第二个输入:??局弱上拉使能控制位(SFR的一个位);输出使能(低有效);输入时为什么端口寄存器和引脚状态之间有对应关系?对应关系是什么?;输入时为什么端口寄存器和引脚状态之间有对应关系?对应关系是什么?;输入时为什么端口寄存器和引脚状态之间有对应关系?对应关系是什么?;输入时为什么端口寄存器和引脚状态之间有对应关系?对应关系是什么?;P0,P2-P7端口I/O 单元功能框图(不包括P1端口) (A型驱动);P1端口I/O 单元功能框图 (B型驱动);模拟门/数字门如何选择;①.模拟输入时必须编程设置该驱动为开漏输出并向端口寄存器写入1,此时上下管关断。 ②为了打开“模拟门”,关闭“数字门”,输入3为1(受P1MDIN一位控制) ③因为输入3为1,所以弱上拉自动禁止。 ④除了模拟信号通路以外,其它路都断了。;所有引脚都耐5V 电压,都可以被配置为漏极开路或推挽输出方式和弱上拉。;C8051F120有大量的数字外设和模拟外设。每个外设和片外设备传输数据都需要若干个引脚。比如串口0,需要2个引脚TXD和RXD。 芯片在设计时,没有给这些外设分配专用引脚。需要借用4 个低端口P0、P1、P2 和P3 才能使用。(目的:较少引脚数量,减小芯片封装尺寸) P0、P1、P2 和P3 中的每个引脚既可定义为通用I/O(GPIO)引脚(前面讲的数字部分),又可以分配给一个数字外设或功能(例如:UART0 或/INT1),一旦分配给外设,端口寄存器将不再驱动引脚(一个引脚不能由连个驱动源)。 如图3.2 所示。;图3-2 低端口I/O 功能框图(讲解交叉编译开关思想);当对片外XRAM 进行读写时,外部存储器接口(地址总线、数据总线、控制总线)可以在低端口或高端口有效。 端口1 的引脚可以用做ADC2 的模拟输入。 一旦低端口用作外部数据存储器接口,就不能在作GPIO或外设输入/输出接口了。 原则:一个引脚只能有一个功能;使用者(我们)控制数字功能的引脚分配,只受可用引脚数(32个)的限制。这种资源分配的灵活性是通过使用优先权交叉开关译码器实现的。;有关外部存储器接口的详细信息后面细讲。 高端口可以作为GPIO 引脚。 高端口也可以作外部数据存储器接口。;3.1 端口0 – 3 和优先权交叉开关译码器 优先权交叉开关译码器,或称为“交叉开关”。 工作原理: 交叉开关按优先级顺序将端口0 – 3 的引脚分配给器件上的数字外设(UART、SMBus、PCA、定时器等)。端口引脚的分配顺序是从P0.0 开始,可以一直分配到P3.7(P00优先级最高,P37优先级最低)。 为数字外设分配端口引脚的优先级(见下页)顺序列于图3.3,UART0 具有最高优先权,而CNVSTR 具有最低优先权。;图3-3 优先权交叉开关译码表;3.1.1 交叉开关引脚分配 当交叉开关配置寄存器XBR0、XBR1 和XBR2 中外设的对应使能位被设置为逻辑‘1’时,交叉开关将端口引脚分配给外设,详情如下。;XBR0;XBR0;XBR1;XBR1;XBR2;全局弱上拉;XBR2;例如,如果UART0EN位(XBR0.2)被设置为逻辑‘1’,则TX0 和RX0 引脚将分别被分配到P0.0 和P0.1。因为UART0有最高优先权,所以当UART0EN 位被设置为逻辑‘1’时其引脚将总是被分配到P0.0 和P0.1。(解释下页图);如果一个数字外设的使能位(在XBR*中)未被设置为逻辑‘1’,则其端口将不能通过器件的端口引脚被访问。;注意:当选择了串行通信外设(即SMBus、SPI 或UART)时,交叉开关将为所有相关功能分配引脚。 例如,不能为UART0 功能只分配TX0 引脚而不分配RX0 引脚。;注意: 因为交叉开关寄存器影响

文档评论(0)

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

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

1亿VIP精品文档

相关文档