📄 7512-2.c
字号:
/////////////////////////////////
//作者:付宝军
//名称:DAC7512驱动程序
//未用串行口版 2006.8.3
//06.9.3日重新调试通过
//注意板子上三根控制线和485的连根线连上了,要切断!
///////////////////////////////////
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit DAC_sync = P3^7;
sbit DAC_clk = P3^6;
sbit DAC_din = P3^5;
void delay_us(uchar i);
//////////////////////////////////////
/*-----------DAC7512驱动------------*/
/*入口参数:待转换数据及工作模式选择*/
//////////////////////////////////////
void dac7512(uint data_da)
{ uchar i;
DAC_sync = 1;
delay_us(3); //启动DAC7512(保持高电平30ns)
DAC_sync = 0;
for(i=0;i<16;i++)
{
if (data_da&0x8000) //数据及通道选择字节
{
DAC_din=1;
}
else
{
DAC_din=0;
}
data_da<<=1;
DAC_clk=1; //产生同步时钟下降沿
DAC_clk=0;
}
DAC_sync = 1; //省掉这步能省电,故不要
}
/*--------2N微秒延时(keil)-----------*/
void delay_us(uchar i) //
{
while(--i);
}
/*----------------------*/
void main()
{ uint voltage=0xcff;
while(1)
{
dac7512(voltage);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -