MSP430单片机AD转换实验.doc

MSP430单片机AD转换实验.doc

ID:56125350

大小:78.50 KB

页数:15页

时间:2020-06-20

MSP430单片机AD转换实验.doc_第1页
MSP430单片机AD转换实验.doc_第2页
MSP430单片机AD转换实验.doc_第3页
MSP430单片机AD转换实验.doc_第4页
MSP430单片机AD转换实验.doc_第5页
资源描述:

《MSP430单片机AD转换实验.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、A/D转换实验一、转换原理MSP430F149的A/D转换器原理请参考相关书籍。实验板上与AD相关的硬件电路:编程工作实际就是对以下寄存器的操作:寄存器类型寄存器缩写寄存器的含义转换控制寄存器ADC12CTL0转换控制寄存器0ADC12CTL1转换控制寄存器1中断控制寄存器ADC12IFG中断标志寄存器ADC12IE中断使能寄存器ADC12IV中断向量寄存器存储及其控制寄存器ADC12MCTL0~ADC12MCTL15存储控制寄存器0~15ADC12MEM0~ADC12MEM15存储寄存器0~15设计主程序和中断服务程序。二、转换程序1、程序1

2、:转换结果发送到PC主程序中进行A/D初始化,中断服务程序读A/D转换结果,主程序中通过串口发送结果。“main.c”主程序与中断程序:/*********************************************************程序功能:将ADC对P6.0端口电压的转换结果按转换数据和对应的模拟电压的形式通过串口发送到PC机屏幕上显示-----------------------------------------------------------通信格式:N.8.1,9600---------------------

3、--------------------------------------测试说明:打开串口调试精灵,正确设置通信格式,观察接收数据**********************************************************/#include#include"allfunc.h"#include"UART0_Func.c"#include"ADC_Func.c"#defineNum_of_Results32uintresults[Num_of_Results];//保存ADC转换结果的数组uinta

4、verage;uchartcnt=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;P6OU

5、T=0XFF;P6DIR

6、=BIT2;P6OUT

7、=BIT2;//关闭电平转换P6DIR

8、=BIT6;P6OUT&=~BIT6;//关闭数码管显示InitUART();Init_ADC();_EINT();buffer[4]='';while(1){LPM1;Hex2Dec(average,buffer);for(i=0;i<4;i++)buffer[i]+=0x30;PutString0("Thedigitalvalueis:");PutString(buffer);Trans_val(average,buffer);buffer[3]=

9、buffer[2];buffer[2]=buffer[1];buffer[1]=0x2e-0x30;for(i=0;i<4;i++)buffer[i]+=0x30;PutString0("Theanalogvalueis:");PutString(buffer);}}/*******************************************函数名称:ADC12ISR功能:ADC中断服务函数,在这里用多次平均的计算P6.0口的模拟电压数值参数:无返回值:无***************************************

10、*****/#pragmavector=ADC_VECTOR__interruptvoidADC12ISR(void){staticucharindex=0;results[index++]=ADC12MEM0;//Moveresultsif(index==Num_of_Results){uchari;average=0;for(i=0;i>=5;//除以32index=0;tcnt++;if(tcnt==250)//主要是降低串口发送速度{LP

11、M1_EXIT;tcnt=0;}}}“ADC_Func.c”A/D转换相关程序:#includetypedefunsignedin

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。