首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 电子制作
基于AVR的铅酸蓄电池管理系统设计
来源:本站整理  作者:佚名  2010-03-18 13:35:37



5. 应用任务设计
系统流程图如图 4所示。
 



 
 

(1) 初始化uC/OS-II系统环境
图 4的左半部分所完成的功能是启动操作系统,并创建 Main_Task和 tch_Task两个任务。右半部分是 Main_Task()和 tch_Task()的主要内容,这是本设计的重点部分。模拟信号的采集,显示是在 Main_Task()中完成的,而对显示方式的控制是由tch_Task()来完成的。
(2) 编程实现 A/D转换
模拟数据的采集是在 Main_Task( )中通过调用函数 void init_ADdevice()和 intGetADresult(int channel)实现的。模拟信号经 A/D转换后的一个 10位数字量,通过式(1)
(2)中将其转换成实际的数据。式中的 3.3表示模拟量的上限值,1023是经(2 10-1)计算得来的,经计算后的数据就是实际的模拟量值。数据经滤波后分别存放在两个变量中,用于下面的绘图部分程序。
(3) 触摸屏控制程序
    这一部分程序的思想是:若有触摸动作,取触点坐标值,判断其是否属于 LCD上显示的控制按钮的坐标范围,若是则做出相应的控制调整,若否则无动作。返回触点坐标的子函数为 TchScr_GetScrXY(int *x,int *y)。在本设计中,定义了 3个控制按键,它们用于传递控制信息。
(4) 绘图的API函数

在uC/OS-II系统环境下,绘图必须通过使用绘图设备上下文(DC)来实现。绘图设备上下文(DC)中包括与绘图相关的信息,如:绘图坐标、画笔颜色、画笔宽度等等。在实际使用时,使用CreateDC()创建绘图设备上下文,使用DestoryDC(pdc)删除绘图设备上下文,这两条语句在程序中应该成对出现。通过使用 LineTo( )、TextOut()、Circle( )、MoveTo( )等函数,可以将采样值实时的显示到 LCD上。
在 LCD绘图时以下两点值得注意:
(a)在 LCD绘图时要反复使用 LineTo( ) 和MoveTo( )两个函数,但在使用该函数之前,一定要注意到 LCD的分辨率。只有知道了 LCD分辨率,才能知道 LCD的坐标值的范围,从而得到正确的设定结果。本设计使用的 LCD分辨率是640*480。也就是说,初始坐标系的 x值范围为(0≤x≤640),y值范围(0≤y≤480)。
(b)由于LCD宽度有限,当横坐标 x>LCDWidth时,波形就超出显示范围了。解决方法是在 LCD上显示自左至右画出的波形,当画到 LCD的最右端时,清一次屏幕后,重新从 LCD的左端向右画线,同时横坐标的值也相应的改变。
(5) PC机上数据显示程序

   为了更好的记录和分析数据,我们在 PC机上用 VC编写了程序,这样可以很好保存和处理数据,为性能分析和系统故障恢复提供了有利条件。
6.结论
uC/OS-II实时操作系统是开放源码且得到实际验证的软件平台,而ARM处理器具有强大的32位RISC性能。基于uC/OS-II及ARM,能大量减轻研发任务,提高研发速度,为在短时间内设计出控制性能优秀的数据采集系统创造了条件。本文数据采集系统已成功应用于工业场合温度和水位的实时测控,达到了很好的效果。
本文作者创新点:摒弃了传统单片机数据采集,采用移植性好的嵌入式 uC/OS-II系统,具有后续开发简单,系统稳定性好,可靠性高等特点。本设计可以很容易得移植到其他数据采集系统当中去。

上一页  [1] [2] [3]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:174,371.10000 毫秒