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

下载本文档

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

文档简介

1、嵌入式系统设计实验报告班 级: XXXXXXXXXX 学 号: XXXXXXXXXX 姓 名: XXXXXXX 成 绩: 指导教师: XXXXXXXXXXX 1. 实验一1.1实验名称博创UP-net3000实验台基本结构及使用方法1.2实验目的熟悉UP-net3000实验平台的核心硬件电路和外设通过操作系统自带的通讯软件超级终端,检验各个外设的工作状态1.3实验环境硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以上。软件:PC 机操作系统Windows、ADS1.2 集成开发环境、仿真器驱动程序、超级终端通讯程序。1.4实验内容及要求一

2、、内容嵌入式系统开发流程概述熟悉UP-net3000实验平台的核心硬件电路和外设ARM JTAG的安装与使用通过操作系统自带的通讯软件超级终端,检验各个外设的工作状态二、要求通过本次课程对各个外设的了解,为今后各个接口实验打下基础。1.5实验设计与实验步骤一、JTAG 的驱动程序的安装:执行armJtag 目录下armJtagSetup.exe 程序,选择安装目录,安装JTAG 软件。二、通过通讯软件超级终端来检验外设的工作状态:运行Windows 系统下的超级终端(HyperTerminal)应用程序,新建一个通信终端。为所建超级终端取名为arm,可以为其选择第一个图标。单击“确定”按钮。在

3、接下来的对话框中选择ARM 开发平台实际连接的PC 机串口(如COM1),按确定按钮后出现属性对话框,设置通信的格式和协议。波特率为115200,数据位8,无奇偶校验,停止位1,无数据流控制。按确定完成设置。完成新建超级终端的设置以后,可以选择超级终端文件菜单中的保存,将当前设置保存为一个特定超级终端到桌面上,以备后用。用串口线将PC 机串口和平台UART0 正确连接后,就可以在超级终端上看到程序输出的信息了。启动开发板,按住开发板上键盘的任意按键,使开发板进入BIOS 设置状态。 最后分别在按电脑键盘上的相应按键对各个外设的工作状态进行检验。1.6实验过程与分析 当在电脑键盘上分别按下相应按

4、键时,试验台有相应反应,说明外设工作正常。1.7 实验结果总结了解了UP-net3000实验平台的核心硬件电路和外设,ARM JTAG 驱动程序的安装与使用。最后通过操作系统自带的通讯软件超级终端,检验了各个外设的工作状态正常与否。1.8 心得体会通过本次实验,我了解了嵌入式系统开发的基本流程,知道了怎样通过操作系统自带的通讯软件超级终端来检验各个外设的工作状态。第一次实验没有难度,轻松加愉快地完成了,通过了检验,方便了以后实验可以正常进行。2. 实验二2.1实验名称ADS1.2软件开发环境使用方法2.2实验目的学习串行通讯原理,了解串行通讯控制器。掌握ARM 的UART相关寄存器的功能,熟悉

5、ARM 系统硬件的UART 相关接口。2.3实验环境硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以上。软件:PC 机操作系统Windows、ADS1.2 集成开发环境、仿真器驱动程序、超级终端通讯程序。2.4 实验内容及要求学习串行通讯原理,了解串行通讯控制器,阅读ARM 芯片文档,掌握ARM 的UART相关寄存器的功能,熟悉ARM 系统硬件的UART 相关接口。编程实现ARM 和计算机实现串行通讯:ARM 监视串行口,将接收到的字符再发送给串口(计算机与开发板是通过超级终端通讯的),即按PC 键盘通过超级终端发送数据,开发板将接收到的

6、数据再返送给PC,在超级终端上显示。2.5 实验设计与实验步骤在新建工程时ADS 创建了和工程同名的目录,在该目录下按类别创建子目录并存放工程文件。选中所有目录拖动到任务栏上的ADS 任务条上,不要松开鼠标当ADS 窗口恢复后再拖动到工程文件窗口,松开鼠标。这样ADS 将以子目录名建立同名文件组并以此对文件分类。双击Main.c 打开该文件。利用上个实验中的通讯软件超级终端来将生成的文件放到嵌入式开发平台中。2.6 实验过程与分析按PC 键盘,发现超级终端上显示的与键盘按下的是一致的,说明ARM 监视串行口,将接收到的字符再发送给串口。2.7 实验结果总结本实验首先将LCD显示模式转换为文本显

