单片机必须了解的外设功能——GPIO/串行通信

  活学活用单片机连载将介绍有效使用单片机外设功能的结构及使用方法,能让我们将能学到各种单片机共通的基本外设功能,并可广泛应用到各个方面。单片机仅靠CPU和内存是无法运行的!本文介绍 GPIO和串行通信。

  有效使用单片机不可或缺的“外设功能”是什么呢?

  正如过去连载的“单片机入门”系列中所介绍的那样,对电子产品进行控制的单片机是由CPU、内存及外设功能等部分组成的(图1)。CPU根据指令(程序),执行运算、数据的读写以及进行条件判断等,而内存则用来保存该程序(记忆)。

  外设功能是指为了使单片机便于使用的各种功能。例如,CPU为了与外部的传感器及开关等进行信号交换,就需要“输入/输出端口(I/O端口)”这种外设功能。

  而且,将模拟输入信号转换为数字值的“A/D转换器”以及反过来将数字值转换为模拟输出信号的“D/A转换器”则是单片机对各种信号进行处理时不可或缺的外设功能。

  另外,还有为了正确测量时间所用的“定时器”以及提供日期和时计的“实时时钟(RTC)”,用于进行与时间相关的处理,此外还有将并行信号(parallel signal)和串行信号(serial signal)进行互相交换的“UART(Universal Asynchronous Receiver Transmitter,通用异步收发器)”等,以便进行通信。

  本连载中,将以瑞萨电子单片机--RX63N为例,介绍令单片机更便于使用的外设功能的基础知识。我们将使用搭载了“RX63N”程序的电子板“GR-SAKURA”进行说明,请你也实际操作试试看吧!

  单片机必须了解的外设功能——GPIO/串行通信

  了解数字信号的输入/输出端口---“GPIO”

  在“输入/输出端口(I/O端口)”中,数字信号的输入/输出端口即“GPIO(General Purpose Input/Output)”也被称为“通用I/O端口”,是一种用于数字信号输入/输出的非常方便的端口。用于将数字输出的传感器值和开关的ON/OFF值传送到单片机的输入端及通过LED来显示单片机的运算结果,以及输出用于驱动电机运行的信号等等。

  GPIO被称为通用端口是其引脚既可以用于输入也可以用于输出。在早期的单片机中,引脚都被固定用于输入或输出,但是现在很多单片机中都可以自由地将其设定为输入或输出端口。假设GPIO端子有8个引脚,则可以将4个引脚用于输入,另4个引脚用于输出,也可以将1个引脚用于输入,剩下的7个引脚用于输出。

  在GPIO中,为了使CPU和外部设备之间进行数据交换,要相互执行通过程序处理的数字值(0或1)与信号(电压的LOW电平或HIGH电平)的转换。下面是作为RX63N单片机的GPIO端口基础的寄存器(※1)的作用(图2)。

  (※1)寄存器(Register):存在于单片机的CPU和外设功能内部中的记忆回路。用于运算和保持CPU的执行状态。由于是作为CPU及外设功能的内部回路,所以在对内存进行写入和读取时速度很快,但容量却非常小,既有可以用于各种用途的寄存器(通用寄存器),又有用于某些限定的功能和用途的特殊寄存器。

  单片机必须了解的外设功能——GPIO/串行通信

  端口方向寄存器(PDR)

  决定引脚方向的寄存器,也称为“方向寄存器”。

  端口输入数据寄存器(PIDR)

  输入时反映所使用的引脚状态的寄存器。从引脚输入LOW电平或者HIGH电平时会将之转换为0或1的值并读取该转换结果。随着引脚的变化数值也将发生变化。所以不会保持读取时的值。

  端口输出数据寄存器(PODR)

  此寄存器保存用作输出引脚的输出数据。将0或1的值转换为LOW电平或HIGH电平信号并从引脚输出。由于可以与内存一样保持改写前的值,所以在改写前来自引脚的输出电压也将保持不变。

技术专区

  • mybatis动态sql详解
  • 用VHDL语言设计数据传输系统中的HDB3编码器
  • 裸机程序如何驱动硬件?看前辈是怎么说的
  • 应用面向对象编程SoC原则的典型示例
  • 嵌入式开发之java常用开发工具介绍
  • 单片机必须了解的外设功能——GPIO/串行通信已关闭评论
    A+
发布日期:2019年07月14日  所属分类:物联网