返回主页 单片机教程XL2000开发板 单片机学习 自制编程器 单片机资料 软件下载 电子技术产品介绍如何购买 进入论坛

 单片机教程 栏目导航   第一页..单片机入门教程    第二页..单片机c语言   第三页..红外遥控和步进电机    第四页..单片机问答

单片机应用编程技巧

Q1: 请介绍一下MCU的测试方法。
A1:MCU从生产出来到封装出货的每个不同的阶段会有不同的测试方法,其中主要会有两种:中测和成测。
所谓中测即是WAFER的测试,它会包含产品的功能验证及AC、DC的测试。项目相当繁多,以HOLTEK产品为例最主要的几项如下:
1. 接续性测试:检测每一根I/OPIN内接的保护用二极管是否功能无误;
2. 功能测试:以产品设计者所提供测试资料(TEST PATTERN)灌入IC,检查其结果是否与当时SIMULATION时状态一样;
3. STANDBY电流测试:测量IC处于HALT模式时即每一个接点(PAD)在1态0态或Z态保持不变时的漏电流是否符合最低之规格;
4. 耗电测试:整颗IC的静态耗电与动态耗电;
5. 输入电压测试:测量每个输入接脚的输入电压反应特性;
6. 输出电压测试:测量每个输出接脚的输出电压位准;
7. 相关频率特性(AC)测试,也是通过外灌一定频率,从I/O口来看输出是否与之匹配;
8. 为了保证IC生产的长期且稳定品质,还会做产品的可靠性测试,这些测试包括ESD测试,LATCH UP测试,温度循环测试,高温贮存测试,湿度贮存测试等;
成测则是产品封装好后的测试,即PACKAGE测试。即是所有通过中测的产品封装后的测试,方法主要是机台自动测试,但测试项目仍与WAFER TEST相同。PACKAGE TEST的目的是在确定IC在封装过程中是否有任何损坏。
Q2:C语言和汇编语言在开发单片机时各有哪些优缺点?
A2:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。
C语言是一种结构化的高级语言。其优点是可读性好,移植容易,是普遍使用的一种计算机语言。缺点是占用资源较多,执行效率没有汇编高。
对于目前普遍使用的RISC架构的8bit MCU来说,其内部ROM、RAM、STACK等资源都有限,如果使用C语言编写,一条C语言指令编译后,会变成很多条机器码,很容易出现ROM空间不够、堆栈溢出等问题。而且一些单片机厂家也不一定能提供C编译器。而汇编语言,一条指令就对应一个机器码,每一步执行什么动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。所以在单片机开发中,我们还是建议采用汇编语言比较好。
Q3:初学者到底是应该先学C还是汇编?
A3:对于单片机的初学者来说,应该从汇编学起。因为汇编语言是最接近机器码的一种语言,可以加深初学者对单片机各个功能模块的了解,从而打好扎实的基础。
Q4:MCU在射频控制时,MCU的时钟(晶振)、数据线会辐射基频或基频的倍频,被低噪放LNA放大后进入混频,出现带内的Spur,无法滤除。请问有没有好的解决方法?
A4:在设计高频电路用电路板有许多注意事项,尤其是GHz等级的高频电路,更需要注意各电子元件pad与印刷pattern的长度对电路特性所造成的影响。
最近几年高频电路与数位电路共用相同电路板,构成所谓的混载电路系统似乎有增加的趋势,类似如此的设计经常会造成数位电路动作时,高频电路却发生动作不稳定等现象,其中原因之一是数位电路产生的噪讯,影响高频电路正常动作所致。为了避免上述问题除了设法分割两电路block之外,设计电路板之前充分检讨设计构想,才是根本应有的手法,基本上设计高频电路用电路板必需掌握下列三大原则:
1.高质感;
2.不可取巧;
3.不可仓促抢时间。
以下是设计高频电路板的一些建议:
(a)印刷pattern的长度会影响电路特性。
尤其是传输速度为GHz高速数位电路的传输线路,通常会使用strip line,同时藉由调整配线长度补正传输延迟时间,其实这也意味着电子元件的设置位置对电路特性具有绝对性的影响。
(b)Ground作大better。
铜箔面整体设置ground层,而连接via的better ground则是高频电路板与高速数位电路板共同的特徵,此外高频电路板最忌讳使用幅宽细窄的印刷pattern描绘ground。
(c)电子元件的ground端子,以最短的长度与电路板的ground连接。
具体方法是在电子元件的ground端子pad附近设置via,使电子元件能以最短的长度与电路板的ground连接。
(d)信号线作短配线设计。
不可任意加大配线长度,尽量缩短配线长度。
(e)减少电路之间的结合。
尤其是filter与amplifier输出入之间作电路分割非常重要,它相当于audio电路的cross talk对策。
(f)MCU回路Layout考量:
震荡电路仅可能接近IC震荡脚位;震荡电路与VDD & VSS保持足够的距离;震荡频率大于1MHz时不需加 osc1 & osc2 电容;电源与地间要最短位置并尽量拉等宽与等距的线,于节点位置加上104/103/102等陶瓷电容。

12个经典单片机程序设计实例:

闪烁LED小灯主程序图

数码管时钟电路的主程序

单键学习型遥控器的设计

15路电器遥控器的设计

自行车里程/速度计的设计

自动往返行驶小汽车的设计

遥控小汽车的设计

数码管时钟电路的设计

8*8点阵LED字符显示器的设计

8路输入模拟信号数值显示电路的设计

8路输入模拟信号数值显示电路程序

单键学习型遥控器的程序

如果对本文有疑问,请到论坛提问 编辑:51单片机学习网 @ 2009-10-20校对 中国开发板最佳品牌  版权:部分由编辑摘引,权利属原著作人