完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
采用的是lcd1602液晶显示,其中,显示的是两通道之和的值
#define Num_of_Results 32 uint results[Num_of_Results]; uchar d[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00}; uchar d1[11]={0xbf,0x86,0xdb,0xcf,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00}; uchar a[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; void main() { // Stop watchdog timer to prevent time out reset uchar j; WDTCTL = WDTPW + WDTHOLD; //使用外部高频晶体振荡器 BCSCTL1&=~XT2OFF; do{ IFG1&=~OFIFG; for(j=0XFF;j>0;j--); }while((IFG1&OFIFG)); BCSCTL2|=SELM_2; P6DIR&=~(BIT0+BIT1); P6SEL |= BIT0+BIT1; // 使能ADC通道 ADC12CTL0 = ADC12ON+SHT0_8+MSC; // ADC12ON打开ADC, //SHT0_8设置采样时间,合适即可 //MSC设置多次采样 ADC12CTL1 = CSTARTADD_0+CSTARTADD_1+SHP+CONSEQ_3; // CSTARTADD_3让采样结果保存在ADC12MEM3中 //CONSEQ_2单通道多次转换 //SHP使用采样定时器 ADC12IE = BIT0+BIT1;// 中断允许,IFG置位后会进入中断服务程序 ADC12MCTL0=INCH_0;//通道A1 默认SERF为0,即参考0-AVCC ADC12MCTL1=INCH_1;//通道A1 默认SERF为0,即参考0-AVCC ADC12CTL0 |= ENC+ADC12SC; // 使能转换并且开始转换 ADC12IFG=0; _EINT();//打开中断 while(1); } //ADC中断服务函数,在这里用多次平均的 #pragma vector=ADC_VECTOR __interrupt void ADC12ISR (void) { static uint index = 0; uint i,j; uchar ptr[4]; P4DIR=0XFF;//p4作为输出 P5DIR=0XFF; P6DIR=0XFF; results[index++] = ADC12MEM0+ADC12MEM1; // 必须和CSTARTADD_3一样 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/4095;//扩大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++) { P4OUT=d[10]; P5OUT|=BIT5;//设置p5.5为高电平 P4OUT=a; P5OUT^=BIT5;//设置p5.5为低电平 P6OUT|=BIT6; if(i==3) P4OUT=d1[ptr]; else P4OUT=d[ptr]; for(j=0;j<1000;j++); P4OUT=d[10]; P6OUT^=BIT6; } } ADC12IFG=0; } |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
请问一个迭代法图形二值化的程序代码把宽改成240之后整个屏幕不显示是什么原因?
2673 浏览 0 评论
2665 浏览 1 评论
1902 浏览 1 评论
2056 浏览 2 评论
2620 浏览 2 评论
732浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 17:47 , Processed in 0.613122 second(s), Total 74, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号