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

📄 7512-2.c

📁 程序能够实现将十二位的二进制数5V对应fffH变换成一路0~5V的电压。 精度方面:在使用时上下波动范围大约是0~2fH能保证高位寄存器准确; 调试过程中遇到了一系列问题:(1)p0口的使用需接上
💻 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 + -