📄 call197.c
字号:
/*******************************************************************/
/* 这是调用MAX197的汇编程序(MAX197B.ASM)的C51程序。 */
/* 文件名CALL197.C。 */
/* 功能:本程序主要是读出MAX197芯片输入通道CH0,CH1,...,CH7的模数 */
/* 转换值,转换值依次放在数组mid1[8]中,转换值的标度变换值放在 */
/* 浮点数组volt[8]中。MAX197芯片的8个通道可编程为单极性/双极 */
/* 性和差动/单端工作,这里采用单端\单极性输入。MAX197有内部时 */
/* 钟和外部时钟两种工作模式,这里采用内部时钟模式。 */
/* MAX197的控制字:输入电压范围为单极性(0-5V)、内部触发采 */
/* 集方式、第1通道,则应写入16 进制数40H,而对应第8通道则写入47H。*/
/****************************************************************/
#include <reg51.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 i;
void delay1(uint x) //延时程序
{
uchar tw;
while (x-->0){
for (tw=0;tw<125;tw++){;}
}
}
void main() //主程序
{
SP=0x70;
delay1(1000);
EA=0;
chai=a_func(0x40); // 读出MAX197芯片输入通道CH0的A/D转换值
mid1[0]=chai; // 把它放入数组mid1中。
chai=a_func(0x41); // 读出MAX197芯片输入通道CH1的A/D转换值
mid1[1]=chai; // 把它放入数组mid1中。
chai=a_func(0x42);
mid1[2]=chai;
chai=a_func(0x43);
mid1[3]=chai;
chai=a_func(0x44);
mid1[4]=chai;
chai=a_func(0x45);
mid1[5]=chai;
chai=a_func(0x46);
mid1[6]=chai;
chai=a_func(0x47); // 读出MAX197芯片输入通道CH7的A/D转换值
mid1[7]=chai; // 把它放入数组mid1中。
for (i=0;i<8;i++){
volt[i]=(mid1[i]/4096.0)*5.0; // 标度变换。
}
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -