创龙教仪-木江鹏 · 3月14日 · 广东

嵌入式教学实验箱_操作教程:2-26 交通灯控制实验

一、实验目的

掌握GPIO引脚配置方法和定时器控制LED的原理,并实现交通灯的闪烁控制。

二、实验原理

StarterWare

StarterWare是一个免费的软件开发包,它包含了示例应用程序。StarterWare提供了一套完整的GPIO寄存器配置接口,简化了开发步骤,程序开发时只需要调用相应接口即可。

安装StarterWare 后,可在安装目录下找到 C6748 所有通用库函数和对应的源码(StarterWare的 drivers 目录下,部分位于其他相关目录下),同时可在安装目录docs 文件夹内找到所有库函数的使用方法。

image.png

硬件原理图

找到TRAFFIC LIGHT,可看到控制交通灯的GPIO管脚。当GPIO输出为高电平时,LED会点亮,输出低电平时,LED会熄灭。同时可以查看数码管的原理图,数码管会显示30秒倒计时。

image.png

image.png

数码管

数码管分为共阴极和共阳极两种类型,TL6748-PlusTEB实验箱使用的5461数码管为共阴极,是将八个LED的阴极连在一起,让其接地,这样给任何一个LED的另一端高电平,它便能点亮。

image.png

程序流程设计

程序流程设计中首先要进行外设使能和GPIO管脚复用,配置GPIO管脚为输出,然后进行定时器和DSP中断的初始化,最后设置交通灯的闪烁,同时数码管末两位显示30秒倒计时。

image.png

源码

方向配置源码

管脚方向配置。

使用StarterWare 库函数将 GPIO 口配置为输出模式。相关函数通过“gpio.h”文件引用。

StarterWare API 接口。

GPIODirModeSet(SOC_GPIO_0_REGS, 1, GPIO_DIR_OUTPUT);

将GPIO配置为输出的函数源码和函数使用说明可以查看gpio.c。其中,第一个参数时GPIO的基地址,第二个参数是GPIO的编号,第三个参数设置GPIO的方向。

image.png

数据配置源码

数据寄存器配置。

使用StarterWare 库函数设置GPIO输出值。

相关函数通过“gpio.h”文件引用。

StarterWare API 接口。

GPIOPinWrite(SOC_GPIO_0_REGS, 3, GPIO_PIN_LOW);

配置GPIO输出值的函数源码和函数使用说明可以查看gpio.c。其中,第一个参数是GPIO的基地址,第二个参数是GPIO的编号,第三个参数设置GPIO的电平。

image.png

数据配置源码

数据寄存器配置。

使用StarterWare 库函数设置GPIO输出值。

相关函数通过“gpio.h”文件引用。

StarterWare API 接口。

GPIOPinWrite(SOC_GPIO_0_REGS, 3, GPIO_PIN_LOW);

配置GPIO输出值的函数源码和函数使用说明可以查看gpio.c。其中,第一个参数是GPIO的基地址,第二个参数是GPIO的编号,第三个参数设置GPIO的电平。

image.png

三、操作现象

实验设备

本实验使用的硬件接口为交通灯和数码管,所需硬件为实验板、仿真器和电源。

image.png

硬件连接

(1)连接仿真器和电脑的USB接口,

(2)将拨码开关拨到DEBUG模式01111,

(3)连接实验箱电源,拨动电源开关上电。

image.png

软件操作

导入工程

编译工程

将CCS连接开发板并加载程序

点击运行程序

可以看到交通灯亮起(南北方向绿灯亮,东西方向红灯亮),同时数码管末两位开始30秒倒计时。设定南北方向为主干道方向,东西方向为支干道,当主干道绿灯亮时,支干道开始亮红灯,红灯持续亮30秒,主干道绿灯亮25秒,然后转为亮黄灯,持续5秒后,主干道转为亮红灯。

实验结束后,先点击黄色按钮暂停程序运行,再点击红色按钮退出CCS与实验箱的连接,最后实验箱断电即可。

image.png

推荐阅读
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息