数码管显示实验报告.docx

上传人:b****2 文档编号:2253745 上传时间:2022-10-28 格式:DOCX 页数:12 大小:23.21KB
下载 相关 举报
数码管显示实验报告.docx_第1页
第1页 / 共12页
数码管显示实验报告.docx_第2页
第2页 / 共12页
数码管显示实验报告.docx_第3页
第3页 / 共12页
数码管显示实验报告.docx_第4页
第4页 / 共12页
数码管显示实验报告.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

数码管显示实验报告.docx

《数码管显示实验报告.docx》由会员分享,可在线阅读,更多相关《数码管显示实验报告.docx(12页珍藏版)》请在冰豆网上搜索。

数码管显示实验报告.docx

数码管显示实验报告

数码管显示实验报告

【篇一:

嵌入式实验报告数码管显示实验】

实验报告

课程名称

实验仪器

实验名称

系别专业班级/学号

学生姓名实验日期

成绩

指导教师嵌入式系统编程实践清华同方辰源嵌入式系统实验箱实验

四:

数码管显示实验__计算机学院__2013年10月11日实验四:

数码管显示实验

一、实验问题回答

(1)如何设置功能3,4中的循环速度?

答:

利用系统systickhandler中断,控制循环速度voidsystick_handler(void)

{

event=1;

}

(2)若是想实现类似实验(三)通过键盘动态控制循环速度,考虑一下应该如何设计?

答:

systickperiodset(sysctlclockget()/x)

//设置x的大小就可以控制循环的速度。

voidreset_counter_speed(intx)

{systickintdisable();systickdisable();systickperiodset(sysctlclockget()/x);

//设置x,控制计数频率,值与频率成正比systickenable();

systickintenable();

}

,达到预期的效果。

二、实验目的和效果(效果即是否达到实验目的,达到的程度如何)

学习、了解和掌握数码管工作原理和使用方法实验结果及检查

(1)默认在在oled屏幕上分行显示自己的学号、姓名、项目序号、时间,女口“2010011001”、“zhangsan”、“work4”、“2012-11-”

(2)首先在屏幕上显示四个功能选单,通过键盘a-f键选择不同功

能,选择后屏幕显示相关功能提示,接受键盘输入的数字键0-9并在数码管上显示。

女口:

开始显示:

“pleasechoosethefunction:

“a:

?

”“b:

?

”“c:

?

”“d:

?

”按下“a键后,显示”nowyouchoosefunctiona”

(3)按下键盘后,根据不同功能在数码管上显示按键字符。

其中“a功能表示键盘输入的字符在数码管最右端显示,

“b功能表示键盘输入的字符在数码管最左端显示,

“c功能表示键盘输入的字符在数码管上从最右端到最左端循环显示,

“d功能表示键盘输入的字符在数码管从最左端到最右端循环显示,

“e功能表示键盘输入的字符会依次从最右端往左端移动显示,如按

下“1”、“2”、“1”、“

空空空12”

3”,在数码管上显示“空空空空空1”到“空

到“空空空121”到“空空1213”,超过6个以后,最左端的丢掉(4)扩展:

根据自己的想法,扩展“f按键,在数码管上显示与上

面不同的效果。

(5)扩展:

根据自己的想法,扩展“f”+按键,即先按f再按a

才有该功能。

三、实验内容和步骤(重点阐述自己的思路及遇到的问题)

(一)keil开发环境中对项目project配置

(1)建立项目

1、新建一个project;

2、选择cpu中的luminarylm3s8962;

3、加载库文件;

4、项目相关配置项修改。

加载必要程序:

本次实验提供了几个源程序rit128x96x4.h,rit128x96x4.c,

startup.s,utility.c,utility.h,definition.h。

其中,definition.h文件中定义了一些宏定义,用于将整个工程中的宏定义放在一起,目的是为了程序的可读性更好。

本例中定义了五个不同的功能模式,可以根据自己习惯进行修改。

utility.c和utility.h中包含了数码管显示处理函数。

其函数声明如下:

voiddisp(charx,intlocation);使用方法:

第一个参数表示要显

示的字符,在本例中,就是键盘中断服务程序执行完后保存在oledkey[0]里的字符,第二个参数表示显示的位置,其中1表示数码管的最右端,6表示数码管的最左端,2-4依次表示中间4个数码管。

(2)新建主函数程序,并加载到项目中新建一个文件,保存为main.c,把main.c也加载到项目中。

本次实验需要增加以下头文件

#includestdio.h

#includelm3sxxxx.h

#includehw_ints.h

#includehw_memmap.h

#includehw_types.h

#includegpio.h

#includeinterrupt.h

#includesysctl.h

#includerit128x96x4.h

#includeutility.h

#includedefinition.h

(2)嵌入式c程序开发

(3)利用中断,接收键盘输入

(3)--

(1)在主函数中开启键盘中断,示例如下:

/*使能外设gpio*/sysctlperipheralenable(sysctl_periph_gpioc);sysctlperipheralenable(sysctl_periph_gpiod);

/*设置gpio为输入*/

gpiopintypegpioinput(gpio_portd_base,gpio_pin_7);gpiopintypegpioinput(gpio_portc_base,gpio_pin_4);

