一种高速单片机数据采集处理系统设计
4 软件设计
单片机用C语言编程具有开发周期短、可读性强、可移植性好和修改方便等特点,但是C语言反汇编生成的汇编代码往往较长。直接用汇编语言编程虽然编写的程序较短,在直接对机器配件进行控制方面具有相当的优势,但是开发周期长,修改也不方便。较好的解决办法是程序的框架或主体部分用C语言编写,要求执行效率高的部分用汇编语言编写。这种混合编程的方法将C语言和汇编语言的优点结合起来,所以成为目前单片机开发最流行的编程方法。
根据设计要求,按照实现功能的分类,系统软件主要完成五项任务:系统初始化、数据采集、数据处理、键盘响应和数据显示。在数据处理中,需要进行大量浮点数的乘除法和正弦、余弦运算,因此数据处理部分采用C语言编写,在Keil环境中模块化编程,充分利用C语言强大的计算能力,系统初始化、键盘响应和数据显示也采用C语言编程,在数据采集部分中,MAX1241对时序要求比较严格,采用汇编语言实现,所有功能模块均为独立的C文件或ASM文件。而实现C语言和汇编语言的混合编程是软件设计中的难点和关键之一。本文中,汇编语言采用单独的文件,通过寄存器传递函数参数,相关具体程序如下所示:
5 结束语
为保证数据的准确性,可多次采样后,利用程序来进行数字滤波,以减少各种噪声和干扰带来的错误数据,提高系统的可靠性和稳定性,而不需增加任何硬件开销.
参考文献
1 MAXIM公司. MAXIM产品资料全集[M/CD]. 1999
2 薛钧义,张彦斌. 单片微型计算机及其应用[D]. 西安:西安交通大学出版社,2001.06
3 (美)Charlie Calvert,et al.著 徐科等译C++Builder应用开发大全[M].北京:清华大学出版社,1999。
评论