嵌入式实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《嵌入式系统导论》实验报告
学院:
学号:
姓名:
上海工程技术大学
电子电气工程学院
实验一GPIO(按键与LED)实验
一、实验要求
1 、掌握基于STM32F103微控制器得嵌入式系统、仿真器与开发用PC机之间得连接方法,能够搭建基于STM32F103微控制器得嵌入式系统交叉开发环境。
2、熟悉常用得嵌入式开发工具KEILMDK或IAR EW ARM得操作环境与基本功能(包括编辑、编译、链接、调试与下载等),学会创建、配置与管理STM32工程,掌握嵌入式程序得基本调试方法,学会使用逻辑分析仪窗口与外设窗口等信息窗口调试嵌入式程序。3、理解LED与按键得构件原理,学会设计它们与微控制器间得接口电路
4 、掌握STM32F103微控制器GPIO得工作原理,熟悉STM32得GPIO库函数
5 、学会使用STM32得GPIO库函数在KEIL MDK或IAR EW ARM下开发基于LED与按键得简单嵌入式应用程序
二、实验环境
1、硬件:
ALIENTEK STM32F103嵌入式开发板
2 、软件:
KEIL MDK或IAR EWARM
三、实验内容
1、流水灯实验一:
在KEIL MDK或IAR EWARM中建立STM32工程,并使用GPIO库函数与延时循环设计基于无限循环架构得嵌入式应用程序,使开发板上得红色LED以一定周期闪烁。
采用软件仿真得方式调试程序,通过“Logic Analyzer”,观察程序模拟运行时连接红色LED得引脚PA8上得输出波形。
采用硬件下载得方式调试程序,观察程序下载硬件运行时红色LED得闪烁情况。
2、按键控制LED实验:
在KEIL MDK或IAR EWARM 中建立STM32工程,并使用GPIO库函数设计基于无限循环架构得嵌入式应用程序,实现以下功能:当按键KEY0按下时,目标板上红色LED点亮;当按键KEY0释放时,目标板上红色LED熄灭。
采用软件仿真得方式调试程序,通过“Logic Analyzer”与“Peripherals→GPIO C”,观察程序模拟运行时连接红色LED得引脚PA8与连接按键KEY0得PC5上得输出波形。
采用硬件下载得方式调试程序,观察程序下载硬件运行时按键KEY0按下与释放时红色LED得点亮与熄灭情况。
四、硬件设计
1、发光二极管(红色LED)、按键(KEY0)与嵌入式微控制器(STM32F103)得接口电路
五、软件设计
1、流水灯实验一程序:
3 、按键控制LED实验程序:
六、实验结果
1、流水灯实验一
1 )软件模拟仿真
用连接红色LED得PA8引脚得输出信号波形图描述软件仿真得运行结果
2)下载硬件运行
用文字或图片描述程序在STM32F103微控制器上得运行结果
STM32F103微控制器上得运行结果为:LED灯点亮一段时间后熄灭并且循环点亮2 、按键控制LED实验
1 )软件模拟仿真
用连接红色LED得PA8与连接按键KEY0得PC5得引脚信号波形图描述软件仿真得运行结果
2)下载硬件运行
用文字或图片描述程序在STM32F103微控制器上得运行结果
按下按钮LED灯点亮,松开按钮后LED灯熄灭
七、实验思考
1 、依次连接按键KEY0、KEY1与WK_UP得STM32引脚PA13、PA15与PA0得复用功能:
1 )PA13、PA15:
由于PA13与PA15复位时默认设置为调试接口引脚(JTAG/SW),所以观察实验结果时先关闭开发板电源,然后拔下开发板上连接得仿真器接口,接着重新打开开发板电源观察程序运行结果。
2 )PA0:
由于PA0外接跳线连接到温度传感器DS18B20,所以在做按键KEY与外部中断EX TI实验时,先拔下开发板上PA0与DS18B20得跳线。
实验二定时器实验
一、实验目得
1 、掌握STM32得TIMER工作原理,熟悉STM32得TIMER库函数
2、学会使用STM32库函数在KEILMDK或IAREWARM下开发基于TIMER得嵌入式应用程序
3、掌握嵌入式系统中延时得实现方法与主要应用
4 、学会在嵌入式开发工具(KEIL MDK或IAR EW ARM)中使用单步∕全速运行、设置断点与观察变量∕寄存器等方法调试嵌入式应用程序
二、实验环境
1 、硬件:
ALIENTEKSTM32F103嵌入式开发板
2、软件:
KEIL MDK或IAR EWARM
三、实验内容
1 、流水灯实验二:
在KEIL MDK或IAR EWARM 中建立STM32工程,使用GPIO与TIMER库函数,设计基于无限循环架构得嵌入式应用程序,使目标板上红色LED按固定时间一直闪烁,其中红色LED点亮与熄灭得时间各为x秒(x=学生学号最后两位/10,如对于学号为021110223得学生,x=23、0/10、0=2、3秒)。同时,在主程序中定义一个32位无符号变量CountOfToggle用来统计红色LED闪烁得次数,并且每当红色LED完成一次闪烁时,便在调试窗口中输出该变量得值。
采用软件仿真得方式调试程序,当程序模拟运行时,通过设置断点、使用“LogicAnalyzer”等方法观察连接红色LED得引脚PA8上得输出波形,并使用“Debug Viewer”监测用来记录红色LED闪烁次数得32位无符号变量CountOfToggle得变化情况。
采用硬件下载得方式调试程序,观察程序下载硬件运行时红色LED得闪烁情况。
2 、PWM输出实验:
在KEILMDK或IAR EWARM 中建立STM32工程,使用GPIO与TIMER库函数,设计基于无限循环架构得嵌入式应用程序,实现以下功能:使用PWM输出达到部分点亮红色LED得效果——即在连接红色LED引脚PA8(TIM1得通道1)上输出频率为20kHz、占空比(即正脉冲时间与信号周期得比值)为94%得矩形脉冲信号,如下图所示。
采用软件仿真得方式调试程序,当程序模拟运行时,使用“LogicAnalyzer”观察连接红色LED得引脚PA8上得输出波形。
采用硬件下载得方式调试程序,观察程序下载硬件运行时红色LED得亮度情况,注意与实验一中完全点亮得红色LED得亮度比较。
四、硬件设计
1、发光二极管(LED)与嵌入式微控制器(STM32F103)得接口电路