单片机外围功能电路控制的基础知识

  在《嵌入式编程之单片机的基本构成、工作原理》《嵌入式编程之单片机的外围功能电路》《单片机的编程语言和开发环境》,我们一起学习了单片机的硬件和编程语言以及开发环境等。本文将带大家学习单片机的外围功能电路控制的基础知识。

  (SFR) Special FuncTIon Registers

  单片机中有象箱子功能一样的地方,我们称为寄存器,用来暂存数据。寄存器的种类有程序计数器、通用寄存器、以及SFR(特殊功能寄存器)等。

  SFR主要用来设定外围功能电路(计数器或串行端口、通用I/O等)的工作方式,确认其工作状况,并对其进行控制的。也就是说SFR并非仅仅只是用来保存数据的“箱子”。通过改变保存在“箱子”里的数据,不仅可以改变外围功能电路的动作方式,而且“箱子”里的数据也将随着外围功能电路的工作状況而改变。

  控制外围功能电路的基础知识

  下面以通用I/O为例来说明单片机对外围功能电路的控制。通用I/O具有以下功能:

  输出功能:可以输出高电平电压或低电平电压

  输入功能:可以读出输入到引脚的电压电平

  首先来看输出功能的控制。图1中的引脚A是一个通用I/O。

  如果向引脚A的寄存器(SFR)

  写入0,则引脚A的输出电压将为低电平(0V)。

  写入1,则引脚A的输出电压将为高电平(5V)。

  单片机外围功能电路控制的基础知识

  图1: 通用I/O的输出功能

  如果将图1的引脚A连接一个LED,就可以构成一个控制LED的电路(见图2)。此时,向寄存器(SFR)写入0则LED亮灯,输入1则LED熄灭。虽然这是一种很简单的动作,但却反映了单片机对各种外围功能电路进行控制的基本原理。利用这种功能,就可以完成象电机的ON/OFF一样的开关作用(由于通常的单片机上不能流过驱动电机运行的大电流,所以还需另行准备用FET或晶体管作成的电机驱动电路)。另外,如果使用多个通用I/O端口,就可以完成更加复杂的控制。

  单片机外围功能电路控制的基础知识

  图2:通用I/O的LED控制电路

  接下来看输入功能(图3)。

  如果向引脚A输入低电平电压(0V),就会从寄存器(SFR)读出0。

  如果向引脚A输入高电平电压(5V),就会从寄存器(SFR)读出1。

  即,读取寄存器(SFR)的值,就可以判断外部电压是低电平电压还是高电平电压。

  单片机外围功能电路控制的基础知识

  图3:通用I/O的输入功能

技术专区

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