湖南科技大学计算机科学与工程学院
《嵌入式系统及应用实验》实验报告
专业班级:
物联网工程一班
姓
学
名:
号:
指导教师:
学
地
期:
点:
袁奇
1705040111
廖璟
2020-1
逸夫楼 520
指导教师评语:
成绩:
等级:
签名:
年
月
日
1、八段数码管实验
2、按键中断实验
3、串口通信实验
4、模数转换实验
5、定时器实验
实验名称列表
实验性质
(必修、选修)
必修
实验类型(验证、
设计、创新、综合)
设计
1、9 月 23
2、9 月 24
3、9 月 25
4、9 月 26
5、9 月 27
6、9 月 28
实验课时
45
实验时间段列表
实验仪器设备以及实
验软硬件要求
台式计算机,STM32-A 学习板,数据线,代码编辑器,EBD 驱动程序,
ARM 处理器编译链接调试工具等
实验名称
8 位数码管动态显示
实验目的
在八段数码管上显示学号
实验内容(实验原理、运用的理论知识、算法、程序、步骤和方法),遇到问题及
解决方法
一、实验原理:
数码管中的 A~G、DP 段分别连接到电路图中的 A~G、H 线上,当某段上有一定的电
压差值时,便会点亮该段。
当 E3 输入为 1,也就是 LED_SEL 输入为 0 时,根据 SELOSEL2 的值确定选中的数码
管,即位选,再根据 A~H 引脚的高低电平,点亮对应段,即段选。
二、步骤:
1、通过 SetLed 函数设计单个数码管需要显示的数字
2、通过设置 Count 随时间而自动增加
3、利用 if 语句判断 Count 在那个区间实现数码管在不同时间段的不同显示,进而
打到数码管动态左移的效果
三、遇到的问题:
时间设置把握不准,导致最初达不到理想效果
四、解决方法:
通过多次尝试,找到了理想的计数范围,达到了数码管动态左移的效果
实验结果与分析
数码管显示学号同时每隔 1 秒进行左移一位,实验达到预期效果。
实验总结
本实验比较基础,让我初步掌握了项目设计的步骤及交叉编译的过程。
实验名称
按键中断实验
实验目的
此处学号为自己的学号,学号为 10 位数。
按 K1 键慢速从右到左滚动显示同学 1 的学号
按 K2 键较快从左到右滚动显示同学 2 的学号
按 K3 键最快开幕布方式显示八个闪烁的 0
实验内容(实验原理、运用的理论知识、算法、程序、步骤和方法),遇到问题及
解决方法
一、实验原理:
通过配置外部中断寄存器和中断嵌套控制器来实现按键按下控制数码管的不
同显示方式,通过设置不同的优先级,实现抢占优先
二、步骤:
1.初始化中断代码
2.声明全局变量,用于和中断服务程序通信
3.编写中断服务程序
4.交叉编译
三、遇到的问题:
优先级设置出错,对中断方式不熟,导致最初达不到理想效果
四、解决方法:
通过查阅资料,反复调试,达到了不同中断所引发的效果
实验结果与分析
按 K1 键慢速从右到左滚动显示同学 1 的学号
按 K2 键较快从左到右滚动显示同学 2 的学号
按 K3 键最快开幕布方式显示八个闪烁的 0
优先级为 K3>K2>K1
实验总结
本实验难度较大,对硬件知识有很高的要求,实用性强。刚开始是很迷茫,因为此
前对底层设计了解不多。通过与同学的交流,最终克服了问题,达到了程序设计的
要求
实验名称
串口通信实验
实验目的
1、用 115200 波特率实现串口与 PC 通信。
2、实现在 PC 终端输入 Help,List,Version 等命令,实现相应功
能。能实现的命令越多越好。
3、可以执行程序中的(部分)函数,即输入函数名和参数,执行后
返回函数的执行结果。
实验内容(实验原理、运用的理论知识、算法、程序、步骤和方法),遇到问题及
解决方法
一、实验原理:
通用异步收发传输器(UART)是目前广泛使用的一种通用串行数据通信接口,
它既作为发送器,也作为接收器。处理器可以通过数据总线想 UART 的控制寄存器
写入控制字,对 UART 进行初始化。发送器从处理器接受并行数据,然后通过移位
寄存器把数据以串行异步方式发出。接收器可以从串行通信链路接受串行数据,用
移位寄存器转换成 8 位并行数据,送往接受寄存器,等待处理器读取。
UART 作为异步串行通信协议的一种,工作原理是将传输数据的每个字符一位
接一位地传输。其中有起始位、数据位、奇偶校验位、停止位、空闲位。
波特率指的是在串口通信时地速率在数字信道中,比特率是数字信号地传输速
率,它用单位时间内传输地二进制代码地有效位数来表示。串口最基本的设置就是
波特率地设置,即只要配置波特率、数据位长度、奇偶校验位等信息,并开启串口
时钟,串口就可以使用了。 STM32 的每个串口都有一个自己独立的波特率寄存器
USART_BRR,通过设置该寄存器就可以配置不同的波特率。
本实验使用了 USB 转串口模块,实现直接通过 USB 连接串口。对应使用 RXD
线接收数据,连接到 CPU 的 PA10,用 TXD 发送数据,连接到 CPU 的 PA9,
使用 STM32的 USART1。每个串口由两个数据缓冲器、一个移位寄存器、一个串
行控制器、一个波特率发生器组成。对应发送、接受数据完成都会触发串口中断。
二、步骤:
1. 在 keil 环境下编辑源文件,并编译。
2. 在 STM32 实验板上运行,调试程序,观察实验现象,理解并掌握相关知识。
3. 编写 STM32 的串行通信程序,实现由串口调试助手输入任意字符串,STM 接收
后返回到串口调试助手输出。
三、遇到的问题:
对串口不熟,无从下手
四、解决方法:
通过串口助手很好的与 PC 机进行了相互通信