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)
2017-11-14 12:37 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|