4416|0

329

帖子

0

TA的资源

纯净的硅(初级)

楼主
 

【MSP430共享】MC430F14例程:ADC12+LCD显示 [复制链接]

【例程简介】: 利MC430F14开发板实现ADC12模块进行数据采集,然后将采集到的数据经转换处理后在LCD12232模块上显示所测量到的值。实验时可以调节外部电位器来查看结果。
【例  程】:
//基于MC430F14开发板实验例程 
# include <msp430x14x.h>
# include "lcd_ch.h"
//****************************************************
//定义区
unsigned int value; 
unsigned char ADVAL[5]={'x','x','x','x','\0'};
unsigned char number_tab[]={'0','1','2','3','4','5','6','7','8','9'};
 

//****************************************************
//说明:实验标题1,应用单实形式发送.
void send_title() //标题显示
{ //sendCMD(DDRAM_0); //DDRAM
 sendCMD(off_cursor); //关光标
 sendCMD(LCD_L21); 
 display(LCD_L21,0xBD,0xE1); //结
 display(LCD_L22,0xB9,0xFB); //果
 sendDAT('A'); sendDAT('D'); sendDAT('7'); sendDAT('=');


//****************************************************
//说明:单片机初始化
void init(void)
{ initlcm(); //LCD初始化
 char_string (title,LCD_L11); //发送本实验标题1
 send_title(); //发送本实验标题2
 sendCMD(off_cursor); //关光标

//ADC12初始化----------------------
//单通道,单次采样模式
 P6SEL |= 0x80; //使能A/D通道 A7
 ADC12CTL0 = ADC12ON + SHT0_2; //开ADC12内核和设置SHIT0=2(N=4)
 ADC12CTL1 |= SHP; //SAMPCON信号选择为采样定时器输出
 ADC12CTL1 |= CSTARTADD_7; //定义单次转换地址
 ADC12MCTL7 |= INCH_7;
 //ADC12MCTL0 = SREF_2; // 使用外部参考电压 Vr+ = VeREF+
 ADC12CTL0 |= ENC; //ADC转换允许

//Timer_A初始化--------------------
 P1DIR = 0x02;
 CCR0 = 1638-1;
 CCTL0 = CCIE;
 TACTL = TASSEL_1+MC_1; //timerA CLK=ACLK,增计数模式
 _EINT(); //开总中断
}

//****************************************************
//说明:数值转换
void conv(unsigned int intdata, unsigned char *pc)
{ unsigned int a,b,c;
 pc[0]=number_tab[intdata/1000] ;
 a=intdata%1000 ; 
 pc[1]=number_tab[a/100] ;
 b=a%100 ;
 pc[2]=number_tab[b/10] ;
 c=b%10;
 pc[3]=number_tab[c/1] ;
}

//****************************************************
//TimerA0中断服务程序
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_a(void)
{
 LPM0_EXIT;


//----------------------------------------------------
void main(void)
{ WDTCTL=WDTPW+WDTHOLD; //停止WDT
 init();
 LPM3;
 while(1)
 { ADC12CTL0 |= ADC12SC; // 开始转换
  while((ADC12IFG & BIT7)==0);
 _NOP(); 
  P1OUT ^= BIT1; //反转 P1.1 
  value=ADC12MEM7; // 读取结果
  conv(value,ADVAL); //数据转换调用
 char_string (ADVAL,LCD_L25); //发送本实验标题1
 LPM3;
 }
}
 
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表