跳转到主要内容

单片机

教你4招,小白如何自学单片机,绝对管用!

cathy /

很多刚开始学习单片机的小伙伴最苦恼的就是如何入门,不知道从哪一部分开始、在哪里查找学习资源、按照怎样的学习步骤进行学习,而且摸索学习步骤的过程在浪费时间的同时也会降低学习兴趣。为了帮助大家解决这种情况,小编将单片机达人的学习经验进行了整理,以文章的形式分享给大家。

<strong>一、基础理论知识</strong>

要掌握理论知识,第一步还是要通读一遍教材,这样我们才能站在巨人的肩膀上。《电工基础》、《电路分析》、《模拟电路》、《数字电路》、《电子制作》等电子技术基础知识一定要先通读。

(1)电场与磁场:库仑定律、高斯定理、环路定律、电磁感应定律。

(2)直流电路:电路基本元件、欧姆定律、基尔霍夫定律、叠加原理、戴维南定理。

(3)正弦交流电路:正弦量三要素、有效值、复阻抗、单相和三相电路计算、功率及功率因数、串联与并联谐振、安全用电常识。

(4)RC和RL电路暂态过程:三要素分析法。

(5)变压器与电动机:变压器的电压、电流和阻抗变换、三相异步电动机的使用、常用继电-接触器控制电路。

(6)半导体及二极管及整流、滤波、稳压电路。

(7)三极管及单管放大电路、信号处理电路、信号发生电路、功率放大电路、直流稳压电源等。

这些单片机按键设计方案,拿走不谢!

cathy /

在单片机系统里,按键是常见的输入设备。本文将介绍四种按键硬件设计上的方案和一些软件设计方面的技巧。

<strong>一、直接检测GPIO口单个按键,如图1所示。</strong>

<center><img src="http://mouser.eetrend.com/files/2019-07/wen_zhang_/100044429-76252-1.pn…; alt=“图1:方案一” width="600"></center><center><i>图1:方案一</i></center>

<strong>二、在按键较多的情况下,则使用矩阵键盘,如图2所示。</strong>

单片机程序死机跑飞,可能是因为这几个原因

cathy /

<center><img src="http://mouser.eetrend.com/files/2019-07/wen_zhang_/100044293-75532-dp.p…; alt=“” width="600"></center>

<strong>1、意外中断。</strong>是否打开了某个中断,但是没有响应和清除中端标志,导致程序一直进入中断,造成死机假象。

<strong>2、中断变量处理不妥。</strong>定义某些在中断期间会被修改的全局变量时,需要注意两个问题:首先为了防止编译器优化中断变量,要在定义这些变量时加volatile,其次在主循环中读取中断变量前应该首先关闭全局中断,防止读到一半被中断修改,读完之后再打开全局中断,否则会造成数据混乱。

单片机 | P0口什么时候使用上拉电阻?

cathy /

<center><img src="http://mouser.eetrend.com/files/2019-07/wen_zhang_/100044168-74708-0.pn…; alt=“”></center>

由于P0口内部没有上拉电阻,是开漏的,不管它的驱动能力多大,相当于它是没有电源的,需要外部的电路提供。绝大多数情况下,P0口是必须加上拉电阻的。

01、一般51单片机的P0口在作为地址/数据复用时不接上拉电阻。

02、作为一般的I/O口使用时,由于内部没有上拉电阻,故要接上上拉电阻。

03、当P0口用来驱动PNP管子的时候,就不需要上拉电阻,因为此时的低电平有效。

04、当P0口用来驱动NPN管子的时候,就需要上拉电阻,因为此时只有当P0为1的时候,才能够使后级端导通。简单一点说就是它要驱动LCD显示屏显示就必须要有电源驱动,否则亮不了,而恰好P0口没有电源,所以就要外接电源,接上电阻是起到限流的作用;如果接P1、P2、P3端口就不用外接电源和电阻了。

资料下载:为 AVR®单片机选择和测试32kHz晶振

cathy /

<strong><font color="#004a85">作者:Microchip Technology Inc.的 Torbjørn Kjørlaug</font> </strong>

晶振利用振动压电材料的机械谐振来产生非常稳定的时钟信号。通常借助频率提供稳定的时钟信号或跟踪时间;因此,晶振广泛用于RF和数字电路。

晶振可由不同供应商提供,形状和尺寸也不尽相同,在性能和规格方面有很大差异。为在温度、湿度、电源和工艺发生变化时使稳健的应用保持稳定,了解各个参数和振荡器电路至关重要。

所有物理对象都具有固有的振动频率,振动频率由其形状、大小、弹性和材料中的声速决定。压电材料在施加电场时会变形,在恢复到其原始形状时会产生电场。电子电路中最常用的压电材料是石英晶振,但也使用陶瓷谐振器——通常用于低成本或非时序关键型应用。32kHz(32768Hz)晶振通常被切割成音叉形状,可以形成非常精确的频率。

