<strong>1、搞清楚功能、编制方案。</strong>
接到一个单片机项目设计文件之后,并不是马上动手编写程序,而是仔细研究用户提出的技术要求或者技术说明,根据这些技术要求和技术说明,也就是客户要求,把程序应该具备的主要功能写清楚,写仔细,这是最关键的工作。如不清楚,应向客户和使用者问清楚,否则在设计完成以后会发现有些功能由于事先没有考虑清楚再重新设计将会很麻烦,可能有些需要重新增加的功能很容易补充,而有些可能由于没有事先考虑周全而无法实现。
<strong>2、编制总流程图和各功能模块的流程图</strong>
众所周知,使用 STM32 时,当需要使用 System Memory 中的 Bootloader 进行代码升级的时候,需要将 BOOT0 脚拉高,复位后才能进入 Bootloader 程序,使用 Flash Loader Demonstrator 等工具进行串口烧写升级。这就需要在 BOOT0 这个引脚上留出按键或者是跳线脚。但是,STM32F09x 具有一项新的特性,使不必使用 BOOT 脚而进行串口升级成为可能。我们来共同探讨一下。
在前文大家都有见到集成电路的图片,其外形有很多种。在这些芯片中真正起作用的部分是集成在硅片上的晶体管。而我们看到的样子,则是在其外部用外壳进行封装。把硅片上的电路管脚,用导线接引到外部接头处,以便于其它器件连接。封装有安装、固定、密封、保护芯片及增强电热性等作用。硅片必须与外界隔离,以防止空气中的杂质对电路的腐蚀等造成电气性能下降。
一些医疗检测仪器在检测时需要模拟人体温度环境以确保检测的精确性,本文以STM32为主控制器,电机驱动芯片DRV8834 为驱动器,驱动半导体致冷器(帕尔贴)给散热片加热或者制冷。但由于常规的温度控制存在惯性温度误差的问题,无法兼顾高精度和高速性的严格要求,所以采用模糊自适应PID控制方法在线实时调整PID参数,计算PID参数Kp、Ki、Kd调整控制脉冲来控制驱动器的使能。从simulink仿真的和实验结果来看模糊PID控制系统精度高、响应速度快,能达到预期效果。
PIC16(L)F19197产品系列是一个用于驱动液晶显示屏(Liquid CrystalDisplay,LCD)的超低功耗(eXtreme Low Power,XLP)单片机系列,集成独立于内核的外设和智能模拟功能。该系列共有9款器件,具有电池友好的LCD驱动电荷泵、带有计算功能的12位ADC(ADC2)、低功耗比较器,以及可主动微调时钟的高频振荡器。这些器件是电池供电的低功耗触摸LCD应用的理想解决方案。该系列器件的引脚数从28至64引脚不等,具有最大56 KB的闪存和4 KB的RAM。
在MCU中(M16),定时器是独立的一个模块,M16有三个独立的定时器模块,即T/C0、T/C1和T/C2;其中T/C0和T/C2都是8位的定时器,而T/C1是一个16位的定时器。定时器的工作是独立于CPU之外自行运行的硬件模块。
<strong>1、定时器何时开始工作(或说计数)的?</strong>
当TCCR0!=0x00任何模式下,只要MCU一上电,T/C就开始计时工作。其实TCCR0主要是定时器的预分频和波形模式、比较匹配模式的设置,说到预分频,不得不提一下这个模块,这个模块是T/C0、T/C1共用的一个模块,但可以有不同的分频设置。
<strong>2、定时器是如何进行工作的?</strong>
<strong>【规则1】设计满足要求的最精简的系统。</strong>
正确估计单片机的能力,知道单片机能做什么,最大程度的挖掘单片机的潜力对一个单片机系统设计者来说是至关重要的。我们应该有这样一个认识,即单片机的处理能力是非常强大的。
早期的PC机,其CPU(8086)处理能力和8051相当,却能处理相当复杂的任务。单片机的能力的关键就在软件设计者编写的软件上。只有充分地了解到单片机的能力,才不会做出“冗余”的系统设计。而采用许多的外围芯片来实现单片机能实现的功能。这样做,即增加了系统成本,也可能会降低了系统的可靠性。
<strong>【规则2】使用看门狗。</strong>
考虑一个数字信号处理的实例,比如有限冲击响应滤波器(FIR)。用数学语言来说,FIR滤波器是做一系列的点积。取一个输入量和一个序数向量,在系数和输入样本的滑动窗口间作乘法,然后将所有的乘积加起来,形成一个输出样本。
类似的运算在数字信号处理过程中大量地重复发生,使得为此设计的器件必须提供专门的支持,促成了了DSP器件与通用处理器(GPP)的分流:
<strong>1 对密集的乘法运算的支持</strong>
正确的USART通信要求发送和接收波特率的匹配度足够高,否则可能发生通信错误。
当在两个设备之间建立通信链路时,自动波特率检测十分有用,因为从设备能够检测到主控制器的波特率并进行相应的自我调整。这需要使用一种自动机制来确定波特率。
某些STM32器件中内置的USART外设提供许多功能,包括硬件自动波特率检测。
本应用笔记旨在介绍STM32微控制器的自动波特率检测功能,并为没有在硬件中实现此功能的STM32器件提供替代软件方法。
低功耗、高速度、高集成度的LSI电路是成众多电子产品的首要考虑,这也就导致装置比以往任何时候更容易受到电磁干扰的威胁。此外,大功率家电及办公自动化设备的增多,以及移动通信、无线网络的广泛应用等,又大大增加了电磁骚扰源。这些变化迫使人们把电磁兼容作为重要的技术问题加以关注。
<font size="3"><strong>电磁兼容</strong></font>
采用一定的技术手段,使同一电磁环境中的各种电子、电气设备都能正常工作,并且不干扰其他设备的正常工作,这就是电磁兼容(ElectromagneticCompatibility,缩写为EMC)。
写在最前面,本文对于志在研究MCU防护的同学,能给很多参考思路,但对于想当黑客的人,发烧友对后果概不负责...
<strong>首先明白MCU是什么——即结构与组成</strong>
Ⅰ:中央处理器CPU,包括运算器、控制器和寄存器组。是MCU内部的核心部件,由运算部件和控制部件两大部分组成。前者能完成数据的算术逻辑运算、位变量处理和数据传送操作,后者是按一定时序协调工作,是分析和执行指令的部件。
Ⅱ:存储器,包括ROM和RAM。ROM程序存储器,MCU的工作是按事先编制好的程序一条条循序执行的,ROM程序存储器即用来存放已编的程序(系统程序由制造厂家编制和写入)。存储数据掉电后不消失。ROM又分为片内存储器和片外(扩展)存储器两种。
在初学51单片机的时候,总是伴随很多有关与晶振的问题,其实晶振就是如同人的心脏,是血液的是脉搏,把单片机的晶振问题搞明白了,51单片机的其他问题迎刃而解……
有关51单片机有关晶振的问题一并总结出来,希望对学51的童鞋来说能有帮助。
一,为什么51单片机爱用11.0592MHZ晶振?
其一:因为它能够准确地划分成时钟频率,与UART(通用异步接收器/发送器)量常见的波特率相关。特别是较高的波特率(19600,19200),不管多么古怪的值,这些晶振都是准确,常被使用的。
电源电路是一个电子产品的重要组成部分,电源电路设计的好坏,直接牵连产品性能的好坏。我们电子产品的电源电路主要有线性电源和高频开关电源。从理论上讲,线性电源是用户需要多少电流,输入端就要提供多少电流;开关电源是用户需要多少功率,输入端就提供多少功率。
<font size="3"><strong>线性电源</strong></font>
线性电源功率器件工作在线性状态,如我们常用的稳压芯片LM7805、LM317、SPX1117等。下图一是LM7805稳压电源电路原理图。
本例程通过PC机的串口调试助手将数据发送至STM32,接收数据后将所接收的数据又发送至PC机,具体下面详谈。
<strong>实例一:</strong>
void USART1_IRQHandler(u8 GetData)
{
u8 BackData;
if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) //中断产生
{
USART_ClearITPendingBit(USART1,USART_IT_RXNE); //清除中断标志.
GetData = UART1_GetByte(BackData); //也行GetData=USART1->DR;
物联网(IOT)掀起了近几十年来最大的技术浪潮之一。预计到2020年将有500亿台设备实现互连,形成可能覆盖我们周围一切事物的网络。物联网将跨越工业、商业、医疗、汽车和其它应用,影响数十亿人。鉴于其对个人、机构和系统的影响范围甚广,安全性上升成为所有物联网系统中最关键的组成部分,任何负责任的商业物联网企业都必须真正把握安全性的理念受到了广泛认可。
脉宽调制(PWM:(Pulse Width Modulation)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。PWM是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。只要带宽足够,任何模拟值都可以使用PWM进行编码。本文提出AVR单片机ATmega128的PWM的设计方法。
<strong>1.定时/计数器PWM设计要点</strong>
根据PWM的特点,在使用ATmega128的定时/计数器设计输出PWM时应注意以下几点:
<strong>(一)普通二极管的检测</strong>
(包括检波二极管、整流二极管、阻尼二极管、开关二极管、续流二极管)是由一个PN结构成的半导体器件,具有单向导电特性。通过用万用表检测其正、反向电阻值,可以判别出二极管的电极,还可估测出二极管是否损坏。
1.极性的判别 将万用表置于R×100档或R×1k档,两表笔分别接二极管的两个电极,测出一个结果后,对调两表笔,再测出一个结果。两次测量的结果中,有一次测量出的阻值较大(为反向电阻),一次测量出的阻值较小(为正向电阻)。在阻值较小的一次测量中,黑表笔接的是二极管的正极,红表笔接的是二极管的负极。
<font color="#FD8900">使用具有集成物理层的新型以太网MCU简化工业网关设计,在SimpleLink MCU平台上实现100%的代码兼容性</font>
MCU的安全等级正在逐步提升,一些公司甚至推出了安全主控,这是很好的现象,说明大家越来越重视嵌入式领域的信息安全和程序安全了。但对于很多特殊行业,比如消费类电子产品,低成本的通讯模块、电源控制模块等等,迫于成本压力以及更新换代速度问题,都无法使用更安全的主控MCU,有很大一部分产品甚至还在使用51单片机。
大家可能都知道破解51单片机是很容易的,但为什么容易,又是如何来破解的,可能很多人就不大清楚了,我在这里结合网上一些前辈整理的资料,和自己的经验,对MCU破解技术做个简单分析。
大家不要把解密想的很复杂,他不像研发一款产品那样,先确定客户需求或者新产品主要功能,然后立项确定技术指标,分配软硬件开发任务,基于硬件调试程序,然后验证功能,测试bug,还要做环境试验。行业里解密的方法有很多,每个人破解的思路也不一样。但是大致分为几种。





