第一次學習也是第一次使用STC15F2K60S2進行AD轉換,感覺比之前用89c52加AD芯片好用多了,雖然中間走了很多彎路,但是最終還是成功了,分享給那些和我一樣剛學習單片機的童鞋們,希望能夠幫到你們!
單片機源程序如下:
- #include "STC15F2K60S2.h"
- #include "ADC.h"
- unsigned int ADC_DATE1,ADC_DATE2;
- bit flag;
- void delay(unsigned int sec) //延時函數
- {
- while(sec--);
- }
- void Init_ADC() //ADC初始化
- {
- P1ASF=0X80; //將P1口設為ADC轉換功能;
- ADC_RES=0X00;
- ADC_RESL=0X00; //清除轉換結果寄存器
- ADC_CONTR|=ADC_Power|ADC_Speed90; //打開ADC電源,ADC轉換速率90個機器周期,ADC通道為P1^7;111
- delay(5000);
- EA=1;
- EADC=1;
- }
- unsigned int ADC_Chang(unsigned char ch)
- {
- unsigned int result;
- EADC=1;
- delay(6000);
- ADC_CONTR|=ADC_Power|ADC_Speed90|ADC_Start|ch; //啟動AD轉換
- while(flag)
- {
-
- ADC_DATE1=ADC_DATE1<<2;
- ADC_DATE2=ADC_DATE2&0x03;
- result=ADC_DATE1|ADC_DATE2;
- flag=0;
- }
- EADC=0;
- return result;
- }
- void interrupt_ADC() interrupt 5
- {
- ADC_CONTR&=(~ADC_flag);
- ADC_DATE1=ADC_RES;
- ADC_DATE2=ADC_RESL;
- flag=1;
- }
復制代碼
下載:
基于STC15F2K60S2的內部AD轉換程序(1602顯示).rar
(38.55 KB, 下載次數: 73)
2020-8-17 10:29 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|