今天推荐的中文应用笔记总结了晶振基础知识、PCB布线注意事项以及如何测试应用中的晶振。晶振选型指南给出了经专家测试、适用于不同Microchip AVR®系列中各种振荡器模块的推荐晶振。该应用笔记还包括来自不同晶振供应商的测试固件和测试报告。

是单片机高手还是菜鸟?看看你的程序框架就知道了

cathy /

从大学参加电子设计大赛到现在,在单片机学习的道路上也有几年的摸索了,把自己的一些心得体会分享给大家。

初学单片机时,往往都会纠结于其各个模块功能的应用,如串口(232,485)对各种功能IC的控制、电机控制PWM、中断应用、定时器应用、人机界面应用和CAN总线等。这是一个学习过程中必需的阶段,是基本功。很庆幸,在参加电子设计大赛赛前培训时,MCU周围的控制都训练的很扎实。经过这个阶段后,后来接触不同的MCU就会发现,都大同小异,各有各的优势而已,学任何一种新的MCU都很容易入手包括一些复杂的处理器。而且对MCU的编程控制会提升一个高度概况——就是对各种外围进行控制(如果是对复杂算法的运算就会用DSP了),而外围与MCU的通信方式一般也就几种时序:IIC、SPI、intel8080、M6800。这样看来MCU周围的编程就是一个很简单的东西了。

然而这只是嵌入式开发中的一点皮毛而已,在接触过多种MCU,接触过复杂设计要求,跑过操作系统等等后,我们在回到单片机的裸机开发时,就不知不觉的就会考虑到整个程序设计的架构问题;一个好的程序架构,是一个有经验的工程师和一个初学者的分水岭。

以下是我对单片机程序框架以及开发中一些常用部分的认识总结:

RAM在单片机里有什么样的作用

cathy /

单片机就是个小计算机,大计算机少不了的数据存储系统,单片机一样有,而且往往和CPU集成在一起,更加显得小巧灵活。直到90年代初,国内容易得到的单片机就是8031:不带存储器的芯片,要想工作,还必需外加RAM和ROM,单片机成了3片机......现在不同了,大的小的又是51,又是AVR又是STC,还有什么430,PIC等等,都各说各的好,可是谁也不敢说“我不要存储器”。

<center><img src="http://mouser.eetrend.com/files/2019-06/wen_zhang_/100043839-72965-pc.p…; alt=“” width="600"></center>

单片机内,有这么几种数据存储手段:

单片机执行指令过程详解

cathy /

单片机执行程序的过程,实际上就是执行我们所编制程序的过程。即逐条指令的过程。计算机每执行一条指令都可分为三个阶段进行:

<strong>1、取指令 — 2、分析指令 — 3、执行指令</strong>

<strong>1、取指令</strong>

根据程序计数器PC中的值从程序存储器读出现行指令,送到指令寄存器。

<strong>2、分析指令</strong>

将指令寄存器中的指令操作码取出后进行译码,分析其指令性质。如指令要求操作数,则寻找操作数地址。

<strong>3、执行指令</strong>

执行程序的过程实际上就是逐条指令地重复上述操作过程,直至遇到停机指令或循环等待指令。

一般计算机进行工作时,首先要通过外部设备把程序和数据通过输入接口电路和数据总线送入到存储器,然后逐条取出执行。但单片机中的程序一般事先我们都已通过写入器固化在片内或片外程序存储器中。因而一开机即可执行指令。

<strong>下面我们将举个实例来说明指令的执行过程:</strong>

STM32单片机按键电路设计

cathy /

<center><img src="http://mouser.eetrend.com/files/2019-06/wen_zhang_/100043759-72567-d1.p…; alt=“” width="600"></center>

以前GPIO上接的电路都是低电平触发的那种,现在新设计的板子有一个按键设计的是高电平触发,结果IO口设置成上拉输入后,怎么读都不正确,按键电路如图1。无奈只能去调试一下,发现当设置为上拉输入后,其ODR(GPIO输出数据寄存器)相应的也置为1,百思不得其解。

如何掌握特定的单片机使用方法,并开发出高质量的单片机控制系统?

cathy /

单片机是单片微型计算机的简称。它是在一块芯片上,以CPU为核心,同时集成了常用的计算机外部设备的计算机系统,称之为MCU。

<center><img src="http://mouser.eetrend.com/files/2019-06/wen_zhang_/100043756-72550-a1.p…; alt=“” width="600"></center>

单片机是为特定应用场景定制的计算机系统,其种类与型号是成千上万的。刚接触单片机开发,可能就会被如此多的种类与型号吓到。如何掌握特定的单片机使用方法,并开发出高质量的单片机控制系统,就成了让人头疼的问题。

这里我们可以先从单片机的结构着手分析。

单片机上的核心器件是CPU,在CPU周围是各式各样的总线。总线的一端,连接的是常用的计算机外部设备,比如:I/O设备、USART设备、A/D设备、RAM、Flash ROM、SPI总线控制设备......等等。