MSP430单片机AD转换实验.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

..

..word..

A/D转换实验

一、转换原理

MSP430F149的A/D转换器原理请参考相关书籍。

实验板上与AD相关的硬件电路:

编程工作实际就是对以下存放器的操作:

存放器类型

存放器缩写

存放器的含义

转换控制

存放器

ADC12CTL0

转换控制存放器0

ADC12CTL1

转换控制存放器1

中断

控制

存放器

ADC12IFG

中断标志存放器

ADC12IE

中断使能存放器

ADC12IV

中断向量存放器

存储

及其

控制存放器

ADC12MCTL0~ADC12MCTL15

存储控制存放器0~15

ADC12MEM0~

ADC12MEM15

存储存放器0~15

设计主程序和中断效劳程序。

二、转换程序

1、程序1:转换结果发送到PC

主程序中进展A/D初始化,中断效劳程序读A/D转换结果,主程序中通过串口发送结果。

“main.c〞主程序与中断程序:

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

程序功能:将ADC对P6.0端口电压的转换结果按转换数据和对应的

模拟电压的形式通过串口发送到PC机屏幕上显示

-----------------------------------------------------------

通信格式:N.8.1,9600

-----------------------------------------------------------

测试说明:翻开串口调试精灵,正确设置通信格式,观察接收数据

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

#includemsp430.h

#includeallfunc.h

#includeUART0_Func.c

#includeADC_Func.c

#defineNum_of_Results32

uintresults[Num_of_Results];//保存ADC转换结果的数组

uintaverage;

uchartt=0;

/***********************主函数***********************/

voidmain(void)

{

uchari;

ucharbuffer[5];

WDTCTL=WDTPW+WDTHOLD;//关狗

/*下面六行程序关闭所有的IO口*/

P1DIR=0XFF;P1OUT=0XFF;

P2DIR=0XFF;P2OUT=0XFF;

P3DIR=0XFF;P3OUT=0XFF;

P4DIR=0XFF;P4OUT=0XFF;

P5DIR=0XFF;P5OUT=0XFF;

P6DIR=0XFF;P6OUT=0XFF;

P6DIR|=BIT2;P6OUT|=BIT2;//关闭电平转换

P6DIR|=BIT6;P6OUT=~BIT6;//关闭数码管显示

InitUART();

Init_ADC();

_EINT();

buffer[4]=\0;

while(1)

{

LPM1;

Hex2Dec(average,buffer);

for(i=0;i4;i++)

buffer[i]+=0x30;

PutString0(Thedigitalvalueis:);

PutString(buffer);

Trans_val(average,buffer);

buffer[3]=buffer[2];

buffer[2]=buffer[1];

文档评论(0)

192****6176 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档