ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:26KB ,
资源ID:12160870      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12160870.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(嵌入式实验一人机交互接口显示实验.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

嵌入式实验一人机交互接口显示实验.docx

1、嵌入式实验一人机交互接口显示实验实 验 报 告课程名称 嵌入式系统设计 实验仪器 清华同方辰源嵌入式系统实验箱 实验名称 实验一:人机交互接口-显示实验 系 别 计算机学院 专 业 计算机科学与技术 班级/学号 学生姓名 实验日期 成 绩 指导教师 实验一:人机交互接口-显示实验1、实验问题回答(1)介绍以下四个函数的作用、参数涵义及使用方法。 RIT128x96x4StringDraw RIT128x96x4ImageDraw RIT128x96x4Clear RIT128x96x4Init答:函数名称作用参数含义使用方法RIT128x96x4StringDraw显示一个字符串在OLED显示

2、屏上。pcStr:需要显示的字符串ulX:显示字符串的横坐标ulY:显示字符串的纵坐标ucLevel:灰度级直接调用,参数pcStr为所需显示的字符串。RIT128x96x4ImageDraw显示一个位图图形在OLED显示屏上。pucImage:所需显示图像的数据ulX:显示图像的横坐标ulY:显示图像的纵坐标ulWidth:明确规定图像所需列数ulHeight;明确规定图像所需行数在buf里为所需显示图形赋值以行为单位显示每个buf里的内容来得到所需图像。RIT128x96x4Clear清除OLED屏上的内容。无参直接调用。RIT128x96x4Init初始化OLED显示ulFrequenc

3、y:指定使用SSI的时钟频率。直接调用(2)实验平台OLED显示屏的最大宽度和高度,超出范围会怎么样答:最大宽度128,最大高度96,超出范围的部分会无法显示。(3)比较Keil uVision4上开发嵌入式C程序与Visual C+中开发C程序的异同。答:同:都是生成CPU可执行的二进制文件。 异:VC生成的程序可在PC机上执行,而Keil上的程序能在pc机上编译但不能执行。VC一般不考虑内存、字长和ROM的大小等因素,而keil则需要考虑。(4)描述一下你的项目从开始创建到下载的整个流程答:1、新建一个project2、选择CPU,Luminary LM3S 8962,新建一个Group,

4、加载库文件DriverLib.lib。3、项目相关配置项修改,修改Target选项单,User MircoLIB前勾选,修改Output选项单,Create HEX File前勾选,修改Debug选项单,选择右侧上栏的Use,选择ULINK Cortex Debugger。加载c程序开发必要的程序,rit128x96x4.h,rit128x96x4.c,startup.s。4、创建主函数,编写主函数,并调试错误5、编译、连接,生成可执行程序文件6、硬件连接7、联调(5)每个像素是怎么表示的?答:0x00表示最暗,0xff表示最亮。(6)画线时,为什么要定义数组?答:要用数组表示每一行像素的亮暗

5、。(7)如何使显示的字符变亮?变暗?答:通过改变字符显示函数的最后一个参数灰度级来改变字符的亮度值。(8)如何使显示的图形变亮?变暗?答:通过改变数组buf的值来使图形变亮变暗,0最暗,f最亮。(9)如何使显示的图形变宽?变窄?变高?变矮?答:改变定义的数组buf中元素的个数同时改变图形显示函数的宽度值来使图形变宽变窄。 改变数组的个数或者改变纵坐标间的距离来使图形变高变矮。(10)汉字如何显示? 答:通过图形进行汉字的拼接。实验问题补充: (1)本例中,为什么每个buf要设置2*5=20个元素? 答:因为5*7的比例比较美观且显示的比较清晰。 (2)为什么要画七行线显示字符? 答:5*7的比

6、例显示字符比较美观。 (3)什么时候赋值为0xff,什么时候赋值为0x00? 答:0xff表示最亮,0x00表示最暗。需要显示出来的部分赋值0xff,不需要显示的部分赋值0x00. (4)RIT128x96x4ImageDraw(buf2, 80, 60, 20, 1);中第四个参数为什么是20? 答:第四个参数表示图形的宽度,因为buf里有20个像素点,所以是20。2、实验目的和效果实验目的:(1)初步学习、理解、掌握OLED字符显示方法(2)初步学习、理解、掌握OLED图形显示方法实验截图:3、实验内容和步骤实验思路:首先对OLED进行初始化和清屏操作。输出学号、日期、姓名拼音等可直接调用

7、RIT128x96x4StringDraw进行输出,需计算好坐标。输出字符图形汉字等需要事先设计好,然后在buf里设置好每行亮暗的变化,然后使用RIT128x96x4ImageDraw一行一行的画出图形。输出最小字符需要缩小buf中元素的个数(六个元素比较合适),RIT128x96x4ImageDraw中纵坐标之间的距离也减小为一。实验步骤:1、新建一个project2、选择CPU,Luminary LM3S 8962,新建一个Group,加载库文件DriverLib.lib。3、项目相关配置项修改,修改Target选项单,User MircoLIB前勾选,修改Output选项单,Create

8、 HEX File前勾选,修改Debug选项单,选择右侧上栏的Use,选择ULINK Cortex Debugger。加载c程序开发必要的程序,rit128x96x4.h,rit128x96x4.c,startup.s。4、创建主函数,编写主函数,并调试错误5、编译、连接,生成可执行程序文件6、硬件连接7、联调实验代码:#include #include #include rit128x96x4.h unsigned char buf0 = 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff, ; unsigned

9、char buf1 = 0xff,0xff, 0xff ; unsigned char buf2 = 0xff,0x00, 0x00 ; unsigned char buf3 = 0xff,0x00, 0x00 ; unsigned char buf4 = 0xff,0xff, 0x00 ; unsigned char buf5 = 0xff,0x00, 0x00 ;unsigned char buf6 = 0xff,0x00, 0x00 ; unsigned char buf7 = 0xff,0x00, 0x00 ; unsigned char buf8 = /D?D? 0x00,0x00,

10、 0xff,0xff, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0xff,0xff, 0x00,0x00 ; unsigned char buf9 = 0xff,0xff, 0xff,0xff, 0xff,0xff, 0x00,0x00, 0xff,0xff, 0xff,0xff, 0xff,0xff ; unsigned char buf10 = 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff ; unsigned char buf11 = 0x00,0x00,

11、0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff, 0x00,0x00 ; unsigned char buf12 = 0x00,0x00, 0x00,0x00, 0xff,0xff, 0xff,0xff, 0xff,0xff, 0x00,0x00, 0x00,0x00 ; unsigned char buf13 = 0x00,0x00, 0x00,0x00, 0x00,0x00, 0xff,0xff, 0x00,0x00, 0x00,0x00, 0x00,0x00 ; unsigned char buf14 = /D? 0xff,0x

12、ff, 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff, 0x00,0x00, 0x00,0x00 ; unsigned char buf15 = 0x00,0x00, 0x00,0x00, 0xff,0xff, 0xff,0xff, 0x00,0x00, 0x00,0x00, 0xff,0xff, 0xff,0xff, 0x00,0x00 , 0x00,0x00 ; unsigned char buf16 = 0x00,0x00, 0x00,0x00, 0xff,0xff, 0xff,0x

13、ff, 0x00,0x00, 0x00,0x00, 0xff,0xff, 0xff,0xff, 0x00,0x00, 0x00,0x00 ; unsigned char buf17 = 0x00,0x00, 0x00,0x00, 0xff,0xff, 0xff,0xff, 0x00,0x00, 0x00,0x00, 0xff,0xff, 0xff,0xff, 0x00,0x00, 0x00,0x00 ; unsigned char buf18 = 0x00,0x00, 0x00,0x00, 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xf

14、f, 0xff,0xff, 0xff,0xff, 0xff,0xff ; unsigned char buf19 = 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0xff,0xff, 0xff,0xff ; unsigned char buf20 = 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff

15、 ; unsigned char buf21 = 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff ; unsigned char buf22 = /? 0xff,0xff, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, ; unsigned char buf23 = 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,

16、0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff ; unsigned char buf24 = 0xff,0xff, 0xff,0xff, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00 ; unsigned char buf25 = 0xff,0xff, 0xff,0xff, 0x00,0x00, 0x00,0x00, 0x00,0x00 , 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,

17、0x00, 0x00,0x00 ; unsigned char buf26 = 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff, 0x00,0x00, 0x00,0x00 ; unsigned char buf27 = 0xff,0xff, 0xff,0xff, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00 ; unsigned char bu

18、f28 = 0xff,0xff, 0xff,0xff, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00 ; unsigned char buf29 = 0xff,0xff, 0xff,0xff, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00 ; unsigned char buf30 = 0xff, 0x00,0xff ; unsigned c

19、har buf31 = 0xff, 0x00,0xff ; unsigned char buf32 = 0xff, 0x00,0xff ; unsigned char buf33 = 0xff, 0xff,0xff ; unsigned char buf34 = 0xff, 0x00,0xff ; unsigned char buf35 = 0xff, 0x00,0xff ; unsigned char buf36 = 0xff, 0x00,0xff ; unsigned char l1= 0x0f,0xff,0xf0 ; unsigned char l2= 0x0f,0x00,0x00 ;

20、unsigned char l3= 0x00,0xf0,0x00 ; unsigned char l4= 0x0f,0xff,0xf0 ; unsigned char l5= 0x00,0x00,0xf0 ; unsigned char l6= 0x0f,0x00,0xf0 ; unsigned char l7= 0x0f,0xff,0xf0 ; /* Set the clocking to run from PLL at 50 MHz */ int main()SysCtlClockSet(SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN

21、| SYSCTL_XTAL_8MHZ); RIT128x96x4Init(1000000); RIT128x96x4Clear(); while(1) /*RIT128x96x4StringDraw(20140111111, 0, 6, 15); RIT128x96x4StringDraw(admin, 0, 12, 15); RIT128x96x4StringDraw(work1, 0, 18, 15); RIT128x96x4StringDraw(2016-9-21, 50, 18, 15); RIT128x96x4ImageDraw(buf0, 10, 24, 20, 1);/o? RI

22、T128x96x4ImageDraw(buf22, 3, 36, 2, 5);/? RIT128x96x4ImageDraw(buf22, 3, 37, 2, 5); RIT128x96x4ImageDraw(buf22, 3, 38, 2, 5); RIT128x96x4ImageDraw(buf22, 3, 39, 2, 5); RIT128x96x4ImageDraw(buf22, 3, 40, 2, 5); RIT128x96x4ImageDraw(buf22, 3, 41, 2, 5); RIT128x96x4ImageDraw(buf22, 3, 42, 2, 5); RIT128

23、x96x4ImageDraw(buf22, 3, 43, 2, 5); RIT128x96x4ImageDraw(buf22, 3, 44, 2, 5); RIT128x96x4ImageDraw(buf22, 3, 45, 2, 5); RIT128x96x4ImageDraw(buf22, 3, 46, 2, 5); RIT128x96x4ImageDraw(buf1, 10, 30, 6, 1);/big F RIT128x96x4ImageDraw(buf2, 10, 33, 6, 1); RIT128x96x4ImageDraw(buf3, 10, 36, 6, 1); RIT128

24、x96x4ImageDraw(buf4, 10, 39, 6, 1); RIT128x96x4ImageDraw(buf5, 10, 42, 6, 1); RIT128x96x4ImageDraw(buf6, 10, 45, 6, 1); RIT128x96x4ImageDraw(buf7, 10, 48, 6, 1); RIT128x96x4ImageDraw(buf23, 65, 30, 40, 2);/middle F RIT128x96x4ImageDraw(buf24, 65, 35, 40, 2); RIT128x96x4ImageDraw(buf25, 65, 40, 40, 2

25、); RIT128x96x4ImageDraw(buf26, 65, 45, 40, 2); RIT128x96x4ImageDraw(buf27, 65, 50, 40, 2); RIT128x96x4ImageDraw(buf28, 65, 55, 40, 2); RIT128x96x4ImageDraw(buf29, 65, 60, 40, 2); RIT128x96x4ImageDraw(buf1, 10, 30, 20, 2);/big F RIT128x96x4ImageDraw(buf2, 10, 35, 20, 2); RIT128x96x4ImageDraw(buf3, 10

26、, 40, 20, 2); RIT128x96x4ImageDraw(buf4, 10, 45, 20, 2); RIT128x96x4ImageDraw(buf5, 10, 50, 20, 2); RIT128x96x4ImageDraw(buf6, 10, 55, 20, 2); RIT128x96x4ImageDraw(buf7, 10, 60, 20, 2); */ /*RIT128x96x4ImageDraw(buf8, 0, 65, 28, 1);/heart RIT128x96x4ImageDraw(buf9, 0, 70, 28, 1); RIT128x96x4ImageDra

27、w(buf10, 0, 75, 28, 1); RIT128x96x4ImageDraw(buf11, 0, 80, 28, 1); RIT128x96x4ImageDraw(buf12, 0, 85, 28, 1); RIT128x96x4ImageDraw(buf13, 0, 90, 28, 1); RIT128x96x4ImageDraw(buf14, 0, 5, 40, 1);/ma RIT128x96x4ImageDraw(buf15, 0, 10, 40, 1); RIT128x96x4ImageDraw(buf16, 0, 15, 40, 1); RIT128x96x4ImageDraw(buf17, 0, 20, 40, 1); RIT128x96x4ImageDraw(buf18, 0, 25, 40, 1); RIT128x96x4ImageDraw(buf19, 0, 30, 40, 1); RIT128x96x4ImageDraw(buf20, 0, 35, 40, 1); RIT128x96x4ImageDraw(buf21, 0, 40, 40, 1); /RIT128x96x4StringDraw(h, 0, 12, 15); RIT128x96x4ImageDraw(b

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1