📄 dac.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 + -