一、实验名称
跑马灯实验(配QSDP-X2实验箱)
二、实验目的
(1)掌握kiel软件使用方法,MDK5软件编译平台安装
(2)MDK5软件编译平台使用与新建工程
(3)stm32单片机的开发,了解什么是stm32,以及学习开发环境的搭建。
(4)掌握STM32基本I/O口输出操作
三、实验说明
相比较51单片机,STM32有许多远超51的功能,最明显也是最突出的是STM32精确的时钟,和超多的I/O引脚资源。
首先,要想学好STM32单片机,最基础的事,了解如何初步控制STM32单片机的引脚输出输入。STM32F103ZET6有7组I/O口,每组有16个I/O口,总计112个I/O资源。GPIOABCDEFG。这些I/O口除了做普通I/O外,还有许多复用外设功能,此后我们在实验中会一一介绍。本次试验主要向大家介绍STM32的I/O的8种不同工作模式,以及如何配置和该配置在何种情况下用。
1、STM32的I/O口总分为两大类,
(1)4种输入模式:
1)输入浮空
2)输入上拉
3)输入下拉
4)模拟输入
(2)4种输出模式:
1)开漏输出
2)开漏复用功能
3)推挽式输出
4)推挽式复用功能
2、此外每个I/O口的电平翻转速度可选为,
(1)2MHZ
(2)10MHZ
(3)50Mhz
3、上电复位后,GPIO默认为浮空状态,部分特殊功能引脚为特定状态。
4、推挽输出与开楼输出的区别,
(1)推挽输出:
可以输出强高低电平,连接数字器件
(2)开漏输出:
只可以输出强低电平,高电平得靠外部电阻拉高。输出端相当于三极管的集电极.,要得到高电平状态需要上拉电阻才行, 适合于做电流型的驱动,其吸收电流的能力相对较强(一般20ma以内)。
5、STM32的每组GPIO端口的寄存器包括:
(1)两个32位配置寄存器(GPIOx_CRL和GPIOx_CRH),
-GPIOx_CRL :端口配置低寄存器- GPIOx_CRH:端口配置高寄存器
(2)两个32位数据寄存器 (GPIOx_IDR和GPIOx_ODR),
-GPIOx_IDR:端口输入寄存器
-GPIOx_ODR:端口输出寄存器
(3)一个32位置位/ 复位寄存器(GPIOx_BSRR),
-GPIOx_BSRR:端口位设置/清除寄存器
(4)一个16位复位寄存器(GPIOx_BRR),
-GPIOx_BRR:端口位清除寄存器
(5)一个32位锁定寄存器(GPIOx_LCKR)。
-GPIOx_LCKR:端口配置锁存寄存器
在使用库函数操作时,都是通过已封装好的库函数来对I/O口操作。
(具体请参考文档“STM32八种IO口模式区别.pdf”)
四、实验设备
1、STM32F103核心板—DCP-401模块。
2、-link下载器。
3、直流电源—QSDP-X2-01模块。
4、实验导线。
5、计算机
五、实验注意事项
1、实验前确保实验箱的板面整洁,板面无杂乱金属器件,以防造成核心板上电发生短路,损坏板载元器件。
2、实验中请仔细观察核心板原理图及其实验外设电路,以防出现连接线错误造成的短路、器件损坏现象。
3、实验时接线要采取外设电路“电源线最后”的原则,即先下载程序,再连接外设数据传输线路,最后连接外设店路电源。因此,要保证上电前的线路连接正确。
4、实验中若出现任何突发情况,请及时关闭实验箱右上角的“电源开关”。
5、试验后请先拔出电源“+12V”处的电源线,若以“J-link”供电,则先拔出“J-link”,再逐个拔出其余的板上连接线。合上实验箱。
六、实验总结
1.实验软件安装很顺畅,学习开发环境也搭建完成。在进行代码编译时出现一个错误,可能与电脑设备有关,因为部分同学电脑未出现错误,随即我和另外的同学一起进行实验,链接好实验设备
2.程序仿真完成后,发光二极管会有规律的从左向右循环闪亮。
3.之后我们又利用写好的代码程序和实验箱进行了其他实验。