嵌入式系统实验报告.doc_第1页
嵌入式系统实验报告.doc_第2页
嵌入式系统实验报告.doc_第3页
嵌入式系统实验报告.doc_第4页
嵌入式系统实验报告.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

;.嵌入式系统设计实验报告班 级:学 号:姓 名:成 绩:指导教师:1. 实验一1.1实验名称博创UP-3000实验台基本结构及使用方法1.2实验目的1学习嵌入式系统开发流程。2熟悉UP-net3000实验平台的核心硬件电路和外设。3增加对各个外设的了解,为今后各个接口实验打下基础。1.3实验环境博创UP-NETARM3000 嵌入式开发平台1.4 实验内容及要求(1) 嵌入式系统开发流程概述(2) 熟悉UP-net3000实验平台的核心硬件电路和外设(3) ARM JTAG的安装与使用(4) 通过操作系统自带的通讯软件超级终端,检验各个外设的工作状态(5) 通过本次课程对各个外设的了解,为今后各个接口实验打下基础1.5 实验设计与实验步骤1. 硬件安装2. 软件安装(1)超级终端:运行Windows 系统下的超级终端(HyperTerminal)应用程序,新建一个通信终端;在接下来的对话框中选择 ARM开发平台实际连接的PC机串口;完成新建超级终端的设置以后,可以选择超级终端文件菜单中的保存,将当前设置保存为一个特定超级终端到桌面上,以备后用。(2) JTAG 驱动程序的安装:执行armJtag目录下armJtagSetup.exe程序,选择安装目录,安装 JTAG 软件。1.6 实验过程与分析(1) 了解嵌入式系统开发流程(2) 对硬件的安装(3) 对软件的安装1.7 实验结果总结通过本次实验对嵌入式系统开发流程进行了了解,并且对硬件环境和软件环境进行了安装配置,通过本次实验对以后的接口实验打了基础。1.8 心得体会通过本次实验对嵌入式实验有了初步的了解,对基本开发流程也有了初步的了解。2. 实验二2.1实验名称ADS1.2软件开发环境使用方法2.2实验目的熟悉ADS1.2开发环境,学会 ARM仿真器的使用。使用 ADS 编译、下载、调试并跟踪一段已有的程序,了解嵌入式开发的基本思想和过程。2.3实验环境(1)ADS1.2开发环境(2)博创UP-NETARM3000 嵌入式开发平台(3)PC(4)串口线2.4 实验内容及要求本次实验使用ADS 集成开发环境,新建一个简单的工程文件,并编译这个工程文件。学习ARM仿真器的使用和开发环境的设置。下载已经编译好的文件到嵌入式控制器中运行。学会在程序中设置断点,观察系统内存和变量,为调试应用程序打下基础。2.5 实验设计与实验步骤(1)运行ADS1.2开发环境(2)新建工程文件(3)编译工程文件(4)下载编译好的文件到嵌入式控制器中运行2.6 实验过程与分析(1) 实现Hello World!最终在输出了Hello World(2) 编程实现ARM 和计算机之间的串行通讯实现了串口通信,用ARM监视串口,接收到的字符串由ARM通过串口发送给超级终端,最终在超级终端上显示了按下的键。学习了串行通讯原理,了解串行通讯控制器,阅读ARM 芯片文档,掌握ARM 的UART相关寄存器的功能,熟悉ARM 系统硬件的UART 相关接口。2.7 实验结果总结对ADS 1.2开发环境使用和AXD Debugger使用方法有了初步的了解,基本成功运行了编译好的工程文件。2.8 心得体会学习了ADS1.2开发环境的使用方法和调试方法。使用 ADS 编译、下载、调试并跟踪一段已有的程序,了解了嵌入式开发的基本思想和过程。3. 实验三3.1实验名称键盘控制方法及LED驱动设计3.2实验目的熟悉ZLG7289芯片的内部结构,掌握用ZLG7289驱动键盘和LED的方法,掌握ARM汇编语言和C语言的编程方法编写出一段程序,要求能在LED上显示出小键盘上按下的4位数字。3.3实验环境(1)ADS1.2开发环境(2)博创UP-NETARM3000 嵌入式开发平台(3)PC(4)串口线3.4 实验内容及要求通过ZLG7289芯片驱动17键的键盘和8个共阴极LED,将按键值在LED 上显示出来。3.5 实验设计与实验步骤(1) 新建工程,将“Exp3键盘及LED 驱动实验”中的文件添加到工程。(2) 定义ZLG7289 寄存器(3) 编写ZLG7289 驱动函数(4) 定义键盘映射表(5) 定义键值读取函数(6) 编写主函数3.6 实验过程与分析(1) 定义ZLG7289寄存器#define ZLG7289_CS#define ZLG7289_KEY#define ZLG7289_ENABLE() doZLG7289SIOBand=rSBRDR;ZLG7289SIOCtrl=rSIOCON; rSIOCON=0x31;rSBRDR=0xff;rPDATB&=(ZLG7289_CS);while(0)#define ZLG7289_DISABLE() dorPDATB|=ZLG7289_CS;rSBRDR=ZLG7289SIOBand; rSIOCON=ZLG7289SIOCtrl;while(0)(2)主函数中需要在开始初始化zlg7289。编写驱动和键值映射之后,在一个循环里面从键盘中读取按键的号码,根据键值映射读出按键的值。然后在主函数中,将读出的按键值在数码管上显示出来。(3)Main函数的主要功能部分,GetKey()函数得到按键值是调用zlg7289获取键盘事件和核心。3.7 实验结果总结通过实验最终LED灯上能显示数字,即实现了通过键值控制LED灯3.8 心得体会通过本次实验对ZLG7289芯片的内部结构有了更进一步的了解,对ZLG7289驱动键盘和LED的方法也更进一步的进行了学习。4. 实验四4.1实验名称电机转动控制及中断实验4.2实验目的(1) 熟悉ARM本身自带的六路即三对PWM,掌握相应寄存器的配置(2) 编程实现 ARM系统的PWM 输出和I/O 输出,前者用于控制直流电机,后者用于控制步进电机。(3) 了解直流电机和步进电机的工作原理,学会用软件的方法实现步进电机的脉冲分配,即用软件的方法代替硬件的脉冲分配器。(4) 掌握带有PWM 和I/O 的CPU 编程实现其相应功能的主要方法。4.3实验环境(1)ADS1.2开发环境(2)博创UP-NETARM3000 嵌入式开发平台(3)PC(4)串口线4.4 实验内容及要求学习步进电机和直流电机的工作原理,了解实现两个电机转动对于系统的软件和硬件要求。学习ARM知识,掌握PWM 的生成方法,同时也要掌握I/O 的控制方法。(1) 编程实现ARM芯片的一对PWM 输出用于控制直流电机的转动,通过A/D 旋钮控制其正反转及转速(2) 编程实现ARM的四路I/O 通道实现环形脉冲分配用于控制步进电机的转动,通过A/D 旋钮转角控制步进电机的转角。(3) 通过超级终端来控制直流电机与步进电机的切换。4.5 实验设计与实验步骤(1)新建工程,将“电机转动控制实验”中的文件添加到工程(2)编写直流电机初始化数(MotorCtrl.c)(3)控制直流电机与步进电机4.6 实验过程与分析(1)通过把从串口中得到控制信息的代码修改成从zlg7289芯片中读取小键盘信息,从而利用试验台的小键盘来控制步进电机和直流电机的切换(2)A/D转换可以把电信号转换成数字信号来控制电机的转速。for(;)loop:/if(rUTRSTAT0 & 0x1)/有输入,则返回if(rPDATG&ZLG7289_KEY)/17键小键盘控制电机*Revdata=RdURXH0();goto begin;Delay(10); ADData=GetADresult(0);if(abs(lastADData-ADData)=0)/转角大于零for(j=0;jcount/8;j+)for(i=0;i=7;i+)SETEXIOBITMASK(stepdatai, 0xf0);Delay(200);else/转角小于零count=-count;for(j=0;j=0;i-)SETEXIOBITMASK(stepdatai, 0xf0);Delay(200); lastADData=ADData;(3) S3C44B0X 具有6 个16bit定时器,每个定时器可以基于中断模式或 DMA模式运行。在定时中断服务程序中写需要定时处理的程序,每隔一段时间就会运行一次。4.7 实验结果总结利用A/D转换器实现了对直流电机和步进电机的控制,利用实验设备上自带的小键盘实现了A/D转换器对两个电机控制的切换。4.8 心得体会通过本次实验,熟悉了ARM自带的六路(三对)PWM,并对直流电机和步进电机的工作原理有了进一步的了解。5. 实验五5.1实验名称LCD驱动及触摸屏实验5.2实验目的掌握LCD显示原理及显示驱动的嵌入式系统编程实现方法;学习基于ARM的LCD 显示驱动控制方法,通过对ARM 内置的LCD 控制器进行编程实现驱动LCD显示屏;学习触摸屏基本原理,理解触摸屏的输出标定以及与LCD 显示器配合的过程,编程对触摸屏进行控制。5.3实验环境(1)ADS1.2开发环境(2)博创UP-NETARM3000 嵌入式开发平台(3)PC(4)串口线5.4 实验内容及要求(1) 学习LCD显示器的基本原理,理解其驱动控制方法(2) 编程对触摸屏进行控制,实现:1.点击触摸屏上两点后,两点之间画出一条直线。2.点击触摸屏并在其上移动,显示移动轨迹(3)编程实现总线方式驱动模块的LCD和ARM内置的LCD控制器来驱动LCD5.5 实验设计与实验步骤(1) 新建工程(2) 定义有关常量与宏#define LCDWIDTH 320 #define LCDHEIGHT 240 U32* pLCDBuffer16=(U32*)0xc000000;/ 一级缓存指针 U32 LCDBufferLCDHEIGHTLCDWIDTH;/二级缓存 (3) 编写LCD 初始化函数(4) 编写LCD 刷新函数(5) 编写主函数5.6 实验过程与分析(1)通过不断刷新的方式获得LCD液晶屏幕的动画。即刷新函数将二级缓存LCDBuffer 的数据由32 位彩色图形信息转换成8 位256 色的图形信息,然后放到pLCDBuffer16指向的一级缓存。(2)触摸屏的先得到触屏输出的电信号的值,然后转换为实际的屏幕坐标,再根据动作来决定如何处理缓存信息,刷新LCD。LCD二级缓存矩阵: for (i=0;i9;i+) switch (i) case 0: jcolor=0x00000000; / 黑色 break; case 1: jcolor=0x000000e0; / 红色 break; case 2: jcolor=0x0000d0e0; / 橙色 break; case 3: jcolor=0x0000e0e0; / 黄 break; case 4: jcolor=0x0000e000; / 绿色 break; case 5: jcolor=0x00e0e000; / 青色 break; case 6: jcolor=0x00e00000; / 蓝色 break; case 7: jcolor=0x00e000e0; / 紫色 break; case 8: jcolor=0x00e0e0e0; / 白色 break; for (k=0;k240;k+) for (j=i*32;ji*32+32;j+) LCDBufferkj=jcolor; jcolor=0x000000ff; for (i=0;i240;i+) if (i=80|i=160) jcolor=8; for (j=288;j320;j+) LCDBufferij=jcolor; 5.7 实验结果总结本次实验由于坐标设定的问题并没有成功实现触摸痕迹的显示,但在测试过程中,在触摸屏上点击或移动时会在超级终端上有显示。5.8 心得体会虽然本次实验不太成功实现,但对LCD屏幕和触摸屏的工作原理有了进一步的了解,更好的掌握了LCD显示原理及显示驱动的嵌入式系统编程实现方法。6. 实验六6.1实验名称ucos-II裁剪实验6.2实验目的掌握cos-II裁剪的基本原理与嵌入式编程实现方法;学习如何根据具体情况对cos-II操作系统进行裁剪,从而得到即满足需要,又非常紧凑的应用软件系统。6.3实验环境(1)ADS1.2开发环境(2)博创UP-NETARM3000 嵌入式开发平台(3)PC(4)串口线6.4 实验内容及要求(1) 通过对cos-II配置文件(OS_CFG.H)中相关的配置常量进行设置,实现对cos-II的裁剪(2) 给出裁剪的详细过程与裁剪结果说明,并生成裁剪后的操作系统文件。6.5 实验设计与实验步骤(1)新建工程,将ucosII移植的文件添加到工程中。 (2)编辑os_cfg.h头文件。 (3)将裁减后的系统所需用到的功能宏定义配置常量置为1,实现系统的裁减。(4)编译生成新的ucosII系统。6.6 实验过程与分析(1)配置功能常量,将裁剪后的系统需要用到的功能配置常量设为1(2)裁减信号量数据(3)配置数据结构OS_MAX_TASKS,若程序中用到了三个任务,则该值的最小值为3OS_LOWEST_PRIO设置程序中最低任务的优先级OS_TASK_IDLE_STK_SIZE设置UC/OS操作系统中空闲任务堆栈的容量OS_TASK_STAT_STK_SIZE设定统计任务的任务堆栈容量6.7 实验结果总结通过本次实验,裁减了系统,修改了某些数据结构相关的常量,节省了内存空间6.8 心得体会通过本次实验主要学习到了如何根据具体情况对cos-II操作系统进行裁剪,从而得到即满足需要,又非常紧凑的应用软件系统。7. 实验七7.1实验名称 ucos-II移植实验7.2实验目的了解C/OS-II 内核的主要结构,掌握ARM的C语言和汇编语言的编程方法;了解ARM7处理器结构;掌握将C/OS-II 内核移植到ARM 7 处理器上的基本原理与嵌入式编程实现方法7.3实验环境(1)ADS1.2开发环境(2)博创UP-NETARM3000 嵌入式开发平台(3)PC(4)串口线7.4 实验内容及要求(1)将C/OS-II 内核移植到ARM7 微处理器S3C44B0上。(2)编写两个简单任务,在超级终端上观察两个任务的切换。7.5 实验设计与实验步骤(1)新建工程(2)该实验的文件分为两类,其一是 STARTUP目录下的系统初始化、配置等文件,其二是uCOS-II 的全部源码,arch 目录下的3 个文件是和处理器架构相关的3定义驱动函数(tchscr.c)(3)设置os_cpu.h 中与处理器和编译器相关的代码(4)用C 语言编写6 个操作系统相关的函数(5)用汇编语言编写4 个与处理器相关的函数(6)编写一个简单的多任务程序来测试一下移植是否成功(7)编译并下载移植后的uCOS-II 7.6 实验过程与分析(1) 首先需要对相关寄存器做详细的设定(2) 用汇编语言编写与处理器相关的函数(3) 用分时的方法同时运行两个任务OS_STK TaskName_StackSTACKSIZE=0, ; /任务堆栈 void TaskName(void *Id); /任务函数 #define TaskName_Prio N /任务优先级在main()函数中调用OSStart() 函数之前用下列语句创建任务: OSTaskCreate(TaskName,(void*)0,(OS_STK*)&TaskName_StackSTACKSIZE-1, TaskName_Prio); OSTaskCreate()函数的原型是: INT8U OSTaskCreate (void (*task)(void *pd), void *p_arg, OS_STK *ptos, INT8U prio);(4) 编写任务函数7.7 实验结果总结通过实验达到了ucosII系统移植的目的,并编写了一个简单的多任务程序,分时运行。7.8 心得体会通过本次实验了解了C/OS-II 内核的主要结构,掌握了ARM的C语言和汇编语言的编程方法。8. 实验八8.1实验名称各接口模块相互衔接综合实验8.2实验目的(1) 回顾串口、键盘、LED接口、A/D、电机转动、定时器中断、LCD接口及触摸屏驱动控制等接口模块驱动设计及开发方法(2) 综合应用以上全部或者部分模块,实现一个嵌入式综合应用系统,要求至少用到8个模块中的5个8.3实验环境(1)ADS1.2开发环境(2)博创UP-NETARM3000 嵌入式开发平台(3)PC(4)串口线8.4 实验内容及要求(1) 综合应用串口、键盘、LED接口、A/D、电机转动、定时器中断、LCD接口及触

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论