Sei sulla pagina 1di 14

SENA

SERVICIO NACIONAL DE APRENDIZAJE

Integrantes:
Santiago Palacio
Camilo vanegas
David mejia

CODIGO:
628121

ACTIVIDAD
SISTEMA DE COMUNICACIN SERIAL

FEBRERO, 2015

OBJETIVOS
-realizar un proyecto donde simulemos e implementemos un sistema de comunicacin serial
-aplicar conocimientos adquiridos en desarrollo de programacion y atgorismos
-interpretar el protocolo de serial UART
-hacer un buen uso de las librerias UART del microcontrolador PIC 16f887
-llevar a cabo un sistema controlado que monitorea y controla la temperatura atravez de un computador con las
siguientes condiciones:
- Comprender las funciones de configuracin y ejecucin de procedimientos de la librera UART.
- Reconocer las sentencias de control bsicas para manejo de datos de entrada y salida del sistema de
comunicacin planteado.
- Analizar cdigos e identificar funcionalidades de cdigos ejemplos suministrados o consultados.

,,

Simulacion y codigo

CODIGO
float Voltaje=0;
unsigned int ADC;
char tecla=0,cont=0;

// Lcd pinout settings


sbit LCD_RS at RD2_bit;
sbit LCD_EN at RD3_bit;
sbit LCD_D7 at RD7_bit;
sbit LCD_D6 at RD6_bit;
sbit LCD_D5 at RD5_bit;
sbit LCD_D4 at RD4_bit;

// Pin direction

//inicializacion del LCD//

sbit LCD_RS_Direction at TRISD2_bit;


sbit LCD_EN_Direction at TRISD3_bit;
sbit LCD_D7_Direction at TRISD7_bit;
sbit LCD_D6_Direction at TRISD6_bit;
sbit LCD_D5_Direction at TRISD5_bit;
sbit LCD_D4_Direction at TRISD4_bit;

char txtANA1[6];
char txtTEMP[6];
void main() {

ANSEL = 0x04;
ANSELH = 0;
C1ON_bit=0;
C2ON_bit=0;
TRISA=0B11111101;
TRISD=0;
TRISB=255;
TRISC=0b11011111;

// Configure AN2 pin as analog

TRISE=255;

Lcd_Init();
UART1_Init(9600);
ADC_Init();

Lcd_Cmd(_LCD_CURSOR_OFF);
Lcd_Out(1, 1, "TEMPERATURA");

while(1){

ADC = ADC_Read(2);
Voltaje = ADC / 2.046;

//formula para imprimir la temperatura//

WordToStr(ADC,txtANA1);
WordToStr(Voltaje, txtTEMP);

Lcd_Out(1, 1, "TEMPERATURA");
Lcd_Chr(1,13, txtTEMP[3]);

//imprime texto//

Lcd_Chr(1,14, txtTEMP[4]);
Lcd_Out(1, 16, "C");

if (UART1_Data_Ready()) {
tecla = UART1_Read();

// If data is received,
// read the received data,

switch(tecla){
case 'L':

// IMPRIME TEMPERATURA //

UART1_Write_Text("TEMPERATURA ");
UART1_Write_Text(txtTEMP);
UART1_Write_Text(" C");
UART1_Write(10);
UART1_Write(13);
tecla=0;
break;

case 'A' :

// ENCIENDE EL LED //

UART1_Write_Text("LED ON ");

Lcd_Out(2, 1, "LED ON ");


PORTA.B1=1;
UART1_Write(10);
UART1_Write(13);
tecla=0;
break;

case 'B' :

// APAGA LED//

UART1_Write_Text("LED OFF ");


Lcd_Out(2, 1, "LED OFF");
PORTA.B1=0;
UART1_Write(10);
UART1_Write(13);
tecla=0;
break;

case 'C' :

// ENCIENDE Y APAGA LED //

PORTA.B1=!PORTA.B1;
if(PORTA.B1==1){

UART1_Write_Text("LED ON ");

// imprime texto//

Lcd_Out(2, 1, "LED ON ");


}
If(PORTA.B1==0){

//imprime texto//

UART1_Write_Text("LED OFF ");


Lcd_Out(2, 1, "LED OFF");
}
UART1_Write(10);
UART1_Write(13);
tecla=0;
;break;
}

}
}

// ENTER //

Descripcion y circuitos de la implementacion


Un sistema micro controlado que monitorea y controla la temperatura en un ambiente tiene indicacin y control
local de dicha variable, para su manipulacin se hace necesario el desplazamiento de un operario. Se monitorea
y se hace control del proceso a travs de un computador. Para este proyecto usaremos el protocolo serial RS232,
se propone que el sistema adems tenga control remoto usando una computadora a travs de su interfaz serial de
la siguiente forma:
Si se recibe el carcter L se debe transmitir el valor actual del ADC o de la temperatura.
Si se recibe el carcter A un LED debe encenderse.
Si se recibe el carcter B el LED debe apagarse.
Si se recibe el carcter C el LED debe encenderse primero y luego de presionarse de nuevo, apagarse (El mismo
comando activa y desactiva el LED).

CONCLUSIONES
-Se llevo a cabo y con xito el proyecto propuesto por el profesor siguiendo asi la guia de apoyo y las reseas del
profesor, nos parecio un ejercicio interesante ya que este protocolo UART es muy util para satisfacer las necesides en la
vida cotidiana y en el mundo laboral y nos encaminamos asi hacia los protocolos de comunicacin.
-Se hizo un buen uso de las librerias de mikro C interpretando asi su funcionamiento
-Se realizo con efectividad todos lo logros y objetivos que se propusieron al inicio del proyecto.

Potrebbero piacerti anche