Documentos de Académico
Documentos de Profesional
Documentos de Cultura
XY=49
xTal=24MHz
Mensaje:#PC5#
Velocidad==(5)(11)(49)=2695
U1BRG=(FCY/16*Baudios)-1
U1BRG=(24MHz/16*4800)-1
U1BRG=311
#include "reloj.h"
#include <libpic30.h>
#include <xc.h>
#include "p33FJ32GP204.h"
#include "config.h"
#include "xlcd.h"
#include <stdio.h>
void UART_init(void);
int main(void) {
UART_init();
while(1)
return 0;
void UART_init(void)
U1STAbits.UTXEN=1; //habilito TX
while(U1STAbits.UTXBF);
if(U1MODEbits.PDSEL==2)
{U1TXREG = data;}
else
}
PREGUNTA NUMERO 3
#include "reloj.h"
#include <libpic30.h>
#include <xc.h>
#include "p33FJ32GP204.h"
#include "config.h"
#include "xlcd.h"
#include <stdio.h>
void UART_init(void);
void ADCinit(void);
int main(void) {
char array[5];
int vol_dig;
float vol_an;
float temp;
ADPCFG=0xffff;
TRISB=0x00;
TRISC=0xff;
UART_init();
XLCDInit();
ADCinit();
putrsXLCD("BUENAS TARDES");
while(1)
AD1CON1bits.SAMP=1;
__delay_ms(10);
AD1CON1bits.SAMP=0;
while(!AD1CON1bits.DONE);
vol_dig=ADCBUF0;
vol_an=((5-0)/1023.0)*vol_dig;
temp=vol_an*100;
if(FlagRX==1)
{ //XLCDgotoXY(0,0);
if(DataRCV=='T' | DataRCV=='t' )
if(temp>30)
{XLCDgotoXY(0,0);
putrsXLCD("TEMPERATURA");
XLCDgotoXY(1,0);
putrsXLCD("ALTA");
if(temp<30)
{XLCDgotoXY(0,0);
putrsXLCD("TEMPERATURA");
XLCDgotoXY(1,0);
putrsXLCD("BAJA");
FlagRX=0;
__delay_ms(4000);
WriteCmdXLCD(CLEAR_XLCD);
return 0;
void UART_init(void)
RPINR18bits.U1RXR=20;
U1BRG=64;
U1MODEbits.PDSEL=0;
U1MODEbits.STSEL=0;
U1STAbits.URXISEL=0;
//configuración de interrupción:
IPC2bits.U1RXIP=7;
//habilito módulo UART:
U1MODEbits.UARTEN=1;
{ FlagRX=1;
DataRCV=U1RXREG;
IFS0bits.U1RXIF=0;
void ADCinit(void)
{ AD1CON1bits.AD12B=0;
AD1CON2bits.VCFG=0;
AD1CHS0bits.CH0SA=0x00;
AD1CHS0bits.CH0NA=0;
AD1CON3bits.ADCS=3;
AD1CON1bits.ASAM=0;
AD1CON1bits.SSRC=0;
AD1CON1bits.ADON=1;
while(U1STAbits.UTXBF);
if(U1MODEbits.PDSEL==2)
{U1TXREG = data;}
else
while(*buffer)
WriteUART1(*buffer);
buffer++;