单片机

有效使用单片机外设功能:(4)中断功能

我们已经介绍了应用单片机的外设功能的结构和使用方法。本期我们介绍更有效地应用单片机而必须的外设功能——“中断功能”。

提高作业效率的“中断功能”指的是什么?

我们回顾一下本系列第二期的“定时器”篇中简单介绍过的“中断功能”概念。任何人都有过这样的经验,就是“将鸡蛋放进沸腾的热水中,直到鸡蛋煮熟的10分钟内要确认好几次时钟”的经历。在单片机的世界中也同样,在等待某种状态达成时,具有对对象进行定期检查的方法。例如,在等待向GPIO(通用I/O端口)的输入从0变为1时,程序可以一定的间隔来检查GPIO的状态。这种处理被称为“轮询”。

轮询虽然是一种了解状态变化的简单方法,但是如果检查的频度低(间隔长)就会错过变化,如果频度过高(间隔短),即使查也查不到变化“空耗”。由于轮询通过简单的程序便能完成处理,所以在掌握对象的变化频度时是有效的。但是,进行多次检查也会给单片机带来负荷,对功耗不利。

因此就要用到本期介绍的“中断功能”。产生中断时,CPU会暂时停止正在执行的任务,转而进行别的任务。也就是有别的任务“穿插”进来的意思(图1) 。当中途穿插进来的任务结束后,CPU再返回处理原来的任务。

有效使用单片机外设功能:(3)串行通信

本连载共分6期,将介绍单片机外设功能的结构及使用方法。本期学习的串行通信是单片机重要的作用之一,就是与单片机外部的外围设备进行信息交换。此时,串行通信起到非常重要的作用。

单片机与外围设备的连接:并行和串行

单片机是嵌入式设备的“头脑”,其与作为嵌入式设备的“手和脚”是各种外围设备(输入输出设备等)连接。单片机应该怎样与这些外围设备连接才好呢?比如,我们来考虑一下将传感器与单片机连接的情况。如果使用本连载第1期中介绍的“GPIO”的话,从传感器向单片机传送8位信号时需要使用8个引脚。这种传送模式被称为并行(并行通信)模式(图1―左)。但是,仅一个传感器就需要连接8个引脚,确实太可惜了 ,是否还有连接更少的引脚就能达到同样目的的方法呢?

有效使用单片机外设功能:(2)定时器

本连载主要介绍为了应用单片机而无法避开的必需的外设功能。本连载中,将以搭载了瑞萨电子的单片机--RX63N的电路板“GR-SAKURA”为例进行说明,请你也实际操作试试看!

一手包办有关时间和时刻的处理!

在单片机中,不仅频繁地使用“○月○日○点○分”这种时刻显示,显示过去的时间和一定的周期这种形式也被频繁地使用。例如,“该程序从运行开始过去了多少时间?”、“每秒输送128次信号”等等。另外,还经常被用于“等待指定的时间”、“经过指定的时间后将转移到下一个处理”这样的情况。对这些与时间和时刻有关进行处理的外设功能就是定时器(图1)。

有效使用单片机外设功能:(1)GPIO

本连载共分6期,将介绍有效使用单片机外设功能的结构及使用方法。通过本连载的学习,我们将能学到各种单片机共通的基本外设功能,并可广泛应用到各个方面。

单片机仅靠CPU和内存是无法运行的!

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

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

“图1:单片机内部结构示意图”
图1:单片机内部结构示意图

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

【技术干货】单片机入门:无需入门套件即可启动! 使用软仿真器的开发方法

使用微控制器时,是否认为必须使用硬件,例如入门套件等进行调试?我们将为您提供更好的解决方案。您可使用瑞萨的集成开发环境“e²studio”在PC上简单进行开发。

支持物联网的微控制器

至今,让我们谈一下微控制器的介绍与嵌入式编程。微控制器在诸多领域的程序处理控制中发挥着作用,如消费类电子,汽车和工业设备。从控制设备的核心到触摸屏用户接面和LCD显示等功能时,都在利用微控制器在后台操作。

目前,智能手机和智能电视与可运行1GHz以上的多核处理器的SoC(系统LSI)结合起来支持强大的OS操作系统,例如Linux等。然而,这并不意味着所有处理过程都可以通过类似强大系统(例如SoC)单独执行。在寻求软件灵活性的同时,也有很多不使用OS的情况下达到实时和低功耗的目的。例如,当从红外遥控器的接收部分进行信号处理(信号和噪音分离)和解码(控制信号再生)时,如果微控制器能够持续监视遥控器接收,则实时控制将更加可靠而不需由高性能SoC每隔几毫秒处理一次。

