User manual
mikroPascal PRO for dsPIC30/33 and PIC24
MikroElektronika
458
begin
Chip_Select := 0; // Select DAC chip
// Send High Byte
temp := word(valueDAC shr 8) and 0x0F; // Store valueDAC[11..8] to temp[3..0]
temp := temp or 0x30; // Dene DAC setting, see MCP4921 datasheet
Soft_SPI_Write(temp); // Send high byte via Soft SPI
// Send Low Byte
temp := valueDAC; // Store valueDAC[7..0] to temp[7..0]
Soft_SPI_Write(temp); // Send low byte via Soft SPI
Chip_Select := 1; // Deselect DAC chip
end;
begin
ADPCFG := 0xFFFF; // Congure AN pins as digital
InitMain(); // Perform main initialization
value := 2048; // When program starts, DAC gives
// the output in the mid-range
while (TRUE) do // Endless loop
begin
if ((RB0_bit) and (value < 4095)) then // If RB0 button is pressed
Inc(value) // increment value
else
begin
if ((RB1_bit) and (value > 0)) then // If RB1 button is pressed
Dec(value); // decrement value
end;
DAC_Output(value); // Send value to DAC chip
Delay_ms(1); // Slow down key repeat pace
end;
end.