单片机课程实验指导书 下载本文

内容发布更新时间 : 2024/5/8 0:48:39星期一 下面是文章的全部内容请认真阅读。

嵌入式课程实验指导书

实验一、开发环境构建和GPIO控制实验

一、硬件环境 1.1 STM32芯片介绍

STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M内核。增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是32位产品用户的最佳选择。两个系列都内置32K到128K的闪存,不同的是SRAM的最大容量和外设接口的组合。时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品,相当于0.5mA/MHz。

STM32的特点:

内核:ARM32位Cortex-M3 CPU,最高工作频率72MHz,1.25DMIPS/MHz。单周期乘法和硬件除法。

存储器:片上集成32-512KB的Flash存储器。6-64KB的SRAM存储器。

时钟、复位和电源管理:2.0-3.6V的电源供电和I/O接口的驱动电压。POR、PDR和可编程的电压探测器(PVD)。4-16MHz的晶振。内嵌出厂前调校的8MHz RC振荡电路。内部40 kHz的RC振荡电路。用于CPU时钟的PLL。带校准用于RTC的32kHz的晶振。

低功耗:3种低功耗模式:休眠,停止,待机模式。为RTC和备份寄存器供电的VBAT。 调试模式:串行调试(SWD)和JTAG接口。

DMA:12通道DMA控制器。支持的外设:定时器,ADC,DAC,SPI,IIC和UART。 2个12位的us级的A/D转换器(16通道):A/D测量范围:0-3.6 V。双采样和保持能力。片上集成一个温度传感器。

2通道12位D/A转换器:STM32F103xC,STM32F103xD,STM32F103xE独有。

最多高达112个的快速I/O端口:根据型号的不同,有26,37,51,80,和112的I/O端口,所有的端口都可以映射到16个外部中断向量。除了模拟输入,所有的都可以接受5V以内的输入。

最多多达11个定时器:4个16位定时器,每个定时器有4个IC/OC/PWM或者脉冲计数器。2个16位的6通道高级控制定时器:最多6个通道可用于PWM输出。2个看门狗定时器(独立看门狗和窗口看门狗)。Systick定时器:24位倒计数器。2个16位基本定时器用于驱动DAC。

最多多达13个通信接口:2个IIC接口(SMBus/PMBus)。5个USART接口(ISO7816接

口,LIN,IrDA兼容,调试控制)。3个SPI接口(18 Mbit/s),两个和IIS复用。CAN接口(2.0B)。USB 2.0全速接口。SDIO接口。

ECOPACK封装:STM32F103xx系列微控制器采用ECOPACK封装形式。

二、软件开发环境介绍及安装 2.1 STM32固件库

STM32标准外设库之前的版本也称固件函数库或简称固件库,是一个固件函数包,它由程序、数据结构和宏组成,包括了微控制器所有外设的性能特征。该函数库还包括每一个外设的驱动描述和应用实例,为开发者访问底层硬件提供了一个中间API,通过使用固件函数库,无需深入掌握底层硬件细节,开发者就可以轻松应用每一个外设。因此,使用固态函数库可以大大减少用户的程序编写时间,进而降低开发成本。每个外设驱动都由一组函数组成,这组函数覆盖了该外设所有功能。每个器件的开发都由一个通用API (application

programming interface 应用编程界面)驱动,API对该驱动程序的结构,函数和参数名称都进行了标准化。

ST公司2007年10月发布了V1.0版本的固件库,MDK ARM3.22之前的版本均支持该库。2008年6月发布了V2.0版的固件库,从2008年9月推出的MDK ARM3.23版本至今均使用V2.0版本的固件库。V3.0以后的版本相对之前的版本改动较大,本书使用目前较新的V3.4版本。

2.2 Keil

A. 打开Keil MDK4.21的安装包,双击安装程序后,起始页面如下图所示,依次单击

“Next”按钮完成安装;

B. 安装完成后,以管理员身份打开uVision4,点击File ? License Management 打开

License Management窗口,复制右上角的CID;