嵌入式系统实验报告.docx

上传人:b****1 文档编号:85582 上传时间:2023-04-28 格式:DOCX 页数:17 大小:90.70KB
下载 相关 举报
嵌入式系统实验报告.docx_第1页
第1页 / 共17页
嵌入式系统实验报告.docx_第2页
第2页 / 共17页
嵌入式系统实验报告.docx_第3页
第3页 / 共17页
嵌入式系统实验报告.docx_第4页
第4页 / 共17页
嵌入式系统实验报告.docx_第5页
第5页 / 共17页
嵌入式系统实验报告.docx_第6页
第6页 / 共17页
嵌入式系统实验报告.docx_第7页
第7页 / 共17页
嵌入式系统实验报告.docx_第8页
第8页 / 共17页
嵌入式系统实验报告.docx_第9页
第9页 / 共17页
嵌入式系统实验报告.docx_第10页
第10页 / 共17页
嵌入式系统实验报告.docx_第11页
第11页 / 共17页
嵌入式系统实验报告.docx_第12页
第12页 / 共17页
嵌入式系统实验报告.docx_第13页
第13页 / 共17页
嵌入式系统实验报告.docx_第14页
第14页 / 共17页
嵌入式系统实验报告.docx_第15页
第15页 / 共17页
嵌入式系统实验报告.docx_第16页
第16页 / 共17页
嵌入式系统实验报告.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

嵌入式系统实验报告.docx

《嵌入式系统实验报告.docx》由会员分享,可在线阅读,更多相关《嵌入式系统实验报告.docx(17页珍藏版)》请在冰点文库上搜索。

嵌入式系统实验报告.docx

嵌入式系统实验报告

(此文档为word格式,下载后您可任意编辑修改!

嵌入式系统设计实验报告

 

班级:

学号:

姓名:

成绩:

指导教师:

 

1.实验一

1.1实验名称

博创UP-3000实验台基本结构及使用方法

1.2实验目的

1.学习嵌入式系统开发流程。

2.熟悉UP-net3000实验平台的核心硬件电路和外设。

3.增加对各个外设的了解,为今后各个接口实验打下基础。

1.3实验环境

博创UP-NETARM3000嵌入式开发平台

1.4实验内容及要求

(1)嵌入式系统开发流程概述

(2)熟悉UP-net3000实验平台的核心硬件电路和外设

(3)ARMJTAG的安装与使用

(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)实现HelloWorld!

最终在输出了HelloWorld

(2)编程实现ARM和计算机之间的串行通讯

实现了串口通信,用ARM监视串口,接收到的字符串由ARM通过串口发送给超级终端,最终在超级终端上显示了按下的键。

学习了串行通讯原理,了解串行通讯控制器,阅读ARM芯片文档,掌握ARM的UART相关寄存器的功能,熟悉ARM系统硬件的UART相关接口。

2.7实验结果总结

对ADS1.2开发环境使用和AXDDebugger使用方法有了初步的了解,基本成功运行了编译好的工程文件。

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寄存器

#defineZLG7289_CS

#defineZLG7289_KEY

#defineZLG7289_ENABLE()do{ZLG7289SIOBand=rSBRDR;ZLG7289SIOCtrl=rSIOCON;

rSIOCON=0x31;rSBRDR=0xff;rPDATB&=(~ZLG7289_CS);}while(0)

#defineZLG7289_DISABLE()do{rPDATB|=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输出和IO输出,前者用于控制直流电机,后者用于控制步进电机。

(3)了解直流电机和步进电机的工作原理,学会用软件的方法实现步进电机的脉冲分配,即用软件的方法代替硬件的脉冲分配器。

(4)掌握带有PWM和IO的CPU编程实现其相应功能的主要方法。

4.3实验环境

(1)ADS1.2开发环境

(2)博创UP-NETARM3000嵌入式开发平台

(3)PC

(4)串口线

4.4实验内容及要求

学习步进电机和直流电机的工作原理,了解实现两个电机转动对于系统的软件和硬件要求。

学习ARM知识,掌握PWM的生成方法,同时也要掌握IO的控制方法。

(1)编程实现ARM芯片的一对PWM输出用于控制直流电机的转动,通过AD旋钮控制其正反转及转速

(2)编程实现ARM的四路IO通道实现环形脉冲分配用于控制步进电机的转动,通过AD旋钮转角控制步进电机的转角。

(3)通过超级终端来控制直流电机与步进电机的切换。

4.5实验设计与实验步骤

(1)新建工程,将“电机转动控制实验”中的文件添加到工程

(2)编写直流电机初始化数(MotorCtrl.c)

(3)控制直流电机与步进电机

4.6实验过程与分析

(1)通过把从串口中得到控制信息的代码修改成从zlg7289芯片中读取小键盘信息,从而利用试验台的小键盘来控制步进电机和直流电机的切换

(2)AD转换可以把电信号转换成数字信号来控制电机的转速。

for(;;)

