- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ARM实训报告汇总
实训一、绘出STM32开发板的MCU外围硬件连接图
学生:吴磊 郑黄庆 阿不力孜
指导老师:王宜结
电子工程学院 电子信息工程
一、实训目的
握STM32开发板的封装和引脚
能够测量开发板外围器件与STM32芯片的实际连接,并画出电路图
二、实训内容
画出开发板上MCU与发光二极管DS0、DS1的连接示意图
画出开发板上MCU与按键KEY0、KEY1、KRY2、KEYM的连接示意图
画出开发板上MCU与24C02芯片的连接示意图
画出开发板上MCU与W25X16芯片的连接示意图
画出开发板上MCU与温度传感器18B20的连接示意图
画出开发板上MCU与2.8寸液晶的连接示意图
画出开发板上MCU与红外接收头的连接示意图
画出开发板上MCU与PL2302芯片的连接示意图
三、实训过程
1、MCU
图1
图1中上部的BOOT1用于设置STM32的启动方式,其对应启动模式如下表所示:
表1
我们用串口下载代码,则配置BOOT0为1,BOOT1为0即可,如果想让STM32一按复位键就开始跑代码,则需要配置BOOT0为0,BOOT1随便设置都可以。
2、LED
图2
其中PWR是系统电源指示灯,为蓝色。LED0和LED1分别接在PA8和PD2上,PA8还可以通过TIM1的通道1的PWM输出来控制DS0的亮度。为了方便大家判断,我们选择了DS0为红色,DS1为绿色的LED灯。
3、按键
图3
KEY0、KEY1和KEY2用作普通按键输入,分别连接在PA13、PA15和PA14上。WK_UP按键连接到PA0(STM32的WKUP引脚),它除了可以用作普通输入按键外,还可以用作STM32的唤醒输入。
4、EEPROM
ALIENTEK MiniSTM32自带了24C02的EEPROM芯片,该芯片的容量为2Kbit,也就是256个字节。
图4
这里我们把A0~A2均接地,对24C02来说也就是把地址位设置成了0了。
5、SPI FLASH
ALIENTEK MiniSTM32开发板载有SPI FLASH芯片W25X16,该芯片的容量为2M字节。
图5
6、温度传感器
图6
7、2.8寸液晶连接示意图
图7
8、红外接收头示意图
REMOTE_IN接到P2的第二脚,也没有直接接在MCU的IO口上,目的也是防止IO口在做其他功能使用的时候,收到红外信号的干扰。
图8
8、USB采用PL_2303芯片,为28引脚的SSOP封装。如图9.
图9
实训二:跑马灯与按键输入
学生:吴磊 郑黄庆 阿不力孜
指导老师:王宜结
电子工程学院 电子信息工程
实训目的
掌握STM32项目开发流程;
学会画出算法流程图;
掌握按键、LED的控制编程;
实训内容
1、实现LED0和LED1交替闪烁,间隔300ms.
实训要求
用C语言实现算法;
建立工程项目,生成目标文件;
将目标文件编程下载到开发板,观察结果是否满足设计要求;
硬件设计
该实验的硬件电路在ALIENTEM Mini STM32开发板上默认是已经连接好了的。DS0接 PA8,DS1接PD2。所以在硬件上不需要动任何东西。其连接原理图如下:
五、软件程序
#include stm32f10x_map.h
#include stm32f10x_nvic.h
#include led.h
void LED_Init(void) //该函数的功能就是用来实现配置PA8和PD2为推挽输出 ,在配置STM32外设的时候,任何时候都要先使能该外设时钟
{
RCC-APB2ENR|=12; //使能PORTA时钟,APB2ENR是APB2总线上的外设时钟使能寄存器
RCC-APB2ENR|=15; //使能PORTD时钟//端口时钟的配置A和D 看一下寄存器APB2ENR各位的含义
GPIOA-CRH=0XFFFFFFF0;
GPIOA-CRH|=0//PA8 推挽输出
GPIOA-ODR|=18; //PA8 输出高
GPIOD-CRL=0XFFFFF0FF;
GPIOD-CRL|=0//PD.2推挽输出
GPIOD-ODR|=12; //PD.2输出高
}
该代码里面就包含了一个函数void LED_Init(void),该函数的功能就是用来实现配置,PA8和PD2为推挽输出。在配置STM32外设的时候,任何都要先使能该钟!APB2ENR是APB2总线上的外设时钟使能寄存器。
#include sys.h
#include usart.h
#include delay.h
#include led.h
int main(void)
{
Stm32_Clock_Init(9); //系
文档评论(0)