文档详情

嵌入式实验报告数码管显示实验教程.doc

发布:2017-04-27约8.54千字共10页下载文档
文本预览下载声明
实 验 报 告 课程名称 嵌入式系统编程实践 实验仪器 清华同方辰源嵌入式系统实验箱 实验名称 实验四:数码管显示实验 系 别 __计算机学院_ 专 业 _ 班级/学号 学生姓名 实验日期 2013年10月11日 成 绩 ___________________ 指导教师 实验四:数码管显示实验 实验问题回答 如何设置功能3,4中的循环速度? 答:利用系统SysTick Handler中断,控制循环速度 void SysTick_Handler (void) { Event = 1; } 若是想实现类似实验(三)通过键盘动态控制循环速度,考虑一下应该如何设计? 答: SysTickPeriodSet(SysCtlClockGet() / X) //设置x的大小就可以控制循环的速度。 void Reset_Counter_Speed(int x) { SysTickIntDisable(); SysTickDisable(); SysTickPeriodSet(SysCtlClockGet() / x); // 设置x,控制计数频率,值与频率成正比 SysTickEnable(); SysTickIntEnable(); } ,达到预期的效果。 二、实验目的和效果(效果即是否达到实验目的,达到的程度如何) 学习、了解和掌握数码管工作原理和使用方法 实验结果及检查 (1)默认在在OLED屏幕上分行显示自己的学号、姓名、项目序号、时间,如“2010011001”、“zhangsan”、“work4”、“2012-11-” (2)首先在屏幕上显示四个功能选单,通过键盘A-F键选择不同功能,选择后屏幕显示相关功能提示,接受键盘输入的数字键0-9并在数码管上显示。 如:开始显示:“please choose the function:” “A: …” “B: …” “C: …” “D: …” 按下“A”键后,显示”now you choose function A” (3)按下键盘后,根据不同功能在数码管上显示按键字符。 其中“A”功能表示键盘输入的字符在数码管最右端显示, “B”功能表示键盘输入的字符在数码管最左端显示, “C”功能表示键盘输入的字符在数码管上从最右端到最左端循环显示, “D”功能表示键盘输入的字符在数码管从最左端到最右端循环显示, “E”功能表示键盘输入的字符会依次从最右端往左端移动显示,如按下“1”、“2”、“1”、“3”,在数码管上显示 “空 空 空 空 空1” 到“空 空 空 空 1 2” 到“空 空 空 1 2 1”到“空 空 1 2 1 3”,超过6个以后,最左端的丢掉。 (4)扩展:根据自己的想法,扩展“F”按键,在数码管上显示与上面不同的效果。 (5)扩展:根据自己的想法,扩展“F”+“A”按键,即先按F再按A才有该功能。 三、实验内容和步骤(重点阐述自己的思路及遇到的问题) (一)Keil开发环境中对项目Project配置 (1)建立项目 1、新建一个project; 2、选择CPU中的Luminary LM3S 8962; 3、加载库文件; 4、项目相关配置项修改。 加载必要程序: 本次实验提供了几个源程序rit128x96x4.h,rit128x96x4.c,startup.s,utility.c,utility.h,definition.h。 其中,definition.h文件中定义了一些宏定义,用于将整个工程中的宏定义放在一起,目的是为了程序的可读性更好。本例中定义了五个不同的功能模式,可以根据自己习惯进行修改。 Utility.c和utility.h中包含了数码管显示处理函数。其函数声明如下:void disp(char x,int location);使用方法:第一个参数表示要显示的字符,在本例中,就是键盘中断服务程序执行完后保存在oledkey[0]里的字符,第二个参数表示显示的位置,其中1表示数码管的最右端,6表示数码管的最左端,2-4依次表示中间4个数码管。 (2)新建主函数程序,并加载到项目中 新建一个文件,保存为main.c,把main.c也加载到项目中。 本次实验需要增加
显示全部
相似文档