您的位置:控制工程论坛网论坛 » 嵌入式系统 » 如何成为单片机开发高手

mcumao

mcumao   |   当前状态:离线

总积分:1503  2024年可用积分:0

注册时间: 2006-01-20

最后登录时间: 2007-06-11

空间 发短消息加为好友

如何成为单片机开发高手

mcumao  发表于 2006/9/18 11:30:05      1410 查看 1 回复  [上一主题]  [下一主题]

手机阅读

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

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

软件设计方面的积累;

设计经验方面的积累。

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

单片机应用开发者必须学习应用最新单片机(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、设计电路板时排除可能引起干扰的因素,合理布线,避免高频信号的干扰,图1显示了合理的布线和不合理的布线:

3、选择较好的接地方式,如模拟地和数字地采用一点接地方式,驱动大电流信号时采用光电隔离;

4、数据采集时进行数字滤波处理,常用的数字滤波方式有:程序判断滤波、中位值滤波、算术平均滤波、递推平均滤波法、防脉冲干扰平均值滤波、一阶滞后滤波等。

由于干扰问题可能是由于不同的原因引起,在设计时要根据项目应用场所分析可能出现的干扰,有目的地设计抗干扰电路。

单片机应用项目的开发还有一个更简捷的方法就是借助“单片机应用开发平台”。西安北斗星公司近期也计划推出这种“单片机应用开发平台”的1.0版本。

单片机开发平台如图2。

其中,开发平台部分为用户提供了一个简易,方便的开发环境,使用户可对单片机应用项目进行可视化开发。

硬件智能开发部分提供了一个通过选项开发硬件原理图的方法,这个过程中根据硬件方案平台自动的生成一部分配套软件。

可视化软件开发可简单方便的开发出用户程序,成品系统库中有大量已开发成功的项目,在产品开发时如开发项目功能相近,只要略加修改便可成为一个新的项目。成品系统库开发为用户升级成品库提供了一个开放式的环境。
1楼 0 0 回复
  • mcumao

    mcumao   |   当前状态:离线

    总积分:1503  2024年可用积分:0

    注册时间: 2006-01-20

    最后登录时间: 2007-06-11

    空间 发短消息加为好友

    mcumao   发表于 2006/9/18 11:30:05

    子程序开发中为子程序的升级提供了一个开放式的环境。实用信息部分提供了开发方面用到的大量实用信息。

    在平台上开发单片机应用项目不同于传统的开发模式。平台集成了大量专业技术人员的优秀设计思想,使用单片机开发平台可使技术人员迅速成长,彻底根除产品开发中大量低水平重复工作。平台的知识集成减少了企业对个别技术人员的依赖性,技术人员的流动不会影响企业的技术实力。平台最大限度的包容性大大缩短了产品的开发周期。平台的可靠性积累,保证了基于平台开发的产品具有良好的可靠性。平台的标准化、系统化、规范化及大的有利于嵌入式产品的大规模生产,售后服务和产品更新。只有采用平台化开发模式,才能将单片机的应用开发推进到一个新的阶段。
    2楼 回复本楼

    引用 mcumao 2006/9/18 11:30:05 发表于2楼的内容

总共 , 当前 /