7512-2.c
来自「程序能够实现将十二位的二进制数5V对应fffH变换成一路0~5V的电压。 精度」· C语言 代码 · 共 58 行
C
58 行
/////////////////////////////////
//作者:付宝军
//名称: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 + =
减小字号Ctrl + -
显示快捷键?