第一范文网 - 专业文章范例文档资料分享平台

北邮嵌入式系统实验报告完整版 - 图文 

来源:用户分享 时间:2025/11/17 22:31:08 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

北京邮电大学 嵌入式系统实验

学院:电子工程学院专业:电子信息科学与技术班级:学号:姓名:

实验报告

2010211203班

2013年11月13日

一、实验目的

1.基本实验

搭建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); 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显示的差别 ? 作业要求:在目标板的LCD上显示彩色竖条纹或彩色圆环。 ? 实验作业源码及注释:

#include

#include #include

#include // open() close() #include // read() write()

#define DEVICE_NAME \

#define VERSION \void showversion(void) {

printf(\ printf(\

printf(\ }

int main(void) {

int fd; int ret; int i,j,r,R; unsigned short buf[640*480]; showversion();

printf(\ fd = open(DEVICE_NAME, O_RDWR); printf(\ if (fd == -1) {

printf(\ } else { for(i=0;i<640*480;i++) {

buf[i]=0x0001; } ret=write(fd,buf,sizeof(buf)); usleep(500000); close(fd); fd = open(DEVICE_NAME, O_RDWR); //竖条纹算法:通过横坐标分布进行填色 for(r=0;r<640*480;r++){ i=rd0; if(i>=0&&i<60)buf[r]=0x0001; if(i>=60&&i<120)buf[r]=0xf800; if(i>=120&&i<180)buf[r]=0x07ef; if(i>=180&&i<240)buf[r]=0x001f; if(i>=240&&i<300)buf[r]=0xffe0; if(i>=300&&i<360)buf[r]=0x07ff; if(i>=360&&i<420)buf[r]=0xf81f; if(i>=420&&i<=480)buf[r]=0xffff; } /* //圆环算法:通过离圆心半径分布进行填色 for(r=0;r<640*480;r++){ i=rd0; j=r/640; R=(i-320)*(i-320)+(j-480)*(j-480); if(R>=0&&R<2500)buf[r]=0x0001; if(R>=2500&&R<10000)buf[r]=0xf800;

北邮嵌入式系统实验报告完整版 - 图文 .doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c9jy380wyta0cqsj0v4vg_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top