以STM32单片机为控制核心的教学实验板的设计

2022-01-06 08:17李红岭杜彬杰杜新东谢飞飞田江龙
绿色科技 2021年23期
关键词:开发板按键电机

杨 浩,李红岭,杜彬杰,杜新东,谢飞飞,田江龙

(甘肃农业大学 机电工程学院, 甘肃 兰州 730070)

1 引言

51系列的MCU为8位处理器,运行速度慢,集成资源较少,采用冯诺依曼存储结构,需要外围电路[1~3],适合初学者,功能没有STM32强大,STM32为32位处理器采用哈佛结构,速度快,集成度高,有丰富的外围的接口,I2C、SPI、ADC、RTC、Timer、CRC、DMA、USART等多种外设,STM32单片机有固件函数库,所以程序模块化,接口简单[4,5]。

本实验开发板以STM32F103RCT6为控制核心,因为STM32F103RCT6具有64针脚256K字节的闪存存储器,并且每个I/O口具有两个32位配置寄存器,两个数据寄存器,每个I/O口有7种工作方式,系统时钟最大可达到72MHz、自带两个12位ADC转换器并且其每个最多有16个通道、4个16位通用定时器,两个高级定时器、内置RTC定时器用于计时,并板载多种实验电路,帮助同学们验证电子设计程序以及竞赛项目[6,9]。

2 硬件电路介绍

实验开发版以STM32F103RCT6单片机作为控制器,外围硬件电路为:时钟电路、电源电路、复位电路、跑马灯电路、按键输入电路、ADC转化电路、LCD显示电路、PWM波输出电路、I2C通信电路。STM32F103RCT6单片机通过按键电路、ADC、I2C接收信息处理后,发出信号给LED和LCD液晶屏幕给与显示,并输出PWM信号给电机使其做出相应的控制动作(图1)。

图1 实验板硬件组成框图

2.1 跑马灯实验电路

跑马灯实验的实验目的是让同学们了解I/O口

作为输出时其程序的配置过程,以及了解I/O的驱动能力,本实验板设置有两个LED显示电路,有不同的I/O口驱动,硬件电路上每个LED灯珠一段直接连接I/O口上另一端经电阻连接于电源正极,当I/O口输出低电平是LED导通并且发光,接口电路如图2所示。

图2 LED实验电路

2.2 按键实验电路

按键实验的实验目的是让同学们了解I/O口作为输入时的配置过程,以及如何通过程序来检测到按键状态。按键的一端接地一端直接连接在控制I/O上,接口电路如图3所示。

图3 按键实验电路

2.3 LCD显示实验电路

液晶显示模块为2.8吋的薄膜晶体管液晶显示器,通过STM32的普通I/O口模拟8080总线来控制TFTLCD并且支持65K色显示,显示分辨率为320×240。接口为16位的80并口,硬件接口电路如图4所示。

图4 LCD液晶显示接口电路

其中CS:TFTLCD片选信号。

WR:向TFTLCD写入数据。

RD:从TFTLCD读写数据。

D[15:0]:16位双向数据线。

RST:硬复位TFTLCD。

RS:命令/数据标志(0,读写命令:1,读写数据)。

2.4 PWM输出实验电路

PWM信号主要用以对电机或舵机控制本开发板中,专门设计了步进电机的舵机输出接口,步进电机包含转速控制端口和使能控制端、方向控制端,硬件接口电路如图5所示。

图5 PWM信号输出接口电路

3 软件设计

STM32的开发需要多个软件配合,编译软件为KEIL公司的MDK5,或是MDK4不同封装的芯片需要不同的软件,MDK5的功能是很强大的。使用C语言进行开发,集成编写、编译、连接、在线调试、仿真于一体。这里已最简单的跑马灯来介绍相关软件。

(1)定时器初始化流程图如图6所示。

图6 定时器初始化流程图

(2)PWM波输出主程序。

int main(void)

{

u16 led0pwmval=0;

u8 dir=1;

delay_init(); //延时函数初始化

...

while(1)

{

delay_ms(10);

if(dir)led0pwmval++;

else led0pwmval--;

if(led0pwmval>300)dir=0;

if(led0pwmval==0)dir=1;

TIM_SetCompare2(TIM3,led0pwmval);

}

}

4 结论

本次设计符合教学要求[10~12],实验内容与教学内容密切配合,实验开发板中板载了多种实验电路,并且为了降低学习难度,提高同学们的学习兴趣,每个实验都配套了实验程序,不仅可实现如跑马灯、按键、ADC模数转换、LCD显示、定时器的PWM波的输出以及I2C通信等传统的单片机教学课程内容实验,还有摄像头模块、音频输入输出、以太网接口、USB-HID接口、SD卡接口等基础教学内容中涉及不多的实验,可用于同学们的SRTP项目设计和竞赛培训,为学生电子协会活动等更深层次的学习提供便利[13~15]。

猜你喜欢
开发板按键电机
青岛高烽电机有限公司
《防爆电机》期刊
低压电机铸铝转子的改善及验证方案
基于有限状态机的按键检测程序设计
非触勿动 秒治键盘误触
基于Verilog语言的4位二进制可逆计数器的设计
开发板在单片机原理及接口技术课程教学中的应用
ARM宣布mbed Enabled Freescale FRDM—K64F开发板通过微软认证
电机Ⅱ个股表现
其实真的很简单教你轻松关闭WP8.1手机按键灯