实验一基于STM32的嵌入式软件开发基础实验一、实验目的1、掌握嵌入式软件开发流程2、学会使用嵌入式软件开发工具3、学会使用无限循环架构开发简单的嵌入式应用程序4、学会使用单步∕全速运行、设置断点和观察变量∕寄存器等方法调试嵌入式应用程序5、掌握通用数字输入输出(GPIO)和系统定时器(SysTick)的软件开发方法6、理解发光二极管(LED)和按键(PushButton)的驱动原理7、掌握常用的延时(Delay)实现技巧二、实验环境1、硬件:ALIENTEKSTM32F103嵌入式开发板2、软件:REALVIEWMDK或IAREWARM三、实验内容1、LED点亮实验:使用GPIO的相关知识,设计基于无限循环架构的嵌入式应用程序,点亮开发板上绿色LED和红色LED;2、流水灯实验一:使用GPIO和延时循环,设计基于无限循环架构的嵌入式应用程序,使开发板上的绿色LED和红色LED先后轮流闪烁;3、按键控制LED实验:使用GPIO的相关知识,设计基于无限循环架构的嵌入式应用程序,实现以下功能:1)当按下WK_UP按键时,开发板上的绿色LED点亮;当释放WK_UP按键时,开发板上的绿色LED熄灭;2)当按下KEY1按键时,开发板上的红色LED点亮;当释放KEY1按键时,开发板上的红色LED熄灭;3)当同时按下WK_UP和KEY1按键时,开发板上的红色LED和黄色LED同时点亮;当同时释放WK_UP和KEY1按键时,开发板上的红色LED和黄色LED同时熄灭;4、流水灯实验二:使用GPIO和SysTick的相关知识,设计基于无限循环架构的嵌入式应用程序,使开发板上的绿色LED和红色LED先后轮流闪烁,每个LED点亮和熄灭的时间各为1s,并在程序中定义一个8位无符号变量来记录红色LED闪烁的次数;调试程序,在REALVIEWMDK或IAREWARM的调试界面中,通过在程序中设置断点,并打开变量观察窗口,加入对应的变量,全速运行,随着红色LED的闪烁,跟踪用来记录红色LED闪烁次数的8位无符号变量的变化情况;四、硬件设计1、发光二极管(LED)与嵌入式微控制器(STM32F103)的接口电路2、按键与嵌入式微控制器(STM32F103)的接口电路五、软件设计1、LED点亮实验程序:程序(略)2、流水灯实验一程序:程序(略)3、按键控制LED实验程序:程序(略)4、流水灯实验二程序:程序(略)六、实验结果1、LED点亮实验结果:用文字或图片描述该程序运行的结果2、流水灯实验一结果:用文字或图片描述该程序运行的结果3、按键控制LED实验结果:用文字或图片描述该程序运行的结果4、流水灯实验二结果:用文字或图片描述该程序运行的结果(调试界面中断点设置和变量观察窗口的截图)PA8PD2PA15PA0PA13实验二基于STM32的嵌入式软件开发高级实验一、实验目的1、了解中断控制器(NVIC)的内部结构和工作原理2、深入理解中断机制,学会编写中断服务函数3、学会使用中断服务函数开发基于前后台架构的较复杂的嵌入式应用程序4、掌握串行通信的原理,掌握通用同步串行收发器(USART)的软件开发方法5、熟悉模数转换的过程和性能指标,掌握模数转换器(ADC)的软件开发方法二、实验环境1、硬件:ALIENTEKSTM32F103嵌入式开发板2、软件:REALVIEWMDK或IAREWARM三、实验内容1、LED闪烁实验:使用NVIC(含SYSTICK)和GPIO的相关知识,编写中断服务函数,并开发基于前后台架构的嵌入式应用程序,使开发板上绿色LED每1s闪烁一次;2、串口输出实验:使用USART的相关知识,设计基于无限循环架构的嵌入式应用程序,通过USART1向PC的串口发送“HelloWorld!”,其中USART1和串口的波特率设置为115200bps,数据格式设置为8位数据位、无奇偶校验位、1位停止位和无数据流控制;在PC上运行串口调试助手,找到对应的COM口并作设置波特率和数据格式后打开,再运行开发板上的程序,观察串口调试助手中接收区的数据,验证程序的运行结果;3、MCU温度检测实验:使用NVIC(含SYSTICK)、USART和ADC的相关知识编写程序,编写中断服务函数,并开发基于前后台架构的嵌入式应用程序,每隔1s通过片内温度传感器和模数转换器(ADC)检测MCU的温度并通过USART1将其输出到PC的串口上;在PC上运行串口调试助手,找到对应的COM口并作相应设置后打开,再运行开发板上的程序,观察PC上串口调试助手中接收区的数据变化情况,验证程序的运行结果;四、硬件设计1、发光二极管(LED)与嵌入式微控制器(STM32F103)的接口电路PA8PD22、按键与嵌入式微控制器(STM32F103)的接口电路3、嵌入式微控制器(STM32F103)的温度传感器和ADC的模块图五、软件设计1、LED闪烁实验:程序(包括主函数源文件和中断服务函数源文件)2、串口输出实验:程序(略)3、MCU温度检测实验:程序(包括主函数源文件和中断服务函数源文件)六、实验结果1、LED闪烁实验:用文字或图片描述该程序运行的结果2、串口输出实验:用文字或图片描述该程序运行的结果(程序运行中PC上串口调试助手的截图)3、MCU温度检测实验:用文字或图片描述该程序运行的结果(程序运行中PC上串口调试助手的截图)PA15PA0