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

📄 da0.c

📁 这是一个C8051F020单片机的DA锯齿波产生的源代码
💻 C
字号:
//  程序产生锯齿波,DAC输出更新发生在写DAC0H时.
#include <c8051f020.h>                    /*SFR定义*/
sfr16 DAC0     = 0xd2;                    /*DAC0数据*/
void DAC_Init(void);
void SYSCLK_Init()
{   
    unsigned int i;
    OSCXCN=0X67;         //0X67=0110,0111
	for(i=0;i<256;i++);         //等待>1ms
	while(!(OSCXCN&0X80));      //等待XTLVLD变为1
	OSCICN=0X88;         //时钟失效监测器,选择外部时钟源作为系统时钟
}
void main (void) {
unsigned int i;
   WDTCN = 0xde;           /*关看门狗*/
   WDTCN = 0xad;
   SYSCLK_Init();
   DAC0=0x0;
   DAC_Init();              /*DAC初始化*/
   while (1) 
   {                         
       DAC0L=DAC0L ;		/*设置待转换的值并启动D/A转换*/
	   DAC0H=DAC0H ;
	for(i=0;i<=1;i++);      /*延时*/
       DAC0=DAC0+1;           /*DAC输出值递增*/
	}
}
void DAC_Init(void) /*初始化I/O口*/
{
    REF0CN =0x03;/*内部偏压发生器和电压基准缓冲器工作,基准从VREF引脚输出*/
	DAC0CN |=0x80;		/*DAC0允许,DAC输出更新发生在写DAC0H时*/
}

⌨️ 快捷键说明

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