C8051F410单片机的端口配置

上传人:汽*** 文档编号:584727232 上传时间:2024-08-31 格式:PPT 页数:29 大小:488.50KB
返回 下载 相关 举报
C8051F410单片机的端口配置_第1页
第1页 / 共29页
C8051F410单片机的端口配置_第2页
第2页 / 共29页
C8051F410单片机的端口配置_第3页
第3页 / 共29页
C8051F410单片机的端口配置_第4页
第4页 / 共29页
C8051F410单片机的端口配置_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《C8051F410单片机的端口配置》由会员分享,可在线阅读,更多相关《C8051F410单片机的端口配置(29页珍藏版)》请在金锄头文库上搜索。

1、C8051F410单片机的端口配置 Four short words sum up what has lifted most successful Four short words sum up what has lifted most successful individuals above the crowd: a little bit more. individuals above the crowd: a little bit more. -author -author -date-date精品ppt文档收集于网络,仅供学习交流,如有侵权请联系管理员删除端口输入/输出C8051F410

2、单片机共有24个I/O端口可以使用,即P0.0 P2.7 。这些I/O端口可以用作通用I/O,或者模拟输入/输出。P0.0 P2.7可以被分配给内部数字资源。设计者完全控制数字功能的引脚分配,只受物理I/O引脚数的限制。精品ppt文档收集于网络,仅供学习交流,如有侵权请联系管理员删除端口输入/输出精品ppt文档收集于网络,仅供学习交流,如有侵权请联系管理员删除端口输入/输出从图18.1可以看出,C8051F410单片机之所以可以实现内部数字资源的灵活分配,是通过优先级交叉开关译码器实现,即图中的Priority Crossbar Decoder。精品ppt文档收集于网络,仅供学习交流,如有侵权

3、请联系管理员删除和普通单片机I/O的不同那么C8051F410单片机的I/O配置和普通的单片机差别在哪里呢?我们用一个例子说明。比如要对一个单片机外的脉冲进行计数,普通的单片机会有一个端口作为脉冲的输入端口,假设是P1.0,这个引脚是固定的,但由于某种原因(比如PCB布线),我们希望这个外部脉冲可以接到P2.3引脚,这时普通单片机就做不到了,而C8051F410单片机就可以做到。精品ppt文档收集于网络,仅供学习交流,如有侵权请联系管理员删除和普通单片机I/O的不同此外, C8051F410单片机的I/O端口在使用前都要进行输入/输出的设置。设置输入方式:模拟输入还是数字输入。设置输出方式:漏

4、极开路(open-drain)输出还是推挽输出(push-pull)。精品ppt文档收集于网络,仅供学习交流,如有侵权请联系管理员删除优先权交叉开关译码器优先权交叉开关译码器为每个I/O功能分配优先权,从优先权最高的UART0开始。当一个数字资源被选择时,尚未分配的端口引脚中的最低位被分配给该资源(UART0除外,它总是被分配到引脚P0.4和P0.5)。精品ppt文档收集于网络,仅供学习交流,如有侵权请联系管理员删除优先权交叉开关译码器如果一个端口引脚已经被分配,则交叉开关在为下一个被选择的资源分配引脚时将跳过该引脚。此外,交叉开关还将跳过在PnSKIP寄存器中被置1的那些位所对应的引脚。Pn

5、SKIP寄存器允许软件跳过那些被用作模拟输入、特殊功能或GPIO的引脚。 精品ppt文档收集于网络,仅供学习交流,如有侵权请联系管理员删除优先权交叉开关译码器注意:如果一个端口引脚被一个外设使用而不经过交叉开关,则该引脚在PnSKIP寄存器中的对应位应被置1。精品ppt文档收集于网络,仅供学习交流,如有侵权请联系管理员删除优先权交叉开关译码器这种情况适用于P1.0和/或P1.1(如果外部振荡器电路被使能)、P1.2(如果使用VREF)、P0.6(如果使用外部转换启动信号NVSTR)、P0.0(如果使用IDA0)、P0.1(如果使用IDA1)、以及任何被选择为ADC或比较器输入的引脚。交叉开关跳

6、过那些被选择的引脚(如同将它们已分配),移向下一个未被分配的引脚。精品ppt文档收集于网络,仅供学习交流,如有侵权请联系管理员删除优先权交叉开关译码器精品ppt文档收集于网络,仅供学习交流,如有侵权请联系管理员删除优先权交叉开关译码器精品ppt文档收集于网络,仅供学习交流,如有侵权请联系管理员删除优先权交叉开关译码器说了这么多,到底什么意思呢?我们一条一条的讲。假设你要将P0.1和P0.2用作接外部晶振,或者P1.2用于Vref,或者P0.6用作外部cnvstr信号,或者P0.0用作IDA0,或者P0.1用作IDA1,或者某个端口(比如P1.3)用作ADC或者比较器的输入,则应在PnSKIP中

