单片机通用I/O和外设功能区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单片机通用I/O和外设功能区别相关的知识,希望对你有一定的参考价值。

感觉你说的怪怪的,单片机通用I/O口说的就是一般的I/O口,可以输出高低电平,外设功能?一般的外部设备,例如摄像头或者打印机他们具体实现某些功能(拍照或打印文档),单片机要控制这些外部设备,一般的来说单片机的I/O口与这些外设的引脚相连,通过I/O引脚实现对外部设备的控制,让它们完成我们要求的功能。 参考技术A 通用IO又称为GPIO,就是可以任意设置这个IO的高低状态,
外设功能是指这个IO被指定为特定功能,比如
SPI,
I2C,,被指定为外设功能的IO,不能被任意控制,必须要通过SPI,I2C等控制器去控制.
参考技术B 基本i/o是单片机自带的,选通i/o是通过i/o芯片扩展的,你应该是这个意思吧?
当单片机本身的i/o口不够用时,就需要扩展。
基本i/o
和扩展选通i/o在编程时的读写指令是不同的。
参考技术C 单片机通用 I/O 即GPIO,配置成这种功能时,一个IO口与某个输出寄存器的一个位相连,还与某个输入寄存器的一个位相连。
通过GPIO,可以直接输出TTL电平1或0,至于对外电路的影响,还要看端口的上拉、下拉、开漏辅助特性。
通过GPIO,可以直接读取TTL电平1或0,读取结果同样受端口的上拉、下拉、开漏辅助特性与外电路的结合情况影响。
比如开漏输入,外电路必须要有上拉或下拉电路提供明确的电平,才能读取到明确的结果;
反之若外电路也是开漏就会变成悬空线受市电的电磁感应,读取结果变成忽高忽低。
“外设IO”中的外设是指片内外设(定时器,ADC,USART)。当端口配置成外设IO时,将断开原来GPIO的连接,而改为连接某外设的输入或输出端,通常外设IO固定对应单片机的某些管脚,不能任意指定。有些芯片有端口重定向功能,也是将某些端口切换到另一些明确的管脚上,以方便布线。
要了解关于端口的具体定义与特性,应认真阅读芯片厂商提供的数据手册或用户使用说明。
为了编程与逻辑表达的通用性,IO口的标识通常用功能名表示(P几)。如 C51单版机的P0.0,P0.1是指P0口的第0位与第1位,P0口是指8个位的一组端口。C51内核的芯片通常有P0~P4共5组端口,视不同规格型号而有所删减。STM32则用PA、PB、PC、PD、PE、PF表示6个组别的端口(组),PA口则有PA0到PA15共16个通道(位)。至于具体IO口与引出的管脚怎样对应,同一型号,不同封装(型号后面字母不同)的芯片,定义是不同的。使用中要查它的完整型号对应的数据手册。

cc2530中单片机的通用I/O接口

cc2530中有21个输入/输出引脚。

  这些引脚可以设置为通用I/O或者设置为外设I/O(其实这里的外设还是不太懂到底指什么,网上说输入设备,但是通用I/O也可以输入啊,为什么要弄外设I/O?)

  其他外设I/O还可以连接到ADC,定时器,或者USART外设。

  I/O端口的重要特点:

    21个数字I/O引脚。
    可配为通用I/O或者外设I/O。
    输入具有上拉或者下拉的能力。
    具有外部中断能力。

  I/O口作通用I/O时,可组成3个端口。

  端口0,1,2,分别用P0,P1,P2表示,分别有8,8,5个引脚。

  关于通用I/O,有三个寄存器分别为:
    功能寄存器(PxSEL)
    方向寄存器(PxDIR)
    配置寄存器(PxINP)

  功能寄存器(PxSEL):
     该寄存器的作用是设置端口的每个引脚为通用I/O,或者为外设I/O,复位后(寄存器的每一位都变为0),将对应端口的引脚都变为通用I/O。
     该寄存器有8位,每一位对应着相应的引脚。
     例:

        当P0SEL[0]=0时,P0_0引脚为通用I/O。
        当P0SEL[1]=1时,P0_1引脚为外设I/O。

    问题:P2端口只有5个引脚,那P2SEL的其他三位做什么?

 

以上是关于单片机通用I/O和外设功能区别的主要内容,如果未能解决你的问题,请参考以下文章

c8051f320学习,单片机不外乎时钟IO串口USB等外设用法

stm32最小系统锂电池供电和电脑供电区别

寄存器

CH559L单片机常用外设功能-串口介绍

CC2530 GPIO 控制LED灯

STC89C52 单片机I/O口能直接驱动MOS管吗?