一、实验目的 掌握GPIO引脚配置方法和定时器控制LED的原理,并实现交通灯的闪烁控制。 二、实验原理StarterWareStarterWare是一个免费的软件开发包,它包含了示例应用程序。StarterWare提供了一套完整的GPIO寄存器配置接口,简化了开发步骤,程序开发时只需要调用相应接口即可。 安装StarterWare 后,可在安装目录下找到 C6748 所有通用库函数和对应的源码(StarterWare的 drivers 目录下,部分位于其他相关目录下),同时可在安装目录docs 文件夹内找到所有库函数的使用方法。 硬件原理图找到TRAFFIC LIGHT,可看到控制交通灯的GPIO管脚。当GPIO输出为高电平时,LED会点亮,输出低电平时,LED会熄灭。同时可以查看数码管的原理图,数码管会显示30秒倒计时。 数码管数码管分为共阴极和共阳极两种类型,TL6748-PlusTEB实验箱使用的5461数码管为共阴极,是将八个LED的阴极连在一起,让其接地,这样给任何一个LED的另一端高电平,它便能点亮。 程序流程设计程序流程设计中首先要进行外设使能和GPIO管脚复用,配置GPIO管脚为输出,然后进行定时器和DSP中断的初始化,最后设置交通灯的闪烁,同时数码管末两位显示30秒倒计时。 源码方向配置源码 管脚方向配置。 使用StarterWare 库函数将 GPIO 口配置为输出模式。相关函数通过“gpio.h”文件引用。 StarterWare API 接口。 GPIODirModeSet(SOC_GPIO_0_REGS, 1, GPIO_DIR_OUTPUT); 将GPIO配置为输出的函数源码和函数使用说明可以查看gpio.c。其中,第一个参数时GPIO的基地址,第二个参数是GPIO的编号,第三个参数设置GPIO的方向。 数据配置源码 数据寄存器配置。 使用StarterWare 库函数设置GPIO输出值。 相关函数通过“gpio.h”文件引用。 StarterWare API 接口。 GPIOPinWrite(SOC_GPIO_0_REGS, 3, GPIO_PIN_LOW); 配置GPIO输出值的函数源码和函数使用说明可以查看gpio.c。其中,第一个参数是GPIO的基地址,第二个参数是GPIO的编号,第三个参数设置GPIO的电平。 数据配置源码 数据寄存器配置。 使用StarterWare 库函数设置GPIO输出值。 相关函数通过“gpio.h”文件引用。 StarterWare API 接口。 GPIOPinWrite(SOC_GPIO_0_REGS, 3, GPIO_PIN_LOW); 配置GPIO输出值的函数源码和函数使用说明可以查看gpio.c。其中,第一个参数是GPIO的基地址,第二个参数是GPIO的编号,第三个参数设置GPIO的电平。 三、操作现象实验设备本实验使用的硬件接口为交通灯和数码管,所需硬件为实验板、仿真器和电源。 硬件连接 (1)连接仿真器和电脑的USB接口, (2)将拨码开关拨到DEBUG模式01111, (3)连接实验箱电源,拨动电源开关上电。 软件操作 导入工程 编译工程 将CCS连接开发板并加载程序 点击运行程序 可以看到交通灯亮起(南北方向绿灯亮,东西方向红灯亮),同时数码管末两位开始30秒倒计时。设定南北方向为主干道方向,东西方向为支干道,当主干道绿灯亮时,支干道开始亮红灯,红灯持续亮30秒,主干道绿灯亮25秒,然后转为亮黄灯,持续5秒后,主干道转为亮红灯。 实验结束后,先点击黄色按钮暂停程序运行,再点击红色按钮退出CCS与实验箱的连接,最后实验箱断电即可。
|