STC15F2K60S2的ad转换。
单片机源程序如下:
- #include<STC15F2K60S2.H>
- #define uchar unsigned char
- #define uint unsigned int
- sbit wei1=P3^4;
- sbit wei2=P3^5;
- sbit wei3=P3^6;
- sbit wei4=P3^7;
- uchar code duan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
- uint num=0;
- void delay()
- {
- uchar i,j;
- for(i=0;i<20;i++)
- for(j=0;j<250;j++);
- }
- void adval()//ad转换函数
- {
- uint val;//存放ad转换结果
- uchar low;//存放ad转换结果低两位
- float fval;//小数
- P1ASF=0X08;//p1.3为ad转换kou
- ADC_CONTR=0xeb;//打开ad转换电源速度最快输出端p1.3;
- delay();
- while(ADC_CONTR&0X10==0);
- val=ADC_RES;//取转换结果高八位放入
- val<<=2;//空出第八位
- low=ADC_RESL;
- low&=0x03;
- val+=low;
- fval=val;
- fval*=5;
- fval/=1024;
- fval*=10;
- num=fval;
- ADC_CONTR=0xeb;
- }
- void display()
- {
- uchar bai,shi,ge;
- uint temp=num;
- bai=temp/100;
- temp=temp%100;
- shi=temp/10;
- ge=temp%10;
- P2=duan[bai];wei2=0;delay();wei2=1;
- P2=duan[shi]&0x7f;wei3=0;delay();wei3=1;
- P2=duan[ge];wei4=0;delay();wei4=1;
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
AD转换.zip
(22.56 KB, 下载次数: 418)
|