📄 call186.c
字号:
/****************************************************************/
/* 这是调用MAX186编程序(MAX186B.ASM)的C51程序。 */
/* 文件名CALL186.C。 */
/* 功能:本程序主要是读出MAX186芯片输入通道CH0,CH1,...,CH7的模数*/
/* 转换值,转换值依次放在数组mid1[8]中,转换值的标度变换值放在*/
/* 浮点数组volt[8]中。MAX186芯片的8个通道可编程为单极性/双极 */
/* 性和差动/单端工作,这里采用单端\单极性输入。MAX186有内部时 */
/* 钟和外部时钟两种工作模式,这里采用内部时钟模式。 */
/****************************************************************/
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
void delay1(uint x);
extern uint chai; //把全局变量chai声明为外部变量
extern uint a_func(uchar); //把a_func 声明为外部函数
uint idata mid1[8];
float idata volt[8];
uchar idata i;
void delay1(uint x) //延时程序
{
uchar tw;
while (x-->0){
for (tw=0;tw<125;tw++){;}
}
}
void main() //主程序
{
SP=0xcf;
delay1(1000);
EA=0;
chai=a_func(0x8e); // 读出MAX186芯片输入通道CH0的AD转换值
mid1[0]=chai; // 把它放入数组mid1中。
chai=a_func(0xce); // 读出MAX186芯片输入通道CH1的AD转换值
mid1[1]=chai; // 把它放入数组mid1中。
chai=a_func(0x9e);
mid1[2]=chai;
chai=a_func(0xde);
mid1[3]=chai;
chai=a_func(0xae);
mid1[4]=chai;
chai=a_func(0xee);
mid1[5]=chai;
chai=a_func(0xbe);
mid1[6]=chai;
chai=a_func(0xfe); // 读出MAX186芯片输入通道CH7的AD转换值
mid1[7]=chai; // 把它放入数组mid1中。
for (i=0;i<8;i++){
volt[i]=(mid1[i]/4096.0)*4.096; // 标度变换。
}
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -