跳转到主要内容

单片机

教你如何选择A/D芯片?

kelly /

A/D器件和芯片是实现单片机数据采集的常用外围器件。A/D转换器的品种繁多、性能各异,在设计数据采集系统时,首先碰到的就是如何选择合适的 A/D转换器以满足系统设计要求的问题。选择A/D转换器件需要考虑器件本身的品质和应用的场合要求,基本上,可以根据以下几个方面的指标选择一个A/D 器件。

<center><img src="http://mm32.eetrend.com/files/2016-09/wen_zhang_/100003027-9880-1965345…; alt=""></center>

<strong>(1)A/D转换器位数</strong>

单片机控制系统抗干扰设计

kelly /

单片机控制系统必须具有较高的灵敏度,但是灵敏度越高越容易把干扰引入系统中, 因此抗干扰技术己成为单片机控制系统设计时必须考虑的环节。本文分析了单片机控制系统干扰的主要来源,介绍了印制电路板中地线和电源线的布线方法,从硬件和软件两个方面阐述了抗干扰设计。这些抗干扰方法实际应用中取得了良好的效果,使一些单片机控制系统在现场成功运行。

<strong>引言</strong>

单片机组成的控制系统必须具有较高的灵敏度,灵敏度越高,更容易把干扰引入系统中。在强噪声背景下,被测信号往往被淹没,使测量无法进行。在工业现场的应用中,存在多种干扰源,它们以一种或者多种方式作用于计算机测控系统,对系统产生强烈的干扰,往往使系统的性能指标偏离设计要求,导致错误结果,因此抗干扰技术己成为单片机控制系统设计开始时就必须考虑的环节。

本文分析了单片机控制系统干扰的主要来源,从硬件和软件两个方面阐述了抗干扰设计。

<strong> 1 、系统干扰源分析</strong>

<strong> 1. 1 现场干扰源</strong>

单片机开发中的应掌握的几个基本技巧

kelly /

在单片机应用开发中,代码的使用效率问题、单片机抗干扰性和可靠性等问题仍困扰着。现归纳出单片机开发中应掌握的几个基本技巧。

<strong>1、如何减少程序中的bug:</strong>

对于如何减少程序的bug,应该先考虑系统运行中应考虑的超范围管理参数如下。物理参数:这些参数主要是系统的输入参数,它包括激励参数、采集处理中的运行参数和处理结束的结果参数。资源参数:这些参数主要是系统中的电路、器件、功能单元的资源,如记忆体容量、存储单元长度、堆叠深度。应用参数:这些应用参数常表现为一些单片机、功能单元的应用条件。过程参数:指系统运行中的有序变化的参数。

<strong>2、如何提高C语言编程代码的效率:</strong>

分析与解决单片机复位

kelly /

<strong>外部复位(External Reset) </strong>

它是影响时钟模块和所有内部电路,属于同步复位,但外部Reset引脚为逻辑低电平。在引脚变为低电平后,CPU的复位控制逻辑单元确认复位状态直到Reset释放。复位控制逻辑保持复位低电平状态,在额外512个时钟周期内。因为当复位引脚为低电平时与MCU执行复位命令是相互冲突的,因此复位引脚必须保证520时间周期内低电平才能保证外部复位被外部总线辨识出来。

<center><img src="http://mm32.eetrend.com/files/2016-09/wen_zhang_/100002980-9728-1.jpg&q…; alt=""></center>

<strong>上电复位(Power-on reset) </strong>

单片机的译码方式

kelly /

单片机的片选方法有线选法和译码器。线选法就是用其中剩余一条地址线做为单片机选择其它芯片的片选信号线,连接简单,但当单片机外围芯片较多时,由于单片机剩余地址线数量有限,有可能不够用。这时可以使用译码方式,对单片机剩余的高位地址线进行译码,用译码器的输出线做为单片机芯片的片选。

全译码方式是将片内寻址的地址线以外的高位地址线,全部输人到译码器进行译码,利用译码器的输出端作为各存储器芯片的片选信号。常用的译码器有74LS138、 74LS139、74LS154等。这里介绍74LS138、74LS139译码器。

74LS138是一种 3-8 译码器,有3个数据输人端,经译码产生 8 种状态。其引脚如图1所示,译码功能如表1所示。由表1可见,当译码器的输人为某一个编码时其输出就有一固定的引脚输出为低电平,其余的为高电平。
74LS139 是一种双2-4 译码器。这两个译码器完全独立,分别有各自的数据输人端、译码状态输出端以及数据输入允许端。其引脚如图2所示,真值表如表1所示(只给出其中一组)。

单片机开发人员的几个常疏忽的问题点

Lee_ /

我的工作主要是主导新产品试产,在实际的工作中,经常出现因为RD人员的设计“疏忽”导致试产失败。这个疏忽要加上引号,是因为这并不是真正的粗心造成的,而是对生产工艺的不熟悉而导致的。为了避免各位做RD的朋友出现同样的错误,或为了更好的完成试产我对一些常见的问题点做一些总结,希望能对大家有所帮助。

