



如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
#include"stc12c5a.h"//头文件在STC公司主页上下载 #include"stdio.h" #include"intrins.h" #defineucharunsignedchar //------------------------------------------------------------------------------ voidAD_init(); //AD初始化函数 voiddelay(unsignedinta); //延时函数 floatAD_work(unsignedcharchannel); //AD数值处理函数 unsignedintAD_get(unsignedcharchannel); //AD转换函数 unsignedcharsh1,ge1,n1,m1,aa; intnum,pwm,V,temp1; sbitPWM=P0^0; //定义PWM输出口为P0^0 sbitkey1=P0^1; sbitkey2=P0^2; //------------------------------------------------------------------------------ voidsend(uchardata1) { ES=0; //关闭中断 TI=0; SBUF=data1; while(!TI); //等待发送完成 TI=0; //中断标志位清0 ES=1; //打开中断 } voiddisplay() //串口发送AD { temp1=V; sh1=temp1/1000; ge1=(temp1%1000)/100; n1=((temp1%1000)%100)/10; send(sh1+48); send('.'); send(ge1+48); send(n1+48); send('V'); send(''); } //------------------------------------------------------------------------------ unsignedintAD_get(unsignedcharchannel) { ADC_CONTR=0x88|channel;//开启AD转换10001000即POWERSPEED1SPEED0ADC_FLAGADC_STARTCHS2CHS1CHS0 _nop_();_nop_();_nop_();_nop_();//要经过4个CPU时钟的延时,其值才能够保证被设置进ADC_CONTR寄存器 while(!(ADC_CONTR&0x10));//等待转换完成 ADC_CONTR&=0xe7;//关闭AD转换,ADC_FLAG位由软件清0 return(ADC_RES*4+ADC_RESL);//返回AD转换完成的10位数据(16进制) } //------------------------------------------------------------------------------ floatAD_work(unsignedcharchannel) { doubleAD_val,AD_vale;//定义处理后的数值AD_val为浮点数 unsignedchari; for(i=0;i<100;i++) AD_val+=AD_get(channel);//转换100次求平均值(提高精度) AD_val/=100; AD_vale=(AD_val*5000)/1024;//AD的参考电压是单片机上的5v,所以乘5即为实际电压值 V=AD_vale; returnV; } //------------------------------------------------------------------------------ voiddelay(unsignedinta)//延时约1ms { unsignedinti; while(--a!=0) for(i=600;i>0;i--); } //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ voidAD_init() { P1ASF=0xff;//P1口全部作为模拟功能AD使用 ADC_RES=0;//清零转换结果寄存器高8位 ADC_RESL=0

王子****青蛙
实名认证
内容提供者


最近下载