单片机编程软件为常用软件之一,单片机开发人员均用过多款单片机编程软件。那么,用单片机编程软件进行开发时,大家是否有独特新得呢?本文对单片机编程软件的讲解基于Keil C51,主要为大家介绍使用这款单片机编程软件开发单片机时积攒的一些开发心得体悟,以供大家参考。如果你对本文即将要讲解的内容感兴趣,或者你正在学习单片机编程软件,都请继续往下阅读哦。

用Keil写C51程序是最好不过的了,用伟福也可以写,但伟福的编辑能力就相差太远了。个人喜欢用Keil写代码,然后用伟福硬件仿真(只有WAVE的仿真头)。不过Keil是好用,但写代码关键还是C51水平,也就是编程能力,写C程序就离不开模块化这个词了。C51和A51,要扬长避短,发挥C的长处,就得将C模块化好。刚刚开始的时候就只是熟悉C51的语法规则了,熟悉了这个然后再追求程序的可读性和可移植性。

下面是使用Keil C51的一点心得:

1、程序可读性的提高

要提高程序的可读性,就得养成一良好的编程习惯了,例如变量用小写,常量用大写,函数第一个字母用大写等等。这样成习惯以后,自己看代码就会一目了然。另外还要灵活的在KEIL中使用TAB键对对齐文本,而不要敲空格代替(优势,试了就知道了)。

2、程序的可移植性的提高

程序的可移值性是C51的优势所在,要做到移植方便,就得熟悉C51的编译过程有一定的了解,合理组织文件。可以将一个功能模块(如显示驱动,端口读写)放在一个C文件中,作为一个函数调用,然后在主程序中申明该函数,就可以随便调用了。

移值的时候也只要把当前的C文件加入到新的项目中,同样的方法调用它就可以。

另外模块化程序要善用C里面的“#IFDEF”、“#ENDIF”、“#DEFINE”等专为模块设计提供的功能。例如设计一个外面带的晶振的驱动模块,在不同的晶振频率下,该项模块的设置位可能不同。如果就直接在程序中写设置位,晶振改变,这些设置位也要逐一修改,这个程序也就不通用了,也就是可移值性不好。要解决这个问题怎么办 ,“#IFDEF”、“#ENDIF”可以帮你解决问题。这两个命令的功能就不具体说了,书上面讲得很清楚。知道这些功能你就知道该怎样使用它们进行模块化设计了。

3、Keil C51的debug技巧

A51的程序执行时间可能通过指令周期计算出来,而C51的却无从下手,很多程序员为了得到精确的执行时间而研读反汇编代码,何等的悲哀。巧妙的使用Keil中的debug功能,问题就迎刃而解了。

下面举例说明:

该程序为一个延时程序,在12M的晶振下,调用一次的时间为16uS ,执行一次循环的时间为9uS(延时范围(25us~589.831ms))。这样来,假设有语句Delay(N);那么该语句的精确延时的计算公式就是(9*N+16)uS了.这个公式可以理解吧!

如何得到程序的调用时间和执行一次循环的时间了。接着看下面:

在主程序MAIN()函数下添加上面两条语句,当前的SEC栏为执行到DELAY(1);语句所花的时间。T(0-)

上面的SEC栏为执行完DELAY(1)所花的时间,这样就可以得到DEALY(1)这条语句的执行时间为595-570=25uS.

上面的SEC栏为执行完DELAY(2)所花的时间,这样就可以得到DEALY(2)这条语句的执行时间为629-595=34uS.

结果:T[DELAY(2)]-T[DELAY(1)]不就是执行一次循环的时间嘛,而T[DELAY(1)]减去执行一次循环的时间就是调用一次要花的时间了。精确到1uS!

以上便是此次小编带来的“单片机编程软件”相关内容,通过本文,希望大家对使用这款单片机编程软件开发单片机时积攒的一些开发心得体悟有所了解,并可应用到大家的实际开发当中去。

来源:单片机编程软件很简单(二),keil单片机编程软件心得秘笈 - 21ic电子网

