ADC y DAC Psoc Creator
ADC y DAC Psoc Creator
CALDAS
PROYECTO N°3 MICROCONTROLADORES
Carlos David Rojas Lozano – 20171005129
I. DIAGRAMA CIRCUITAL:
Montaje circuital:
if(volumen<10){
volumen++;
}
CyDelay(100);
subirv_ClearInterrupt();
ISR_mas_ClearPending();
}
void bajar(){
if(volumen>0){
volumen--;
}
CyDelay(100);
bajav_ClearInterrupt();
ISR_menos_ClearPending();
}
CY_ISR(Int_Timer1){
switch (volumen){
case 0:
LCD_ClearDisplay();
LCD_Position(0,1);
LCD_PrintString("VOLUMEN %:");
LCD_PrintNumber(volumen*10);
break;
case 1:
LCD_ClearDisplay();
LCD_Position(0,1);
LCD_PrintString("VOLUMEN %:");
LCD_PrintNumber(volumen*10);
LCD_Position(1,3);
LCD_PutChar(LCD_CUSTOM_0);
break;
case 2:
LCD_ClearDisplay();
LCD_Position(0,1);
LCD_PrintString("VOLUMEN %:");
LCD_PrintNumber(volumen*10);
LCD_Position(1,3);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
break;
case 3:
LCD_ClearDisplay();
LCD_Position(0,1);
LCD_PrintString("VOLUMEN %:");
LCD_PrintNumber(volumen*10);
LCD_Position(1,3);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
break;
case 4:
LCD_ClearDisplay();
LCD_Position(0,1);
LCD_PrintString("VOLUMEN %:");
LCD_PrintNumber(volumen*10);
LCD_Position(1,3);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
break;
case 5:
LCD_ClearDisplay();
LCD_Position(0,1);
LCD_PrintString("VOLUMEN %:");
LCD_PrintNumber(volumen*10);
LCD_Position(1,3);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
break;
case 6:
LCD_ClearDisplay();
LCD_Position(0,1);
LCD_PrintString("VOLUMEN %:");
LCD_PrintNumber(volumen*10);
LCD_Position(1,3);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
break;
case 7:
LCD_ClearDisplay();
LCD_Position(0,1);
LCD_PrintString("VOLUMEN %:");
LCD_PrintNumber(volumen*10);
LCD_Position(1,3);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
break;
case 8:
LCD_ClearDisplay();
LCD_Position(0,1);
LCD_PrintString("VOLUMEN %:");
LCD_PrintNumber(volumen*10);
LCD_Position(1,3);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
break;
case 9:
LCD_ClearDisplay();
LCD_Position(0,1);
LCD_PrintString("VOLUMEN %:");
LCD_PrintNumber(volumen*10);
LCD_Position(1,3);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
break;
case 10:
LCD_ClearDisplay();
LCD_Position(0,1);
LCD_PrintString("VOLUMEN %:");
LCD_PrintNumber(volumen*10);
LCD_Position(1,3);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
LCD_PutChar(LCD_CUSTOM_0);
break;
}
Timer_1_ReadStatusRegister();
}
int main(void)
{
CyGlobalIntEnable; /* Enable global interrupts. */
ADC_Start();
DAC_Start();
LCD_Start();
Timer_1_Start();
ISR_mas_StartEx(subir);
ISR_menos_StartEx(bajar);
ISR_Timer_StartEx(Int_Timer1);
for(;;)
{
audio= ADC_Read16();
audio2=volumen*audio/10;
DAC_SetValue(audio2);
/* [] END OF FILE */
LINK DE LA PRACTICA:
https://youtu.be/ifaA0WJtNXQ