7、示模式,然后在文本模式下清屏命令,最后向液晶屏和向串口输出。ARM 监视串行口;将接收到的字符再发送给串口(计算机与开发板是通过超级终端通讯的);即按PC 键盘通过超级终端发送数据,开发板将接收到的数据再返送给PC,在超级终端上显示。2.8 心得体会通过本次实验,我掌握了串行通讯原理、并且了解了串行通讯控制器、熟悉ARM 系统硬件的UART 相关接口。明白了ADS1.2软件开发环境的使用方法,到目前为止,实验难度不大,蛮开心的。3. 实验三3.1实验名称键盘及LED实验UP-3000实验台基本结构及使用方法3.2实验目的熟悉ZLG7289芯片的内部结构掌握用ZLG7289驱动键盘和LED的方法

8、掌握ARM汇编语言和C语言的编程方法编写出一段程序,要求能在LED上显示出小键盘上按下的4位数字3.3实验环境硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以上。软件:PC 机操作系统Windows、ADS1.2 集成开发环境、仿真器驱动程序、超级终端通讯程序。3.4实验内容及要求内容:编写出一段程序,通过ZLG7289芯片驱动的键盘和8个共阴极LED,将在小键盘上按下的4位数字按键值在LED上显示出来。要求:从右至左循环显示至少四位数字,基本功能实现之后实现从左至右显示数字。3.5实验设计与实验步骤 新建工程,将“Exp3 键盘及LED

9、 驱动实验”中的文件添加到工程。 定义键值读取函数。编写主函数,将按键值在数码管上显示。 通讯软件超级终端来将生成的文件放到嵌入式开发平台中。3.6实验过程与分析以下是核心代码:Delay(5);/延时 WriteSDIO(ZLG7289_CMD_DATA0|0);/数码管以方式0译码,第一个数码管亮WriteSDIO(key%10);/显示个位Delay(1);/延时if(key9)/键值大于9显示十位WriteSDIO(ZLG7289_CMD_DATA0|2);/发送十位数据WriteSDIO(unsigned char)(key/10);Delay(1);WriteSDIO(ZLG728

10、9_CMD_HIDE);/使一、二两位数码管显示WriteSDIO(4);else/键值小于10不显示十位WriteSDIO(ZLG7289_CMD_HIDE);/使个位数码管显示WriteSDIO(1);ZLG7289_DISABLE();/zlg7289放弃同步串口控制权据老师要求,又将8位的改成了2位的,成功实现实验要求。3.7 实验结果总结通过本次实验,我熟悉ZLG7289芯片的内部结构,掌握了用ZLG7289驱动键盘和LED的方法,掌握了ARM汇编语言和C语言的编程方法,达到实验目的。3.8 心得体会 实验过程中的编码耗时较长,自己的编程能力不足,在同学的协助下才完成,往后要加强这方

11、面的练习。4. 实验四4.1实验名称电机转动控制及中断实验4.2实验目的 熟悉ARM自带的六路(三对)PWM 了解直流电机和步进电机的工作原理 熟悉ARM自带的A/D转换器的工作原理及编程方法 利用A/D转换器实现对直流电机和步进电机4.3实验环境硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以上。软件:PC 机操作系统Windows、ADS1.2 集成开发环境、仿真器驱动程序、超级终端通讯程序。4.4实验内容及要求内容:学习步进电机和直流电机的工作原理,了解实现两个电机转动对于系统的软件和硬件要求。学习ARM 知识,掌握PWM 的生成方

12、法,同时掌握I/O 的控制方法。要求:编程实现ARM 芯片的一对PWM 输出用于控制直流电机的转动,通过A/D 旋钮控制其正反转及转速。编程实现ARM 的四路I/O 通道实现环形脉冲分配用于控制步进电机的转动,通过A/D 旋钮转角控制步进电机的转角。通过超级终端来控制直流电机与步进电机的切换。4.5实验设计与实验步骤首先,新建工程,将“Exp6 电机转动控制实验”中的文件添加到工程。其次,编写直流电机初始化数(MotorCtrl.c),设置寄存器TCFG0、TCFG1、TCNTB0、TCON,再次,控制直流电机,还有,初始化开发板,初始化直流电机,初始化AD转换器,采样AD值,延时,设置相应的

