» 上一篇:  
» 下一篇:  
 


曾经在“8年后,重拾单片机开发”一文说道,要用STC单片机来开发一款非接触读卡器的程序。尽管许久没有接触单片机了,甚至可以说基本没有单片机开发经验,但凭借自己这几年的工作经验、C语言上的功底和网络上的资料,花费了两周业余时间,就基本上完成了该程序的开发。

这篇文章主要分享下这次单片机程序开发的感受和心得。

善于借助网络资料

这次要开发的非接触读卡器,本身来讲是比较简单的。读卡器用的芯片是MIRC500。

通过搜索发现,RC500资料丰富,应用广泛,因此口碑很好。最重要的是有现成的单片机程序供参考。所以读卡器RC500的程序代码,基本上用的是从网上下载下来的代码。这省去了不少时间和精力。

单片机自定义下载

刚开始开发的时候,主要的精力花在了如何方便地把程序下载单片机。

对于STC单片机,可使用STC-ISP软件通过串口把程序下载到单片机中。相比以前使用并口下载程序到单片机中确实带来了很大的便利。但有一点要求就是,下载之前,必须先断电,然后在ISP软件中点击下载编程再上电,才能完成程序下载。

考虑调试的手段主要是通过不停的下载程序然后观察运行状态来判断程序是否达到预期结果,因此,调试过程中,不停的断电上电在所难免。幸运的是,在看STC单片机资料时,发现有一个功能叫做自定义下载。

自定义下载指:单片机程序运行过程中,通过串口接收到用户自定义的指令后,单片机执行相关指令把运行状态切换到ISP状态,然后配合STC的ISP软件完成程序下载。

因此,自定义下载实现了无需断电即可下载程序到单片机中,从而避免了在调试程序过程不停的断电上电。

对于STC单片机程序开发,强烈推荐首先实现自定义下载功能。这对于程序调试带来很大的便利性。这功能不难实现,STC单片机手册有示例。

单片机调试方法

我所采用的单片机程序调试方法主要是:通过串口打印信息。辅助调试手段:点灯和蜂鸣器。点灯和蜂鸣器就不说了,相信大家都懂。

对于串口打印信息的调试方法,主要是通过串口打印一些非常简单的字符串信息或16进制数据到电脑串口助手(STC的ISP软件带有串口助手功能)中,然后分析程序运行状态。

这里需要的注意的是,受限于单片机资源,不能打印太多消息。能让自己明白的简单英文单词或十六进制数据即可。

单片机资源

单片机资源非常宝贵。所以在编程过程中,就不能大手大脚了。能省一个字节就得省一个字节,能省一个bit就得省一个bit。RAM和flash资源可以通过keil C51查看。

在编程前,要对单片机上的RAM分布有所了解。比如前128字节是直接寻址,后128字节是间接寻址。

总结

8年前,单片机编程用的是汇编语言;8年后,用的是C语言来开发单片机。两种状态,两种境界!

另外要说的是,这两周,基本上是下班后利用晚上时间来编写和调试代码,为了赶时间,常常忙到晚上12点,疏忽了劳逸结合。这导致腰脊椎出了点状况,坐着也痛,站着也痛,只有躺着才舒服点。情况似乎比以前严重。幸好经过这两天的调节,舒缓过来了。

这再一次证明,蛮干是不行的,要对自己的身体负责。不过怎样,即使工作再多,都要注意劳逸结合,并适当调节。只有可持续性发展,才能把事情做得更好。

» 文章出处: reille博客—http://velep.com , 如果没有特别声明,文章均为reille博客原创作品
» 郑重声明: 原创作品未经允许不得转载,如需转载请联系reille#qq.com(#换成@)
分享到:

 Leave a Reply

(必须)

(我会替您保密的)(必须)

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.

   
© 2012 velep.com | reille blog | 管理| 粤ICP备15065318号-2| 谷歌地图| 百度地图| Suffusion theme|Sayontan Sinha

无觅相关文章插件,快速提升流量