技术
<font size="3"><strong>单片机执行指令过程详解</strong></font>
单片机执行程序的过程,实际上就是执行我们所编制程序的过程。即逐条指令的过程。计算机每执行一条指令都可分为三个阶段进行。即取指令-----分析指令-----执行指令。
取指令的任务是:根据程序计数器PC中的值从程序存储器读出现行指令,送到指令寄存器。
分析指令阶段的任务是:将指令寄存器中的指令操作码取出后进行译码,分析其指令性质。如指令要求操作数,则寻找操作数地址。
1、 OTA Over The Air 空间无线升级,本文通过手机实现对BlueNRG-1的OTA代码更新。
<center><img src="http://mcu.eetrend.com/files/2017-06/wen_zhang_/100006570-20440-11.jpg&…; alt="一步步教你BlueNRG-1的OTA"></center>
2、 需要准备工具:
1、 BlueNRG-1 demo:STEVAL-IDB007V1
任何一款MCU,其基本原理和功能都是大同小异,所不同的只是其外围功能模块的配置及数量、指令系统等。对于指令系统,虽然形式上看似千差万别,但实际上只是符号的不同,其所代表的含义、所要完成的功能和寻址方式基本上是类似的。
因此,对于任何一款MCU,主要应从如下的几个方面来理解和掌握:
<font size="3" color="blue">MCU的特点</font>
要了解一款MCU,首先需要知道就是其ROM空间、RAM空间、IO口数量、定时器数量和定时方式、所提供的外围功能模块、中断源、工作电压及功耗等等。
很多MCU开发者对MCU晶体两边要各接一个对地电容的做法表示不理解,因为这个电容有时可以去掉。笔者参考了很多书籍,却发现书中讲解的很少,提到最多的往往是:对地电容具稳定作用或相当于负载电容等,都没有很深入地去进行理论分析。
而另外一方面,很多爱好者都直接忽略了晶体旁边的这两个电容,他们认为按参考设计做就行了。
但事实上,这是MCU的振荡电路,又称“三点式电容振荡电路”,如图1所示。
Microcontroller(微控制器)又可简称MCU或μC,也有人称为单芯片微控制器(Single Chip Microcontroller),将ROM、RAM、CPU、I/O集合在同一个芯片中,为不同的应用场合做不同组合控制。微控制器在经过这几年不断地研究,发展,历经4位,8位,到现在的16位及32位,甚至64位。产品的成熟度,以及投入厂商之多,应用范围之广,真可谓之空前。
在STM32上开发LCD显示,可以有两种方式来对LCD进行操作,一种是通过普通的IO口,连接LCM的相应引脚来进行操作,第2种是通过FSMC来进行操作。
<center><font size="3"><strong> 1. LCD/LCM的基本概念</strong></font></center>
液晶显示器(Liquid Crystal Display: LCD)的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。
作者:郭子仁
—本文摘自新通讯杂志 2017 年 194 期《 趋势眺望 》
据Gartner最新预测,2017年个人与商用无人机的市场规模将高达60亿美元,三年后更将成长到112亿美元,且出货量将达300万架,因此,无人机已被视为未来的明星产业。商用无人机竞争激烈,唯有发展专业技术,建立竞争门槛,才能避免沦为价格厮杀。
无人机的风行缘起于以空拍为主要用途的四轴飞行器,随之发展出各种创新应用,如:送货无人机、作战无人机与载客无人机等,引发了各界对于无人机未来应用的憧憬;2016年「双11」购物季开打,京东以无人机送货为宣传重点,宣称可以无人机送货解决广大农村最后一公里的配送难题。
单片机现在可谓是铺天盖地,种类繁多,让开发者们应接不暇,发展也是相当的迅速,从上世纪80年代,由当时的4位8位发展到现在的各种高速单片机……
各个厂商们也在速度、内存、功能上此起彼伏,参差不齐~~同时涌现出一大批拥有代表性单片机的厂商:Atmel、TI、ST、MicroChip、ARM…国内的宏晶STC单片机也是可圈可点…
下面为大家带来51、MSP430、TMS、STM32、PIC、AVR、STC单片机之间的优缺点比较及功能体现……
<font size="4" color="blue"><strong>51单片机</strong></font>
MCU中的特殊功能寄存器SFR,实际上就是SRAM地址已经确定的SRAM单元,在C语言环境下对其访问归纳起来有3种方法。
1.对C编译器进行语法扩充
对C编译器进行语法扩充。例如MCS51系列单片机的C-51语法中扩充了sfr关键字,举例如下:
sfr P0 = 0x80;
这样操作0x80单元直接写P0即可。
又如Atmel的AVR系列单片机,其ICCAVR和GCCAVR编译器都没有定义新的数据类型,只能采用标准C的强制类型转换和指针来实现访问MCU的寄存器。而IAR和CodeVisionAVR编译器对ANSI C进行了扩充,定义了新的数据类型,使C语言可以直接访问MCU的有关寄存器,例如在IAR中可以使用:
SFR_B(DDRB, 0x28);
随着全球智能化发展,中国精装房需求日益旺盛,传统门锁已经满足不了现下消费者的需求了,消费者对新型的智能门锁更加青睐。智能门锁可提供便捷、时尚感和安全性,正逐步赢得中高端消费者的认可。
针对智能门锁的设计,Silicon Labs (亦称“芯科科技”)的EFM32TM Jade Gecko和Pearl Gecko系列32位MCU因其具有超低功耗的特点,可应用于智能门锁的指纹锁系统,有利于电源模块的设计,最大程度的降低系统功耗。
<center><font size="4" color="blue">指纹锁系统架构与运行模式</font></center>
选择适合某个产品使用的微处理器是一项艰巨的任务。不仅要考虑许多技术因素,而且要考虑可能影响到项目成败的成本和交货时间等商业问题。
在项目刚启动时,人们经常压抑不住马上动手的欲望,在系统细节出台之前就准备微控制器选型了。这当然不是个好主意。
在微控制器方面做任何决策时,硬件和软件工程师首先应设计出系统的高层结构、框图和流程图,只有到那时才有足够的信息开始对微控制器选型进行合理的决策。此时遵循以下10个简单步骤可确保做出正确的选择。
<strong>步骤1:制作一份要求的硬件接口清单</strong>
深入讲解MCU最基本外设GPIO的各种模式,希望大家对GPIO能有更深入的认识。
GPIO全称General Purpose Input Output,即通用输入/输出。从GPIO的名字我们很容易理解它的功能,而每种功能都对应相应的工作模式,主要有三种模式:高阻输入、推挽输出和开漏输出。
<strong><font color="blue">高阻输入</font></strong>
我们知道大部分MCU的I/O使用时都可以设置为高阻输入。高阻输入可以认为输入电阻是无穷大,认为I/O对前级影响极小。
<strong>引言:</strong>
用电池供电的产品来说能耗是一个重大的问题,一旦电能耗尽设备将“罢工”。在<a href="" alt="http://mcu.eetrend.com/content/2017/100005908.html"></a>《MCU低功耗设计(一)理论》</a>中,我们介绍了节能的原理,本文用万用表和MCU电路板,真刀真枪地测试功耗值。简单,但绝对真实的测试数据,看看官方宣称低功耗与实测结果有多大差距,Let’s Go知识库" Go!
随着单片机系统越来越广泛地应用于消费类电子、医疗、工业自动化、智能化仪器仪表、航空航天等各领域,单片机系统面临着电磁干扰(EMI)日益严重的威胁。电磁兼容性(EMC)包含系统的发射和敏感度两方面的问题。如果一个单片机系统符合下面三个条件,则该系统是电磁兼容的:
① 对其它系统不产生干扰;
② 对其它系统的发射不敏感;
③ 对系统本身不产生干扰。
四轴飞行器是一种利用四个旋翼作为飞行引擎来进行空中飞行的飞行器。进入20世纪以来,电子技术飞速发展四轴飞行器开始走向小型化,并融入了人工智能,使其发展趋于无人机,智能机器人。
四轴飞行器不但实现了直升机的垂直升降的飞行性能,同时也在一定程度上降低了飞行器机械结构的设计难度。四轴飞行器的平衡控制系统由各类惯性传感器组成。在制作过程中,对整体机身的中心、对称性以及电机性能要求较低,这也正是制作四轴飞行器的优势所在,而且相较于固定翼飞机,四轴也有着可垂直起降,机动性好,易维护等优点。
<strong>系统方案</strong>
本设计采用STM32F4作为核心处理器,该处理器内核架构 ARM Cortex-M4,具有高性能、低成本、低功耗等特点。
<strong>ARM</strong>
ARM处理器是Acorn计算机有限公司面向低预算市场设计的第一款RISC微处理器。更早称作AcornRISCMachine。ARM处理器本身是32位设计,但也配备16位指令集,一般来讲比等价32位代码节省达35%,却能保留32位系统的所有优势。
<strong>ARM历史发展:</strong>
1978年12月5日,物理学家赫尔曼·豪泽(HermannHauser)和工程师ChrisCurry,在英国剑桥创办了CPU公司(CambridgeProcessingUnit),主要业务是为当地市场供应电子设备。1979年,CPU公司改名为Acorn计算机公司。
<font color="#FD8900">Joseph Yiu, 高级嵌入式技术经理, ARM</font>
William Gao, ARM 中国应用工程师与Gabriel Wang,ARM中国嵌入式应用工程师对于本文中文版亦有帮助
<strong>概要:</strong>ARM Cortex-M处理器家族现在有8款处理器成员。在本文中,我们会比较Cortex-M系列处理器之间的产品特性,重点讲述如何根据产品应用选择正确的Cortex-M处理器。
本文中会详细的对照Cortex-M 系列处理器的指令集和高级中断处理能力,以及 SoC系统级特性,调试和追踪功能和性能的比较。
众所周知,在电子行业有这样一个形象的比喻:如果把MCU比作电路的“大脑”,那么晶振毫无疑问就是“心脏”了。同样,电路对“晶体晶振”(以下均简称:“晶振”)的要求也如一个人对心脏的要求一样,最需要的就是稳定可靠。晶振在电路中的作用就是为系统提供基本的频率信号,如果晶振不工作,MCU就会停止导致整个电路都不能工作。然而很多工程师对晶振缺乏足够的重视和了解,而一旦出了问题却又表现的束手无策,缺乏解决问题的思路和办法。
<strong>晶振不起振问题归纳</strong>
1、物料参数选型错误导致晶振不起振
例如:某MCU需要匹配6PF的32.768KHz,结果选用12.5PF的,导致不起振。
解决办法:更换符合要求的规格型号。必要时请与MCU原厂或者我们确认。
在单片机应用开发中,代码的使用效率问题、单片机抗干扰性和可靠性等问题仍困扰着。现归纳出单片机开发中应掌握的几个基本技巧。
<strong>1如何减少程序中的bug</strong>
对于如何减少程序的bug,应该先考虑系统运行中应考虑的超范围管理参数如下。物理参数:这些参数主要是系统的输入参数,它包括激励参数、采集处理中的运行参数和处理结束的结果参数。资源参数:这些参数主要是系统中的电路、器件、功能单元的资源,如记忆体容量、存储单元长度、堆叠深度。应用参数:这些应用参数常表现为一些单片机、功能单元的应用条件。过程参数:指系统运行中的有序变化的参数。
<strong>2如何提高C语言编程代码的效率</strong>