【技术干货】单片机入门:外围功能电路控制

本连载讲解作为嵌入式系统开发技术人员所必需具备的单片机的基础知识。

在《单片机入门(1)~(3)》中,我们一起学习了单片机的硬件和编程语言以及开发环境等。

本期让我们一起来学习单片机的外围功能电路控制的基础知识吧。

(SFR) Special Function Registers

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

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

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

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

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

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

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

【技术干货】单片机入门:单片机的编程语言和开发环境

本连载讲解作为嵌入式系统开发技术人员所必需具备的基础知识。这些基础知识是硬件和软件技术人员都应该掌握的共通技术知识。

在“单片机入门(1)”和“单片机入门(2)”中,我们学习了单片机硬件方面的知识。本期我们将学习开发环境和编程语言吧。

CPU懂的机器语言

单片机的CPU从存储器读取程序,但是一次只能读取一条指令,然后解释每条指令,并执行。存储器中保存的内容,不管是程序还是数据,都是二进制代码“0”和“1”组成的字符串。指令二进制代码告诉CPU要做什么,而数据二进制代码则是CPU操作或处理指令时要使用的值。CPU的操作包含加、减运算等指令。这些像密码一样排列的“0”和“1”字符串就是机器语言。比如图1左边显示的就是一个机器语言指令,意思是“将2放入寄存器A(寄存器是CPU内部的储存区域)。

CPU总是按存储器地址的顺序读取指令代码,除非遇到跳跃指令。例如,如果复位后的地址是0000,则从0000开始按0001、0002、0003的顺序读取并执行指令。也可以说,一个程序就是按处理要求排列一系列的机器语言。

【技术干货】单片机入门:单片机的外围功能电路

“动力”―电源电路

上期我们学习了单片机的基本构成和工作原理。想必大家对单片机的工作原理已经有了大致的了解。这次我们将举例说明单片机工作所必须的硬件电路(外围功能电路)。

我们将以瑞萨电子的新一代产品,通用型单片机“RL78族(RL78/G14)”为例进行说明。

与迄今为止所学的各种电路相同,单片机的工作也需要电源。因此,单片机的外部都连接有象电池等电源部分。

请看图1,是“RL78族(RL78/G14)”的引脚配置,该产品有64个引脚。电源有2个引脚是13/14号(VSS/EVSS0)和15/16号 (VDD/EVDD0),

● 13号引脚(VSS)和14号引脚 (EVSS0)连接GND
● 15号引脚VDD和16号引脚 (EVDD0)连接电源正极

参阅“RL78族(RL78/G14)”数据手册(或硬件手册),您会发现“电源电圧VDD = 1.6~5.5 V”。这是指当电源电压处于1.6V到5.5V之间时,可以保证单片机的正常工作。这个电压范围称为工作电源电压。在有些单片机数据手册上把这个范围称为推荐工作电压范围。

【技术干货】单片机入门:单片机的基本构成、工作原理

本连载讲解作为嵌入式系统开发技术人员所必需具备的基础知识。这些基础知识是硬件和软件技术人员都应该掌握的共通技术知识。

有了电子电路和数字电路的基础知识,就可以开始学习嵌入式系统的核心元件-单片机。从本期开始我们将为大家介绍单片机的基础知识。

在单片机入门系列讲座中,首先学习单片机的基本构成和工作原理、以及外围功能电路,然后,挑战一个实际单片机的运行。

单片机是控制电子产品的大脑

现如今,我们生活中的许多电器都使用了单片机。例如:手机、电视机、冰箱、洗衣机、以及按下开关,LED就闪烁的儿童玩具。那么,单片机在这些电器中究竟做了些什么呢?

单片机是这些电器动作的关键,是指挥硬件运行的。例如:接收按钮或按键的输入信号,按照事先编好的程序,指挥马达和LCD的外围功能电路动作。

那么,单片机是如何构成的呢?(图1)

单片机是由CPU、内存、外围功能等部分组成的。如果将单片机比作人,那么CPU是负责思考的,内存是负责记忆的,外围功能相当于视觉的感官系统及控制手脚动作的神经系统。

单片机中各种周期的关系与定时器原理

在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。例如,取指令、存储器读、存储器写等,这每一项工作称为一个基本操作。

时钟周期: