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

📄 dac.c

📁 采用C8051F410 的模数转换
💻 C
字号:
/************************************************************************************
*  Copyright (c) 2004,西安铭朗电子科技有限责任公司
*            All rights reserved.
*
* 文件名称: DAC.C
* 文件标识: none
* 适用器件: C8051F040
* 
* 摘 要: 本文件是DAC子程序;使用外部22.1184MHz晶振.
* 
* 当前版本:1.2
* 作 者:张宁强
* 完成日期:2006年1月10日
*
* 历史版本:1.0 
* 原作者 : 李林利 卢阳
* 完成日期:2005年6月1日
*************************************************************************************/

/************************************************************************************/
// 引用外部头文件

#include "common.h" 
            
/************************************************************************************/

/************************************************************************************
* 函数名称:Timer4_Init;
*
* 函数功能描述:定时器4初始化;
*              
* 输入参数:载入数值;
*
* 返回数据:none;
*
* 注意:    none;
************************************************************************************/

void Timer4_Init (unsigned long counts)
{
//	int temp;
	char data SFRPAGE_SAVE = SFRPAGE;  // Save Current SFR page
    SFRPAGE = CONFIG_PAGE;             // set SFR page

	SFRPAGE = SFR_PAGE_2;// set SFR page 1
	TMR4CN&=~0x04;        // 关闭定时器Timer3
	RCAP4H =(65536-SYSCLK/counts)/256;
	RCAP4L =(65536-SYSCLK/counts)%256;
	 					  // 设置定时器Timer3重载值, Uart1_CLK=SYSCLK
	TMR4CF=0x08; 		  // clk = SYS_CLK;
	TMR4CN=0x04; 		  // 工作模式2: TX,RX 波特率模式

    EIE2 |= 0x04;                    // 打开定时器Timer4中断
    
	SFRPAGE = SFRPAGE_SAVE;          // Restore SFR page
}


/***********************************************************************************
* 函数名称:DAC0_Init;
*
* 函数功能描述:DAC0初始化;
*              
* 输入参数:none;
*
* 返回数据:none;
*
* 注意:    none;
************************************************************************************/

void DAC0_Init(void)
{
	char data SFRPAGE_SAVE = SFRPAGE;     // Save Current SFR page
    SFRPAGE = SFR_PAGE_0;           // set SFR page

	REF0CN = 0x07;                   // 使用内部VREF发生器
	DAC0CN = 0x80;                   // 打开DAC0,右对齐模式
                                     // 使用Timer4作为更新调度程序
	SFRPAGE = SFRPAGE_SAVE;          // Restore SFR page
}

/***********************************************************************************
* 函数名称:DAC1_Init;
*
* 函数功能描述:DAC1初始化;
*              
* 输入参数:none;
*
* 返回数据:none;
*
* 注意:    none;
************************************************************************************/

void DAC1_Init(void)
{
	char data SFRPAGE_SAVE = SFRPAGE;     // Save Current SFR page
    SFRPAGE = SFR_PAGE_1;           // set SFR page

	DAC1CN = 0x80;                   // 打开DAC1,右对齐模式
                                     // 使用Timer4作为更新调度程序  
	SFRPAGE = SFRPAGE_SAVE;          // Restore SFR page
}

/***********************************************************************************/
// 文件结束
/***********************************************************************************/

















⌨️ 快捷键说明

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