1广州飞瑞敖电子科技有限公司RFID实验箱实验指导书广州飞瑞敖电子科技有限公司2注意:以*号开头实验为选作实验,如课时紧张,可跳过该实验它对综合实验的开展不会产生影响。STM32F103VE单片机实验............................................................................................................3实验一开发环境的搭建及硬件测试实验.....................................................................................4实验二STM32工程建立...............................................................................................................8实验三串口通讯实验...................................................................................................................28实验四时钟中断...........................................................................................................................33实验五外部中断...........................................................................................................................41*实验六ADC采集.......................................................................................................................45*实验七SPI-Flash读写................................................................................................................52实验八LCD显示..........................................................................................................................59实验九触摸屏...............................................................................................................................68实验十UC/OSIILED闪烁.........................................................................................................74实验十一UC/OSII任务挂起、恢复、删除................................................................................81实验十二UCGUI演示...................................................................................................................86实验十三基于UCGUI的LED闪烁..........................................................................................94实验十四数码管.........................................................................................................................99RFID实验......................................................................................................................................103实验一LF低频RFID实验..........................................................................................................103实验二HF高频RFID通信协议..................................................................................................113实验三UHF特高频RFID实验....................................................................................................126实验四2.4G有源RFID低功耗实验..........................................................................................144实验五HF高频RFID应用..........................................................................................................153实验六2.4G人员定位实验.......................................................................................................157实验七Wi-Fi模块的使用..........................................................................................................1613STM32F103VE单片机实验写在最前面-为什么要学习STM32单片机?当老师和学生拿到该实验指导书的时候,难免会有这样的疑问,这个实验箱是RFID实验箱,我应该学习RFID的知识才对,为什么学习STM32单片机呢?对于这个问题的回答首先要从该款实验箱的设计初衷说起。飞瑞敖电子科技有限公司的IOT-L02-03型RFID实验箱的设计初衷和教学重点是放在RFID技术的应用而非工作原理上。STM32单片机做为实验箱的核心MCU,通过UART接口同时与四种RFID模块相连(当然了,同一时间内只会和一个模块形成通路,具体和哪个模块形成通路则是通过由三个二位选择开关来控制的),与此同时,STM32通过GPIO接口连接了丰富的外围设备如LED流水灯、数码管、液晶显示屏、蜂鸣器等。有了STM32单片机和这些丰富的外围硬件,我们就可以模拟出来丰富的RFID具体应用了,比如说使用高频RFID模块、数码管、矩阵键盘,我们可以模拟出公交车收费系统,使用特高频RFID模块和液晶屏,我们可以模拟出超市里面使用的电子价签系统,使用2.4G有源RFID模块和蜂鸣器,我们可以实现基于2.4G人员定位系统等等。但是在完成这些综合应用设计之前,还是要打好基础,学会基本功,也就是要学会STM32单片机是如何控制这些外围硬件以及如何和各个RFID模块通信的了,这些就是接下来实验指导书中将介绍到的各个实验内容了。至于RFID原理部分,该款实验箱并不涉及。笔者认为,这就好比学习C语言的时候,并不需要去学习GCC(或其他)编译器的原理是一个道理。RFID原理部分更适合于射频和电子工程专业的学生学习,而对于物联网工程相关专业的学生应该将有限的课时和精力放在了解和学习不同RFID模块的功能和特点,控制和通信方式以及应用设计上,从而在工作时,可以根据根据具体的项目需要,选择和设计出来最佳的RFID应用方案。以上所有仅代表该实验指导书笔者个人观点,仁者见仁智者见智。最重要的是让学生通过现有的设备学习到最多的东西,那么我们现在就开始吧。4实验一开发环境的搭建及硬件测试实验一、实验目的1.1Keil开发环境的安装1.2掌握Keil开发环境的使用1.3掌握STM32单片机固件的烧写方式二、实验设备硬件:RFID实验箱套件,电脑等。软件:Keil三、实验原理本实验箱使用基于Cortex-M3体系的STM32F103VET6单片机作为主控CPU,运行相应的程序,它通过GPIO可以控制实验箱上的其它组件(数码管,矩阵键盘,LED流水灯、LCD液晶屏等)。STM32F103VET6单片机有两路UART通信接口,其中UART1经由MAX232电平转换芯片与实验箱上的UART-STM32DB9串口相连负责和上位机进行通信。而UART2与实验箱上的SWICH链路选择芯片组相连,通过PD12和PD13两个管脚进行链路选择,并最终和相对应的RFID模块进行通信。更详细的原理图请参考配套光盘\附件\实验箱原理图目录下的文档。本实验的目的是熟悉和学习Keil开发环境,下载相应的程序到STM32F103VET6上,并对实验箱上的硬件进行检测。在之后的实验中,将会详细的讲解STM32F103VET6单片机是如何控制各个组件并且如何和不同的RFID模块进行通信的。四、实验步骤4.1安装\光盘\应用程序\JLINK驱动安装下的JLink驱动。安装完成后,使用实验箱内的Jlink仿真器将PC机的USB接口和RFID实验箱上液晶屏下方的20pinJTAG接口相连,如果PC能够检测到JLink则驱动安装成功(在设备管理器中可以看到JLINK的提示如图1.0所示)否则请重新安装驱动。5图1.04.2安装\光盘\应用程序\STM32芯片开发环境下的MDK414.exe软件(即KeilVersion4)。4.3打开keiluVision4开发环境(注:请在网上搜索破解方法),界面如图1.1。图1.1开发环境界面4.4打开测试工程,路径为\光盘\源代码\测试程序\APP下的.uvproj工程文件。如图1.2及1.3。6图1.2打开工程图1.3打开工程4.5编译源文件,生成hex文件,如图1.4。7图1.4编译工程4.6烧写可执行文件,如图1.5。图1.5烧写可执行文件。图1.6程序烧写成功烧写完成后可观察实验箱。4.7本次程序使用了实验箱硬件测试程序,请根据\光盘\RFID实验箱整机测试及推广演示指导书.doc来测试RFID实验箱的各个硬件是否正常工作。8实验二STM32工程建立一、实验目的1.1熟悉Keil4开发环境的使用1.2掌握STM32工程建立1.3了解STM32官方库1.4了解STM32通用I/O端口的使用二、实验设备硬件:RFID实验箱,电脑等。软件:Keil4三、实验原理3.1GIPO功能描述每个GPI/O端口有两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH),两个32位数据寄存器(GPIOx_IDR,GPIOx_ODR),一个32位置位/复位寄存器(GPIO