课程一任务:点亮RGB,实现红色、绿色、蓝色的循环显示
用程序在开发板MSPM0L1306 LaunchPad实现RGB,红绿蓝三色LED灯的循环控制显示.
2 .相关部件:
LP-MSPM0L1306开发板,MicroUSB数据线,CCS软件和电脑。
3. 硬件原理:
开发板MSPM0L1306 LaunchPad:
硬件的实现原理:GPIO端口输出高电平驱动点亮相关LED灯。
开发板上RGB LED连接是要点亮LED需使用拉电流:LED共阴极,对应的引脚设置高电平就点亮该LED。
a.红灯亮:(PA26=1)&&(PA13=0)&&(PA27=0).
b.绿灯亮:(PA26=0)&&(PA13=1)&&(PA27=0).
c.蓝灯亮:(PA26=0)&&(PA13=0)&&(PA27=1).
4. 软件编写:
使用软件是TI原厂开发软件Code Composer Studio Version: 12.7.0.00007 ,可以在TI官网下载,同时安装相关的SDK和sysconfig软件:mspm0_sdk_2_00_00_03.exe; sysconfig-1.19.0_3426。
打开CCS软件,复制一个空工程文件,并打开使用Sysconfig图形配置软件来配置MCU接口资源。
sysconfig文件右侧列表可以作相关图形配置选项。 . RGBLED灯GPIO配置,其详细界面如下:
点击工具栏的锤子图标对建立的工程进行编译,编译无误在底部信息栏显示编译完成提示。
按照任务要求编写控制三色LED的循环显示代码:
首先宏定义LED工作:
#define LED_BLU(x) ((x)?(DL_GPIO_setPins(LEDRGB_BLU_PORT,LEDRGB_BLU_BLU_PIN_PIN)):(DL_GPIO_clearPins(LEDRGB_BLU_PORT,LEDRGB_BLU_BLU_PIN_PIN))); //蓝灯GPIO端口开关
#define LED_RED(x) ((x)?(DL_GPIO_setPins(LEDRGB_RED_PORT,LEDRGB_RED_RED_PIN_PIN)): (DL_GPIO_clearPins(LEDRGB_RED_PORT,LEDRGB_RED_RED_PIN_PIN))); //红灯GPIO端口开关
#define LED_GRE(x) ((x)?(DL_GPIO_setPins(LEDRGB_GRE_PORT,LEDRGB_GRE_GRE_PIN_PIN)):(DL_GPIO_clearPins(LEDRGB_GRE_PORT,LEDRGB_GRE_GRE_PIN_PIN))); //绿灯GPIO端口开关
主程序如下:
int main(void)
{
SYSCFG_DL_init();
while (1)
{
LED_BLU(1); //PA13= 1
LED_RED(0); //PA26= 0
LED_GRE(0); //PA27= 0
delay_cycles(3200000);
LED_BLU(0); //PA13= 0
LED_RED(1); //PA26= 1
LED_GRE(0); //PA27= 0
delay_cycles(3200000);
LED_BLU(0); //PA13= 0
LED_RED(0); //PA26= 0
LED_GRE(1); //PA27= 1
delay_cycles(3200000);
}
}
点击工具栏的锤子图标调试和编译,编译成功后点击工具栏的向下箭头图标下载到开发板运行。
5. 运行结果图片如下:三种颜色LED灯顺序点亮,