文档介绍:数码管显示实验报告
【篇一:嵌入式实验报告数码管显示实验】
实验报告
课程名称
实验仪器
实验名称
系 别 专 业 班级 / 学号
学生姓名实验日期
成绩
指导教师嵌入式系统编程实践清华同方辰源嵌入式系统实验箱实验
:数lude
#include
#include
#include
#include
#include
#include
#include
#include
(二)嵌入式 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 )利用系统systick handler 中断,控制循环速度
本步骤与实验(二)对应部分一样,不再重复。
( 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” 到
“空 空 空空 1 2”到“空 空 空1 2 1 ”到 “空 空 1 2 1 3 ,超过” 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 )硬件连接
、接上电