34 lines
633 B
C
34 lines
633 B
C
|
#include <pic.h>
|
||
|
#include "config.h"
|
||
|
#include "dac.h"
|
||
|
|
||
|
/* Initialize dac */
|
||
|
void dac_init(void)
|
||
|
{
|
||
|
TRIS_D15 = 0;
|
||
|
TRIS_D14 = 0;
|
||
|
TRIS_D13 = 0;
|
||
|
TRIS_D12 = 0;
|
||
|
TRIS_D11 = 0;
|
||
|
TRIS_D10 = 0;
|
||
|
TRIS_D9 = 0;
|
||
|
TRIS_D8 = 0;
|
||
|
TRIS_LDAC = 0;
|
||
|
LDAC = 1;
|
||
|
}
|
||
|
|
||
|
/* Write value to dac */
|
||
|
void dac_set(uint8_t val)
|
||
|
{
|
||
|
D15 = 0; if (val & (1 << 7)) D15 = 1;
|
||
|
D14 = 0; if (val & (1 << 6)) D14 = 1;
|
||
|
D13 = 0; if (val & (1 << 5)) D13 = 1;
|
||
|
D12 = 0; if (val & (1 << 4)) D12 = 1;
|
||
|
D11 = 0; if (val & (1 << 3)) D11 = 1;
|
||
|
D10 = 0; if (val & (1 << 2)) D10 = 1;
|
||
|
D9 = 0; if (val & (1 << 1)) D9 = 1;
|
||
|
D8 = 0; if (val & (1 << 0)) D8 = 1;
|
||
|
LDAC = 0;
|
||
|
LDAC = 1;
|
||
|
}
|