13、脉冲宽度,延时。最后,采样AD值,延时,采样AD值,延时,根据AD旋钮转角确定步数及转动方向,发出步进电机控制命令,保存本次采样值。4.6实验过程与分析核心代码如下void init_ADdevice()/初始化rADCPSR=20;rADCCON=ADCCON_SLEEP;int GetADresult(int channel)rADCCON=(channel2)|ADCCON_ENABLE_START;Delay(10);while(!(rADCCON&ADCCON_FLAG);/转换结束return rADCDAT;/返回采样值void init_MotorPort()rTCFG0=(0

14、24)|2;rTCFG1=0;rTCNTB0= MOTOR_CONT;rTCMPB0= MOTOR_MID;rTCON=0x2;rTCON=0x19;void SetPWM(int value)rTCMPB0= MOTOR_MID+value;4.7 实验结果总结实现了ARM 芯片的一对PWM 输出用于控制直流电机的转动,通过A/D 旋钮控制其正反转及转速。实现ARM 的四路I/O 通道实现环形脉冲分配用于控制步进电机的转动,通过A/D 旋钮转角控制步进电机的转角。通过超级终端来控制直流电机与步进电机的切换。通过键盘来控制直流电机的转动或停止。4.8 心得体会通过本次实验,熟悉了ARM自带的六

15、路。了解了直流电机和步进电机的工作原理。熟悉了ARM自带的A/D转换器的工作原理及编程方法。掌握了利用A/D转换器实现对直流电机和步进电机的控制。因为看到自己努力的成果,我不由得多按了几次键盘来控制直流电机。5. 实验五5.1实验名称LCD驱动及触摸屏实验5.2实验目的掌握LCD显示原理及显示驱动的嵌入式系统编程实现方法学习基于ARM的LCD 显示驱动控制方法,通过对ARM 内置的LCD 控制器进行编程实现驱动LCD显示屏。学习触摸屏基本原理,理解触摸屏的输出标定以及与LCD 显示器配合的过程5.3实验环境硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pent

16、ium100 以上。软件:PC 机操作系统Windows、ADS1.2 集成开发环境、仿真器驱动程序、超级终端通讯程序。5.4实验内容及要求内容:学习基于ARM的LCD 显示驱动控制方法,通过对ARM 内置的LCD 控制器进行编程实现驱动LCD显示屏。学习触摸屏基本原理,理解触摸屏的输出标定以及与LCD 显示器配合的过程,编程实现对触摸屏的控制。 要求:点击触摸屏上两点后,两点之间画出一条直线。 点击触摸屏并在其上移动,显示移动轨迹。5.5实验设计与实验步骤新建工程,将“Exp8 触摸屏驱动实验”中的文件添加到工程。在头文件中定义宏及常量(tchscr.c,tchscr.h)定义驱动函数(tc

17、hscr.c)读取触摸点x 轴电压值:发送读取x电压值,控制字SendSIOData,等待8个时钟节拍,读取采样值高8位,ReadSIOData,发送读取x电压值,控制字SendSIOData,将第一次采样值左移8位,读取低8位并与以前高8位组成16位数据,去掉低4位,保留12位有效数据。读取触摸点坐标:打开ADS7843,读取触摸点x轴电,压值4次取平均值,读取触摸点y轴电压值4次取平均值,打开ADS7843,对采样结果进行转换。编写测试函数(tchscr.c)将触摸动作及触摸点坐标在超级终端上显示出来。校准触摸屏坐标输出,转换坐标,与LCD 紧密配合通讯软件超级终端来将生成的文件放到嵌入式

18、开发平台中。5.6实验过程与分析核心代码如下:void TchScr_GetScrXY(int *x, int *y, U8 bCal)/获得触摸点坐标unsigned int temp;rPDATF&=ADS7843_PIN_CS;/打开ADS7843SendSIOData(ADS7843_CMD_X);/发送读取x电压值控制字SendSIOData(0);/等待8个时钟节拍,因为完成一转换需要16个时钟temp=ReadSIOData();/读取采样值高8位SendSIOData(ADS7843_CMD_X);temp4);/去掉低4位,保留12位有效数据SendSIOData(0);te

19、mp=ReadSIOData();SendSIOData(ADS7843_CMD_X);temp4);SendSIOData(0);temp=ReadSIOData();SendSIOData(ADS7843_CMD_X);temp4);SendSIOData(0);temp=ReadSIOData();SendSIOData(ADS7843_CMD_Y);temp4);*x=2;/采样4次取平均值/读取y电压值SendSIOData(0);temp=ReadSIOData();SendSIOData(ADS7843_CMD_Y);temp4);SendSIOData(0);temp=Read

