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

📄 dac.c

📁 本文件是C8051F040键盘及DA输出测试程序;DA输出端子(J10)可输出2路DA(DAC0,DAC1),四路按键(KEY1--KEY4
💻 C
字号:
/************************************************************************************
*  Copyright (c) 2004,西安铭朗电子科技有限责任公司
*            All rights reserved.
*
* 文件名称: DAC.C
* 文件标识: none
* 适用器件: C8051F040
* 
* 摘 要:
* 
* 当前版本:1.0
* 作 者:张宁强
* 完成日期:2006年1月20日
*
* 历史版本:0.9 
* 原作者 : 张宁强
* 完成日期:2005年x月xx日
*************************************************************************************/

#include "MAIN.h" 

void DAC_Init(void) //DAC初始化;
{
   char SFRPAGE_SAVE = SFRPAGE;        // 保存当前SFRPAGE
   SFRPAGE = LEGACY_PAGE;              // 改变页

	REF0CN = 0x07;                   // 使用内部VREF发生器

   SFRPAGE = DAC0_PAGE;                // 改变页

	DAC0CN = 0x80;                   // 打开DAC0,右对齐模式

   SFRPAGE = DAC1_PAGE;                // 改变页

   DAC1CN = 0x80;                   // 打开DAC1,右对齐模式

   SFRPAGE = SFRPAGE_SAVE;             // 恢复SFRPAGE
}

void DAC0_Out_mV(unsigned int v) //DAC0输出电压(mV)
{
   float x;

   char SFRPAGE_SAVE = SFRPAGE;        // 保存当前SFRPAGE
   SFRPAGE = DAC0_PAGE;                // 改变页

   x = v / 2430.0 * 4095;
   v = x;
   DAC0L = v;
   DAC0H = v>>8;

   SFRPAGE = SFRPAGE_SAVE;             // 恢复SFRPAGE
}

void DAC1_Out_mV(unsigned int v) //DAC1输出电压(mV)
{
   float x;

   char SFRPAGE_SAVE = SFRPAGE;        // 保存当前SFRPAGE
   SFRPAGE = DAC1_PAGE;                // 改变页

   x = v / 2430.0 * 4095;
   v = x;
   DAC1L = v;
   DAC1H = v>>8;

   SFRPAGE = SFRPAGE_SAVE;             // 恢复SFRPAGE
}

⌨️ 快捷键说明

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