8伏稳定开关电源模块的设计_毕业论文设计(编辑修改稿)内容摘要:

define uint unsigned int void cor_ya(uint yazhi0,uint yazhi1)。 void displays()。 uint DISPLAY1。 //数码管显 示数 uint DISPLAY2。 uint DISPLAY3。 uint DISPLAY4。 uint display0。 //AD转换存储值 uint display1。 uint display2。 uint display3。 uchar count=0。 static uchar adc_flag=0。 int results[4]={0}。 float AD0=0,AD1=0,AD2=0,AD3=0。 int main( void ) { WDTCTL = WDTPW + WDTHOLD。 //关闭看门狗 int_clk()。 //初始化时钟 int_adc()。 //初始化 AD转换 PWM_INT()。 //初始化 PWM int_shuma_io()。 //初始化数码管 int_timer()。 //定时器 A初始化 _EINT()。 while(1) { displays()。 } } pragma vector=TIMERA1_VECTOR __interrupt void Timer_A(void) { switch(TAIV) { case 2:break。 case 4:break。 case 10: if(adc_flag==0) { ADC12CTL0 |= ADC12SC。 德州学院 机电工程系机械设计制造及其自动化专业 毕业论文(设计) 8 ADC12CTL0 amp。 =~ADC12SC。 }。 break。 default: break。 } } pragma vector=ADC_VECTOR __interrupt void ADC12ISR(void) { while((ADC12CTL1amp。 0X01)==1)。 //等待转换完成 adc_flag=1。 results[0] =ADC12MEM0。 //读取转换值 0 results[1] =ADC12MEM1。 //读取转换值 1 results[2] =ADC12MEM2。 //读取转换值 2 results[3] =ADC12MEM3。 //读取转换值 3 } void displays(void) { while(adc_flag) { AD0+=results[0]。 AD1+=results[1]。 AD2+=results[2]。 AD3+=results[3]。 count++。 if(count==100) { //AD=AD/100本来是要除 100,但是为了取的 ADC小数的后两位的 BCD码还要在乘于 100,所以就除 10 AD0=(AD0*)/3100。 AD1=(AD1*)/3100。 AD2=(AD2*)/3100。 AD3=(AD3*)/3100。 display0=AD0。 //保持采样值 0 display1=AD1。 //保持采样值 1 display2=AD2。 //保持采样值 2 display3=AD3。 //保持采样值 3 count=0。 results[0]=0。 results[1]=0。 results[2]=0。 results[3]=0。 AD0=0。 AD0=1。 AD0=2。 AD0=3。 } adc_flag=0。 } DISPLAY1=display0/1000%10。 //计算电压的十位数据 德州学院 机电工程系机械设计制造及其自动化专业 毕业论文(设计) 9 DISPLAY2=display0/100%10。 //计算电压的个位数据 DISPLAY3=display0/10%10。 //得到小数的后一位 DISPLAY4=display0%10。 //得到小数的后两位 cor_ya(display0,display1)。 show(DISPLAY1,4)。 show(DISPLAY2,5)。 show(DISPLAY3,6)。 show(DISPLAY4,7)。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。