⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 msp430f149-

📁 MSP430F149实验板实验代码
💻
字号:
/*********************************************************
*               SPI控制DA(TLC5620)同步通信       *
*                      SPI三线主模式                     *
*                        硬件连接图                      *
*                 P5.0----STE1----DA LOAD                *
*                 P5.1----SIMO1----DA DATA               *
*                 P5.2----SOMI1----DA LDAC               *
*                 P5.3----UCLK1----DA CLK                *
*                       采用的是:                        *
Figure 3. Load-Controlled Update Using 8-Bit Serial Word (LDAC = Low)
                     A1=0 A0=0 RNG=0 
*********************************************************/

#include <msp430x14x.h>

unsigned char a;
delay()
{ int i;
  for(i=0;i<30000;i++);
}

void main()
{ 
  WDTCTL = WDTPW + WDTHOLD;                 //关闭关门狗
  P5SEL = 0x0a; 		 	    //P5.1  5.3 用于spi模式
  P5DIR |=0x0f;                      	    //P5.0~P5.3为输出
  U1CTL = CHAR  + SYNC+MM + SWRST;          // CHAR:字符长度为1
                                            //SYNC:SPI模式
                                            //MM:主机模式
                                            //SWRST:控制位
  U1TCTL = CKPH+ SSEL0 + STC;              	    //CKPL+//CKPL:时钟相位控制位
                                            //SSEL1:时钟源选择位
                                            //STC:从机发送控制位    spi三线模式
  
  U1BR0 = 0x02;                             //波特率选择寄存器0     
  U1BR1 = 0x00;                             //波特率选择寄存器1     
  U1MCTL = 0x00;
  ME2 |= USPIE1;                            //模块使能
  U1CTL&=~SWRST;                            //开启SPI
  P5OUT |=BIT0+BIT2;                        //P5.0 P5.2 拉高
  P5OUT ^=0x04;                             //P5.2 拉低
  //给DA发数据    图形:锯齿波
  while(1)
  {
    //以下注释部分为产生锯齿波的程序
    for(a =0x00;a<0x7f;)
    {   
      U1TXBUF = a;
      while((IFG2&UTXIFG1)==0);             //USART1发送数据是否准备好
      a=a+1;
      P5OUT ^=0x01;                         //P5.0 拉低
      P5OUT |=BIT0;                         //P5.0 拉高
    }

    //以下程序为发光二极管程序
/*      for(a =0x30;a<0x50;)
    {   
      U1TXBUF = a;
      while((IFG2&UTXIFG1)==0);             //USART1发送数据是否准备好
      a=a+1;
      P5OUT ^=0x01;                         //P5.0 拉低
      P5OUT |=BIT0;                         //P5.0 拉高
      delay();
   
    }
*/
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -