SendSIOData(0); temp=ReadSIOData();
SendSIOData(ADS7843_CMD_X); temp<<=8;
temp|=ReadSIOData(); *x+=(temp>>4);
SendSIOData(0); temp=ReadSIOData();
SendSIOData(ADS7843_CMD_Y); temp<<=8;
temp|=ReadSIOData(); *x+=(temp>>4); *x>>=2;
//采样4次取平均值
//读取y电压值 SendSIOData(0); temp=ReadSIOData();
SendSIOData(ADS7843_CMD_Y); temp<<=8;
temp|=ReadSIOData(); *y=(temp>>4);
SendSIOData(0); temp=ReadSIOData();
SendSIOData(ADS7843_CMD_Y); temp<<=8;
temp|=ReadSIOData(); *y+=(temp>>4);
SendSIOData(0); temp=ReadSIOData();
SendSIOData(ADS7843_CMD_Y); temp<<=8;
temp|=ReadSIOData(); *y+=(temp>>4);
SendSIOData(0); temp=ReadSIOData(); SendSIOData(0); temp<<=8;
temp|=ReadSIOData(); *y+=(temp>>4); *y>>=2;
rPDATF|=ADS7843_PIN_CS;//关闭ADS7843 if(bCal)
{//对采样结果进行转换
}
}
*x=(*x-TchScr_Xmin)*LCDWIDTH/(TchScr_Xmax-TchScr_Xmin); *y=(*y-TchScr_Ymin)*LCDHEIGHT/(TchScr_Ymax-TchScr_Ymin);
5.7 实验结果总结
点击触摸屏任何部位,都能显示出点,再点击触摸屏之后,第一个点会与点击的第二个点迅速连成直线。
5.8 心得体会
通过本次实验,学习了基于ARM的LCD 显示驱动控制方法,通过对ARM 内置的LCD 控制器进行编程实现了驱动LCD显示屏。学习了触摸屏基本原理,理解了触摸屏的输出标定以及与LCD 显示器配合的过程,编程实现了对触摸屏的控制。从以往的学习状态又上升了一个层次
6. 实验六
6.1 实验名称
ucos-II裁剪实验
6.2 实验目的
①掌握μcos-II裁剪的基本原理与嵌入式编程实现方法。
②学习根据具体情况对μcos-II操作系统进行裁剪,从而得到即满足需要,又非常紧凑的应用软件系统。。
6.3 实验环境
硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以上。
软件:PC 机操作系统Windows、ADS1.2 集成开发环境、仿真器驱动程序、超级终端通讯程序。
6.4实验内容及要求
内容:
①根据μcos-II裁剪的基本原理与嵌入式编程实现方法,
②根据具体情况对μcos-II操作系统进行裁剪,从而得到即满足需要,又非常紧凑的应用软件系统。
③通过对μcos-II配置文件(OS_CFG.H)中相关的配置常量进行设置,实现对 μcos-II的裁剪。给出裁剪的详细过程与裁剪结果说明,并生成裁剪后的操作系统文件。
要求:
得到即满足需要,又非常紧凑的应用软件系统。
6.5实验设计与实验步骤
找到文件夹Exp12Aucos中的ucos-ii文件夹,将其中的os_cfg.h文件打开,部分代码如下所示。
#define OS_ARG_CHK_EN 0 #define OS_CPU_HOOKS_EN 1 #define OS_DEBUG_EN #define OS_EVENT_NAME_SIZE 32
#define OS_LOWEST_PRIO 63 #define OS_MAX_EVENTS 100 #define OS_MAX_FLAGS 50 #define OS_MAX_MEM_PART 50 #define OS_MAX_QS 20 #define OS_MAX_TASKS 60 #define OS_SCHED_LOCK_EN 1 #define OS_TASK_IDLE_STK_SIZE 512 #define OS_TASK_STAT_EN 0 #define OS_TASK_STAT_STK_SIZE 512 #define OS_TASK_STAT_STK_CHK_EN 1 #define OS_TICK_STEP_EN 0 #define OS_TICKS_PER_SEC 1000
可对以上的相关的配置常量进行设置,实现对μcos-II的裁剪。
6.6实验过程与分析
对μcos-II的裁剪就是将μcos-II配置文件(OS_CFG.H)中相关的配置常量进
行设置。将适合要求配置常量为“1”的改为“0”。
6.7 实验结果总结
通过对μcos-II配置文件(OS_CFG.H)中相关的配置常量进行设置,实现对μcos-II的裁剪。得到满意的应用软件系统。
6.8 心得体会
通过本次实验,我掌握了μcos-II裁剪的基本原理与嵌入式编程实现方法。并且了解了根据具体情况对μcos-II操作系统进行裁剪的方法。得到满意的应用软件系统。实验难度倒是很低。
7. 实验七
7.1 实验名称
ucos-II移植实验
7.2 实验目的
①了解μC/OS-II 内核的主要结构,掌握ARM的C语言和汇编语言的编程方法。
②了解ARM7处理器结构,掌握将μC/OS-II 内核移植到ARM 7 处理器上的基本原理与嵌入式编程实现方法。
7.3 实验环境
硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以上。
软件:PC 机操作系统Windows、ADS1.2 集成开发环境、仿真器驱动程序、超级终端通讯程序。
7.4实验内容及要求
内容:
①弄清μC/OS-II 内核的主要结构和ARM7处理器结构,掌握μC/OS-II 内核移植到ARM 7 处理器上的基本原理与嵌入式编程实现方法。
②使用ARM的C语言和汇编语言的编程方法,将μC/OS-II 内核移植到ARM 7 处理器上,并编写两个简单任务,在超级终端上观察两个任务的切换。 要求:
①掌握ARM的C语言和汇编语言的编程方法。
②掌握将μC/OS-II 内核移植到ARM 7 处理器上的基本原理与嵌入式编程实现方法。
7.5实验设计与实验步骤
①该实验的文件分为两类,其一是STARTUP 目录下的系统初始化、配置等文件,其二是uCOS-II 的全部源码,arch 目录下的3 个文件是和处理器架构相关的。
②设置os_cpu.h 中与处理器和编译器相关的代码。
③用C 语言编写6 个操作系统相关的函数(OS_CPU_C.C)。 ④用汇编语言编写4 个与处理器相关的函数(OS_CPU.ASM)。 ⑤编写一个简单的两个任务对程序来测试。 ⑥编译并下载移植后的uCOS-II。
7.6实验过程与分析
编写任务函数内容,以下是核心代码: