嵌入式的实验一人机交互接口显示实验Word格式.docx
《嵌入式的实验一人机交互接口显示实验Word格式.docx》由会员分享,可在线阅读,更多相关《嵌入式的实验一人机交互接口显示实验Word格式.docx(26页珍藏版)》请在冰豆网上搜索。
![嵌入式的实验一人机交互接口显示实验Word格式.docx](https://file1.bdocx.com/fileroot1/2022-10/27/cfe1cbfb-62ee-4d30-a604-d6947bf382a5/cfe1cbfb-62ee-4d30-a604-d6947bf382a51.gif)
实验一:
人机交互接口-显示实验
一、实验问题回答
(1)介绍以下四个函数的作用、参数涵义及使用方法。
RIT128x96x4StringDraw
RIT128x96x4ImageDraw
RIT128x96x4Clear
RIT128x96x4Init
答:
函数名称
作用
参数含义
使用方法
RIT128x96x4StringDraw
显示一个字符串OLED显示屏在上。
:
需要显示的字符串pcStrulX:
显示字符串的横坐标ulY:
显示字符串的纵坐标:
灰度级ucLevel
直接调用,参数pcStr为所需显示的字符串。
RIT128x96x4ImageDr
显示一个位图图
:
所需显示图像pucImage
buf在里为所需显示图形赋值
aw
显示形在OLED屏上。
的数据ulX:
显示图像的横坐标ulY:
显示图像的纵坐标:
明确规定图像所ulWidth需列数明确规定图像所ulHeight;
需行数
里的buf以行为单位显示每个内容来得到所需图像。
OLED清除屏上的内容。
无参
直接调用。
初始化OLED显示
SSI指定使用ulFrequency:
的时钟频率。
直接调用
OLED显示屏的最大宽度和高度,超出范围会怎么样
(2)实验平台96,超出范围的部分会无法显示。
最大宽度128,最大高度中开发VisualC++上开发嵌入式C程序与(3)比较KeiluVision4程序的异同。
C可执行的二进制文件。
同:
都是生成CPU机上编译pc机上执行,而Keil上的程序能在生成的程序可在异:
VCPC则需要的大小等因素,而keilVC但不能执行。
一般不考虑内存、字长和ROM考虑。
4)描述一下你的项目从开始创建到下载的整个流程(答:
1、新建一个project
2、选择CPU,LuminaryLM3S8962,新建一个Group,加载库文件DriverLib.lib。
3、项目相关配置项修改,修改Target选项单,UserMircoLIB前勾选,修改Output选项单,CreateHEXFile前勾选,修改Debug选项单,选择右侧上栏的Use,选择ULINKCortexDebugger。
加载c程序开发必要的程序,rit128x96x4.h,rit128x96x4.c,startup.s。
4、创建主函数,编写主函数,并调试错误
5、编译、连接,生成可执行程序文件
6、硬件连接
7、联调
(5)每个像素是怎么表示的?
0x00表示最暗,0xff表示最亮。
(6)画线时,为什么要定义数组?
要用数组表示每一行像素的亮暗。
(7)如何使显示的字符变亮?
变暗?
通过改变字符显示函数的最后一个参数灰度级来改变字符的亮度值。
(8)如何使显示的图形变亮?
通过改变数组buf的值来使图形变亮变暗,0最暗,f最亮。
如何使显示的图形变宽?
变窄?
变高?
变矮?
)(9答:
改变定义的数组buf中元素的个数同时改变图形显示函数的宽度值来使图形变宽变窄。
实用标准文案
改变数组的个数或者改变纵坐标间的距离来使图形变高变矮。
(10)汉字如何显示?
通过图形进行汉字的拼接。
实验问题补充:
(1)本例中,为什么每个buf要设置2*5=20个元素?
答:
因为5*7的比例比较美观且显示的比较清晰。
(2)为什么要画七行线显示字符?
5*7的比例显示字符比较美观。
(3)什么时候赋值为0xff,什么时候赋值为0x00?
0xff表示最亮,0x00表示最暗。
需要显示出来的部分赋值0xff,不需要显示的部分赋值0x00.
(4)RIT128x96x4ImageDraw(buf2,80,60,20,1);
中第四个参
数为什么是20?
第四个参数表示图形的宽度,因为buf里有20个像素点,所以是20。
二、实验目的和效果
实验目的:
(1)初步学习、理解、掌握OLED字符显示方法
(2)初步学习、理解、掌握OLED图形显示方法
实验截图:
三、实验内容和步骤
实验思路:
首先对OLED进行初始化和清屏操作。
输出学号、日期、姓名拼音等可直接调用RIT128x96x4StringDraw
进行输出,需计算好坐标。
输出字符图形汉字等需要事先设计好,然后在buf里设置好每行亮暗的变化,然后使用RIT128x96x4ImageDraw一行一行的画出图形。
输出最小字符需要缩小buf中元素的个数(六个元素比较合适),RIT128x96x4ImageDraw中纵坐标之间的距离也减小为一。
实验步骤:
实验代码:
#include<
stdio.h>
#include<
LM3Sxxxx.H>
#include
it128x96x4.h
unsignedcharbuf0[]=
{
0xff,0xff,
};
unsignedcharbuf1[]=
{
0xff
unsignedcharbuf2[]=
0xff,0x00,
0x00
unsignedcharbuf3[]=
unsignedcharbuf4[]=
unsignedcharbuf5[]=
};
unsignedcharbuf6[]=
unsignedcharbuf7[]=
unsignedcharbuf8[]=//D?
D?
0x00,0x00,
0xff,0xff,
0x00,0x00
unsignedcharbuf9[]=
0x00,0x00,
0xff,0xff
unsignedcharbuf10[]=
unsignedcharbuf11[]=
0x00,0x00
unsignedcharbuf12[]=
unsignedcharbuf13[]=
unsignedcharbuf14[]=//D?
?
unsignedcharbuf15[]=
0x00,0x00,
unsignedcharbuf16[]=
unsignedcharbuf17[]=