?? da0.c
字號(hào):
// 程序產(chǎn)生鋸齒波,DAC輸出更新發(fā)生在寫DAC0H時(shí).
#include <c8051f020.h> /*SFR定義*/
sfr16 DAC0 = 0xd2; /*DAC0數(shù)據(jù)*/
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變?yōu)?
OSCICN=0X88; //時(shí)鐘失效監(jiān)測(cè)器,選擇外部時(shí)鐘源作為系統(tǒng)時(shí)鐘
}
void main (void) {
unsigned int i;
WDTCN = 0xde; /*關(guān)看門狗*/
WDTCN = 0xad;
SYSCLK_Init();
DAC0=0x0;
DAC_Init(); /*DAC初始化*/
while (1)
{
DAC0L=DAC0L ; /*設(shè)置待轉(zhuǎn)換的值并啟動(dòng)D/A轉(zhuǎn)換*/
DAC0H=DAC0H ;
for(i=0;i<=1;i++); /*延時(shí)*/
DAC0=DAC0+1; /*DAC輸出值遞增*/
}
}
void DAC_Init(void) /*初始化I/O口*/
{
REF0CN =0x03;/*內(nèi)部偏壓發(fā)生器和電壓基準(zhǔn)緩沖器工作,基準(zhǔn)從VREF引腳輸出*/
DAC0CN |=0x80; /*DAC0允許,DAC輸出更新發(fā)生在寫DAC0H時(shí)*/
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -