实验 1、流水灯实验
1.1 实验要求
编程控制实验板上 LED 灯轮流点亮、熄灭,中间间隔一定时间。
1.2 原理分析
实验主要考察对 STM32F10X 系列单片机 GPIO 的输出操作。
参阅数据手册可知,通过软件编程,GPIO 可以配置成以下几种模式:
◇输入浮空
◇输入上拉
◇输入下拉
◇模拟输入
◇开漏输出
◇推挽式输出
◇推挽式复用功能
◇开漏式复用功能
根据实验要求,应该首先将 GPIO 配置为推挽输出模式。
由原理图可知,单片机 GPIO 输出信号经过 74HC244 缓冲器,连接 LED
灯。由于 74HC244 的 OE1 和 OE2 都接地,为一样电平,故 A 端电平与 Y 端
电平一样且 LED 灯共阳,所以,如果要点亮 LED,GPIO 应输出低电平。反之,
LED 灯熄灭。
1.3 程序分析
软件方面,在程序启动时,调用 SystemInit()函数〔见附录 1〕,对系统
时钟等关键局部进展初始化,然后再对 GPIO 进展配置。
GPIO 配置函数为 SZ_STM32_LEDInit()〔见附录 2〕,函数中首先使能
GPIO 时钟:
RCC_APB2PeriphClockCmd(GPIO_CLK[Led], ENABLE);
2 / 12