[讨论] 如何成为单片机开发高手

rain   2006-7-16 21:20 楼主
单片机适用于电子玩具、工业控制、民用电器、机电一体化产品、航天航海等众多领域,而单片机的应用开发不单是软件的开发,其开发语言和硬件密切相关。所以只有开发者对单片机的内部结构非常了解,才能编好软件。而单片机的开发应用还涉及到硬件扩展接口和各类传感器,更重要的是必须尽可能地了解各学科中适应单片机完成的控制项目以及控制过程。

掌握单片机的应用开发需要一个过程。首先必须掌握数字电路和模拟电路方面的知识,还必须学习单片机原理、硬件结构、扩展接口和编程语言。初次开发时由于没经验,可能要经过多次反复才能完成项目。这时,你会得到较大的收获和积累,表现在以下几个方面:硬件设计方面的积累;

软件设计方面的积累;

设计经验方面的积累。

硬件开发是单片机应用开发的基础,软件的开发是建立在硬件之上,软硬件设计的巧妙结合是项目开发质量保证的关键。在单片机硬件开发设计中应注意以下几个方面:

单片机应用开发者必须学习应用最新单片机(MCU),新型的MCU的优势表现在时钟频率的进一步提高(从6MHz提高到33MHz),指令执行速度的提高(从12个机器周期到6个机器周期,甚至到1个机器周期),处理器相关功能的提高(如增加了数学处理、模糊控制等),内部程序存储器和数据存储器容量的进一步扩大(ROM扩到64K,RAM扩到2K),A/D和D/A转换器的内部集成,LCD显示等功能模块的内部集成,外部扩展功能的增强。如Philips的P89C884单片机内部有64K FLASH(快闪存储器)、3个计数器、33MHz时钟、6个机器周期执行一条指令、I2C总线、ISP/IAP等。

扩展接口的开发尽可能采用PSD、FPGA(或CPLD)等器件开发。这类器件都有开发平台的支持,开发难度较小,开发出的硬件性能可靠、结构紧凑、利于修改、保密性好。这种方法也是硬件接口开发的趋势。如Altera公司生产的EPM7128S应用较广,在中国市场也容易买到;WSI推出的新型可编程的单片机外围器件PSD813F,把单片机外围电路中的许多功能模块组合在一起,为用户提供体积更小、成本更低、开发更快的解决方案。

扩展了RS-232等标准串口以后,单片机可和PC机通信,对于众多测控方面的人机对话、报表输出、集成控制等功能进行优势互补。如果芯片支持1SP/IAP功能还可以进行在线仿真和远程调试远程软件升级。例如,Dallas的1位总线接口、Philips的I2C总线等接口,均配有较多的专用扩展接口,接口扩展十分方便,所配软件有标准模式,也较容易编写。

C语言是普及最广泛的程序设计语言,它既有高级语言的各种特点,又可对硬件进行操作,并可进行结构化程序设计,用C语言编写的程序较容易移植。目前已有专为单片机设计的C语言编译器,如Franklin C51、KEIL C51,它们可生成简洁可靠的目标代码,在代码效率和代码执行速度上完全可以和汇编媲美。

有时开发一个单片机应用项目,在仿真调试完成后系统运行正常,而接入现场后出现不能正常运行或运行时好时坏,脱离现场后一切正常,这种现象就涉及到可靠性问题。解决这种问题可以从以下几个方面考虑:

1、选择性能好、抗干扰能力强的供电系统,尽量少地从电源引入干扰;

2、设计电路板时排除可能引起干扰的因素,合理布线,避免高频信号的干扰

回复评论 (5)

电路板时排除可能引起干扰的因素,合理布线,避免高频信号的干扰
点赞  2009-10-26 17:24
单片机开发具有用途专一性,也就是通用性不强!

就单片机系统而言,用最简单的硬件满足设计需求是宗旨!

确定I/O需求后选择适合的芯片也是比较重要的!

软件的算法优化以及硬件的抗干扰稳定运行是开发后期调试定型的工作重心!
点赞  2009-10-26 20:45
了解一下...
点赞  2009-10-27 16:28
谢谢lz了
点赞  2009-10-30 11:22
谢谢楼主,我初学还是要打基础。
点赞  2009-11-4 00:03
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复