⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 moshu.c

📁 stc的AD键盘显示程序,可以检测电压
💻 C
字号:
#include <reg52.h>
#define uchar unsigned  char
#define uint unsigned  int
#define Start16AD 0xee
#define N 2500

uchar Res16ADC=255,sm=128,fir=5,sec=6,thi=7;
double ResData1=0.0;
uint ResData2=0;

sfr P1ASF=0x9D;
sfr ADC_CONTR=0xBC;
sfr ADC_RES=0xBD;
sfr ADC_RESL=0xBE;
sfr AUXR1=0xA2;
sfr IPH=0xB7;

void init_16ADC	(void)
{
 IE=0xA0; //开中断
 P1ASF=0x40;//选择P1.6为AD输入口
 ADC_CONTR=ADC_CONTR|0xE6;//打开AD电源、设置P1.6为8位AD转换脚、速度最快。
}

void Key16ADC(void) interrupt   5	 using 1
{
   Res16ADC=ADC_RES;
   ResData1=Res16ADC*5.0*100/256;;
   //ResData1=ResData1
   ResData2=ResData1;
   ADC_CONTR= ADC_CONTR&0xE7 ;
}

void mDly(uint i)//0<i<65536
{
 uint j,k;
 k=i;
 while(k--)
 for(j=0;j<50;j++);
}

void Display(void)
{
 fir=ResData2/100;   
 sec=(ResData2-100*fir)/10;   
 thi=(ResData2-fir*100)%10;
 
  P1=0xfe;P2=fir; 
  P1=0xfd;P2=sec;
  P1=0xfb;P2=thi;
}
void  main()
{
 init_16ADC();
//while(1)//启动STC12C5A60S2看门狗之后就可以去掉while语句
 //{
  ADC_CONTR=Start16AD;
  mDly(N);
  Display();
 //}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -