9-2.c

来自「一些简单的c51程序」· C语言 代码 · 共 33 行

C
33
字号
#include <stdio.h>
#include <ADUC812.H>
void main (void)
{
/*设置串口波特率*/
SCON  = 0x50;
TMOD |= 0x20;
TH1   = 0xFA;
TR1   = 1;
TI    = 1;
PCON |= 0x80;

/*设置A/D转换12-bit 模式, 范围是0-VDD, DAC0 DAC1 DACCON = 0111 1?01*/
DACCON = 0x7B;                        /*每循环 4096次转换DAC0 和DAC1*/

while (1)
     {
    unsigned int i;
/* 满12 bit: 2^12 = 4096*/
     for (i = 0; i < 4096; i++)   
    {
    DACCON &= ~0x04;                      /*清SYNC位*/
    DAC0H = i >> 8;
    DAC0L = i & 0xFF;
    DAC1H = (4095 - i) >> 8;
    DAC1L = (4095 - i) & 0xFF;
    DACCON |=  0x04;                      /* 设置SYNC位*/
    printf ("Output %4.4X to DAC0 (%1.4fV) ", (unsigned) i, (float) i * 5.0 / 4095.0);
    printf ("Output %4.4X to DAC1 (%1.4fV)\n", (unsigned) 4095-i, (float) (4095-i) * 5.0 / 4095.0);
    }
  }
}

⌨️ 快捷键说明

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