《匠人手记》推荐网上购书渠道:
互动出版网(china-pub)购书入口   >>>
当当网(dangdang)购书入口   >>>
卓越亚马逊网 购书入口   >>>
淘宝网(taobao)购书入口   >>>
更多购书渠道……   >>> 

设为首页加入收藏联系匠人管理入口21IC首页21IC博客21IC社区侃单片机回复的贴参与的贴

天气预报
百宝日历
载入中...

百宝专栏

载入中...
最新货色

载入中...

粉丝评论

载入中...

载入中...



百宝信息

载入中...

百宝流量

(2006-07-01开始)


匠人手记

 匠人观点: 好记性不如烂笔头  
 黑色幽默:三鹿门——后世畅想

单片机开发中应掌握的几个基本技巧
程序匠人 发表于 2005-9-6 22:03:00  阅读全文 | 回复(0) | 引用通告 | 编辑

单片机开发中应掌握的几个基本技巧
 
    在单片机应用开发中,代码的使用效率问题、单片机抗干扰性和可靠性等问题仍困扰着
工程师。为帮助工程师解决单片机设计上的难题,《电子工程专辑》网站特邀Holtek香
港分公司工程部处长邓宏杰先生担任《单片机应用编程技巧》专题讨论的嘉宾,与广大
设计工程师交流单片机设计开发经验。现根据论坛中的讨论归纳出单片机开发中应掌握
的几个基本技巧。

一、 如何提高C语言编程代码的效率

邓宏杰指出,用C语言进行单片机程序设计是单片机开发与应用的必然趋势。他强调:“
如果使用C编程时,要达到最高的效率,最好熟悉所使用的C编译器。先试验一下每条C语
言编译以后对应的汇编语言的语句行数,这样就可以很明确的知道效率。在今后编程的
时候,使用编译效率最高的语句。”

他指出,各家的C编译器都会有一定的差异,故编译效率也会有所不同,优秀的嵌入式系
统C编译器代码长度和执行时间仅比以汇编语言编写的同样功能程度长5-20%。他说:“
对于复杂而开发时间紧的项目时,可以采用C语言,但前提是要求你对该MCU系统的C语言
和C编译器非常熟悉,特别要注意该C编译系统所能支持的数据类型和算法。虽然C语言是
最普遍的一种高级语言,但由于不同的MCU厂家其C语言编译系统是有所差别的,特别是
在一些特殊功能模块的操作上。所以如果对这些特性不了解,那么调试起来问题就会很
多,反而导致执行效率低于汇编语言。”

二、 如何减少程序中的bug?

对于如何减少程序的bug,邓宏杰给出了一些建议,他指出系统运行中应考虑的超范围管
理参数有:
1.物理参数。这些参数主要是系统的输入参数,它包括激励参数、采集处理中的运行参
数和处理结束的结果参数。合理设定这些边界,将超出边界的参数都视为非正常激励或
非正常回应进行出错处理。
2.资源参数。这些参数主要是系统中的电路、器件、功能单元的资源,如记忆体容量、
存储单元长度、堆叠深度。在程式设计中,对资源参数不允许超范围使用。
3.应用参数。这些应用参数常表现为一些单片机、功能单元的应用条件。如E2PROM的擦
写次数与资料存储时间等应用参数界限。
4.过程参数。指系统运行中的有序变化的参数。


三、如何解决单片机的抗干扰性问题

邓宏杰指出:防止干扰最有效的方法是去除干扰源、隔断干扰路径,但往往很难做到,
所以只能看单片机抗干扰能力够不够强了。单片机干扰最常见的现象就是复位;至于程
序跑飞,其实也可以用软件陷阱和看门狗将程序拉回到复位状态;所以单片机软件抗干
扰最重要的是处理好复位状态。
一般单片机都会有一些标志寄存器,可以用来判断复位原因;另外你也可以自己在RAM中
埋一些标志。在每次程序复位时,通过判断这些标志,可以判断出不同的复位原因;还
可以根据不同的标志直接跳到相应的程序。这样可以使程序运行有连续性,用户在使用
时也不会察觉到程序被重新复位过。

四、 如何测试单片机系统的可靠性