1、IC封装的选择。现在电子产品都在向环保的无铅发展,欧洲2006年7月1日就要实现全部无铅化,,现在正处于有铅向无铅的过渡期。因此,元器件厂商提供的元器件也出现无铅与有铅两种规格,有的厂商甚至已经停止了有铅元器件的生产。

问题点就在于这有铅和无铅两种元器件的选择上,当一个产品设计完成后,RD人员需要对具体元器件进行确认,请在确认前要做出该产品采用无铅工艺还是有铅工艺的选择。如果没有一个具体的确定,在选料时不注意这个问题,原料中出现有铅元件与无铅元件同时使用,就会导致SMT工艺的困难。

无铅元件的回流峰值温度在255度,有铅元件的回流峰值温度最高不超过235度,如果混用两种材料,那么必然会导致1、有铅元件被高温损坏。

堆栈在C语言中的定义(单片机的中堆栈相当于栈)

Lee_ /

在计机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到。但对于很多的初学着来说,堆栈是一个很模糊的概念。堆栈:一种数据结构、一个在程序运行时用于存放的地方,这可能是很多初学者的认识,因为我曾经就是这么想的和汇编语言中的堆栈一词混为一谈。我身边的一些编程的朋友以及在网上看帖遇到的朋友中有好多也说不清堆栈,所以我想有必要给大家分享一下我对堆栈的看法,有说的不对的地方请朋友们不吝赐教,这对于大家学习会有很大帮助。

<strong>首先了解下计算机C语言中各个变量的存放区域:</strong>
代码区(CODE): 存放函数代码;
静态数据区(DATA): 存放全局变理/静态变量;
堆区(HEAP): 是自由存储区,存放动态数据,像new,malloc()申请的空间就是堆区的;
栈区(STACK): 存放临时/局部变量。

<strong>数据结构的栈和堆</strong>
首先在数据结构上要知道堆栈,尽管我们这么称呼它,但实际上堆栈是两种数据结构:堆和栈。
堆和栈都是一种数据项按序排列的数据结构。

单片机掉电检测与保存

Lee_ /

单片机在正常工作时,因某种原因造成突然掉电,将会丢失数据存储器(RAM)里的数据。在某些应用场合如测量、控制等领域,单片机正常工作中采集和运算出一些重要数据,待下次上电后需要恢复这些重要数据。因此,在一些没有后备供电系统的单片机应用系统中,有必要在系统完全断电之前,把这些采集到的或计算出的重要数据存在在EEPROM中。为此,通常做法是在这些系统中加入单片机掉电检测电路与单片机掉电数据保存。

用法拉电容可从容实现单片机掉电检测与数据掉电保存。电路见下图。这里首先用6V供电(如7806),为什么用6V不用5V是显而易见的.电路中的二极管们一般都起两个作用,一是起钳位作用,钳去0.6V,保证使大多数51系列的单片机都能在4.5V--5.5V之间的标称工作电压下工作.而4.5-5.5间这1V电压在0.47F电容的电荷流失时间就是我们将来在单片机掉电检测报警后我们可以规划的预警回旋时间。二是利用单向导电性保证向储能电容0.47F/5.5V单向冲电。

成为单片机大侠前必学的八个步骤!

kelly /

学习使用单片机就是理解单片机硬件结构,以及内部资源的应用,在汇编或C语言中学会各种功能的初始化设置,以及实现各种功能的程序编制。

<strong> 第一步:数字I/O的使用 </strong>

使用按钮输入信号,发光二极管显示输出电平,就可以学习引脚的数字I/O功能,在按下某个按钮后,某发光二极管发亮,这就是数字电路中组合逻辑的功能,虽然很简单,但是可以学习一般的单片机编程思想,例如,必须设置很多寄存器对引脚进行初始化处理,才能使引脚具备有数字输入和输出输出功能。每使用单片机的一个功能,就要对控制该功能的寄存器进行设置,这就是单片机编程的特点,千万不要怕麻烦,所有的单片机都是这样。

<strong> 第二步:定时器的使用</strong>

单片机系统硬件抗干扰常用方法

kelly /

影响单片机系统可靠安全运行的主要因素主要来自系统内部和外部的各种电气干扰,并受系统结构设计、元器件选择、安装、制造工艺影响。这些都构成单片机系统的干扰因素,常会导致单片机系统运行失常,轻则影响产品质量和产量,重则会导致事故,造成重大经济损失。

<strong>形成干扰的基本要素有三个:</strong>

<strong>(1)干扰源。</strong>指产生干扰的元件、设备或信号, 用数学语言描述如下:du/dt, di/dt大的地方就是干扰源。如:雷电、继电器、可控硅、电机、高频时钟等都可能成为干扰源。

<strong>(2)传播路径。</strong>指干扰从干扰源传播到敏感器件的通路或媒介。典型的干扰传播路径是通过导线的传导和空间的辐射。

<strong>(3)敏感器件。</strong>指容易被干扰的对象。如:A/D、 D/A变换器,单片机,数字IC,弱信号放大器等。

<strong>1 干扰的分类</strong>

<strong>1.1 干扰的分类</strong>