嵌入式系统实验实验报告

  • 格式:doc
  • 大小:2.54 MB
  • 文档页数:36

下载文档原格式

  / 36
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

嵌入式系统实验实验报告

一、实验目的

1.基本实验

.

Word 资料搭建PXA270嵌入式LINUX开发软硬件环境;安装LINUX操

作系统;安装与配置建立宿主机端交叉编译调试开发环境;配置宿主机 PC 机端的minicom(或超级终端)、TFTP服务、NFS服务,使宿主PC机与PXA270开发板可以通过串口通讯,并开通TFTP 和NFS服务。

2.人机接口

键盘驱动;LCD控制;触摸屏数据采集与控制实验;

3.应用实验

完成VGA显示;Web服务器实验;网络文件传输实验;多线程应用实验。

4.扩展应用实验

完成USB摄像头驱动与视频采集;GPS实验;GSM/GPRS通讯;视频播放移植;USB蓝牙设备无线通讯;NFS文件服务器;蓝牙视频文件服务器。

5.QT实验

完成基本嵌入式图形开发环境搭建;“Hello world!”QT初探;创建一个窗口并添加按钮;对象通信:Signal和Slot;菜单和快捷键;工具条和状态栏;鼠标和键盘事件;对话框;QT的绘图;俄罗斯方块;基于QT的GSM手机在嵌入式LINUX下的设计与实现。

二、实验内容

1.人机接口实验

实验十九键盘驱动实验

▪实验目的:矩阵键盘驱动的编写

▪实验内容:矩阵键盘驱动的编写

▪作业要求:完成键盘加减乘除运算

▪实验作业源码及注释:

#INCLUDE

#INCLUDE

#INCLUDE

#INCLUDE

#INCLUDE

#INCLUDE

#DEFINE DEVICE_NAME “/DEV/KEYBOARD”

INT MAIN(VOID){

INT FD;

INT RET;

UNSIGNED CHAR BUF[1];

INT I,F,J;

DOUBLE X;

INT A[2]={0};

CHAR PRE_SCANCODE=0XFF;

FD=OPEN(DEVICE_NAME,O_RDWR);

IF(FD==-1)PRINTF(“OPEN DEVICE %S ERROR\N”,DEVICE_NAME);

ELSE{

BUF[0]=0XFF;

I=0;F=0;

WHILE(1){

READ(FD,BUF,1);

.

Word 资料

IF(BUF[0]!=PRE_SCANCODE) //判断是否放开按键

IF(BUF[0]!=0XFF){ //判断是否键入

PRE_SCANCODE=BUF[0];

USLEEP(50000);

SWITCH(BUF[0]){

CASE 0X12:{ //按下ENTER

SWITCH(F){ //判断运算符

CASE

1:{J=I;I=(I+1)%2;X=A[I]+A[J];PRINTF(“%D+%D=%D”, A[I],A[J],X);BREAK;}//加法

CASE 2:{J=I;I=(I+1)%2;X=A[I]-

A[J];PRINTF(“%D-%D=%D”,A[I],A[J],X);BREAK;}//减法

CASE

3:{J=I;I=(I+1)%2;X=A[I]*A[J];PRINTF(“%D*%D=%D”,A [I],A[J],X);BREAK;}//乘法

CASE

4:{J=I;I=(I+1)%2;X=A[I]/A[J];PRINTF(“%D/%D=%D”,A [I],A[J],X);BREAK;}//除法

DEFAUIT:

}

F=0;BREAK;

}

CASE 0X13:{F=1;I=(I+1)%2;BREAK;} //键入运算符

CASE 0X14:{F=2;I=(I+1)%2;BREAK;}

CASE 0X15:{F=3;I=(I+1)%2;BREAK;}

CASE 0X16:{F=4;I=(I+1)%2;BREAK;}

DEFAULT:A[I]=BUF[0]; //存入数据

}

}

}

RET=CLOSE(FD);

}

RETURN 0;

}

▪实验结果:

实验效果图

实验二十LCD控制实验

▪实验目的:了解LCD的基本原理

▪实验内容:使用总线方式驱动LCD模块,体会与QT下

LCD显示的差别

.

Word 资料▪作业要求:在目标板的LCD上显示彩色竖条纹或彩色圆环。

▪实验作业源码及注释:

#include

#include

#include

#include // open() close()

#include // read() write()

#define DEVICE_NAME "/dev/fb"

#define VERSION "PXA2700EP-LCD-V1.00-060530" void showversion(void)

{

printf("*********************************************\n"); printf("\t %s \t\n", VERSION);

printf("*********************************************\n\n"); }

int main(void)

{

int fd;

int ret;

int i,j,r,R;

unsigned short buf[640*480];

showversion();

printf("\nstart test_lcd test\n\n");

fd = open(DEVICE_NAME, O_RDWR);