教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 法律文档 >

MSP430x14x系列单片机程序实例(5)

来源:网络收集 时间:2026-09-04
导读: ADC12CTL0 |= ADC12SC; //开启转换 ADC12CTL0 //清零 Flag=0; //清零标志位 } } } 6、DAC5615-DAC直接控制测试程序 /******************************************************************** //DM430-A型开发板DAC

ADC12CTL0 |= ADC12SC; //开启转换 ADC12CTL0 &= ~ADC12SC; //清零

Flag=0; //清零标志位 } } }

6、DAC5615-DAC直接控制测试程序

/********************************************************************

//DM430-A型开发板DAC转换程序,板载TLC5615芯片,10位电压型DAC,5V供电 //程序控制方式采用模拟时序方式,模拟TLC5615时序进行操作,也可以用SPI方式操作 //DAC转换输出直接驱动LED发光二极管DS3,输出由暗变亮,再由亮变暗,循环 ********************************************************************/

#include

#include \ //开发板配置头文件,主要配置IO端口信息

//*********************************************************************** // MSP430IO口初始化

//*********************************************************************** void Port_Init() {

LED8SEL = 0x00; //设置IO口为普通I/O模式,此句可省 LED8DIR = 0xFF; //设置IO口方向为输出 LED8PORT = 0xFF; //P2口初始设置为FF

P3SEL = 0x00; //设置IO口为普通I/O模式,此句可省

P3DIR |= BIT1 + BIT3; //DIN管脚、SCLK管脚输出模式,DOUT输入模式 P3OUT = 0xFF; //初始值0xFF

P5SEL = 0x00; //设置IO口为普通I/O模式,此句可省 P5DIR |= BIT4; //CS管脚输出模式 P5OUT = 0xFF; //初始值0xFF }

//************************************************************************* // DAC转换程序

//************************************************************************* void DAC_Ser(uint data) {

uchar i;

uint DACDATA2;

DACCS0; //片选DAC,置低有效 SCLK0; //时钟信号拉低

for (i=0;i<16;i++) //尽管是10位DAC,但是其寄存器为16位,只有10位数据有效 {

DACDATA2=data&0x8000; //逐位取出 if(DACDATA2>>15) DIN1; else

DIN0;

SCLK1; //上升沿数据锁存 data<<=1; //移位 SCLK0; }

delay_us(10); DACCS1; SCLK0; }

//************************************************************************* // 主程序

//*************************************************************************

void main(void) {

uint DACDATA;

WDT_Init(); //看门狗初始化 Clock_Init(); //时钟初始化

Port_Init(); //端口初始化,用于控制IO口输入或输出

Close_LED(); while(1) {

for(DACDATA=0x000;DACDATA<0x3ff;DACDATA++) //连续转换,输出电压从小到大 {

DACDATA=DACDATA<<2;

DAC_Ser(DACDATA); //送入DAC进行转换 DACDATA=DACDATA>>2; delay_ms(2); }

//delay_ms(10);

for(DACDATA=0x3ff;DACDATA>0x00;DACDATA--) //连续转换,输出电压从大到小 {

DACDATA=DACDATA<<2;

DAC_Ser(DACDATA); //送入DAC进行转换 DACDATA=DACDATA>>2; delay_ms(2); } } }

7、DAC5615-SPI-DAC通过SPI接口控制测试程序

/********************************************************************

//DM430-A型开发板DAC转换程序,板载TLC5615芯片,10位电压型DAC,5V供电 //采用SPI控制方式驱动,使用SPI0,使用前需要先对SPI进行初始化

//DAC转换输出直接驱动LED发光二极管DS3,输出由暗变亮,再由亮变暗,循环 ********************************************************************/

#include

#include \ //开发板配置头文件,主要配置IO端口信息

//*********************************************************************** // MSP430IO口初始化

//*********************************************************************** void Port_Init() {

LED8SEL = 0x00; //设置IO口为普通I/O模式,此句可省 LED8DIR = 0xFF; //设置IO口方向为输出 LED8PORT = 0xFF; //P2口初始设置为FF

P3SEL |= 0x0E; //设置IO口为普通I/O模式,此句可省

P3DIR |= BIT1 + BIT3; //DIN管脚、SCLK管脚输出模式,DOUT输入模式 P3OUT = 0xFF; //初始值0xFF

P5SEL = 0x00; //设置IO口为普通I/O模式,此句可省 P5DIR |= BIT4; //CS管脚输出模式 P5OUT = 0xFF; //初始值0xFF }

/************************************************* 函数功能:SPI初始化,使用串口0工作在SPI模式下

操作内容:配置串口为SPI模式以及设置相关寄存器

*************************************************/

void SPI_Init(void) {

P3SEL |= 0x0E; //设置USART0相关IO口功能,CS片选设置为普通IO,3线SPI设置为第二功能 P3SEL &= ~0x11;

P3OUT |= 0x01; //初始化时设置CS为高,SD卡不选 P3DIR |= 0x1B; //对于输入输出方向,第二功能也需要配置 P3DIR |= BIT0;

UCTL0 = SWRST; // 配置SPI接口,初始化前需先置SWRST高

UTCTL0 = CKPH | SSEL1 | SSEL0 | STC; // SPI时钟为SMCLK, 3线模式(STE无效), UCLK延时半个周期, 数据在上升沿输出或输入锁存

UBR00 = 0x02; // 0x02: UCLK/2 (4 MHz), works also with 3 and 4

UBR10 = 0x00; // -\

UMCTL0 = 0x00; // SPI模式下,必须设置该寄存器为00 UCTL0 = CHAR | SYNC | MM | SWRST; // 8位SPI主机模式、复位状态

UCTL0 &= ~SWRST; // 配置完后清零SWRST,必须这样的过程,否则可能出现不可预料错误

ME1 |= USPIE0; // 使 …… 此处隐藏:2646字,全部文档内容请下载后查看。喜欢就下载吧 ……

MSP430x14x系列单片机程序实例(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/436083.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)