?? wdac2.c
字號:
//參考程序 E :正弦波發生器程序:WDAC2.c DAC輸出正弦波,DAC輸出更新發生在寫DAC0H時
#include <c8051f020.h> /*SFR定義*/
#include<math.h>
sfr16 DAC0 = 0xd2; /*DAC0數據*/
void DAC_Init(void);
void main (void) {
unsigned int i;
float y,x;
WDTCN = 0xde; /*關看門狗*/
WDTCN = 0xad;
DAC_Init(); /*D/A初始化*/
while (1)
{
for(x=0;x<(2*3.14159);x+=0.1)
{y=2048*(sin(x)+1); /*12位ADC的數字容量為4K(0--0FFFH)y的最大值為4096*/
DAC0=y; /*設置待轉換的值并啟動D/A轉換*/
// DAC0H=DAC0H ;
for(i=0;i<=1;i++); //延時可改變正弦波周期
}
}
}
void DAC_Init(void)
{
REF0CN =0x03;/*內部偏壓發生器和電壓基準緩沖器工作,基準從VREF引腳輸出*/
DAC0CN |=0x80;/*DAC0允許,DAC輸出更新發生在寫DAC0H時*/
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -