📄 ad max197.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 + -