**************************************************************
功能:DAC初始化程序
特性:AIN13=1;
ENDAC1=1,选ADC1的DA模式
CLK0=1;ADC的时钟为CCLK2分频
ENADC1=1;开启ADC功能
输出:P2.0为DA输出通道
***************************************************************/
void DAC_Init()
{
ADINS=0x80; /*AD13有效*/
ADMODA=0x10; /*固定通道,单次转换模式*/
ADMODB=0x28; /*DA模式二分频?*/
ADCON1=0x04; /*选择DA模式*/
}
/****************************结束***********************************/
void main(void )
{
int n;
//int k;
P0M1 = 0x10; /*p1.4选为高阻态,其他为双向i/o口*/ /*配置端口*/
P0M2 = 0x00;
P1M1 = 0x00;
P1M2 = 0x00;
ISP_Init() ;
LED =0;
/*关闭内部晶振,开启外部12M晶振*/
TRIM |= 0X40; /*开启时钟*/
TRIM &= 0X7F; /*选择外部时钟*/
for(n=1000;n>0;n--);
DAC_Init(); /*初始化DA*/
ADCON1 |= 0x01; /*启动转换*/
#pragma asm
MOV A,#0
LOP: MOV AD1DAT3,A
CJNE A,#255,A1
INC A
AJMP LOP
A1: MOV AD1DAT3,A
CJNE A,#0,LOP
DEC A
AJMP A
#pragma endasm
}
/*************************结束**********************************/
|