2.1 系统实现的功能
(1)8路数据采集:可以进行8路0~5V的模拟电压进行循环采集,每路采集的8次,超出界限LED显示报警,将采得的数据求平均。
(2)及时保存数据:对采集的数据按时间及时进行保存。
(3)可以和上位PC机进行通信和控制。
(4)可以方便地设置采集点和采集周期。
2.2 A/D转换器
在本设计所选用的LPC2138硬件系统中带有A/D转换器.
特性:
(1)10位逐次逼近式模数转换器
(2)8个管脚复用为输入脚
(3)掉电模式
(4)测量范围:0~3V
(5)10位转换时间>=2.44US
(6)一个或多个输入的Burst转换模式
(7)可选择由输入跳变或定时器匹配信号触发转换
(8)2个转换器的全局启动命令
描述:
A/D转换器的基本时钟由VPB时钟提供。每个转换器包含一个可编程分频器,可将时钟调整至逐步逼近转换所需的4.5MHZ。完全满足精度要求的转换需要11个这样的时钟。如表2.1所示
表2.1管脚描述:
管脚名称 类型 管脚描述
AD07:0
&
AD1.7:0 输入 模拟输入。AD转换器单元可测量输入信号的电压。注意:这些模拟输入通常连接到管脚上,即使管脚复用寄存器将它们设定为端口管脚。通过将这些管脚驱动
Vref 参考电压 该管脚连接到A/D转换器的Vrefp信号
Vdda,Vssa 电源 它们分别与标称为V3和VSSD的电压相同,但为了降低噪声和出错几率,两者应当隔离
2.3 4X4键盘
键盘按与微控制器的连接方式,其结构可分为线性键盘和矩阵键盘两种形式。
线性键盘由若干个独立的案件组成,每个按键的一端与微控制器的一个I/O口相连。有多少个键就要有多少根线与微控制器的I/O口相连,适用于按键少的场合。矩阵键盘的按键按N行M列排列。根据矩阵键盘的识键和译键的不同,矩阵键盘又可以分为非编码键盘和编码键盘两种。非编码键盘主要用软件的方法识键和译键。根据扫描方法的不同,可以分为行扫描法,列扫描法和反转法三种。
在本设计中,本人使用了节省口线的行扫描法来检测键盘,与4X4的矩阵键盘接口只需要8根口线,设置KEY1~KEY为输出扫描码的端口,KEYA~KEYB为键值读入口。
2.4 LCD显示模块
在这里本人应用了LCD显示模块来进行数据的输出。GUI即图形用户接口,是操作系统和用户的人机接口。
GUI是一种嵌入式应用中的图形支持系统。它设计用于为任何使用LCD图形显示的应用提供高效的独立于处理器和LCD控制器的图形用户接口,它适用单任务或是多任务系统环境,并适用于任意LCD控制器和CPU下任何尺寸的真实显示或是虚拟显示。它的设计结构是模块化的,由不同模块中的不同层组成,由一个LCD驱动层来包含所有对LCD的具体图形操作。
使用GUI来控制LCD的显示,不仅代码容易,简单,而且在任何的CPU上都能运行。所以本人在这里选择了这样的方式。
2.5 uc/osii的移植
所谓移植,就是使一个实时内核能在某个微处理器或微控制器上运行,也就是编写
与处理器相关的那部分代码。为了方便移植,uc/osii大部分的代码是C编写的;但仍需要用C和汇编语言写一些与处理器相关的代码,因为读写处理器的寄存器只能通过汇编语言来实现。uc/osii的移植过程,主要包括编译常量的设置、数据类型的定义、宏定义,以及与操作系统调度相关的函数的编写,这些工作大部分是使用汇编语言实现的。另外,通过对一些宏的定义(实质是靠条件编译实现),可以对uc/osii进行适当的裁剪,以减少产品中uc/osii所需的存储空间。 基于uCOS-II的多功能数据采集系统的开发+源代码+流程图(4):http://www.youerw.com/zidonghua/lunwen_771.html