3.3     Keil uVision4 的介绍

Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境将这些组合在一起。
最新的Keil uVision4 IDE,旨在提高开发人员的生产力,实现更快,更有效的程序开发。
uVision4引入了灵活的窗口管理系统,能够拖放到视图内的任何地方,包括支持多显示器窗口。
现在的系统有以下的优点
• 多显示器和灵活的窗口管理系统
• 系统浏览器窗口的显示设备外设寄存器信息
• 调试还原视图创建并保存多个调试窗口布局
• 多项目工作区简化与众多的项目
所以我在这次毕设中应用这个软件来编写主要程序。

3.4    软件设计

在各个模块的运行中需要很多的程序,上面我对系统的几个主要硬件部分进行了介绍,这些构成了数据采集的硬件基础。但是,光有这样的硬件,还只是具有了计算的可能。系统要真正能够进行按照我们设计的意愿进行工作还必须有软件的配合。软件是利用Keil uVision4 IDE语言编制的,并利用了最优化方法,从而方便了调试与应用,并使整体软件系统具有较大的灵活性。
基于移植好UC/OSii的进行应用软件的设计。设计在UC/OSii系统下建立3个任务:Main—Task、KEk:为运行的主任务,负责建立KEY_Task、AD_Task两个任务。
(2)KEY_Task-负责键盘操作输入,能够选择8路AD中任何1路进行A/D任务
的转换。
(3)AD_Task:主要进行AD数据转换。
设计中LCD液晶用来进行操作的提示,AD转换后的数据可以通过串口进行实时显
示。
程序设计时给任务定优先级应根据系统的复杂性来确定。在系统中,并非所有的任
务都是至关重要的。不重要的任务的优先级可以低一些。UC/OSii系统下优先级的范围是0--,62,优先级的值越低,表示任务的优先级越高。
    OS_STK Task0Stk [TaskStkLength]    ;
    OS_STK Task1Stk [TaskStkLength]    ;
    OS_STK Task2Stk [TaskStkLength]    ;
    OS_STK TaskADCStk [TaskStkLength]    ;
在这里因为仿真的关系,所以系统自动分配了。
3.4.1    主程序MAIN的设计

主程序Main0的作用主要是在程序运行前初始化ARM处理器、初始化操作系统、建立任务以及启动多任务运行。主程序Main()流程图如图3.4所示

图3.4 主流程图

程序代码如下
具体运行情况如图3.5所示:
 

图3.5 输出显示图

(1)用I/O口实现4x4键盘接口。

这是程序的一部分    
 //TASK2 任务2/***/
      void Task2 (void *pdata)
        {
        INT8U keycode;
         pdata=pdata;
         TargetInit ();
         LedInit();
         KeyInit();
         while(1)
         {
         keycode=Keyboard_Scan();
         switch(keycode)
         {
         case 0x00: LED0_OFF();break;
         case 0x01: LED1_OFF();break;
TASK任务2中调用键盘扫描函数,读入4X4键盘值.LED口的输入输出定义都在LED.C的程序中,MAIN函数只有调用的部分.
上一篇:磁悬浮的PID控制系统设计+MATLAB仿真
下一篇:51单片机的智能空调温度控制系统的设计+仿真图+源码

基于Kinect手势识别的遥操...

冷库GPRS的无线数据采集系统设计

基于51单片机自动门智能控制系统设计

STC89C52单片机盲人用时钟的设计+电路图+程序

PLC物料自动分拣系统的设计+源程序

单相电压型逆变电路的谐...

粉料称重装置的单片机控...

大规模MIMO系统的发展研究现状

《水浒传》中血腥暴力研...

提高小學语文課堂朗读教...

MNL模型历史城区居民活动...

高效课堂教师问卷调查表

浅析施工企业保理融资成...

遥感土地用变化监测国内外研究现状

小型通用机器人控制系统设计任务书

PCI+PID算法直流力矩电机速...

从企业eHR建设谈管理信息...