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

📄 ad max197.c

📁 At89s52单片机与max197的AD程序
💻 C
字号:

#include "main.h"
#include "reg52.h"
#include "absacc.h"

#define Ad_Channel XBYTE[0x0200]      //外部的地址
sbit P3_0=P3^0;
sbit P3_1=P3^1;


/*************数据处理完成采集的数据的十六进制转换为十进制的形式*************/

void Process_Data()
{
    unsigned int Digit_Data;
   	Digit_Data =((Channel_Msb&0x0f)<<8) + Channel_Lsb;
    Volatge_AD =(Digit_Data / 4096.0) *(2.5*2);
}    
 


/*************定时采集对197进行控制,向197的控制字寄存器中写入控制字,对外围电压信号进行采集*************/

void Collection_Data()
{  
   //if(136==Buffer_Key)
   Ad_Channel = 0x40;     //启动转换;197处于正常工作的内部时钟模式;通道0;输入的电压是0--5v
   /*
   if(132==Buffer_Key)	  
   Ad_Channel = 0x41;	  //									   通道1
   if(130==Buffer_Key)
   Ad_Channel = 0x42;	  //									   通道2
   if(129==Buffer_Key)
   Ad_Channel = 0x43;	  //									   通道3
   if(72==Buffer_Key)
   Ad_Channel = 0x44;	  //									   通道4
   if(68==Buffer_Key)
   Ad_Channel = 0x45;	  //									   通道5
   if(66==Buffer_Key)
   Ad_Channel = 0x46;	 //									       通道6
   if(65==Buffer_Key)
   Ad_Channel = 0x47;	 //									       通道7 */
  
   while(P3_0!=0)  //查询是否转换完毕;如果没有转换完毕则P3_0是高电平;则P3_0是低电平为读出低位数据做准备
    {
        P3_1 = 0;
    }
    Channel_Lsb= Ad_Channel;    //P3_1是低电平;读出低位数据
    P3_1 = 1;                   //P3_1是高电平;读出高四位数据
    Channel_Msb= Ad_Channel;
    P3_1 = 0;                   //为下依次读出低位数据做准备
}




















⌨️ 快捷键说明

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