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

📄 ad0809.c

📁 0809AD转换
💻 C
字号:
//-----------------------函数声明,变量定义--------------------------------------------------------
#include <AT89X51.H>
#define   CH0 XBYTE[0x7FF8]
//-----------------------定义寻址的基址--------------------------------------------------------
#define base_Adr  0x7FF8   
//-----------------------定义地址指针,指向基址--------------------------------------------------------
unsigned char xdata *CH_base_Adr = base_Adr;
//--------------------------------------------------------------------------------------------------
// 函数名称: delay
// 入口参数: N
// 函数功能:延时子程序,实现(16*N+24)us的延时 
// 系统采用11.0592MHz的时钟时,延时满足要求,其它情况需要改动
//--------------------------------------------------------------------------------------------------
  void delay(unsigned  int N)  
  {
  int i; 
  for(i=0;i<N;i++);
  }
//------------------------------------------------------------------------------------------------------
// 函数名称 read_oneCH 
// 入口函数 CH_num通道号码(0~7)
// 出口函数 返回AD转换的值
// 函数功能 写外部数据存储区
//------------------------------------------------------------------------------------------------------
unsigned char read_oneCH(unsigned char CH_num)
           {
		    unsigned char ADC_data;
			*(CH_base_Adr+ CH_num)=0;
            delay(0);
            ADC_data= *( CH_base_Adr+ CH_num);
			return(ADC_data);
            }
//------------------------------------------------------------------------------------------------------
// 函数名称 main
// 函数功能 依次采集8个通道的电压信号
//------------------------------------------------------------------------------------------------------
void main()
         {
		 float m;
		 unsigned char i;
         unsigned char j,n;
         unsigned char data1[]={0xBF,0x86,0xDB,0xCF,0xE6,0xED,0xFD,0x87,0xFF,0xEF};//带点
         unsigned char data2[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};//不带点0 1 2 3 4 5 6 7 8 9
		 for(i=0;i<80;i++)
		 {m=read_oneCH(0);
           m=m*0.02;
 		   m=m*10;
           n=m;
           j= n%10;
		   n=n/10;
		 P3=data1[n];
		  P1_6=0;
		  P1_7=1;
		 delay(250);
		  P1_6=1;
		  P1_7=0;
          P3=data2[j];
           delay(250);
		 }
	     }

⌨️ 快捷键说明

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