跳转到主要内容

单片机

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

cathy 提交于

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

<strong>支持物联网的微控制器</strong>

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

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

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

cathy 提交于

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

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

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

<strong>(SFR) Special Function Registers</strong>

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

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

<strong>控制外围功能电路的基础知识</strong>

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

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

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

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

cathy 提交于

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

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

<strong>CPU懂的机器语言</strong>

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

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

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

cathy 提交于

<strong>“动力”―电源电路</strong>

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

我们将以瑞萨电子的新一代产品,通用型单片机“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之间时,可以保证单片机的正常工作。这个电压范围称为工作电源电压。在有些单片机数据手册上把这个范围称为推荐工作电压范围。

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

cathy 提交于

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

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

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

<strong>单片机是控制电子产品的大脑</strong>

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

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

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

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

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

cathy /

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

<strong>时钟周期:</strong>

时钟周期也叫振荡周期或晶振周期,即晶振的单位时间发出的脉冲数,一般有外部的振晶产生,比如12MHZ=12×10的6次方,即每秒发出12000000个脉冲信号,那么发出一个脉冲的时间就是时钟周期,也就是1/12微秒。通常也叫做系统时钟周期。是计算机中最基本的、最小的时间单位。

在8051单片机中把一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示)。

<strong>机器周期:</strong>

【资料下载】如何使用Cortex®-M 高速缓存控制器实现确定性代码性能?

cathy /

在基于单片机的嵌入式应用中,软件存储在非易失性存储器(通常是闪存)中并从中运行。闪存虽然为存储和执行代码提供了一种有效的介质,但从闪存中执行时,许多因素会限制确定性代码性能。影响确定性代码行为的一个重要因素是系统总线矩阵的复杂性。从 SRAM 中运行代码时,由于与闪存相同的原因,也会出现确定性代码性能问题。

非确定性代码性能主要是由于代码从存储器传播到 CPU 的时间不同造成的,而传播时间的不同与连接存储器和 CPU 的系统总线矩阵有关。如果系统中存在多个实体需要访问系统总线,非确定性代码性能问题将会更加明显。

在实时应用中,某些情况下会有一些小的、关键的代码片段要求限时执行。不建议从闪存或 SRAM 中运行这类代码,因为系统总线仲裁可能会导致达不到预期的确定性时序,也就是说,从闪存或 SRAM 中提取代码时出现了高速缓存未命中情况。代码访问时间会因系统总线访问的可用性而异,因为需要在多个总线实体之间进行仲裁。

一文看懂单片机排阻的作用

cathy /

<strong>排阻的阻值读取</strong>

在三位数字中,从左至右的第一、第二位为有效数字,第三位表示前两位数字乘10的N次方(单位为Ω)。如果阻值中有小数点,则用“R”表示,并占一位有效数字。例如:标示为“103”的阻值为10&TImes;10=10kΩ;标示为“222”的阻值为2200Ω即2.2kΩ;标示为“105”的阻值为1MΩ。

需要注意的是,要将这种标示法与一般的数字表示方法区别开来,如标示为220的电阻器阻值为22Ω,只有标志为221的电阻器阻值才为220Ω。

标示为“0”或…000”的排阻阻值为OΩ,这种排阻实际上是跳线(短路线)。

一些精密排阻采用四位数字加一个字母的标示方法(或者只有四位数字)。前三位数字分别表示阻值的百位、十位、个位数字,第四位数字表示前面三个数字乘10的N次方,单位为欧姆;数字后面的第一个英文字母代表误差(G=2%、F=1%、D=0.25%、B=O.1%、A或W=0.05%、Q=0.02%、T=0.01%、V=0.005%)。如标示为“2341”的排阻的电阻为234&TImes;10=2340Ω。

单片机中断寄存器知识点总结,讲的太详细了!

cathy /

<strong>单片机中断源</strong>

一般而言,MCS-51单片机有5个中断源,分别是:外部中断0、外部中断1、定时/计数器0中断、定时/计数器1中断、串行口发送或接受中断。

<strong>用到外部中断</strong>

EX0=1;//中断允许开关

IT0=0;//下降沿触发方式

EA=1;//总开关

<strong>用到定时/计数器中断</strong>

ET0=1;//启动计数器中断开关

EA=1;//总开关

//定时器的核心在这下面这段代码

TMOD=0x09;

TH0=0x0D8;

TL0=0x0F0;

TR0=1;//启动定时器

<strong>用到串口中断</strong>

EX1=1;//外部中断1分开关

IT1=1;//触发方式:下降沿

PX1=1;//设置为高优先级

//波特率配置,由定时器1的益处率决定

TMOD=0x20;

[经验] 单片机开发中应该掌握的四个基本技巧

cathy /

在单片机应用开发中,代码的使用效率问题、单片机抗干扰性和可靠性等问题仍困扰着。现归纳出单片机开发中应掌握的几个基本技巧。

<strong>1、如何减少程序中的bug。</strong>

对于如何减少程序的bug,应该先考虑系统运行中应考虑的超范围管理参数如下。物理参数:这些参数主要是系统的输入参数,它包括激励参数、采集处理中的运行参数和处理结束的结果参数。资源参数:这些参数主要是系统中的电路、器件、功能单元的资源,如记忆体容量、存储单元长度、堆叠深度。应用参数:这些应用参数常表现为一些单片机、功能单元的应用条件。过程参数:指系统运行中的有序变化的参数。 

<strong>2、如何提高C语言编程代码的效率。</strong>