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

📄 ad.c

📁 简单的LCD多级菜单显示
💻 C
字号:
#include <reg52.H> 
#include<absacc.h>
#include <math.h>
extern void Display_num( unsigned char *ptr, unsigned char line, unsigned char col, unsigned char length );
unsigned int getdata;
unsigned int  ad_cun[9];//[9];
sbit ST=P2^5;
sbit OE=P2^6;
sbit EOC=P2^7;
void  delay1(void)  {  	unsigned char i;
	for(i=255;i>0;i--);   } 
unsigned int get_ad( )
{
	 unsigned char i,j;
     ST=0; 
     for(i=0;i<100;i++){;}
     ST=1; 
    for(j=0;j<100;j++){;}
     ST=0;
 //     while(EOC==0);
      OE=1;
	  P3=0xff;
      getdata=P3;
      OE=0; 
	  return(getdata);
}   
unsigned int ad_caiyang(void)			 //AD采集
{ 
  unsigned char count,i,j;
   unsigned int temp;
   for ( count=0;count<9;count++)
   {
      ad_cun[count] = get_ad();
      delay1();
   }
   for (j=0;j<8;j++)
   {
      for (i=0;i<9-j;i++)				  //中值滤波
      {
         if ( ad_cun[i]>ad_cun[i+1] )
         {
            temp = ad_cun[i];
            ad_cun[i] = ad_cun[i+1]; 
             ad_cun[i+1] = temp;
         }
      }
   }  
   
   
   ad_cun[4]=ad_cun[4]*12/255;	//数字量转化为模拟量    
   return(ad_cun[4]);//ad_cun[4];
}  

unsigned int ad_vio(unsigned int a)				   //Vio计算
{
   unsigned int advio;
   advio=a*10;
   return(advio);
}	

  
void ad_xianshi(unsigned int m)
{   unsigned char code zhifu[]={"Vio(mv):"};
    unsigned int a; 
    unsigned char idata ad[4];
	ad[0]=m/1000+0x30;
	a=m%1000;
	ad[1]=a/100+0x30;
	a=a%100;
	ad[2]=a/10+0x30;
	a=a%10;
	//if(a==0) 
	//ad[3]=a+0x30-0x08;
	ad[3]=a+0x30;
	Display_num(zhifu,1,1,8);
	Display_num(ad,2,4,4);
	/*Display_num(&ad1,2,4,1);
	Display_num(&ad2,2,5,1);
	Display_num(&ad3,2,6,1);
	Display_num(&ad4,2,7,1);*/
	delay1();
}

   


   

⌨️ 快捷键说明

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