{

loop:

if((rUTRSTAT0&0x1))有输入,则返回

if(rPDATG&ZLG7289_KEY)17键小键盘控制电机

{

*Revdata=RdURXH0();

gotobegin;

}

Delay(10);

ADData=GetADresult(0);

if(abs(lastADData-ADData)<20)

gotoloop;

Delay(10);

count=-(ADData-lastADData)*3;

(ADData-lastADData)*2701024为ad旋钮转过的角度,360512为步距角,

由于接了18减速器,两者之商再乘以8为步进电机相应转过的角度

if(count>=0)

{转角大于零

for(j=0;j

{

for(i=0;i<=7;i++)

{

SETEXIOBITMASK(stepdata[i],0xf0);

Delay(200);

}

}

}

else

{转角小于零

count=-count;

for(j=0;j

{

for(i=7;i>=0;i--)

{

SETEXIOBITMASK(stepdata[i],0xf0);

Delay(200);

}

}

}

lastADData=ADData;

}

}

(3)S3C44B0X具有6个16bit定时器,每个定时器可以基于中断模式或DMA模式运行。

在定时中断服务程序中写需要定时处理的程序,每隔一段时间就会运行一次。

4.7实验结果总结

利用AD转换器实现了对直流电机和步进电机的控制,利用实验设备上自带的小键盘实现了AD转换器对两个电机控制的切换。

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控制器来驱动LCD

5.5实验设计与实验步骤

(1)新建工程

(2)定义有关常量与宏

#defineLCDWIDTH320

#defineLCDHEIGHT240

U32*pLCDBuffer16=(U32*)0xc000000;一级缓存指针

U32LCDBuffer[LCDHEIGHT][LCDWIDTH];二级缓存

(3)编写LCD初始化函数

(4)编写LCD刷新函数

(5)编写主函数

5.6实验过程与分析

(1)通过不断刷新的方式获得LCD液晶屏幕的动画。

即刷新函数将二级缓存LCDBuffer的数据由32位彩色图形信息转换成8位256色的图形信息,然后放到pLCDBuffer16指向的一级缓存。

(2)触摸屏的先得到触屏输出的电信号的值,然后转换为实际的屏幕坐标,再根据动作来决定如何处理缓存信息,刷新LCD。

LCD二级缓存矩阵:

for(i=0;i<9;i++)

{switch(i)

{case0:

jcolor=0x;黑色

break;

case1:

jcolor=0x000000e0;红色

break;

case2:

jcolor=0x0000d0e0;橙色

break;

case3:

jcolor=0x0000e0e0;黄

break;

case4:

jcolor=0x0000e000;绿色

break;

case5:

jcolor=0x00e0e000;青色

break;

case6:

jcolor=0x00e00000;蓝色

break;

case7:

jcolor=0x00e000e0;紫色

break;

case8:

jcolor=0x00e0e0e0;白色

break;

}

for(k=0;k<240;k++)

for(j=i*32;j

LCDBuffer[k][j]=jcolor;

}

jcolor=0x000000ff;

for(i=0;i<240;i++)

{if(i==80||i==160)

jcolor<<=8;

for(j=288;j<320;j++)

LCDBuffer[i][j]=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.()函数中调用OSStart()函数之前用下列语句创建任务:

OSTaskCreate(TaskName,(void*)0,(OS_STK*)&TaskName_Stack[STACKSIZE-1],

TaskName_Prio);

OSTaskCreate()函数的原型是:

INT8UOSTaskCreate(void(*task)(void*pd),void*p_arg,OS_STK*ptos,

INT8Uprio);

(4)编写任务函数

7.7实验结果总结

通过实验达到了ucosII系统移植的目的,并编写了一个简单的多任务程序,分时运行。

7.8心得体会

通过本次实验了解了µCOS-II内核的主要结构,掌握了ARM的C语言和汇编语言的编程方法。

8.实验八

8.1实验名称

各接口模块相互衔接综合实验

8.2实验目的

(1)回顾串口、键盘、LED接口、AD、电机转动、定时器中断、LCD接口及触摸屏驱动控制等接口模块驱动设计及开发方法

(2)综合应用以上全部或者部分模块,实现一个嵌入式综合应用系统,要求至少用到8个模块中的5个

8.3实验环境

(1)ADS1.2开发环境

(2)博创UP-NETARM3000嵌入式开发平台

(3)PC

(4)串口线

8.4实验内容及要求

(1)综合应用串口、键盘、LED接口、AD、电机转动、定时器中断、LCD接口及触摸屏驱动控制等全部或者部分模块

(2)实现一个嵌入式综合应用系统,要求至少用到8个模块中的5个,尽量使综合应用系统具备合理的功能。

8.5实验设计与实验步骤

(1)运行ADS1.2开发环境

(2)新建工程文件

(3)将综合实验中用到的文件放到这个工程文件中

(4)下载编译好的文件到嵌入式控制器中运行

8.6实验过程与分析

(1)本次实验设计主要是通过中断来实现,设定了flag=六个标志位,对应不同的键值来实现功能的切换

(2)通过numlock键来控制直流电机

(3)通过“”键来控制步进电机

(4)通过“*”键来控制屏输出“helloworld”

(5)通过“+”键来实现LED灯的计时

(6)通过“DEL”键来实现清屏和LED灯的清除

(7)通过“enter”键来进入到键值控制LED显示的功能

8.7实验结果总结

实验最终能实现5个功能的切换,但不足的是未涉及到触摸屏的设计,并且最后的键值控制LED灯不能实现正常的中断跳转。

8.8心得体会

通过本次综合性的实验来综合之前做的串口、键盘、LED接口、AD、电机转动、定时器中断、LCD接口及触摸屏驱动控制实验,回顾了之前的知识,对整体的运用有了进一步的了解,但是实验结果仍有很多的不足,需要改进。

9.实验总结与心得体会

通过之前的串口、键盘、LED接口、AD、电机转动、定时器中断、LCD接口及触摸屏驱动控制实验这7个小模块的实验,对嵌入式系统的开发流程有了基本的了解,熟悉了博创UP-NETARM3000实验台和ADS1.2软件的实验环境,同时也掌握了各模块功能实现功能的基本原理。

在最后的综合性实验中,通过对以上知识的掌握和理解,进一步的对以上知识进行了加深和巩固,虽然有几次实验实现的实验结果并不是很成功,但还是达到了学习和理解的效果。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2