【DSP】手把手新建CCS工程(点亮一个LED灯),基于TMS320F28335

目录

准备环节

新建工程

编写程序

实验现象


如果已经安装好ccs和c2000ware或有支持库的话可以跳过准备环节

准备环节

【DSP】安装CCS软件和支持库文件_田甲的博客-CSDN博客

新建工程

【DSP】新建工程,基于TMS320F28335_田甲的博客-CSDN博客

编写程序

打开原理图

LED1灯被接到开发板的GPIO68引脚,属于GPIOC,且有外部上拉电阻。

编写主函数

/**
 * main.c
 */
#include "DSP2833x_Device.h"     // DSP2833x Headerfile Include File
#include "DSP2833x_Examples.h"   // DSP2833x Examples Include File


int main(void)
{
    InitSysCtrl();

    EALLOW;
    SysCtrlRegs.PCLKCR3.bit.GPIOINENCLK=1;
    GpioCtrlRegs.GPCPUD.bit.GPIO68=0;           //关闭上拉
    GpioCtrlRegs.GPCDIR.bit.GPIO68=1;                      //输出模式
    GpioCtrlRegs.GPCMUX1.bit.GPIO68=0;          //作为普通GPIO模式
    EDIS;


    while(1)
    {
        GpioDataRegs.GPCTOGGLE.bit.GPIO68=1;    //led引脚电平翻转
        DELAY_US(50*1000);                     //延时500ms
    }

	return 0;
}

实验现象

点击烧录,生成的目标文件会下载到dsp的ram中,此时可以看到目标板上的LED灯以50ms的延时在闪烁。

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
你好,我可以回答这个问题。使用 CCS 编写数字时钟的代码如下: ```c #include <msp430.h> #define LED1 BIT #define LED2 BIT6 #define LED3 BIT1 #define LED4 BIT5 #define LED5 BIT7 #define LED6 BIT2 #define LED7 BIT4 #define LED8 BIT3 void delay(void) { volatile unsigned int i; for (i = ; i < 20000; i++); } void display(int num) { switch (num) { case : P1OUT = LED1 | LED2 | LED3 | LED5 | LED6 | LED7; break; case 1: P1OUT = LED3 | LED5; break; case 2: P1OUT = LED1 | LED3 | LED4 | LED6 | LED7; break; case 3: P1OUT = LED1 | LED3 | LED4 | LED5 | LED7; break; case 4: P1OUT = LED2 | LED3 | LED4 | LED5; break; case 5: P1OUT = LED1 | LED2 | LED4 | LED5 | LED7; break; case 6: P1OUT = LED1 | LED2 | LED4 | LED5 | LED6 | LED7; break; case 7: P1OUT = LED1 | LED3 | LED5; break; case 8: P1OUT = LED1 | LED2 | LED3 | LED4 | LED5 | LED6 | LED7; break; case 9: P1OUT = LED1 | LED2 | LED3 | LED4 | LED5 | LED7; break; default: break; } } void main(void) { WDTCTL = WDTPW + WDTHOLD; P1DIR |= LED1 | LED2 | LED3 | LED4 | LED5 | LED6 | LED7 | LED8; P1OUT &= ~(LED1 | LED2 | LED3 | LED4 | LED5 | LED6 | LED7 | LED8); while (1) { int hour, minute, second; for (hour = ; hour < 24; hour++) { for (minute = ; minute < 60; minute++) { for (second = ; second < 60; second++) { display(hour / 10); P1OUT |= LED8; delay(); P1OUT &= ~LED8; display(hour % 10); P1OUT |= LED7; delay(); P1OUT &= ~LED7; display(minute / 10); P1OUT |= LED6; delay(); P1OUT &= ~LED6; display(minute % 10); P1OUT |= LED5; delay(); P1OUT &= ~LED5; display(second / 10); P1OUT |= LED4; delay(); P1OUT &= ~LED4; display(second % 10); P1OUT |= LED3; delay(); P1OUT &= ~LED3; } } } } } ``` 这个代码使用 MSP430 微控制器控制 8 个 LED ,实现了一个数字时钟。时钟会不断循环显示当前的时间,每个数字都会持续显示 1 秒钟。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值