分享

微控制器引脚功能 - ITP物理计算

 青樓滿座wu0pn9 2018-08-08

                                 微控制器引脚功能

最初由Tom Igoe
2016年8月26日撰写最后由Tom Igoe 于2016年8月27日修改

介绍

内容[ 显示 ]

本页介绍了大多数微控制器共用的基本引脚功能,并提供了从一个微控制器切换到另一个微控制器的一些技巧。由于本网站上的教程都是用Arduino Uno编写的,学生可能正在使用其他控制器,您可能需要知道如何将教程从其编写的控制器“转换”到您自己的控制器。为了充分利用它,您应该了解电路微控制器是什么以及它能做些什么。该视频可能有所帮助:  微控制器中的硬件功能

所有这些针脚做什么?

典型的微控制器可以有6到60个引脚,您需要连接电源连接,输入和输出连接以及通信连接。每个微控制器的引脚配置不同,通常一个引脚具有多个功能。这种功能在一个引脚上的组合称为引脚多路复用。

每个微控制器都有针对其硬件特定引脚的名称,但Arduino应用程序编程接口(API)为引脚及其功能提供了一组名称,这些名称应适用于可通过API编程的所有微控制器。因此,例如,A0将始终是模拟输入引脚0,无论您使用的是Uno,101,MKR1000还是其他兼容Arduino的电路板。当您在另一块板上连接到具有相同功能的引脚时,即使引脚的物理布局不同,您的代码也应该相同。

每块电路板都有一个影响其引脚的工作电压。工作电压与GPIO引脚的电压相同,如下所示。如果您将组件连接到电压低于组件的电路板,则需要进行一些电平转换

Pin Diagrams

下面是Arduino Uno引脚如何复用的图表:

Uno引脚图。GPIO编号是Arduino API中的数字引脚编号。GPIO是5V。

这是Arduino 101的图表:

101引脚图。GPIO编号是Arduino API中的数字引脚编号。GPIO是3.3V。

这是MKR1000的图表:

MKR1000_pinouts

MKR1000引脚图。GPIO编号是Arduino API中的数字引脚编号。GPIO是3.3V。注:引脚A0也可以是数模转换器(DAC),并使用analogWrite()命令控制。

最后,这是Adafruit Feather M0 Proto的引脚图。对于其他羽毛M0板,它应该或多或少相同,但检查您的板的文档是否确定。

羽毛M0 Proto引脚图。GPIO编号是Arduino API中的数字引脚编号。GPIO是3.3V。注:引脚A0也可以是数模转换器(DAC),并使用analogWrite()命令控制。

引脚功能说明

为了理解所有这些,有助于了解微控制器的一般功能。有几个常见的功能:

电源:  每个微控制器都有电源连接(通常标记为Vcc,Vdd或Vin)和接地。裸机微控制器只有那些,但Arduino,Raspberry Pi等模块也有电压调节器和其他组件。在这些情况下,通常会看到未调节的电压输入(Vin)和稳压输出(例如,Uno上的5V和3.3V)。

时钟:每个微控制器都需要时钟。裸微控制器芯片通常有两个引脚。在模块上,时钟通常内置在电路板上,而引脚不会暴露。

通用输入和输出(GPIO):微控制器上的大多数引脚可以作为数字输入或数字输出使用。

硬件中断:许多微控制器的GPIO引脚子集连接到硬件中断电路。当给定引脚改变其状态时,硬件中断可以中断程序流,因此您可以立即读取它。某些更高级别的功能(如异步串行和PWM)有时会使用这些中断。它们对于非常灵敏的数字输入读取也很有用。

模拟输入(ADC):并非所有微控制器都具有模数转换器(ADC),但是那些具有多个引脚的引脚连接到它并作为ADC的输入。如果有模拟输入,也包括模拟参考引脚,它告诉微控制器ADC的默认高电压是什么。

脉冲宽度调制(PWM):很少有微控制器具有真正的模拟电压输出(尽管MKR1000可以),但大多数都有一组引脚连接到内部振荡器,可以使用PWM产生伪模拟电压。这就是Arduino中的analogWrite()函数的工作原理。

通讯:

通用异步接收器/发送器(UART):异步串行通信由处理器内部的通用异步接收器/发送器或UART管理。UART引脚通常连接到内部硬件中断,当新的串行数据到达时可以中断程序流,因此您永远不会错过一个字节。单独使用软件管理串行通信是可能的,但是在高速运行时,您会看到更多错误。

同步串行:SPI和I2C:大多数微控制器在处理器中也有专用模块来处理两种最常见的同步串行通信形式。

串行外设接口(SPI)总线有四个专用引脚:主,从机输出(MISO); Master Out,Slave In(MOSI); 串行时钟(SCK)和片选(CS)。许多微控制器也通过SPI通过在线串行编程头(ICSP)进行编程  。

集成电路间(I2C)总线具有两个引脚:串行数据(SDA)和串行时钟(SCL)。

复位:所有微控制器都有一个引脚,用于复位程序。通常将此引脚置为低电平以重置控制器。

IORef:这是电路板的工作电压。Uno和101具有此引脚,因此屏蔽可以读取此电压以根据需要调整其自身的输出电压。并非所有盾牌都具有此功能。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多