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

📄 max536.c

📁 DA转换芯片max536的初始化程序
💻 C
字号:
#include <reg52.h>
#define uchar unsigned char
#define unit unsigned int
sbit sdi=P3^2;  
sbit sck=P3^1;
sbit cs=P3^0;
void writemax536(unit);
void csmax536l(void);
void csmax536h(void);



//DAC输出函数DA_OUT(通道号,输出号)
void da_out(uchar num,unit value)
{
	switch(num)
	{
		case 1:
	 	csmax536l();  //DAC A输出
		writemax536(value|0x1000);
		csmax536h();
		break;

		case 2:		//DAC B输出
		csmax536l();
		writemax536(value|0x5000);
		csmax536h();
		break;

		case 3:		//DAC C输出
		csmax536l();
		writemax536(value|0x9000);
		csmax536h();
		break;

		case 4:		//DAC D输出
		csmax536l();
		writemax536(value|0xf000);
		csmax536h();
		break;
	}
}


//向max536写一个字
void writemax536(unit sidata)
{
	char n,i;
	unit si_on;    //定义数据逻辑尺
	si_on=0x8000;	// 初始化逻辑尺
	for(n=0;n<16;n++)
	{
		sck=0;	//设置sck为低电平
		for(i=0;i<10;i++); //延时
		sdi=sidata&si_on;  //数据输出
		for(i=0;i<10;i++); //延时
		sck=1;  //设置sck位高电平
		si_on=si_on>>1;  //逻辑尺右移
	}
}

// max536的cs置低
void csmax536l(void)
{
	cs=0;
}

// max536的cs置高
void csmax536h(void)
{
	cs=1;
}

⌨️ 快捷键说明

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