单片机编程软件很简单(二),keil单片机编程软件心得秘笈相关推荐

  1. 单片机编程软件很简单(17),Keil单片机编程软件之编译、链接

    单片机编程软件使用较多,诸多朋友大学期间便接触单片机编程软件.因此,大家对于单片机编程软件或多或少有所了解.本文中,将对Keil单片机编程软件加以介绍,主要在于介绍如何在这款单片机编程软件中进行项目设 ...

  2. 单片机编程软件很简单(22),keil单片机编程软件优化等级+概念解析

    单片机编程软件是单片机使用过程中不可缺少的一环,因此对于单片机编程软件,相关人员应当具备一定了解.往期文章中,小编对单片机编程软件有过诸多介绍.本文对于单片机编程软件的介绍基于两点:1.keil单片机 ...

  3. 单片机编程软件很简单(五),keil单片机编程软件变量用法(下)

    对于单片机编程软件,想必大家均有所了解.针对单片机编程软件,小编曾对keil.IAR予以介绍.本文对于单片机编程软件的讲解,同样基于keil.本文中,将介绍keil单片机编程软件变量用法下篇.如果你对 ...

  4. 单片机编程软件很简单(14),Keil单片机编程软件断点设置

    单片机编程软件十分常用,对于单片机编程软件,小编于往期文章中做过诸多介绍.本文对于单片机编程软件的介绍基于Keil,主要内容在于介绍该单片机编程软件的在线汇编功能以及断点设置.如果你对Keil单片机编 ...

  5. 单片机编程软件很简单(13),Keil单片机编程软件常用调试命令

    单片机编程软件使用广泛,操作单片机编程软件的人员往往需具备专业知识.市场上有多款单片机编程软件可供大家选择,而小编较为推荐keil单片机编程软件.本文中,将主要为大家介绍这款单片机编程软件中的一些常见 ...

  6. 单片机编程软件很简单(八),Keil单片机编程软件辅助功能讲解

    单片机编程软件的应用很多,在单片机编程软件的帮助下,我们对单片机的控制才变得如此简单.在市场上流通的单片机编程软件中,小编最为喜爱Keil单片机编程软件.在本文中,小编将为大家介绍Keil单片机编程软 ...

  7. 单片机编程软件很简单(23),keil单片机编程软件调试stm32

    单片机编程软件的使用意义较强,不论是工作还是学习,单片机编程软件都是常被使用的软件之一.本文对于单片机编程软件的介绍将基于如何采用keil单片机编程软件调试stm32,如果你对单片机编程软件抑或本文内 ...

  8. androidstudio 日历视图怎么显示农历_中秋国庆旅游攻略怎么做?用这个便签软件很简单...

    九月已经到来,中秋节和国庆节距离我们也不远了,今年的中秋和国庆节重叠了有足足八天的假期.不少人都想趁着这个小长假出门旅游,要想保证旅游质量,那么就要做好攻略.中秋国庆旅游攻略怎么做? 要想做好一份中秋 ...

  9. 升压芯片很简单(二),升压芯片电路设计选型秘籍

    升压芯片应用很多,对于升压芯片,其原理并不难.升压芯片在应用时,往往令人纠结之处在于升压芯片的选型.为帮助大家解决该难题,本文将对常见升压芯片电路设计的选型予以汇总.如果你对本文即将要涉及的内容存在一 ...

最新文章

  1. 楚留香手游系统互通的服务器,楚留香手游互通服务器汇总 哪些服能一起玩
  2. bitcoin转账api,python3.7
  3. Swift 高级运算符
  4. CornerNet 测试:
  5. 公司软件AiDitron中涉及的英文单词及含义
  6. java反射invoke空指针_【Java】Java 反射 object is not an instance of declaring cla
  7. typescript数组,对象,接口实例
  8. Python 运算符重载
  9. 如何在React中使用gRPC-web
  10. 代码评审常见问题总结【持续更新】
  11. jQuery常用语法笔记
  12. MAC 外接键盘卡顿处理
  13. Jmeter的元件使用介绍:取样器详解
  14. 明日书苑|硬笔书法临写指南
  15. stm32+cc1101外部中断接收信息
  16. 升降式止回阀行业调研报告 - 市场现状分析与发展前景预测
  17. 程序员之间的战争,某宁测试和开发干架,鼠标线勒脖子都来了
  18. 市场调研报告-全球与中国溶剂净化器市场现状及未来发展趋势
  19. 记录今天面试网易游戏—IT技术支持/桌面运维 面试题
  20. RxJava 3.x 使用总结

热门文章

  1. java查看动态库路径_Linux动态库(.so)搜索路径
  2. 关于强联通分量 的求法讨论
  3. C/C++陷阱与套路
  4. python倒三角形脸适合什么发型_倒三角脸女生适合什么发型 这些发型让你拥有完美脸型...
  5. 时势造英雄—读《浪潮之巅》有感
  6. Unity--使用鼠标操纵摄像机,让其围绕屏幕中心旋转
  7. NSUserDefaults见解
  8. linux给文件夹及子文件(夹)授权
  9. PMP考试时间是什么时候?
  10. 3w+字详解 23 种设计模式(多图 + 代码)