有读者希望了解用用什么方法来测试单片机系统的可靠性,邓宏杰指出:“当一个单片
机系统设计完成,对于不同的单片机系统产品会有不同的测试项目和方法,但是有一些
是必须测试的:
1.测试单片机软件功能的完善性。这是针对所有单片机系统功能的测试,测试软件是否
写的正确完整。
2.上电、掉电测试。在使用中用户必然会遇到上电和掉电的情况,可以进行多次开关电
源,测试单片机系统的可靠性。
3.老化测试。测试长时间工作情况下,单片机系统的可靠性。必要的话可以放置在高温
,高压以及强电磁干扰的环境下测试。
4、ESD和EFT等测试。可以使用各种干扰模拟器来测试单片机系统的可靠性。例如使用静
电模拟器测试单片机系统的抗静电ESD能力;使用突波杂讯模拟器进行快速脉冲抗干扰E
FT测试等等。

邓宏杰强调:“还可以模拟人为使用中,可能发生的破坏情况。例如用人体或者衣服织
物故意摩擦单片机系统的接触端口,由此测试抗静电的能力。用大功率电钻靠近单片机
系统工作,由此测试抗电磁干扰能力等。”

 

看《匠人手记》,与匠人同行!北航出版,正在热卖!

发表评论:
载入中...

芯片专题

器件专题

软件专题

硬件专题

综合专题

项目专题

原创专题

器件检测
LCD LED
按键 触摸键
E2PROM
电池 电机
电阻 电容 电感

指令系统
软件算法
编程规范
滤波算法
串行通讯

PCB设计
I2C PWM
红外遥控
充电技术
中断 ADC 

匠人手记
匠人夜话
网络心路
一周热点串烧
从零开始玩PIC
DIY旋转时钟

广告5号位 [投放]


学习板、开发板、编程器、下载器、仿真器(查看详情……)

广告3号位 [投放]

站内搜索


站外搜索


百度  google
mp3  歌词 
图片  FLASH 
知道  文档
新闻  词典 
地图  mp3 
软件  天网 
雅虎  爱问 
搜狗  讯雷 
网讯  华军 
天空 

21IC器件搜索
百宝箱分站
  • 《匠人的百宝箱》21IC站
  • 《匠人的百宝箱》21IC笔记团队
  • 《匠人手记》21IC书友会
  • 《匠人的百宝箱》MCUBLOG站
  • 《匠人的百宝箱》MCUBLOG笔记团队
  • 《匠人的百宝箱》EDN站
  • 《匠人手记》EDN书友会
  • 《匠人的百宝箱》与非网站
  • 《匠人的百宝箱》新浪站
  • 《匠人的百宝箱》百度站
  • 《匠人的百宝箱》网易126站
  • 《匠人的百宝箱》网易163站
  • 《匠人的百宝箱》互动出版网站
  • 广告4号位 [投放]

     
     

    匠人原创

    往日酷贴

     
     
     

    大千八卦

    友情连接

    新浪新闻:
    新浪财经:
    AK58新闻:
    新浪股票:
    新浪股票:
    证券之星:

     [更多酷站连接]

     

     

    [欢迎交换连接]

    [百宝箱之与非门分舵]

    [电脑圈圈的家当]

    [IC921的博客]

    [柔月阁]

    [八楼的呼吸]

    [hotpower 的水潭]

    [xwj的文君阁]

    [所长的BLOG]

    [阿摆手记]

    [电子伙伴]

    [unaided的笔记]

    [小飞的笔记]

    [单片机开发联盟]

    [网址之家]

    [好东西网址大全]

    [美萍中文精选]

    [数字电视之家]

    [SMARTCODE电子书斋]

    [软件开发之窗]

    [Armoric]

    [我爱研发网]

    [infernal的笔记]

    [雄鹰的空中加油站]

    [SunK]

    [逍遥电子]

    [ningpanda的博客]

    [C-Design]

    [一网见天下]

    [海边淘沙]

    [嵌入式365]

    [水牛的仓库]

    [股剩是怎样炼成的]

    [PIC论坛]

    [ICC AVR开发网]

    [中国高校自动化网]

     

     

     

    MCU博客-中国电子工程师博客网 

    大学生电子网 

     

     

     

     

     

    !!! 《匠人的百宝箱》 !!!