STM32微处理器实验.ppt





《STM32微处理器实验.ppt》由会员分享,可在线阅读,更多相关《STM32微处理器实验.ppt(57页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、STM32微微处理器理器实验2实验总时数实验总时数:24:24学时学时.共共6 6个实验内容个实验内容实验一实验一 按键检测和按键检测和LEDLED显示实验显示实验实验二实验二 IOIO中断和定时器中断实验中断和定时器中断实验实验三实验三 RS232RS232串口通信实验串口通信实验实验四实验四 IICIIC通信及通信及LCDLCD显示显示实验五六实验五六 ADAD及及DADA实验实验冯育长冯育长西安电子科技大学西安电子科技大学 通信工程学院通信工程学院实验课实施计划实验课实施计划3n实验课成绩计算方法:实验课成绩计算方法:6个实验,实验课成绩满分100分n单个实验成绩考核方法:单个实验成绩考
2、核方法:每个实验的成绩分为两个部分:一个是实验验收成绩,另一部分为实验报告成绩。实验验收成绩:实验验收成绩:由任课教师根据学生的实验表现、实验结果的正确与否等因素给出评分,并加盖教师印章,无教师印章者该次实验成绩计为0。实验报告成绩实验报告成绩:l每次实验交上次实验的实验报告,无报告者成绩为0l根据报告的质量(完整性、正确性和工整性等)将验收成绩或向上、或向下、或保值不变作为本次实验的最终成绩。n实验课占理论课成绩实验课占理论课成绩20%20%实验1 12 23 34 45656对应分数20202020202020202020实验成绩考核办法实验成绩考核办法4l进入实验室者不允许携带、食用各种
3、食物进入实验室者不允许携带、食用各种食物,不得乱扔不得乱扔废纸、杂物,注意保持实验台的整洁。废纸、杂物,注意保持实验台的整洁。l爱护实验设备,实验结束后应整理好设备、导线、爱护实验设备,实验结束后应整理好设备、导线、工具等工具等,并由教师验收。并由教师验收。l每次实验结束后每次实验结束后,留留8 8人打扫卫生并人打扫卫生并登记姓名登记姓名,每人每人至少打扫卫生一次。至少打扫卫生一次。l按课表时间参加实验,逾期不补。按课表时间参加实验,逾期不补。l同学之间可在同学之间可在205205室之内(或室之内(或206206室之内)自行调换室之内)自行调换实验时间。实验时间。注意事项注意事项5实验目的:实
4、验目的:(1 1)掌握掌握STM32STM32的的I/OI/O模块的使用(初始化,输入模块的使用(初始化,输入/输出操作);输出操作);(2 2)理解独立按键和矩阵键盘硬件原理,掌握其编程(检测)方法;理解独立按键和矩阵键盘硬件原理,掌握其编程(检测)方法;(3 3)理解七段数码管显示器工作原理,掌握其编程(检测)方法;理解七段数码管显示器工作原理,掌握其编程(检测)方法;(4 4)熟悉熟悉JTAGJTAG调试工具和调试技术。调试工具和调试技术。实验一内容提要:实验一内容提要:1 1实验环境及实验环境及STM32STM32简介简介2 2如何学习如何学习STM32STM323 3STM32 IO
5、STM32 IO端口及其应用端口及其应用4 4IARIAR软件的使用方法软件的使用方法5 5注意事项注意事项6 6实验任务实验任务实验一实验一 按键检测和按键检测和LEDLED显示实验显示实验6n硬件平台硬件平台实验箱实验箱n软件平台软件平台IAR for ARM IAR for ARM 集成开发环境集成开发环境IARIAR集成开发环境提供了工程管理、程序编辑、代码下载、调试等所有功能集成开发环境提供了工程管理、程序编辑、代码下载、调试等所有功能n一般按以下流程来进行微处理器的实验:一般按以下流程来进行微处理器的实验:1.1.建立工程;建立工程;2.2.选择目标器件;选择目标器件;3.3.配置
6、工程属性;配置工程属性;4.4.打开打开/编写程序文件;编写程序文件;5.5.编译连接工程;编译连接工程;6.6.修改程序中的错误并重新编译连接;修改程序中的错误并重新编译连接;7.7.下载程序至实验箱进行实验。下载程序至实验箱进行实验。n可以使用可以使用IARIAR建立一个全新的工程,用于系统实验建立一个全新的工程,用于系统实验n也可以打开已经建立好的工程模板,编写代码完成实验。也可以打开已经建立好的工程模板,编写代码完成实验。n对于初学者,建议采用后一种方法。对于初学者,建议采用后一种方法。一一.实验环境及实验环境及STM32STM32简介简介 7电源开关电源开关处理器:处理器:STM32
7、F103ZCT6STM32F103ZCT6电源插座电源插座USB_JLINKUSB_JLINK下载与在线调试接口下载与在线调试接口RS-232CRS-232C通信接口通信接口4*44*4矩阵键盘矩阵键盘4 4个轻触按键个轻触按键复位复位 RESETRESET四位七段数码管四位七段数码管8 8个个LEDLED灯灯LCDLCD显示器显示器8 8个个DIPDIP开关开关实验箱实验箱 部分硬件配置部分硬件配置8STM32F103ZCT6STM32F103ZCT6是意法半导体公司生产的高性能、低功是意法半导体公司生产的高性能、低功耗、低成本的嵌入式微控制器。耗、低成本的嵌入式微控制器。以以ARM Cor
8、tex-M3ARM Cortex-M3为内核。为内核。关于主控芯片关于主控芯片 STM32F103ZCT6STM32F103ZCT69以以ARM Cortex-M3ARM Cortex-M3为内核。为内核。具有大量的片上外设(多个通信口、多个定时器、全具有大量的片上外设(多个通信口、多个定时器、全部部IOIO脚可设为中断模式、脚可设为中断模式、ADCADC、DACDAC、4 4个片内时钟、个片内时钟、DMADMA等)等)片内片内SRAM 64KBSRAM 64KB片内片内FlashFlash程序存储器程序存储器 256KB256KB支持支持JTAGJTAG仿真和仿真和ISPISP下载下载有免费
9、的全套函数库有免费的全套函数库,便于用开发便于用开发 STM32F103ZCT6STM32F103ZCT6主要特点主要特点10实验箱主控芯片实验箱主控芯片STM32F103ZCT6STM32F103ZCT6144脚256KB程序存储器 STM32STM32命名规则命名规则11STM32F10 x:STM32F10 x:两个现行的产品系列两个现行的产品系列127 7个个1616位通用位通用IOIO口口 PGIOPGIOPA0PA0:1515PB0PB0:1515PC0PC0:1515PD0PD0:1515PE0PE0:1515PF0PF0:1515PG0PG0:1515所有所有GPIOGPIO脚
10、可设为中断模式脚可设为中断模式8 8个定时器个定时器5 5个通信口个通信口 (SUB,USART,IIC,SPI,CAN)SUB,USART,IIC,SPI,CAN)ADCADC,DAC,DMADAC,DMA等等STM32F103ZCT6STM32F103ZCT6的部分资源的部分资源13内部功能模块很多。内部功能模块很多。边边学边用!学边用!边用边学!边用边学!如果不用的模块,可不理会如果不用的模块,可不理会其存在。其存在。用什么模块,学什么模块!用什么模块,学什么模块!对对STM32STM32有两种编程方法:有两种编程方法:寄存器编程寄存器编程STM32STM32有庞大的有庞大的寄存器组,直
11、接寄存器组,直接对寄存器编程对寄存器编程相当困难。相当困难。函数编程函数编程STM32STM32有一大堆函数!有一大堆函数!边学边用边学边用!边边用边学用边学!学习过程中,要养成学习过程中,要养成反复查阅反复查阅资料的习惯!资料的习惯!二二.如何学习如何学习STM32STM32?14本手册介绍了本手册介绍了STM32F103xxSTM32F103xx的固件函数库。的固件函数库。用寄存器方式操作用寄存器方式操作STM32STM32,可参考此手册,适合于高级编程。,可参考此手册,适合于高级编程。用于了解用于了解STM32STM32增强型产品的管脚和片上资源。增强型产品的管脚和片上资源。IARIAR
12、建立工程的方法建立工程的方法STM32STM32官方资料,初步了解官方资料,初步了解STM32STM32及开发方法及开发方法 实验指导书:实验指导书:IARIAR建立工程方法、实验箱的使用方法、实验要求。建立工程方法、实验箱的使用方法、实验要求。介绍介绍STM32STM32微控制器产品的功能模块结构微控制器产品的功能模块结构反复查阅库函数,反复查阅库函数,逐步掌握逐步掌握STM32STM32的开发!的开发!参考资料参考资料【微原学习资料微原学习资料】【】【资料资料】文件夹文件夹15提供的例程提供的例程(1)._IAR_ARM(1)._IAR_ARM工程模板:用于编写用于程序的初始模板。工程模板
13、:用于编写用于程序的初始模板。(2).(2).实验一实验一_IAR_GPIO_IAR_GPIO_测试测试(3).(3).实验一实验一_IAR_GPIO_IAR_GPIO_阵列按键扫描阵列按键扫描_ _数码管显示数码管显示(4).(4).实验二实验二_IAR_IO_IAR_IO中断中断(5).(5).实验二实验二_IAR_IAR_定时器中断定时器中断(6).(6).实验三实验三_IAR_IAR_串口通信串口通信(7).(7).实验四实验四_IAR_IAR_模拟模拟IIC_LCDIIC_LCD(8).(8).实验六实验六_IAR_AD_DA_IAR_AD_DAn先学习各先学习各“例程例程”(结合库
14、函数)(结合库函数)n在此基础上了解处理器的硬件原理在此基础上了解处理器的硬件原理n最终掌握编程方法!最终掌握编程方法!【微原学习资料微原学习资料】【】【例程例程】文件夹文件夹16l实验箱厂家提供的实验箱厂家提供的KeilKeil例程,例程,l实验箱原理图和硬件描述。实验箱原理图和硬件描述。一般的实验电路图一般的实验电路图实验箱中实验箱中处理器的硬件处理器的硬件配置图配置图查找查找“PA8PA8”引脚复用引脚复用【实验箱的出厂例程实验箱的出厂例程】文件夹文件夹17lIAR_for_ARM软件:lJlink驱动软件:参考资料参考资料-相关软件相关软件18STM32STM32有有7 7个通用个通用
15、I I口口GPIOGPIO每个端口每个端口1616位位PA15PA15:00PB15:0PB15:0PC15:0PC15:0PD15:0PD15:0PE15:0PE15:0PF15:0PF15:0PG15:0PG15:0用户可利用库函数对用户可利用库函数对PGIOPGIO进行操作进行操作序号序号函数名函数名描述描述1 1GPIO_InitGPIO_Init根据根据GPIO_InitStructGPIO_InitStruct中指定的参数初始化中指定的参数初始化GPIOxGPIOx寄存器寄存器2 2GPIO_SetBitsGPIO_SetBits设置指定的数据端口位设置指定的数据端口位3 3GPI
16、O_ResetBitsGPIO_ResetBits清除指定的数据端口位清除指定的数据端口位4 4GPIO_WriteBitGPIO_WriteBit设置或者清除指定的数据端口位设置或者清除指定的数据端口位5 5GPIO_ReadInputDataBitGPIO_ReadInputDataBit读取指定端口管脚的数据读取指定端口管脚的数据三三.STM32 IOSTM32 IO端口及其操作端口及其操作197个16位通用可编程口PGIO PA15:0PG15:0GPIOGPIO的的8 8种种IOIO模式模式 浮空输入浮空输入_IN_FLOATING_IN_FLOATING 上拉输入上拉输入_IPU
17、IO_IPU IO内部上拉电阻输入内部上拉电阻输入 下拉输入下拉输入_IPD IO_IPD IO内部下拉电阻输入内部下拉电阻输入 模拟输入模拟输入_AIN ADC_AIN ADC模拟输入模拟输入 开漏输出开漏输出_OUT_ODIO _OUT_ODIO 输出输出0 0接接GNDGND;输出输出1 1,悬空,需要外接上拉电阻。,悬空,需要外接上拉电阻。推挽输出推挽输出_OUT_PPIO_OUT_PPIO输出输出0 0接接GNDGND;IOIO输出输出1(1(接接VCC)VCC)。复用功能的推挽输出复用功能的推挽输出_AF_PP_AF_PP片内外设(片内外设(I2CI2C的的SCLSCL,SDASD
18、A)复用功能的开漏输出复用功能的开漏输出_AF_OD_AF_OD片内外设(片内外设(TX1TX1,MOSIMOSI,MISOMISO,SCKSCK,SSSS)一般用一般用“上拉输入上拉输入”,“推挽输出推挽输出”GPIOGPIO的的8 8种种IOIO模式模式初始化时初始化时必须设置端口的必须设置端口的IOIO模式模式20n使用使用IOIO口时必须先初始化口时必须先初始化IOIO口口n与与IOIO有关的函数和定义分布在:有关的函数和定义分布在:nSTM32STM32固件库文件固件库文件 stm32f10 x_gpio.cstm32f10 x_头文件头文件 stm32f10 x_gpio.hstm
19、32f10 x_gpio.hn如,如,IOIO口初始化函数口初始化函数 :GPIO_Init(GPIOGPIO_Init(GPIOx x,&GPIO_InitStructure);,&GPIO_InitStructure);函数原形见:函数原形见:STM32F103xx STM32F103xx 固件函数库固件函数库输入参数输入参数1 1:GPIOGPIOx xx x可以是可以是A,B,C,D,E,F,GA,B,C,D,E,F,G输入参数输入参数2 2,是初始化参数是初始化参数结构体指针结构体指针GPIO_InitStructGPIO_InitStruct,其中包含了外设其中包含了外设IOIO口
20、的配置信息口的配置信息。1.IO1.IO端口初始化函数端口初始化函数 GPIO_InitGPIO_Init21n例例:初始化初始化PA8PA8/设置设置PA8PA8为推挽输出,为推挽输出,IOIO口速度为口速度为50MHz50MHzvoid GPIO_Configuration(void)void GPIO_Configuration(void)GPIO_InitTypeDef GPIO_InitStructure;/GPIO_InitTypeDef GPIO_InitStructure;/用类型名定义(结构体)变量名用类型名定义(结构体)变量名 GPIO_InitStructure.GPIO
21、_Pin=GPIO_Pin_ GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8 8;/PA8 /PA8 GPIO_InitStructure.GPIO_Mode=GPIO_Mode_ GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PPOut_PP;/;/推挽输出推挽输出 GPIO_InitStructure.GPIO_Speed=GPIO_Speed_GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz50MHz;/IO;/IO口速度为口速度为50MHz50MHz GPIO_InitGP
22、IO_Init(GPIO(GPIOA A,&GPIO_InitStructure);,&GPIO_InitStructure);/根据上述参数初始化根据上述参数初始化PA8PA8n在在“stm32f10 x_gpio.hstm32f10 x_gpio.h”头文件中(位于例程一:头文件中(位于例程一:Library-inc-Library-inc-),),先用先用typedef typedef 声明了结构体类型声明了结构体类型typedef struct typedef struct uint16_t GPIO_Pin;/IO uint16_t GPIO_Pin;/IO引脚引脚 GPIOMode
23、_TypeDef GPIO_Mode;/IO GPIOMode_TypeDef GPIO_Mode;/IO模式模式 GPIOSpeed_TypeDef GPIO_Speed;/IO GPIOSpeed_TypeDef GPIO_Speed;/IO口速度口速度 GPIO_InitTypeDefGPIO_InitTypeDef;/;/类型名为类型名为GPIO_InitTypeDefGPIO_InitTypeDef,用此可以定义变量名,用此可以定义变量名类的定义及初始化过程类的定义及初始化过程22 GPIO_InitStructure.GPIO_Pin=GPIO_Pin_ GPIO_InitStru
24、cture.GPIO_Pin=GPIO_Pin_8 8;/PA8 /PA8 GPIO_InitStructure.GPIO_Mode=GPIO_Mode_ GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PPOut_PP;/;/推挽输出推挽输出 GPIO_InitStructure.GPIO_Speed=GPIO_Speed_GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz50MHz;/IO;/IO口速度为口速度为50MHz50MHz GPIO_InitGPIO_Init(GPIO(GPIOA A,&GPIO_I
25、nitStructure);,&GPIO_InitStructure);/根据上述参数初始化根据上述参数初始化PA8PA8A,B,C,D,E,F,GA,B,C,D,E,F,G结构体,结构体,3 3个成员变量个成员变量归纳:初始化归纳:初始化IOIO口函数口函数 GPIO_InitGPIO_Init 23GPIO_InitStructure.GPIO_Pin =GPIO_Pin_GPIO_InitStructure.GPIO_Pin =GPIO_Pin_8 8|GPIO_Pin_|GPIO_Pin_9 9|GPIO_Pin_|GPIO_Pin_1010;/SW0;/SW0SW2SW2GPIO_I
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- STM32 微处理器 实验

限制150内