7、将相应的位置1,即让交叉开关跳过这些端口。精品ppt文档收集于网络,仅供学习交流,如有侵权请联系管理员删除优先权交叉开关译码器此外,假如你希望某个端口用作普通的I/O端口(至于干什么,由你自己决定),而不是特殊的功能,比如PCA,SPI等,你也可以将PnSKIP中相应的位置1,这样交叉开关译码器在为内部数字资源(比如SPI,ECI,PCA登)分配端口时,就会跳过这些端口,傻呼呼的认为这些端口已经有某种用途了。精品ppt文档收集于网络,仅供学习交流,如有侵权请联系管理员删除端口初始化的步骤1.选择输入模式,模拟还是数字,在PnMDIN寄存器中设置。2.选择输出模式,漏极开路(open-drain

8、)还是推挽输出(push-pull),在PnMDOUT寄存器中设置。3.选择被交叉开关译码器跳过的端口,在PnSKIP寄存器中设置。精品ppt文档收集于网络,仅供学习交流,如有侵权请联系管理员删除端口初始化的步骤4.用XBRn寄存器将引脚分配给要使用的外设。 5.使能交叉开关(XBARE = 1)。 精品ppt文档收集于网络,仅供学习交流,如有侵权请联系管理员删除端口初始化步骤的注意事项对于端口初始化的第三步,被交叉开关译码器跳过的端口包括2种情况:1)将P0.1和P0.2用作接外部晶振,或者P1.2用于Vref,或者P0.6用作外部cnvstr信号,或者P0.0用作IDA0,或者P0.1用作

9、IDA1,或者某个端口(比如P1.3)用作ADC或者比较器的输入。精品ppt文档收集于网络,仅供学习交流,如有侵权请联系管理员删除端口初始化步骤的注意事项2)某个端口使用者有特殊的用处(而不是希望用做PCA,UART,ECI等用途),比如你想将P1.3用来驱动一个LED,此时你就要让交叉开关译码器跳过P1.3,这样CrossBar在为内部数字资源(比如PCA,UART,ECI等)分配端口时,就会跳过P1.3。精品ppt文档收集于网络,仅供学习交流,如有侵权请联系管理员删除端口初始化步骤的注意事项对于端口初始化中的第4步,其实就是把你需要的功能模块激活。比如,你希望PCA的CEX0输出到P0.0

10、,而且交叉开关译码器已经把CEX0分配到P0.0,这时候千万记得将XBR1中的相应位设置好,即激活这个功能。精品ppt文档收集于网络,仅供学习交流,如有侵权请联系管理员删除EXAMPLE 1说了这么多,还是通过例子来说明吧!这里我们假设所有的端口都没有被跳过(skip),此时我们可以参考图18.3(ppt第11页)。第一个例子,我们驱动一个LED。精品ppt文档收集于网络,仅供学习交流,如有侵权请联系管理员删除EXAMPLE 1精品ppt文档收集于网络,仅供学习交流,如有侵权请联系管理员删除EXAMPLE 1P2MDIN |= 0x02; /设置P2.1为数字输入P2MDOUT |= 0x02

11、; /设置P2.1为推挽输出P2SKIP |= 0x02; /CrossBar跳过P2.1精品ppt文档收集于网络,仅供学习交流,如有侵权请联系管理员删除EXAMPLE 1其实这里P2SKIP |= 0x02可以不要,因为我们这里只用了一个端口,但最好加上。精品ppt文档收集于网络,仅供学习交流,如有侵权请联系管理员删除EXAMPLE 2P2.1接一外部的模拟信号,对其进行AD转换。精品ppt文档收集于网络,仅供学习交流,如有侵权请联系管理员删除EXAMPLE 2P2MDIN &= 0x02; /设置P2.1为模拟输入/这时P2MDOUT不用设置,因为用作模拟输入的端口,其对应位在PnMDOU

12、T中的设置会被忽略P2SKIP |= 0x02; /CrossBar跳过P2.1精品ppt文档收集于网络,仅供学习交流,如有侵权请联系管理员删除EXAMPLE 3设置P2.1为PCA的CEX0的输出精品ppt文档收集于网络,仅供学习交流,如有侵权请联系管理员删除EXAMPLE 3P2MDIN |= 0x02; /P2.1为数字输入P2MDOUT |= 0x02; /P2.1为推挽输出P0SKIP = 0xFF; /跳过P0的所以端口P1SKIP = 0xFF; /跳过P1的所以端口P2SKIP |= 0x01; /跳过P2.0端口XBR1 &= 0x07;XBR1 |= 0x01; /CEX0输出到P2.1XBR0 |= 0x40; /使能CrossBar精品ppt文档收集于网络,仅供学习交流,如有侵权请联系管理员删除EXAMPLE 4P0.0用作模拟信号输入,进而进行AD转换。P0.1用来驱动一个led。P0.4和P0.5用作UART。PCA的CEX0输出到P0.7。精品ppt文档收集于网络,仅供学习交流,如有侵权请联系管理员删除EXAMPLE 4P0SKIP = 0x4F; XBR0 |= 0x01;XBR1 |= 0x41;端口的输入/输出设置前面已经讲过,这里不再叙述。精品ppt文档收集于网络,仅供学习交流,如有侵权请联系管理员删除

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号