完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
//采用数码管显示转换结果
#include "delay.h" #define Num_of_Results 32 static uint results[Num_of_Results]; uchar d[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00}; uchar d1[10]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef}; uchar a[5]={0xdf,0xef,0xf7,0xfb,0xff}; void main() { // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; //主系统时钟切换为外部高速晶振 if (CALBC1_8MHZ == 0xFF || CALDCO_8MHZ == 0xFF) { while(1); // If calibration constants erased, trap CPU!! } // Configure Basic Clock BCSCTL1 = CALBC1_8MHZ; // Set range DCOCTL = CALDCO_8MHZ; // Set DCO step + modulation*/ P1SEL |= BIT1+BIT0; // p1.0为A0 P1DIR&=~(BIT1+BIT0);// p1.0为输入 P2SEL=0X00;// p2为普通io口 ADC10CTL0= ADC10ON+ADC10SHT_2+MSC+ADC10IE+SREF_2; // ADC12ON打开ADC; //ADC10SHT_3设置采样时间,合适即可 //MSC设置多次采样 // 中断允许,IFG置位后会进入中断服务程序 ADC10CTL1= CONSEQ_2+INCH_0; //CONSEQ_2单通道多次转换 // INCH_0选择通道A0,可以不写,默认为A0 ADC10AE0|=0X03; ADC10SA=0X200; ADC10CTL0 |= ENC+ADC10SC; // 使能转换并且开始转换 ADC10CTL0&=~ADC10IFG;//清除中断标志位 _EINT();//打开中断 while(1); } //ADC中断服务函数,在这里用多次平均的 #pragma vector=ADC10_VECTOR __interrupt void ADC10ISR (void) { uchar i; uchar ptr[4]; P1DIR=0XFC;//p4作为输出 P2DIR=0XFF; static uint index = 0; results[index++] = ADC10MEM; if(index == Num_of_Results) { unsigned long sum = 0,real; index = 0; for(i = 0; i < Num_of_Results; i++) { sum += results; } sum >>= 5; //除以32求得平均值 real=3300*sum/1023;//扩大1000倍 ptr[3] = real / 1000; ptr[2] = (real - ptr[3]*1000)/100; ptr[1] = (real - ptr[3]*1000 - ptr[2]*100)/10; ptr[0] = (real - ptr[3]*1000 - ptr[2]*100 - ptr[1]*10); for(i=0;i<4;i++) { P1OUT=a; if(i==3) P2OUT=d1[ptr]; else P2OUT=d[ptr]; __delay_cycles(30000); P1OUT=a[4]; P2OUT=d[10]; } } } |
|
相关推荐
4 个讨论
|
|
忘了,不用430很多年,坑人啊。。。。。
|
|
|
|
|
|
请问这个问题解决了吗 |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
3052个成员聚集在这个小组
加入小组2966 浏览 1 评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3687 浏览 2 评论
请问怎么把下面51单片机的代码改成msp430 g2 pocket的代码,还有改下时间变成30秒
2364 浏览 1 评论
4829 浏览 1 评论
2590 浏览 1 评论
1367浏览 3评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3691浏览 2评论
2968浏览 1评论
1562浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 08:02 , Processed in 1.254151 second(s), Total 48, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号