?? 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 + -