#include <msp430x14x.h>
#include "cry1602.h"
#define uchar unsigned char
#define uint unsigned int
#define CPU_F ((double)8000000) //MCLK 8MHZ
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))
#define set_sclk P1OUT |=BIT1;
#define clr_sclk P1OUT &=~BIT1;
#define set_cs P1OUT |=BIT2;
#define clr_cs P1OUT &=~BIT2;
#define set_fs P1OUT |=BIT3;
#define clr_fs P1OUT &=~BIT3;
void tlv5636(uint dac_data) //TLV5636子函数的调用
{
char i=0;
uint send_data;
dac_data |=0x4000;
set_cs; //时序的设置
clr_fs;
set_fs;
delay_us(2);
clr_cs;
clr_fs;
for(i=0;i<16;i++) //输出电压值的读取
{
send_data=(dac_data<<i)&0x8000;
if(send_data==0x8000)
P1OUT |=BIT0;
else
P1OUT &=~BIT0;
clr_sclk; set_sclk;
}
set_sclk;
set_fs;
set_cs;
delay_us(10);
}
int main( void )
{
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer to prevent time out reset
LcdReset();
clock();
P1DIR |=BIT0+BIT1+BIT2+BIT3;
tlv5636(0xd002); //设置内部基准电压 (d(1101)表示对DAC内部设置寄存器的设置
//(1表示基准电压为1.024v,工作在3.3V的情况下)
tlv5636(0x0fff); //输入DAC电压值(4表示对DAC的数据寄存器进行设置,
//200(16进制)为电压值)out_voltage=2*ref*code/4096;
while(1);
}
以上是网上找到的MSP430驱动DAC代码,所用芯片是tlv5636,,,请问大神这段代码能不能移植到mini板子上用?该如何移植?
|