嵌入式实验一人机交互接口-显示实验_第1页
嵌入式实验一人机交互接口-显示实验_第2页
嵌入式实验一人机交互接口-显示实验_第3页
嵌入式实验一人机交互接口-显示实验_第4页
嵌入式实验一人机交互接口-显示实验_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

-.z实验报告课程名称 嵌入式系统设计实验仪器 清华同方辰源嵌入式系统实验箱实验名称 实验一:人机交互接口-显示实验系别 计算机学院专业 计算机科学与技术班级/** 学生** 实验日期 成绩 指导教师 实验一:人机交互接口-显示实验实验问题答复〔1〕介绍以下四个函数的作用、参数涵义及使用方法。RIT128*96*4StringDrawRIT128*96*4ImageDrawRIT128*96*4ClearRIT128*96*4Init答:函数名称作用参数含义使用方法RIT128*96*4StringDraw显示一个字符串在OLED显示屏上。pcStr:需要显示的字符串ul*:显示字符串的横坐标ulY:显示字符串的纵坐标ucLevel:灰度级直接调用,参数pcStr为所需显示的字符串。RIT128*96*4ImageDraw显示一个位图图形在OLED显示屏上。pucImage:所需显示图像的数据ul*:显示图像的横坐标ulY:显示图像的纵坐标ulWidth:明确规定图像所需列数ulHeight;明确规定图像所需行数在buf里为所需显示图形赋值以行为单位显示每个buf里的内容来得到所需图像。RIT128*96*4Clear去除OLED屏上的内容。无参直接调用。RIT128*96*4Init初始化OLED显示ulFrequency:指定使用SSI的时钟频率。直接调用实验平台OLED显示屏的最大宽度和高度,超出*围会怎么样答:最大宽度128,最大高度96,超出*围的局部会无法显示。比拟KeiluVision4上开发嵌入式C程序与VisualC++中开发C程序的异同。答:同:都是生成CPU可执行的二进制文件。异:VC生成的程序可在PC机上执行,而Keil上的程序能在pc机上编译但不能执行。VC一般不考虑内存、字长和ROM的大小等因素,而keil则需要考虑。描述一下你的工程从开场创立到下载的整个流程答:新建一个project选择CPU,LuminaryLM3S8962,新建一个Group,加载库文件DriverLib.lib。工程相关配置项修改,修改Target选项单,UserMircoLIB前勾选,修改Output选项单,CreateHE*File前勾选,修改Debug选项单,选择右侧上栏的Use,选择ULINKCorte*Debugger。加载c程序开发必要的程序,rit128*96*4.h,rit128*96*4.c,startup.s。创立主函数,编写主函数,并调试错误编译、连接,生成可执行程序文件硬件连接联调每个像素是怎么表示的.答:0*00表示最暗,0*ff表示最亮。画线时,为什么要定义数组.答:要用数组表示每一行像素的亮暗。如何使显示的字符变亮.变暗.答:通过改变字符显示函数的最后一个参数灰度级来改变字符的亮度值。如何使显示的图形变亮.变暗.答:通过改变数组buf的值来使图形变亮变暗,0最暗,f最亮。如何使显示的图形变宽.变窄.变高.变矮.答:改变定义的数组buf中元素的个数同时改变图形显示函数的宽度值来使图形变宽变窄。改变数组的个数或者改变纵坐标间的距离来使图形变高变矮。汉字如何显示.答:通过图形进展汉字的拼接。实验问题补充:〔1〕本例中,为什么每个buf要设置2*5=20个元素.答:因为5*7的比例比拟美观且显示的比拟清晰。〔2〕为什么要画七行线显示字符.答:5*7的比例显示字符比拟美观。〔3〕什么时候赋值为0*ff,什么时候赋值为0*00?答:0*ff表示最亮,0*00表示最暗。需要显示出来的局部赋值0*ff,不需要显示的局部赋值0*00.〔4〕RIT128*96*4ImageDraw(buf2,80,60,20,1);中第四个参数为什么是20.答:第四个参数表示图形的宽度,因为buf里有20个像素点,所以是20。实验目的和效果实验目的:〔1〕初步学习、理解、掌握OLED字符显示方法〔2〕初步学习、理解、掌握OLED图形显示方法实验截图:实验内容和步骤实验思路:首先对OLED进展初始化和清屏操作。输出**、日期、**拼音等可直接调用RIT128*96*4StringDraw进展输出,需计算好坐标。输出字符图形汉字等需要事先设计好,然后在buf里设置好每行亮暗的变化,然后使用RIT128*96*4ImageDraw一行一行的画出图形。输出最小字符需要缩小buf中元素的个数〔六个元素比拟适宜〕,RIT128*96*4ImageDraw中纵坐标之间的距离也减小为一。实验步骤:1、新建一个project2、选择CPU,LuminaryLM3S8962,新建一个Group,加载库文件DriverLib.lib。3、工程相关配置项修改,修改Target选项单,UserMircoLIB前勾选,修改Output选项单,CreateHE*File前勾选,修改Debug选项单,选择右侧上栏的Use,选择ULINKCorte*Debugger。加载c程序开发必要的程序,rit128*96*4.h,rit128*96*4.c,startup.s。4、创立主函数,编写主函数,并调试错误5、编译、连接,生成可执行程序文件6、硬件连接7、联调实验代码:*include<stdio.h> *include<LM3S****.H> *include"rit128*96*4.h" unsignedcharbuf0[]= { 0*ff,0*ff,0*ff,0*ff, 0*ff,0*ff,0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff, }; unsignedcharbuf1[]= {0*ff,0*ff, 0*ff }; unsignedcharbuf2[]= {0*ff,0*00, 0*00 }; unsignedcharbuf3[]= {0*ff,0*00, 0*00 }; unsignedcharbuf4[]= {0*ff,0*ff, 0*00 }; unsignedcharbuf5[]= {0*ff,0*00, 0*00 };unsignedcharbuf6[]= {0*ff,0*00, 0*00 }; unsignedcharbuf7[]= {0*ff,0*00, 0*00 }; unsignedcharbuf8[]=//D?D? { 0*00,0*00,0*ff,0*ff, 0*00,0*00, 0*00,0*00, 0*00,0*00, 0*ff,0*ff, 0*00,0*00 }; unsignedcharbuf9[]= {0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff, 0*00,0*00, 0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff }; unsignedcharbuf10[]= {0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff }; unsignedcharbuf11[]= {0*00,0*00, 0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff, 0*00,0*00 }; unsignedcharbuf12[]= {0*00,0*00, 0*00,0*00, 0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff, 0*00,0*00, 0*00,0*00 }; unsignedcharbuf13[]= {0*00,0*00, 0*00,0*00, 0*00,0*00, 0*ff,0*ff, 0*00,0*00, 0*00,0*00, 0*00,0*00 }; unsignedcharbuf14[]=//D??? {0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff, 0*00,0*00, 0*00,0*00 }; unsignedcharbuf15[]= {0*00,0*00, 0*00,0*00, 0*ff,0*ff, 0*ff,0*ff, 0*00,0*00, 0*00,0*00, 0*ff,0*ff, 0*ff,0*ff, 0*00,0*00, 0*00,0*00 }; unsignedcharbuf16[]= {0*00,0*00, 0*00,0*00, 0*ff,0*ff, 0*ff,0*ff, 0*00,0*00, 0*00,0*00, 0*ff,0*ff, 0*ff,0*ff, 0*00,0*00, 0*00,0*00 }; unsignedcharbuf17[]= {0*00,0*00, 0*00,0*00, 0*ff,0*ff, 0*ff,0*ff, 0*00,0*00, 0*00,0*00, 0*ff,0*ff, 0*ff,0*ff, 0*00,0*00, 0*00,0*00 }; unsignedcharbuf18[]= {0*00,0*00, 0*00,0*00, 0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff }; unsignedcharbuf19[]= {0*00,0*00, 0*00,0*00, 0*00,0*00, 0*00,0*00, 0*00,0*00, 0*00,0*00, 0*00,0*00, 0*00,0*00, 0*ff,0*ff, 0*ff,0*ff }; unsignedcharbuf20[]= {0*00,0*00, 0*00,0*00, 0*00,0*00, 0*00,0*00, 0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff }; unsignedcharbuf21[]= {0*00,0*00, 0*00,0*00, 0*00,0*00, 0*00,0*00, 0*00,0*00, 0*00,0*00, 0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff }; unsignedcharbuf22[]=//êú?? {0*ff,0*ff, 0*00,0*00, 0*00,0*00, 0*00,0*00, 0*00,0*00, }; unsignedcharbuf23[]= {0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff }; unsignedcharbuf24[]= {0*ff,0*ff, 0*ff,0*ff, 0*00,0*00, 0*00,0*00, 0*00,0*00, 0*00,0*00, 0*00,0*00, 0*00,0*00, 0*00,0*00, 0*00,0*00 }; unsignedcharbuf25[]= {0*ff,0*ff, 0*ff,0*ff, 0*00,0*00, 0*00,0*00, 0*00,0*00, 0*00,0*00, 0*00,0*00, 0*00,0*00, 0*00,0*00, 0*00,0*00 }; unsignedcharbuf26[]= {0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff, 0*ff,0*ff, 0*00,0*00, 0*00,0*00 }; unsignedcharbuf27[]= {0*ff,0*ff, 0*ff,0*ff, 0*00,0*00, 0*00,0*00, 0*00,0*00, 0*00,0*00, 0*00,0*00, 0*00,0*00, 0*00,0*00, 0*00,0*00 }; unsignedcharbuf28[]= {0*ff,0*ff, 0*ff,0*ff, 0*00,0*00, 0*00,0*00, 0*00,0*00, 0*00,0*00, 0*00,0*00, 0*00,0*00, 0*00,0*00, 0*00,0*00 }; unsignedcharbuf29[]= {0*ff,0*ff, 0*ff,0*ff, 0*00,0*00, 0*00,0*00, 0*00,0*00, 0*00,0*00, 0*00,0*00, 0*00,0*00, 0*00,0*00, 0*00,0*00 }; unsignedcharbuf30[]= {0*ff, 0*00,0*ff }; unsignedcharbuf31[]= {0*ff, 0*00,0*ff }; unsignedcharbuf32[]= {0*ff, 0*00,0*ff }; unsignedcharbuf33[]= {0*ff, 0*ff,0*ff }; unsignedcharbuf34[]= {0*ff, 0*00,0*ff }; unsignedcharbuf35[]= {0*ff, 0*00,0*ff }; unsignedcharbuf36[]= {0*ff, 0*00,0*ff }; unsignedcharl1[]={ 0*0f,0*ff,0*f0 }; unsignedcharl2[]={ 0*0f,0*00,0*00 }; unsignedcharl3[]={ 0*00,0*f0,0*00 }; unsignedcharl4[]={ 0*0f,0*ff,0*f0 }; unsignedcharl5[]={ 0*00,0*00,0*f0 }; unsignedcharl6[]={ 0*0f,0*00,0*f0 }; unsignedcharl7[]={ 0*0f,0*ff,0*f0 }; /*SettheclockingtorunfromPLLat50MHz*/intmain(){SysCtlClockSet(SYSCTL_SYSDIV_4|SYSCTL_USE_PLL|SYSCTL_OSC_MAIN|SYSCTL_*TAL_8MHZ); RIT128*96*4Init(1000000); RIT128*96*4Clear(); while(1){ /*RIT128*96*4StringDraw(",0,6,15); RIT128*96*4StringDraw("admin",0,12,15); RIT128*96*4StringDraw("work1",0,18,15); RIT128*96*4StringDraw("2016-9-21",50,18,15); RIT128*96*4ImageDraw(buf0,10,24,20,1);//oá?? RIT128*96*4ImageDraw(buf22,3,36,2,5);//êú??? RIT128*96*4ImageDraw(buf22,3,37,2,5); RIT128*96*4ImageDraw(buf22,3,38,2,5); RIT128*96*4ImageDraw(buf22,3,39,2,5); RIT128*96*4ImageDraw(buf22,3,40,2,5); RIT128*96*4ImageDraw(buf22,3,41,2,5); RIT128*96*4ImageDraw(buf22,3,42,2,5); RIT128*96*4ImageDraw(buf22,3,43,2,5); RIT128*96*4ImageDraw(buf22,3,44,2,5); RIT128*96*4ImageDraw(buf22,3,45,2,5); RIT128*96*4ImageDraw(buf22,3,46,2,5); RIT128*96*4ImageDraw(buf1,10,30,6,1);//bigF RIT128*96*4ImageDraw(buf2,10,33,6,1); RIT128*96*4ImageDraw(buf3,10,36,6,1); RIT128*96*4ImageDraw(buf4,10,39,6,1); RIT128*96*4ImageDraw(buf5,10,42,6,1); RIT128*96*4ImageDraw(buf6,10,45,6,1); RIT128*96*4ImageDraw(buf7,10,48,6,1); RIT128*96*4ImageDraw(buf23,65,30,40,2);//middleF RIT128*96*4ImageDraw(buf24,65,35,40,2); RIT128*96*4ImageDraw(buf25,65,40,40,2); RIT128*96*4ImageDraw(buf26,65,45,40,2); RIT128*96*4ImageDraw(buf27,65,50,40,2); RIT128*96*4ImageDraw(buf28,65,55,40,2); RIT128*96*4ImageDraw(buf29,65,60,40,2); RIT128*96*4ImageDraw(buf1,10,30,20,2);//bigF RIT128*96*4ImageDraw(buf2,10,35,20,2); RIT128*96*4ImageDraw(buf3,10,40,20,2); RIT128*96*4ImageDraw(buf4,10,45,20,2); RIT128*96*4ImageDraw(buf5,10,50,20,2); RIT128*96*4ImageDraw(buf6,10,55,20,2); RIT128*96*4ImageDraw(buf7,10,60,20,2); */ /*RIT128*96*4ImageDraw(buf8,0,65,28,1);//heart RIT128*96*4ImageDraw(buf9,0,70,28,1); RIT128*96*4ImageDraw(buf10,0,75,28,1); RIT128*96*4ImageDraw(buf11,0,80,28,1); RIT128*96*4ImageDraw(buf12,0,85,28,1); RIT128*96*4ImageDraw(buf13,0,90,28,1); RIT128*96*4ImageDraw(buf14,0,5,40,1);//ma RIT128*96*4ImageDraw(buf15,0,10,40,1); RIT128*96*4ImageDraw(buf16,0,15,40,1); RIT128*96*4ImageDraw(buf17,0,20,40,1); RIT128*96*4ImageDraw(buf18,0,25,40,1); RIT128*96*4ImageDraw(buf19,0,30,40,1); RIT128*96*4ImageDraw(buf20,0,35,40,1); RIT128*96*4ImageDraw(buf21,0,40,40,1); /RIT128*96*4StringDraw("h",0,12,15); RIT128*96*4ImageDraw(buf1,10,30,6,1);//bigF RIT128*96*4ImageDraw(buf2,10,31,6,1); RIT128*96*4ImageDraw(buf3,10,32,6,1); RIT128*96*4ImageDraw(buf4,10,33,6,1); RIT128*96*4ImageDraw(buf5,10,34,6,1); RIT128*96*4Imag

温馨提示

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

评论

0/150

提交评论