当前位置:首页 > 产品中心 > MCU芯片

一文读懂MCU的特色、功用及怎么编写

 发布时间:2022-08-06 19:26:10 来源:乐鱼平台app

  任何一款MCU,其根本原理和功用都是迥然不同,所不同的仅仅其外围功用模块的装备及数量、指令体系等。关于指令体系,尽管办法上看似千差万别,但实践上仅仅符号的不同,其所代表的意义、所要完结的功用和寻址办法根本上是相似的。因而,关于任何一款MCU,重要应从如下的几个方面来了解和把握:

  要了解一款MCU,首要要知道便是其ROM空间、RAM空间、IO口数量、准时器数量和准时办法、所供给的外围功用模块(PeripheralCircuit)、中止源、作业电压及功耗等等。

  了解这些MCUFeatures后,接下来第一步便是将所选MCU的功用与实践项目开发的要求的功用进行比较,清晰那些资源是现在所要的,那些是本项目所用不到的。关于项目中要用到的而所选MCU不供给的功用,则要仔细了解MCU的相关材料,以求用直接的办法来完成,例如,所开发的项目要与PC机COM口进行通讯,而所选的MCU不供给UART口,则能够考虑用外部中止的办法来完成

  关于项目开发要用到的资源,则要对其Manua*进行仔细的了解和阅览,而关于不要的功用模块则能够疏忽或阅读即可。关于MCU学习来讲,运用才是要害,也是最重要的意图。

  清晰了MCU的相关功用后,接下来就能够开端编程了。关于初学者或初度运用此款MCU的规划者来说,或许会遇到许多对MCU的功用描绘不清晰的当地,关于此类问题,能够经过两种办法来处理,一种是编写特别的验证程序来了解材料所述的功用另一种则能够暂时疏忽,程序规划中则按照自己现在的了解来编写,留到调试时去修正和完善。前一种办法适用于时刻较宽松的项目和初学者,然后一种办规律适合于具有必定MCU开发经历的人或项目进展较急迫的状况

  指令体系千万不要特别花时刻去了解。指令体系仅仅一种逻辑描绘的符号,只需在编程时依据自己的逻辑和程序的逻辑要求来检查相关的指令即可,并且跟着编程的进行,对指令体系也会越来越娴熟,乃至能够不自觉地回忆下来。

  关于绝大多数MCU,下列功用是最遍及也是最根本的,针对不同的MCU,其描绘的办法或许会有不同,但本质上是根本相同的:

  TImer(准时器):TImer的品种尽管比较多,但可概括为两大类:一类是固准时刻距离的TImer,即其准时的时刻是由体系设定的,用户程序不行操控,体系只供给几种固定的时刻距离给用户程序进行挑选,如32Hz,16Hz,8Hz等,此类TImer在4位MCU中比较常见,因而能够用来完成时钟、计时等相关的功用另一类则是ProgrammableTimer(可编程准时器),望文生义,该类Timer的准时时刻是能够由用户的程序来操控的,操控的办法包含:时钟源的挑选、分频数(Prescale)挑选及预制数的设定等,有的MCU三者都一起具有,而有的则或许是其间的一种或两种。此类Timer运用十分灵敏,实践的运用也千变万化,其间最常见的一种运用便是用其完成PWM输出(详细的运用,后续会有特别的介绍)。因为时钟源能够自由挑选,因而,此类Timer一般均与EventCounter(事情计数器)合在一起

  IO口:任何MCU都具有必定数量的IO口,没有IO口,MCU就失去了与外部交流的途径。依据IO口的可装备状况,能够分为如下几品种型:

  纯输入或纯输出口:此类IO口有MCU硬件规划决议,只能是输入或输出,不行用软件来进行实时的设定

  直接读写IO口:如MCS-51的IO口就归于此类IO口。当履行读IO口指令时,便是输进口当履行写IO口指令则主动为输出口

  程序编程设定输入输出方向的:此类IO口的输入或输出由程序依据实践的要来进行设定,运用比较灵敏,能够完成一些总线C总线,各种LCD、LEDDriver的操控总线等

  关于IO口的运用,重要的一点有必要紧记的是:关于输进口,有必要有清晰的电平信号,确保不能浮空(能够经过新增上拉或下拉电阻来完成)而关于输出口,其输出的状况电平有必要考虑其外部的衔接状况,应确保在Standby或静态状况下不存在拉电流或灌电流。

  外部中止:外部中止也是绝大多数MCU所具有的根本功用,一般用于信号的实时触发,数据采样和状况的检测,中止的办法由上升沿、下降沿触发和电平触发几种。外部中止一般经过输进口来完成,若为IO口,则只需设为输入时其间止功用才会敞开若为输出口,则外部中止功用将主动封闭(ATMEL的ATiny系列存在一些破例,输出口时也能触发中止功用)。外部中止的运用如下:

  外部触发信号的检测:一种是依据实时性的要求,比方可控硅的操控,突发性信号的检测等而另一种状况则是省电的要

  数据的解码:在遥控运用领域,为了下降规划的本钱,常常要选用软件的办法来对各种编码数据进行解码,如Manchester和PWM编码的解码

  按键的检测和体系的唤醒:关于进入Sleep状况的MCU,一般要经过外部中止来进行唤醒,最根本的办法则是按键,经过按键的动作来发生电平的改变

  通讯接口:MCU所供给的通讯接口一般包含SPI接口,UART,I2C接口等,其别离描绘如下:

  SPI接口:此类接口是绝大多数MCU都供给的一种最根本通讯办法,其数据传输选用同步时钟来操控,信号包含:SDI(串行数据输入)、SDO(串行数据输出)、SCLK(串行时钟)及Ready信号有些状况下则或许没有Ready信号此类接口能够作业在Master办法或Slave办法下,浅显说法便是看谁供给时钟信号,供给时钟的一方为Master,相反的一方则为Slaver

  UART(UniversalAsynchronousReceiveTransmit):归于最根本的一种异步传输接口,其信号线只需Rx和Tx两条,根本的数据格式为:StartBit+DataBit(7-bits/8-bits)+ParityBit(Even,OddorNone)+StopBit(1~2Bit)。一位数据所占的时刻称为BaudRate(波特率)。关于大多数的MCU来讲,数据为的长度、数据校验办法(奇校验、偶校验或无校验)、中止位(StopBit)的长度及BaudRate是能够经过程序编程进行灵敏设定。此类接口最常用的办法便是与PC机的串口进行数据通讯。

  I2C接口:I2C是由Philips开发的一种数据传输协议,相同选用2根信号来完成:SDAT(串行数据输入输出)和SCLK(串行时钟)。其最大的优点是能够在此总线上挂接多个设备,经过地址来进行辨认和拜访I2C总线的一个最大的优点便是十分便利用软件经过IO口来完成,其传输的数据速率彻底由SCLK来操控,可快可慢,不像UART接口,有严厉的速率要求。

  Watchdog(看门狗准时器):Watchdog也是绝大多数MCU的一种根本装备(一些4位MCU或许没有此功用),大多数的MCU的Watchdog只能答应程序对其进行复位而不能对其封闭(有的是在程序烧入时来设定的,如MicrochipPIC系列MCU),而有的MCU则是经过特定的办法来决议其是否翻开,如Samsung的KS57系列,只需程序拜访了Watchdog寄存器,就主动敞开且不能再被封闭。一般来说watchdog的复位时刻是能够程序来设定的。Watchdog的最根本的运用是为MCU因为意外的毛病而导致死机供给了一种自我康复的才能。

  MCU的程序的编写与PC下的程序的编写存在很大的不同,尽管现在依据C的MCU开发工具越来越盛行,但关于一个高效的程序代码和喜爱运用汇编的规划者来讲,汇编言语仍然是最简练、最有用的编程言语。关于MCU的程序编写,其根本的结构能够说是大体一致的,一般分为初始化部分(这是MCU程序规划与PC最大的不同),主程序循环体和中止处理程序三大部分,其别离阐明如下:

  初始化:关于一切的MCU程序的规划来讲,出生化是最根本也是最重要的一步,一般包含如下内容:

  铲除体系的RAM区域和显现Memory:尽管有时或许没有彻底的必要,但从可靠性及一致性的视点动身,特别是关于避免意外的过错,仍是主张养成杰出的编程习气

  IO口的初始化:依据项意图运用的要求,设定相关IO口的输入输出办法,对与输进口,要设定其上拉或下拉电阻关于输出口,则有必要设定其出生的电平输出,以防呈现不必要的过错

  中止的设置:关于一切项目要用到的中止源,应该给予敞开并设定中止的触发条件,而关于不运用的剩余的中止,则有必要给予封闭

  其他功用模块的初始化:关于一切要用到的MCU的外围功用模块,有必要按项意图运用的要求进行相应的设置,如UART的通讯,要设定BaudRate,数据长度,校验办法和StopBit的长度等,而关于ProgrammerTimer,则有必要设置其时钟源,分频数及ReloadData等

  参数的出生化:完结了MCU的硬件和资源的出生化后,接下来便是对程序中运用到的一些变量和数据的初始化设置,这一部分的初始化要依据详细的项目及程序的整体组织来规划。关于一些用EEPROM来保存项目预制数的运用来讲,主张在初始化时将相关的数据拷贝到MCU的RAM,以进步程序对数据的拜访速度,一起下降体系的功耗(原则上,拜访外部EEPROM都会新增电源的功耗)。

  主程序循环体:大多数MCU是归于长时刻不间断运转的,因而其主程序体根本上都是以循环的办法来规划,关于存在多种作业形式的运用来讲,则或许存在多个循环体,相互之间经过状况标志来进行转化。关于主程序体,一般状况下重要组织如下的模块:

  核算程序:核算程序一般比较耗时,因而坚决对立放在任何中止中处理,特别是乘除法运算

  中止处理程序:中止程序重要用于处理实时性要求较高的使命和事情,如,外部突发性信号的检测,按键的检测和处理,准时计数,LED显现扫描等。一般状况下,中止程序应尽或许确保代码的简练和矮小,关于不要实时去处理的功用,能够在中止中设置触发的标志,然后由主程序来履行详细的业务――这一点十分重要,特别是关于低功耗、低速的MCU来讲,有必要确保一切中止的及时呼应。

  关于不同使命体的组织,不同的MCU其处理的办法也有所不同。例如,关于低速、低功耗的MCU(Fosc=32768Hz)运用,考虑到此类项目均为手持式设备和选用一般的LCD显现,对按键的反响和显现的反响要求实时性较高,应此一般选用准时中止的办法来处理按键的动作和数据的显现而关于高速的MCU,如Fosc》1MHz的运用,因为此刻MCU有满足的时刻来履行主程序循环体,因而能够只在相应的中止中设置各种触发标志,并将一切的使命放在主程序体中来履行

  在MCU的程序规划中,还要特别注意的一点便是:要避免在中止和主程序体中一起拜访或设置同一个变量或数据的状况。有用的防备办法是,将此类数据的处理组织在一个模块中,经过判别触发标志来决议是否履行该数据的相关操作而在其他的程序体中(重要是中止),对要进行该数据的处理的当地只设置触发的标志。――这能够确保数据的履行是可预知和仅有的。

  锂电池的技能一直在缓慢改善,以创造出愈加安稳的产品。了解PHEV和锂电池技能。 现在锂离子电池十分受欢迎。你能够在笔记本电脑、pda、手机和ipod上找到它们。它们之所以如此遍及,是因为它们是最具能量的可充电电池之一。

  锂电池的运用广泛,从民用的数码、通讯产品到工业设备到特种设备等都在批量运用,不同产品需求不同的电压和容量,因而锂离子电池串联和并联运用状况许多,锂电池经过加装维护电路、外壳、输出而构成的运用电池称为P

上一篇:操控MCU业界新闻-电子发烧友网 下一篇:宇凡微共享2022年全球mcu厂商排名状况剖析

  快速链接

关于万高 新闻中心 支持与服务

  下载

开发工具 技术文档

  公司

招贤纳士 联系我们

  乐鱼平台app

简体中文 English
Copyright © by Vango Technologies, Inc. All rights reserved. 浙ICP备12042626号