单片机ad程序【经典C语言】

单片机ad程序【经典C语言】

ID:40633388

大小:19.00 KB

页数:3页

时间:2019-08-05

单片机ad程序【经典C语言】_第1页
单片机ad程序【经典C语言】_第2页
单片机ad程序【经典C语言】_第3页
资源描述:

《单片机ad程序【经典C语言】》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、AD采样转换程序/*************************************************************程序功能:对P6.0对应的模拟通道进行多次转换后,将32次平均值在数码管上显示(数码管显示的只是ADC的转换结果而不是真实的模拟电压)--------------------------------------------------------------特别说明:如果不进行32次平均,我们会看到最低位不停的跳变。-------------------------------

2、-------------------------------测试说明:调节电位器R7的调整旋钮,观察显示数字的变化*************************************************************/#include#include"BoardConfig.h"uintResults[32];//存放ADC的转换结果uintAverage;//数码管7位段码:0--fucharscandata[16]={0x3f,0x06,0x5b,0x4f,0x

3、66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};ucharDispBuf[4]={0,0,0,0};//记录显示位数的全局变量ucharcnt=0;voidmain(void){WDTCTL=WDT_ADLY_1_9;//设置内部看门狗工作在定时器模式,1.9ms中断一次IE1

4、=WDTIE;//使能看门狗中断BoardConfig(0x88);//打开数码管,关闭流水灯和电平转换P6SEL

5、=BIT1;//EnableA/DchannelA0/

6、/ADC12CTL0是转换控制类寄存器ADC12CTL0=ADC12ON+SHT0_15+MSC;//TurnonADC12,setsamplingtimeADC12MCTL1

7、=INCH_1;//INCH-1选择模拟通道(0~3;该四位所标示的值为所选择的模拟输入通道,可能是p6的位)ADC12CTL1=CSTARTADD0+SHP+CONSEQ_2;//CSTARTADD0转换起始地址SHP采样保持脉冲模式选择CONSEQ_2转换模式选择位Usesamplingtimer,setmodeADC12IE=BIT1

8、;//EnableADC12IFG.0ADC12CTL0

9、=ENC;//Enableconversions,ENC转换允许位ADC12CTL0

10、=ADC12SC;//Startconversion,ADC12SC转换开始位P4DIR=0xff;P5DIR=0xff;_EINT();while(1){_BIS_SR(LPM0_bits+GIE);//EnterLPM0,EnableinterruptsDispBuf[0]=Average/1000;//更新数码管显示DispBuf[1]=(Average-DispBu

11、f[0]*1000)/100;DispBuf[2]=(Average-DispBuf[0]*1000-DispBuf[1]*100)/10;DispBuf[3]=(Average-DispBuf[0]*1000-DispBuf[1]*100-DispBuf[2]*10);}}/*******************************************函数名称:ADC12ISR功能:ADC12的中断服务函数参数:无返回值:无*****************************************

12、***/#pragmavector=ADC_VECTOR__interruptvoidADC12ISR(void){staticucharindex=0;Results[index++]=ADC12MEM1;//Moveresults,IFGisclearedif(index==31){uchari;Average=0;for(i=0;i<32;i++)Average+=Results[i];Average>>=5;//除以32求平均值index=0;_BIC_SR_IRQ(LPM0_bits);//ClearLP

13、M0}}/*******************************************函数名称:watchdog_timer功能:看门狗中断服务函数,在这里输出数码管的段选和位选信号参数:无返回值:无********************************************/#pragmavector=WDT_VECTOR__inte

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

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

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