




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录TOC\o"1-2"\u试验一跑馬灯试验1试验二按键输入试验3试验三串口试验5试验四外部中断试验8试验五独立看门狗试验11试验七定期器中断试验13试验拾三ADC试验15试验拾五DMA试验17试验拾六I2C试验21试验拾七SPI试验24试验二拾一紅外遥控试验27试验二拾二DS18B20试验30试验一跑馬灯试验一.试验简介我的第一种试验,跑馬灯试验。二.试验目的掌握STM32開发环境,掌握從無到有的构建工程。三.试验内容熟悉MDKKEIL開发环境,构建基于固件库的工程,编写代码实現跑馬灯工程。通過ISP下载代码到试验板,查看运行成果。使用JLINK下载代码到目的板,查看运行成果,使用JLINK在线调试。四.试验设备硬件部分:PC计算机(宿主机)、亮點STM32试验板、JLINK。软件部分:PC机WINDOWS系统、MDKKEIL软件、ISP软件。五.试验环节熟悉MDKKEIL開发环境熟悉串口编程软件ISP查看固件库构造和文献建立工程目录,复制库文献建立和配置工程编写代码编译代码使用ISP下载到试验板测试运行成果使用JLINK下载到试验板單步调试记录试验過程,撰写试验汇报六.试验成果及测试源代码:两個灯LED0与LED1实現交替闪烁的类跑馬灯效果,每300ms闪烁一次。七.试验總結通過本次次试验我理解了STM32開发板的基本使用,初次接触這個開发板和MDKKEILC软件,對软件操作不太理解,通過這次试验理解并纯熟地使用MDKKEIL软件,用這個软件来编程和完毕某些功能的实現。作為STM32的入门第一种例子,详细简介了STM32的IO口操作,同步巩固了前面的學习,并深入简介了MDK的软件仿真功能。试验二按键输入试验一.试验简介在试验一的基础上,使用按键控制流水灯速度,及使用按键控制流水灯流水方向。二.试验目的纯熟使用库函数操作GPIO,掌握中断配置和中断服务程序编写措施,掌握通過全局变量在中断服务程序和主程序间通信的措施。三.试验内容实現初始化GPIO,并配置中断,在中断服务程序中通過修改全局变量,到达控制流水灯速度及方向。使用JLINK下载代码到目的板,查看运行成果,使用JLINK在线调试。四.试验设备硬件部分:PC计算机(宿主机)、亮點STM32试验板、JLINK、示波器。软件部分:PC机WINDOWS系统、MDKKEIL软件、ISP软件。五.试验环节1在试验1代码的基础上,编写中断初始化代码2在主程序中申明全局变量,用于和中断服务程序通信,编写完毕主程序3编写中断服务程序4编译代码,使用JLINK下载到试验板5.單步调试6记录试验過程,撰写试验汇报六.试验成果及测试源代码:我們将通過MiniSTM32板上载有的3個按钮,来控制板上的2個LED,其中KEY0控制LED0,按一次亮,再按一次,就灭。KEY1控制LED1,效果同KEY0。KEY_2(KEY_UP),同步控制LED0和LED1,按一次,他們的状态就翻转一次。七.试验總結通過本次试验,我學會了怎样使用STM32的IO口作為输入用。TM32的IO口做输入使用的時候,是通過讀取IDR的内容来讀取IO口的状态的。這裏需要注意的是KEY0和KEY1是低電平有效的,而WK_UP是高電平有效的,并且要确认WK_UP按钮与DS18B20的连接与否已經断開,要先断開,否则DS18B20會干扰WK_UP按键!并且KEY0和KEY1连接在与JTAG有关的IO口上,因此在软件编写的時候要先禁用JTAG功能,才能把這两個IO口當成一般IO口使用。试验三串口试验一.试验简介编写代码实現串口发送和接受,将通過串口发送来的数据回送回去。二.试验目的掌握STM32基本串口编程,深入學习中断处理。三.试验内容编写主程序,初始化串口1,设置波特率為9600,無校验,数据位8位,停止位1位。编写中断服务程序代码实現将发送過来的数据回送。四.试验设备硬件部分:PC计算机(宿主机)、亮點STM32试验板、JLINK、示波器。软件部分:PC机WINDOWS系统、MDKKEIL软件、ISP软件、串口调试助手。五.试验环节1编写串口初始化代码2编写中断服务程序代码3编译代码,使用JLINK或ISP下载到试验板4记录试验過程,撰写试验汇报六.试验成果及测试源代码:把代码下载到MiniSTM32開发板,可以看到板子上的LED0開始闪烁,阐明程序已經在跑了。接著我們打開串口调试助手,看到如下信息:证明串口数据发送没問題。接著,我們在发送区输入上面的文字,输入完後按回車键。然後單击发送,可以得到如下成果:七.试验總結通過本次试验,我深入理解了串口的使用,學會了通過串口发送和接受数据,将通過串口发送来的数据回送回去。该试验的硬件配置不一样于前两個试验,串口1与USB串口默认是分開的,并没有在PCB上连接在一起,需要通過跳线帽来连接一下。這裏我們把P4的RXD和TXD用跳线帽与P3的PA9和PA10连接起来。试验四外部中断试验一.试验简介STM32的IO口在本章第一节有详细简介,而外部中断在第二章也有详细的论述。這裏我們将简介怎样将這两者結合起来,实現外部中断输入。二.试验目的深入掌握串口编程,深入學习外部中断编程,提高编程能力。三.试验内容初始化IO口的输入,启動复用時钟,设置IO与中断的映射关系,從而启動与IO口相對应的线上中断事件,设置触发条件。配置中断分组(NVIC),并使能中断,编写中断服务函数。四.试验设备硬件部分:PC计算机(宿主机)、亮點STM32试验板、JLINK、示波器。软件部分:PC机WINDOWS系统、MDKKEIL软件、ISP软件、串口调试助手。五.试验环节编写中断服务程序代码使用ISP下载到试验板测试运行成果记录试验過程,撰写试验汇报六.试验成果及测试源代码:打開串口助手。七.试验總結首先需要将IO设置為中断输入口:1)初始化IO口為输入。2)启動IO口复用時钟,设置IO口与中断线的映射关系。3)启動与该IO口相對的线上中断/事件,设置触发条件。4)配置中断分组(NVIC),并使能中断。5)编写中断服务函数。這一节,使用的是中断来检测按键,通過WK_UP按键实現按一次LED0和LED1同步翻转,按KEY0翻转LED0,按KEY1翻转LED1。试验中外部中断函数不能進入的原因分析
:1)GPIO或者AFIO的時钟没有启動。2)GPIO和配置的中断线路不匹配。3)中断触发方式和实际不相符合。4)中断处理函数用库函数時,写錯,常常也許出現数字和字母之间没有下划线。5)外部中断是沿触发,有也許不能检测到沿,例如
中断线是低電平(浮空输入),触发是下降沿触发,也許會出現一直是低電平,高電平的時候是同样的状况,電平持续為高電平。
6)没有用软件中断来触发外部中断,调用函数EXTI_GenerateSWInterrupt;,由于软件中断先于边缘中断处理。试验五独立看门狗试验试验简介独立看门狗(IWDG)由专用的低速時钟(LSI)驱動,虽然主時钟发生故障它也仍然有效。窗口看门狗由從APB1時钟分频後得到的時钟驱動,通過可配置的時间窗口来检测应用程序非正常的過迟或過早的操作。二.试验目的通過编程,编写一种独立看门狗驱動程序三.试验内容启動STM32的独立看门狗,從而使能看门狗,在程序裏面必须间隔一定期间喂狗,否则将导致程序复位。运用這一點,我們本章将通過一种LED灯来指示程序与否重启,来验证STM32的独立看门狗。四.试验设备硬件部分:PC计算机(宿主机)、亮點STM32试验板、JLINK。软件部分:PC机WINDOWS系统、MDKKEIL软件、ISP软件、串口调试助手。五.试验环节参照教材独立看门狗部分,编写独立看门狗驱動程序。建立和配置工程编写代码使用ISP下载到试验板记录试验過程,撰写试验汇报六.试验成果及测试源代码:在配置看门狗後,看到LED0不停的闪烁,假如WK_UP按键按下,就喂狗,只要WK_UP不停的按,看门狗就一直不會产生复位,保持LED0的常亮,一旦超過看门狗定溢出時间(Tout)還没按,那么将會导致程序重启,這将导致LED0熄灭一次。七.试验總結通過本次试验,我掌握了启動独立看门狗的环节:1)向IWDG_KR写入0X5555。2)向IWDG_KR写入0XAAAA。3)向IWDG_KR写入0XCCCC。通過上面3個环节,启動STM32的看门狗,從而使能看门狗,在程序裏面就必须间隔一定期间喂狗,否则将导致程序复位。运用這一點,本章通過一种LED灯来指示程序与否重启,来验证STM32的独立看门狗。在配置看门狗後,LED0将常亮,假如WK_UP按键按下,就喂狗,只要WK_UP不停的按,看门狗就一直不會产生复位,保持LED0的常亮,一旦超過看门狗溢出時间(Tout)還没按,那么将會导致程序重启,這将导致LED0熄灭一次。试验七定期器中断试验试验简介STM32的定期器是一种通過可编程预分频器(PSC)驱動的16位自動装载计数器(CNT)构成。STM32的通用定期器可以被用于:测量输入信号的脉冲長度(输入捕捉)或者产生输出波形(输出比较和PWM)等。使用定期器预分频器和RCC時钟控制器预分频器,脉冲長度和波形周期可以在几微秒到几毫秒间调整。STM32的每個通用定期器都是完全独立的,没有互相共享的任何资源。二.试验目的纯熟掌握定期器中断,學會對定期器中断的编程操作。三.试验内容使用定期器产生中断,然後在中断服务函数裏面翻转LED1上的電平,来指示定期器中断的产生,修改中断時间。四.试验设备硬件部分:PC计算机(宿主机)、亮點STM32试验板、JLINK。软件部分:PC机WINDOWS系统、MDKKEIL软件、ISP软件、串口调试助手。五.试验环节参照教材定期器中断部分,编写定期器中断的驱動程序。编写主程序编译代码,使用JLINK或ISP下载到试验板记录试验過程,撰写试验汇报六.试验成果及测试源代码:七.试验總結通過本次试验,认识届時间中断来控制LED灯的闪烁,同步也可以将時间中断应用到控制其他的程序块。以TIME3為例产生中断的环节為1)TIM3時钟使能。2)设置TIM3_ARR和TIM3_PSC的值。3)设置TIM3_DIER容許更新中断。4)容許TIM3工作。5)TIM3中断分组设置。6)编写中断服务函数。在中断产生後,通過状态寄存器的值来判断本次产生的中断属于什么类型。然後执行有关的操作,我們這裏使用的是更新(溢出)中断,因此在状态寄存器SR的最低位。在处理完中断之後应當向TIM3_SR的最低位写0,来清除该中断標志。试验拾三ADC试验一.试验简介通過DAC将STM32系统的数字量转换為模拟量。使用ADC将模拟量转换為数字量。二.试验目的掌握DAC和ADC编程。三.试验内容编写代码实現简朴的DAC單次发送编写代码实現ADC采集DAC发送的数据,并发送到串口四.试验设备硬件部分:PC计算机(宿主机)、亮點STM32试验板、JLINK。软件部分:PC机WINDOWS系统、MDKKEIL软件、ISP软件、串口调试助手。五.试验环节1编写主程序2编译代码,使用JLINK或ISP下载到试验板,使用串口调试助手观测数据3记录试验過程,撰写试验汇报六.试验成果及测试源代码:七.试验總結本节将运用STM32的ADC1通道0来采样外部電压值,并在串口调试助手中显示出来。环节如下:1)启動PA口時钟,设置PA0為模拟输入。2)使能ADC1時钟,并设置分频因子。3)设置ADC1的工作模式。4)设置ADC1规则序列的有关信息。5)启動AD转换器,并校准。6)讀取ADC值。在上面的校准完毕之後,ADC就算准备好了。接下来我們要做的就是设置规则序列0裏面的通道,然後启動ADC转换。在转换結束後,讀取ADC1_DR裏面的值。通過以上几种环节的设置,可以正常的使用STM32的ADC1来执行AD转换操作。通過本次试验的學习,我們理解了STM32ADC的使用,但這仅仅是STM32强大的ADC功能的一小點应用。STM32的ADC在诸多地方都可以用到,其ADC的DMA功能是很不錯的,试验拾五DMA试验试验简介直接存储器存取(DMA)用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传播。不必CPU干预,数据可以通過DMA迅速地移動,這就节省了CPU的资源来做其他操作。二.试验目的纯熟掌握DMA编程,學會對EPC02的讀写操作,學习双缓冲兵乓操作,理解互斥资源。提高编程能力。三.试验内容运用外部按键KEY0来控制DMA的传送,每按一次KEY0,DMA就传送一次数据到USART1,然後在串口调试助手观测進度等信息。LED0還是用来做為程序运行的指示灯。這裏我們使用到的硬件资源如下:1)按键KEY0。2)指示灯LED0。3)使用串口调试助手观测数据四.试验设备硬件部分:PC计算机(宿主机)、亮點STM32试验板、JLINK。软件部分:PC机WINDOWS系统、MDKKEIL软件、ISP软件、网络调试助手。五.试验环节1编写主程序2编译代码,使用JLINK或ISP下载到试验板,使用串口调试助手观测数据3记录试验過程,撰写试验汇报六.试验成果及测试源代码:伴随LED0的不停闪烁,提醒程序在运行。我們打開串口调试助手,然後按KEY0,可以看到串口显示如下内容:七.试验總結本节运用STM32的DMA来实現串口数据传送,DMA通道的配置需要:1)设置外设地址。2)设置存储器地址。3)设置传播数据量。4)设置通道4的配置信息。5)使能DMA1通道4,启動传播。通過以上5步设置,我們就可以启動一次USART1的DMA传播了。DMA控制器對DMA祈求鉴别优先级及屏蔽,向總线裁决逻辑提出總线祈求。當CPU执行完目前總线周期即可释放總线控制权。此時,總线裁决逻辑输出總线应答,表达DMA已經响应,通過DMA控制器告知I/O接口開始DMA传播。DMA控制器获得總线控制权後,CPU即刻挂起或只执行内部操作,由DMA控制器输出讀写命令,直接控制RAM与I/O接口進行DMA传播。
在DMA控制器的控制下,在存储器和外部设备之间直接進行数据传送,在传送過中不需要中央处理器的参与。開始時需提供要传送的数据的起始位置和数据長度。當完毕规定的成批数据传送後,DMA控制器即释放總线控制权,并向I/O接口发出結束信号。當I/O接口收到結束信号後,首先停
止I/O设备的工作,另首先向CPU提出中断祈求,使CPU從不介入的状态解脱,并执行一段检查本次DMA传播操作對的性的代码。最终,带著本次操作成果及状态继续执行本来的程序。
由此可見,DMA传播方式無需CPU直接控制传播,也没有中断处理方式那样保留現場和恢复現場的過程,通過硬件為RAM与I/O设备開辟一条直接传送数据的通路,使CPU的效率大為提高。试验拾六I2C试验一.试验简介编程实現對使用I2C接口的EPC02芯片進行写和讀操作。二.试验目的纯熟掌握I2C编程,學會對EPC02的讀写操作。三.试验内容编写I2C驱動程序,使用驱動程序初始化EPC02,判断设备對的性。写256個0x5A到EPC02,讀出并发送給串口,通過串口调试助手鉴别与否讀到的都是0x5A.四.试验设备硬件部分:PC计算机(宿主机)、亮點STM32试验板、JLINK。软件部分:PC机WINDOWS系统、MDKKEIL软件、ISP软件、串口调试助手。五.试验环节1参照教材I2C部分,编写I2C驱動程序。2编写主程序3编译代码,使用JLINK或ISP下载到试验板4记录试验過程,撰写试验汇报六.试验成果及测试伴随LED0的不停闪烁,提醒程序在运行。我們先按下KEY0,可以看到如下所示的内容,证明数据已經被写入到24C02了。接著我們按KEY2,可以看我們刚刚写入的数据被显示出来了,如下图所示:源代码:七.试验總結IIC是由数据线SDA和時钟SCL构成的串行總线,可发送和接受数据。在CPU与被控IC之间、IC与IC之间進行双向传送,高速IIC總线一般可达400kbps以上。IIC總线在传送数据過程中共有三种类型信号,它們分别是:開始信号、結束信号和应答信号。這些信号中,起始信号是必需的,結束信号和应答信号,都可以不要。程序在開机的時候會检测24C02与否存在,假如不存在则會在TFTLCD模块上显示錯误信息,同步LED0慢闪。大家可以通過跳线帽把PC11和PC12短接就可以看到报錯了。通過本次试验,我掌握了怎样使用IIC写入与讀出数据,學习了编写I2C驱動程序,使用驱動程序初始化EPC02,判断设备對的性,以及怎样在助手上显示。试验拾七SPI试验一.试验简介编程实現對SPI接口的W25Q64進行讀写操作。二.试验目的纯熟掌握SPI编程,學會對的W25Q64讀写操作。三.试验内容编写SPI驱動程序初始化SPI接口讀取SPIFLASH的ID,假如對的继续,否则报錯向SPIFALSH地址0x12AB00開始写一串字符,再讀出比较判断与否与写入的一致向SPIFALSH地址0x12AB00開始写持续256個字节的0x5A,然後讀出并发送給串口,通過串口调试助手鉴别与否讀到的都是0x5A.四.试验设备硬件部分:PC计算机(宿主机)、亮點STM32试验板、JLINK。软件部分:PC机WINDOWS系统、MDKKEIL软件、ISP软件、串口调试助手。五.试验环节1参照SPI及SPIFLASH部分,编写SPI及SPIFLASH驱動程序(可参照書上代码)。2编写主程序3编译代码,使用JLINK或ISP下载到试验板4记录试验過程,撰写试验汇报六.试验成果及测试源代码:伴随LED0的不停闪烁,提醒程序在运行。我們先按下KEY0,可以看到如图所示的内容,证明数据已經被写入到W25X16了。接著我們按KEY2,可以看我們刚刚写入的数据被显示出来了,如下图所示:七.试验總結SPI接口重要应用在EEPROM,FLASH,实時時钟,AD转换器,尚有数字信号处理器和数字信号解码器之间。SPI,是一种高速的,全双工,同步的通信總线,并且在芯片的管脚上只占用四根线,节省了芯片的管脚,同步為PCB的布局上节省空间,提供以便,正是出于這种简朴易用的特性,目前越来越多的芯片集成了這种通信协议,STM32也有SPI接口。SPI的设置环节:1)配置有关引脚的复用功能,使能SPI時钟。2)设置SPI工作模式。3)使能SPI。程序在開机的時候會检测W25X16与否存在,假如不存在则會在TFTLCD模块上显示錯误信息,同步LED0慢闪。大家可以通過跳线帽把PA5和PA6短接就可以看到报錯了。通過本试验,我掌握了编写SPI程序写入和讀取FLASH的措施,掌握了對學會對的W25Q64讀写操作。對STM32開发板有了深入的理解。试验二拾一紅外遥控试验试验简介编程实現通過在ALIENTEKMiniSTM32開发板上实現紅外遥控器的控制。二.试验目的掌握编程实現紅外
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 心电监护基础知识课件
- 第一国际课件
- 2025年公共自行车系统合作协议书
- 出口委托付款协议书范本
- 2025年高精度数字电压表项目发展计划
- 拆墙施工协议书模板范本
- 购买电脑协议书范本
- 房屋刷墙劳务协议书范本
- 上门女婿协议书范本
- 金融调解协议书范本
- 双眼皮基础知识课件
- 2025至2030铝矿产业发展趋势分析与未来投资战略咨询研究报告
- 代谢性疾病健康指导课件
- 学堂在线 大国航母与舰载机 章节测试答案
- DB11-T 593-2025 高速公路清扫保洁质量与作业要求
- 出国劳务人员安全责任保障协议
- 2025年中国石膏砌块行业市场全景分析及投资策略研究报告
- 客户接待流程培训
- 浙江2025年6月高一学考模拟地理试题及答案
- GB/T 45824-2025废旧农业机械回收体系建设规范
- 《2025版防范电信网络诈骗宣传手册》专题讲座
评论
0/150
提交评论