单片机

单片机逻辑电路与逻辑运算

在数字电路,我们经常会遇到逻辑电路,而在 C 语言中,我们则经常用到逻辑运算。二者在原理上是相互关联的,我们在这里就先简单介绍一下,随着学习的深入,再慢慢加深理解。

有效使用单片机外设功能:(5)程序设计(下)

上期我们已经学习了将程序放在地址空间中,并在向量表中显示保存位置的内容。本期将介绍在执行程序及产生中断时CPU内会发生什么变化。

引导程序的运行―程序计数器

一般来说,程序就是计算机将所要进行的处理按顺序排列的指令集。在单片机中,将程序保存在地址空间(存储器 空间)中(上期曾介绍过),并由CPU来执行(处理)指令。假设地址空间中的一个地址保存一条指令,先执行某个地址中的指令(如“将值置位到CPU中”处理),接着执行下一个地址中的指令,接下来再执行下一个地址中的指令……,像这样通过连续执行指令,便可执行程序。

那么,CPU是如何判断执行指令的顺序呢?在单片机中,程序被执行的时候“程序计数器(PC)”的值也同时被更新。存放在CPU内的指令地址中,程序计数器存储有下一条CPU将要执行的指令所在的地址。执行了某个地址的指令后,下一个该执行哪个地址中的指令呢?这个答案由程序计数器来告诉你。

一般来说,程序被保存在连续的地址中, 再由CPU按顺序执行存放在各个地址中的指令。图1为程序计数器的示意图。图中,假定(1)执行地址1000h中的指令,(2)执行地址1000h中的指令后,程序计数器的値自动增加一个量并显示出下一个地址1001h,接下来,(3)CPU执行地址1001h中的指令。

单片机ISP、IAP和ICP几种烧录方式有什么区别?

玩单片机的都应该听说过这几个词。一直搞不太清楚他们之间的区别。今天查了资料后总结整理如下。

ISP:In System Programing,在系统编程

IAP:In applicating Programing,在应用编程

ICP:In Circuit Programing,在电路编程

有效使用单片机外设功能:(5)程序设计(上)

我们在之前的四期中对利用单片机的功能进行程序设计进行了说明。单片机内置了非常便于使用的外设功能,大家一定也能感受到单片机可应对各种要求的能力。但是,如果要有效地运行单片机,程序是不可或缺的,那么程序到底是如何运行的呢?从本期开始,我们将分两期连续向大家介绍单片机与程序的关系。

关注单片机的存储器

在此之前,GR-SAKURA电路板(搭载瑞萨电子单片机“RX63N”)的程序设计是使用Web编译器来进行的。将通过编译器搭建的程序(Object Code,结果代码)如同写入U盘一样将之传送到GR-SAKURA电路板后再执行。那么,问题来了。写入(传送到)单片机的程序应该保存在哪儿呢?另外,程序又是如何被执行的呢?在解答这些问题的同时,让我们一起来了解一下单片机与程序的关系吧。

首先来了解存储器﹑主存储器和外置存储器的两种作用

记忆(保存)程序和数据的地方即存储器。存储器有以下两种类型。

主存储器

CPU能够直接进行存取的存储器,用于保存正在执行中的程序和数据

外置存储器(辅助存储器、二级缓存器)

有效使用单片机外设功能:(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。