单片机开发的7个规则

【规则1】设计满足要求的最精简的系统。

正确估计单片机的能力,知道单片机能做什么,最大程度的挖掘单片机的潜力对一个单片机系统设计者来说是至关重要的。我们应该有这样一个认识,即单片机的处理能力是非常强大的。

早期的PC机,其CPU(8086)处理能力和8051相当,却能处理相当复杂的任务。单片机的能力的关键就在软件设计者编写的软件上。只有充分地了解到单片机的能力,才不会做出“冗余”的系统设计。而采用许多的外围芯片来实现单片机能实现的功能。这样做,即增加了系统成本,也可能会降低了系统的可靠性。

【规则2】使用看门狗。

看门狗电路通常是一块在有规律的时间间隔中进行更新的硬件。更新一般由单片机来完成,如果在一定间隔内没能更新看门狗,那看门狗将产生复位信号,重新复位单片机。更新看门狗的具体形式多是给看门狗芯片相关引脚提供一个电平上升沿或读写它的某个寄存器。使用看门狗电路将在单片机发生故障进行死机状态时,重新复位单片机。

DSP与普通MCU的区别

考虑一个数字信号处理的实例,比如有限冲击响应滤波器(FIR)。用数学语言来说,FIR滤波器是做一系列的点积。取一个输入量和一个序数向量,在系数和输入样本的滑动窗口间作乘法,然后将所有的乘积加起来,形成一个输出样本。

类似的运算在数字信号处理过程中大量地重复发生,使得为此设计的器件必须提供专门的支持,促成了了DSP器件与通用处理器(GPP)的分流:

【下载】[应用笔记]STM32 USART自动波特率检测

正确的USART通信要求发送和接收波特率的匹配度足够高,否则可能发生通信错误。

当在两个设备之间建立通信链路时,自动波特率检测十分有用,因为从设备能够检测到主控制器的波特率并进行相应的自我调整。这需要使用一种自动机制来确定波特率。

某些STM32器件中内置的USART外设提供许多功能,包括硬件自动波特率检测。

一文看懂电磁兼容EMC和电磁干扰EMI

低功耗、高速度、高集成度的LSI电路是成众多电子产品的首要考虑,这也就导致装置比以往任何时候更容易受到电磁干扰的威胁。此外,大功率家电及办公自动化设备的增多,以及移动通信、无线网络的广泛应用等,又大大增加了电磁骚扰源。这些变化迫使人们把电磁兼容作为重要的技术问题加以关注。

电磁兼容

单片机晶振的21个问题总结

在初学51单片机的时候,总是伴随很多有关与晶振的问题,其实晶振就是如同人的心脏,是血液的是脉搏,把单片机的晶振问题搞明白了,51单片机的其他问题迎刃而解……

有关51单片机有关晶振的问题一并总结出来,希望对学51的童鞋来说能有帮助。

一,为什么51单片机爱用11.0592MHZ晶振?

其一:因为它能够准确地划分成时钟频率,与UART(通用异步接收器/发送器)量常见的波特率相关。特别是较高的波特率(19600,19200),不管多么古怪的值,这些晶振都是准确,常被使用的。

其二:用11.0592晶振的原因是51单片机的定时器导致的。用51单片机的定时器做波特率发生器时,如果用11.0592Mhz的晶振,根 据公式算下来需要定时器设置的值都是整数;如果用12Mhz晶振,则波特率都是有偏差的,比如9600,用定时器取0XFD,实际波特率10000,一般 波特率偏差在4%左右都是可以的,所以也还能用STC90C516 晶振12M 波特率9600 ,倍数时误差率6.99%,不倍数时误差率8.51%,数据肯定会出错。 这也就是串口通信时大家喜欢用11.0592MHz晶振的原因,在波特率倍速时,最高可达到57600,误差率0.00%。 用12MHz,最高也就4800,而且有0.16%误差率,但在允许范围,所以没多大影响。

破解MCU,既然可以这么简单!

写在最前面,本文对于志在研究MCU防护的同学,能给很多参考思路,但对于想当黑客的人,发烧友对后果概不负责...

首先明白MCU是什么——即结构与组成

STM32串口收数据的几种不同方式

本例程通过PC机的串口调试助手将数据发送至STM32,接收数据后将所接收的数据又发送至PC机,具体下面详谈。

实例一:

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;

USART1_SendByte(GetData); //发送数据

GPIO_SetBits(GPIOE, GPIO_Pin_8 ); //LED闪烁,接收成功发送完成

delay(1000);

GPIO_ResetBits(GPIOE, GPIO_Pin_8 );

}

}

【下载】智能连接物联网边缘节点的安全性白皮书

物联网(IOT)掀起了近几十年来最大的技术浪潮之一。预计到2020年将有500亿台设备实现互连,形成可能覆盖我们周围一切事物的网络。物联网将跨越工业、商业、医疗、汽车和其它应用,影响数十亿人。鉴于其对个人、机构和系统的影响范围甚广,安全性上升成为所有物联网系统中最关键的组成部分,任何负责任的商业物联网企业都必须真正把握安全性的理念受到了广泛认可。

ATmega128单片机PWM设计

脉宽调制(PWM:(Pulse Width Modulation)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。PWM是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。

干货!各类二极管的检测方法

(一)普通二极管的检测

(包括检波二极管、整流二极管、阻尼二极管、开关二极管、续流二极管)是由一个PN结构成的半导体器件,具有单向导电特性。通过用万用表检测其正、反向电阻值,可以判别出二极管的电极,还可估测出二极管是否损坏。