20、SIOData();SendSIOData(ADS7843_CMD_Y);temp4);SendSIOData(0);temp=ReadSIOData();SendSIOData(ADS7843_CMD_Y);temp4);SendSIOData(0);temp=ReadSIOData();SendSIOData(0);temp4);*y=2;rPDATF|=ADS7843_PIN_CS;/关闭ADS7843if(bCal)/对采样结果进行转换*x=(*x-TchScr_Xmin)*LCDWIDTH/(TchScr_Xmax-TchScr_Xmin);*y=(*y-TchScr_Ymin)*L

21、CDHEIGHT/(TchScr_Ymax-TchScr_Ymin);5.7 实验结果总结 点击触摸屏任何部位,都能显示出点,再点击触摸屏之后,第一个点会与点击的第二个点迅速连成直线。5.8 心得体会通过本次实验,学习了基于ARM的LCD 显示驱动控制方法,通过对ARM 内置的LCD 控制器进行编程实现了驱动LCD显示屏。学习了触摸屏基本原理,理解了触摸屏的输出标定以及与LCD 显示器配合的过程,编程实现了对触摸屏的控制。从以往的学习状态又上升了一个层次6. 实验六6.1实验名称ucos-II裁剪实验6.2实验目的掌握cos-II裁剪的基本原理与嵌入式编程实现方法。学习根据具体情况对cos-I

22、I操作系统进行裁剪,从而得到即满足需要,又非常紧凑的应用软件系统。6.3实验环境硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以上。软件:PC 机操作系统Windows、ADS1.2 集成开发环境、仿真器驱动程序、超级终端通讯程序。6.4实验内容及要求内容:根据cos-II裁剪的基本原理与嵌入式编程实现方法,根据具体情况对cos-II操作系统进行裁剪,从而得到即满足需要,又非常紧凑的应用软件系统。通过对cos-II配置文件(OS_CFG.H)中相关的配置常量进行设置,实现对cos-II的裁剪。给出裁剪的详细过程与裁剪结果说明,并生成裁剪后

23、的操作系统文件。要求:得到即满足需要,又非常紧凑的应用软件系统。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

24、 #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实验过程与分析 对c

25、os-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语言和汇编语言的编程方法。了解

26、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 处理器上,并编写两个简单任务,

27、在超级终端上观察两个任务的切换。要求:掌握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.

28、6实验过程与分析编写任务函数内容,以下是核心代码:void TaskName(void *Id)/添入任务初始化语句for(;) /添入任务循环内容OSTimeDly(SusPendTime);/挂起一定时间,以使其他任务可以占用CPUuCOS-II 至少要有一个任务,这里首先创建一个系统任务SYS_Task,其中由语句OSRunning=TRUE; /使能uCOS-II 运行uHALr_InstallSystemTimer();启动系统时钟和多任务切换。7.7 实验结果总结使用ARM的C语言和汇编语言的编程方法,将C/OS-II 内核移植到ARM 7 处理器上的基本原理与嵌入式编程实现方法。

29、实现了ucos-II移植。7.8 心得体会通过本实验,我了解C/OS-II 内核的主要结构和ARM7处理器结构,掌握了将C/OS-II 内核移植到ARM 7 处理器上的基本原理与嵌入式编程实现方法。为以后的实验打下了基础。8. 实验八8.1实验名称各接口模块相互衔接综合实验8.2实验目的(1)回顾串口、键盘、LED接口、A/D、电机转动、定时器中断、LCD接口及触摸屏驱动控制等接口模块驱动设计及开发方法。(2)提高开发综合应用系统的能力。8.3实验环境硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以上。软件:PC 机操作系统Windows

30、、ADS1.2 集成开发环境、仿真器驱动程序、超级终端通讯程序。8.4实验内容及要求内容:综合应用串口、键盘、LED接口、A/D、电机转动、定时器中断、LCD接口及触摸屏驱动控制等接口模块驱动设计及开发方法全部或者部分模块,实现一个嵌入式综合应用系统,要求: 至少用到8个模块中的5个。尽量使综合应用系统具备合理的功能。8.5实验设计与实验步骤综合运用串口、键盘、LED接口、A/D、电机转动、定时器中断、LCD接口及触摸屏驱动控制共八个模块。对main.c函数进行设置使得按下键盘上1、2、3、4、5、6时,分别有以下实验结果:直流电机开始转动、步进电机转动、屏幕上输出字母、开始计数、计数停止、在屏幕上点击两个点,使其实现直线连接。8.6实验过程与分析核心代码如下:void go()U16 key;if(!(rPDATG&ZLG7289_KEY)*Revdata = RdURXH0();key = GetKey();if(key = 1)flag = 1;

温馨提示

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

评论

0/150

提交评论