/*使能中断*/

intenable(int_gpiod);intmasterenable();

gpiopinintenable(gpio_portd_base,gpio_pin_7);

gpiointtypeset(gpio_portd_base,gpio_pin_7,

gpio_rising_edge);注意:

其中,gpio_portc用于传输按下的键值,gpio_portd用于向cpu发起中断请求。

(4)利用系统systickhandler中断,控制循环速度本步骤与实验

(二)对应部分一样,不再重复。

(5)修改主函数,实现本次实验要求的功能(5)-

(1)在主函数中对七段数码管进行相关配置和初始化,如下所示:

sysctlperipheralenable(sysctl_periph_gpiob);

/*配置gpio端口为输出*/

//7segd1(pb6);7segd2(pb4);7segd3(pb5)gpiopintypegpiooutput(gpio_portb_base,gpio_pin_4|gpio_pin_5|gpio_pin_6);

//bitcode0(pc5);bitcode1(pc6);bitcode2(pc7)gpiopintypegpiooutput(gpio_portc_base,gpio_pin_5|gpio_pin_6|gpio_pin_7);

//7segd0(pd4);7segdot(pd5);rst(pd6)gpiopintypegpiooutput(gpio_portd_base,gpio_pin_4|gpio_pin_5|gpio_pin_6);

(5)-

(2)系统启动后,首先通过键盘输入选择不同功能,并在屏幕上显示不同提示信息。

“a功能表示键盘输入的字符在数码管最右端显示

“b”功能表示键盘输入的字符在数码管最左端显示

“c”功能表示键盘输入的字符在数码管上从最右端到最左端循环显示“d”功能表示键盘输入的字符在数码管从最左端到最右端循环显示

“e”功能表示键盘输入的字符会依次从最右端往左端移动显示,如按下“1”、“2”、“1”、“3”,在数码管上显示“空空空空空1”到

“空空空空12”到“空空空121”到“空空1213,”超过6个以后,最左端的丢掉。

(5)--(3)选好a-e功能后,按键后在数码管上按照不同的功能显示不同格式的字符。

注意:

数码管上所有位置的数字同时显示,可以使用for循环赋值并进行显示:

for(j=1;j7;j++)

{

disp(digits[j],j);

for(k=0;kdelaytime;k++);//设置适当的延迟,缓和显示过快的字符重合现象

}

(5)编译、连接,生成可执行程序文件

(编译)

(链接)

(6)反复(3)--(5)步骤,直到完成如果中间出现错误,修改代码,一直到无错,生成最后程序。

(三)硬件连接

(7)硬件连接

1、接上电源线,先关闭开关

2、用蓝色usb线接上仿真器,仿真器另一jtag端接lm3s8962(左下较大子板),usb线接电脑

3、确认连接无误后,打开电源开关cpu板

【篇二:

数码管实验报告】

篇一:

实验八数码管led实验报告

苏州大学实验报告

院、系年级专业姓名学号课程名称成绩指导教师同组实验者实验日期

实验名称:

数码管led实验

一.实验目的

理解8段数码管的基本原理,理解8段数码管的显示和编程方法,理解4连排共阴极8段数码管lg5641ah与mcu的接线图。

二.实验内容

理解8段数码管原理,运行与理解各子程序,编制一个4连排8段

数码管程序,mcu的排8段数码管显示mcu复位后的开始到现在的运行时间。

由于只有四个数码管,所以只显示mcu运行到目前为止的分钟和秒,当计时达到一个小时,就重新从00:

00开始计时。

外,也可以通过pc方的串口通信程序,指定计时的开始值。

三.实验过程

(一)原理图

图8-2数码管外形

dp

abc

efgdp

图8-1数码管

(二)接线图

图8-3mcu与4连排8段数码管的连接第1页

(三)基本原理

8段数码管一般由8个发光二极管(llight-emittingdiode,led)组成,每一个位段就是一个发光二极管。

一个8段数码管分别由a、b、c、d、e、f、g位段,外加上一个小数点的位段h(或记为dp)

组成。

根据公共端所接电平的高低,可分为共阳极和共阴极两种。

有时数码管不需要小数点,只有7个位段,称7段数码管。

共阴极8段数码管的信号端高电平有效,只要在各个位段上加上相应的信号即可使相应的位段发光,比如:

要使a段发光,则在发光。

四.编程

(一)流程图

图8-4数码管led显示流程图(及其中断子程序)

(二)所用寄存器名称及其各个位

程序中没有使用与led显示相关的控制和状态寄存器,仅仅使用了通用i/o口a口和b口。

(三)主要代码段

1第2页第3页

2.c

第4页第5页篇二:

数码管实验报告单片机实验报告

一、实验名称数码管动态扫描显示01234567(实验五)

二、实验目的

(1)掌握数码管显示数字的原理。

(2)通过不同的编程实现灵活运用数码管。

三、实验原理

四、相关原理图

五、实验内容数码管显示12345678c程序:

#includereg51.h

#includeintrins.h

unsignedchardatadis_digit;

unsignedcharcodedis_code[11

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

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

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