📄 max187.c
字号:
//本程序实现MAX187的读数操作
#include <absacc.h>
#include <math.h>
#include <reg52.h>
//MAX187控制
sbit bCS =P1^2;
sbit bSCLK=P3^0;
sbit bDOUT=P3^1;
//测试位
sbit Test =P2^0;
void Delay10ms(unsigned char ms10)
{
unsigned char Dy1,Dy2;
while(ms10--) /* 10 ms */
{
Dy1=5;
while(Dy1--)
{
Dy2=255; //2.2222ms 11.0592MHz//* 2.4576 ms 10MHz*//
while(Dy2--);
}
}
}
void OutDelay(unsigned char i)
{
while(i--);
}
//接收数据
bit Clock()
{
bit bSample=0;
bSCLK=0;
OutDelay(1);
bSCLK=1;
bSample=bDOUT;
return(bSample);
}
unsigned int ReceiveData ()
{
unsigned char i;
unsigned long RecData=0;
bit bSample=0;
bSCLK=0;
bCS=0;
OutDelay(35);
bSCLK=1;
for(i=0;i<12;i++)
{
RecData<<=1;
if(Clock())
RecData+=1;
}
bSCLK=1;
OutDelay(1);
bSCLK=0;
OutDelay(1);
bSCLK=1;
OutDelay(5);
bCS=1;
OutDelay(5);
bCS=1;
bSCLK=1;
bDOUT=1;
return(RecData);
}
unsigned int GetADValue()
{
unsigned int ADData=0;
ADData=ReceiveData();
OutDelay(200);
return(ADData);
}
//数据处理示意
void Process()
{
unsigned int Value=0;
if((Value=GetADValue())>=100)
Test=0;
else Test=1;
}
void main()
{
Delay10ms(30);
while(1)//主循环
{
Process();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -