Informes Circuitos Con Pic
Informes Circuitos Con Pic
Informes Circuitos Con Pic
Formato
FR-FAC-PAC-GLB-018 Versión: 01 Fecha: 02/03/2017
TÍTULO DE LA PRÁCTICA:
Hola Mundo
Conversor D/A
Manejo de memoria y LCD
Grabador y Reproductor de voz
Sistema de comunicación por RF 434
Reloj en Tiempo real DS
Mouse USB con CCS
1. INTRODUCCION:
1
INFORME DE PRÁCTICAS
Formato
FR-FAC-PAC-GLB-018 Versión: 01 Fecha: 02/03/2017
Una de las razones del éxito de los PIC se basa en su utilización. Cuando se
aprende a manejar uno de ellos, conociendo su arquitectura y su repertorio de
instrucciones, es muy fácil emplear otro modelo.
PIC 16F877A
PIC 16F874
1
INFORME DE PRÁCTICAS
Formato
FR-FAC-PAC-GLB-018 Versión: 01 Fecha: 02/03/2017
PIC 18F4550
1
INFORME DE PRÁCTICAS
Formato
FR-FAC-PAC-GLB-018 Versión: 01 Fecha: 02/03/2017
Ilustración 6: Pickit 2
Es una herramienta de programación para desarrollo de bajo costo. Es
capaz de programar la mayoría de los microcontroladores y memorias
seriales EEPROM de Microchip.
1
INFORME DE PRÁCTICAS
Formato
FR-FAC-PAC-GLB-018 Versión: 01 Fecha: 02/03/2017
1
INFORME DE PRÁCTICAS
Formato
FR-FAC-PAC-GLB-018 Versión: 01 Fecha: 02/03/2017
1
INFORME DE PRÁCTICAS
Formato
FR-FAC-PAC-GLB-018 Versión: 01 Fecha: 02/03/2017
1
INFORME DE PRÁCTICAS
Formato
FR-FAC-PAC-GLB-018 Versión: 01 Fecha: 02/03/2017
2.1. Objetivos.
2.2. Metodología.
2.2.1 Circuito.
2.2.2 Materiales.
Componentes Cantidad
PIC16F877A 1
Lcd 16*2 1
1
INFORME DE PRÁCTICAS
Formato
FR-FAC-PAC-GLB-018 Versión: 01 Fecha: 02/03/2017
'*******************
define LCD_EREG portb
define LCD_EBIT 2
trisb=0
pause 500
1
INFORME DE PRÁCTICAS
Formato
FR-FAC-PAC-GLB-018 Versión: 01 Fecha: 02/03/2017
2.3.2 Discusión.
Hola mundo es utilizado en toda ocasión, refiere donde un programa es el que imprime el
texto ¡Hola mundo! en una pantalla, esto sirve como introducción al estudio de un lenguaje
de programación (en la mayoría de los casos es el primer ejercicio típico), lo cual es
fundamental para familiarizarse con el lenguaje de programación a utilizar, en este caso
con Pic.
2.1. Objetivos.
2.2. Metodología.
2.2.1 Circuito.
2.2.2 Materiales.
Componentes Cantidad
PIC16F844 1
Lcd 16*2 1
ADC0808 1
Resistencias 4
Cristal 4Mhz 1
Cap 22Pf 2
1
INFORME DE PRÁCTICAS
Formato
FR-FAC-PAC-GLB-018 Versión: 01 Fecha: 02/03/2017
Pause 200
LCDOut $fe, 1
Direc = $00
Control = $A0
Escribir:
LCDOUT $FE,1,"GRABANDO"
For I = 0 To 100
ADCIN 0, CANAL0
Dato = CANAL0
I2Cwrite SDA, SCL, Control, Direc, [dato]
Pause 100
If I = 100 Then leer
Direc = Direc + 1
Next I
Leer:
1
INFORME DE PRÁCTICAS
Formato
FR-FAC-PAC-GLB-018 Versión: 01 Fecha: 02/03/2017
1
INFORME DE PRÁCTICAS
Formato
FR-FAC-PAC-GLB-018 Versión: 01 Fecha: 02/03/2017
2.3.2 Discusión.
Podemos comprobar que la conversión resultó un éxito, ya que los valores cambiaban en
distintas conexiones y desconexiones realizadas al sistema tanto en 1 lógicos o 0 ceros
lógicos.
2.2. Metodología
2.2.1 Circuito.
1
INFORME DE PRÁCTICAS
Formato
FR-FAC-PAC-GLB-018 Versión: 01 Fecha: 02/03/2017
2.2.2 Materiales
Componentes Cantidad
PIC16F877A 1
Potenciómetro 5kΩ 1
24lc512 1
Lcd 16*2 1
Cristal de 4MHz 1
Capacitores de 22pf o 33 pf 2
Gráfica 1, Material Memoria LCD
define ADC_BITS 8
DEFINE ADC_CLOCK 3
DEFINE ADC_SAMPLEUS 50
DEFINE LCD_DREG PORTD ' Indica que el Bus estará conectado en el Puerto D
DEFINE LCD_BITS 4 ' El bus será de cuatro bits.
DEFINE LCD_DBIT 4 ' Selección del Bit de inicio del puerto en el uC para el bus de
datos de la LCD
DEFINE LCD_RSREG PORTD ' Indica al uC que el pin "RS" estará en el Puerto D
DEFINE LCD_RSBIT 2 ' "RS" estará conectado en RD2
DEFINE LCD_EREG PORTD ' Indica al uC que el pin "E" estará en el Puerto D
DEFINE LCD_EBIT 3 ' "E" estará conectado en RD3
Define Osc 4 ' Define el Oscilador para un Cristal ' de 4 Mhz.
1
INFORME DE PRÁCTICAS
Formato
FR-FAC-PAC-GLB-018 Versión: 01 Fecha: 02/03/2017
1
INFORME DE PRÁCTICAS
Formato
FR-FAC-PAC-GLB-018 Versión: 01 Fecha: 02/03/2017
2.3.2 Discusión
El conversor analógico ingresa por la entrada analógica donde de esa entrada va a
la memoria la cual graba y envía datos a la misma vez y son mostrados en el LCD.
2.1. Objetivos.
2.2. Metodología.
2.2.1 Circuito.
1
INFORME DE PRÁCTICAS
Formato
FR-FAC-PAC-GLB-018 Versión: 01 Fecha: 02/03/2017
2.2.2 Materiales.
Componentes Cantidad
PIC16F1827 1
Lcd 16*2 1
Bocina 12v 1
Conector 9v 1
Conector 12v 1
Cristal 4Mhz 2
Cap 22Pf 6
ISD 1400 1
Switch 3
Amplificador 12v 1
Modulador 3v y 5v 1
TRISB=0b00001111;
PORTB=0;
while(1){
if(PORTB.F0==0){
delay_ms(100);
PORTB.F4=1;
delay_ms(9000);
PORTB.F4=0;
delay_ms(1000);
PORTB.F5=1;
delay_ms(200);
PORTB.F5=0;
}
if(PORTB.F1==0){
delay_ms(300);
PORTB.F5=1;
delay_ms(200);
PORTB.F5=0;
}
if(PORTB.F2==0){
delay_ms(100);
PORTB.F4=1;
delay_ms(9000);
PORTB.F4=0;
}
}
}
1
INFORME DE PRÁCTICAS
Formato
FR-FAC-PAC-GLB-018 Versión: 01 Fecha: 02/03/2017
2.3.2 Discusión.
Se utilizó en relación al Pic y el ISD para grabar señal y enviar al amplificador, y asi poder
tener el audio de 9 segundos, obviamente la configuración de tiempo de grabado puede
cambiar hasta 20 segundos o 34 configuraciones.
1
INFORME DE PRÁCTICAS
Formato
FR-FAC-PAC-GLB-018 Versión: 01 Fecha: 02/03/2017
2.1. Objetivos.
2.2. Metodología.
2.2.1 Circuito.
2.2.2 Materiales.
Componentes Cantidad
HT12E 1
HT12D 1
Modulo de radio frecuencia 1
Resistencia de 1MΩ 1
Resistencia de 50kΩ 1
Leds 5
Pulsadores 5
1
INFORME DE PRÁCTICAS
Formato
FR-FAC-PAC-GLB-018 Versión: 01 Fecha: 02/03/2017
2.3.2 Discusión.
La comunicación de radio frecuencia se realiza dependiendo que tipo de modulo
se va a utilizar ya que se debe calcular la distancia de la antena para que se
puedan comunicar entre sí.
2.1. Objetivos.
2.2. Metodología.
2.2.1 Circuito.
1
INFORME DE PRÁCTICAS
Formato
FR-FAC-PAC-GLB-018 Versión: 01 Fecha: 02/03/2017
2.2.2 Materiales.
Componentes Cantidad
PIC16F877A 1
Modulo DS1307 1
Lcd 16*2 1
Cristal de 4MHz 2
Capacitores de 22pf o 33 pf 1
RTCYear = $19
RTCMonth = $01
RTCDate = $01
RTCDay = $25
RTCHour = $17
RTCMin = $48
RTCSec = 0
RTCCtrl = 1
Gosub settime ' Set the time
Goto mainloop ' Skip over subroutines
' Subroutine to write time to RTC
settime:
1
INFORME DE PRÁCTICAS
Formato
FR-FAC-PAC-GLB-018 Versión: 01 Fecha: 02/03/2017
I2CWrite SDA, SCL, $D0, $00, [RTCSec, RTCMin, RTCHour, RTCDay, RTCDate,
RTCMonth, RTCYear, RTCCtrl]
Return
' Subroutine to read time from RTC
gettime:
I2CRead SDA, SCL, $D0, $00, [RTCSec, RTCMin, RTCHour, RTCDay, RTCDate,
RTCMonth, RTCYear, RTCCtrl]
Return
' Main program loop - in this case, it only updates the LCD with the time
mainloop:
Gosub gettime ' Read the time from the RTC
' Display time on LCD
Lcdout $fe, 1, "FECHA: ",hex2 RTCDate, "/", hex2 RTCMonth, "/" , hex2 RTCYear
LCDOUT $fe, $c0,"HORA: ", hex2 RTCHour, ":", hex2 RTCMin, ":", hex2 RTCSec
Pause 500 ' Do it about 2 times a second
Goto mainloop ' Do it forever
End
1
INFORME DE PRÁCTICAS
Formato
FR-FAC-PAC-GLB-018 Versión: 01 Fecha: 02/03/2017
2.3.2 Discusión.
El módulo de RTC va a las compuertas de entrada del pic en los puertos B los
cuales envían los datos tanto de la fecha y de la hora y son mostrados en el LCD.
2.2. Metodología.
2.2.1 Circuito.
1
INFORME DE PRÁCTICAS
Formato
FR-FAC-PAC-GLB-018 Versión: 01 Fecha: 02/03/2017
char out_data[4];
void main(){
setup_adc_ports(NO_ANALOGS); // Configure all AN pins as digital
output_b(0); // PORTB initial state
set_tris_b(0x3F); // Configure RB0 to RB5 as inputs
port_b_pullups(TRUE); // Enable PORTB pull-ups
usb_init_cs(); // Initialize USB hardware
delay_ms(1000);
while(TRUE){
usb_task();
if(usb_enumerated()){ // If the device has been enumerated by the
PC
while(!input(PIN_B0)){
out_data[0] = 0;
out_data[1] = 1;
out_data[2] = 0;
out_data[3] = 0;
usb_put_packet(1,out_data,4,USB_DTS_TOGGLE);
}
while(!input(PIN_B1)){
out_data[0] = 0;
out_data[1] = -1;
out_data[2] = 0;
out_data[3] = 0;
usb_put_packet(1,out_data,4,USB_DTS_TOGGLE);
}
while(!input(PIN_B2)){
out_data[0] = 0;
out_data[1] = 0;
out_data[2] = 1;
out_data[3] = 0;
usb_put_packet(1,out_data,4,USB_DTS_TOGGLE);
}
while(!input(PIN_B3)){
out_data[0] = 0;
out_data[1] = 0;
out_data[2] = -1;
out_data[3] = 0;
usb_put_packet(1, out_data, 4, USB_DTS_TOGGLE);
}
while(!input(PIN_B4)){
out_data[0] = 1;
out_data[1] = 0;
out_data[2] = 0;
1
INFORME DE PRÁCTICAS
Formato
FR-FAC-PAC-GLB-018 Versión: 01 Fecha: 02/03/2017
out_data[3] = 0;
usb_put_packet(1,out_data,4,USB_DTS_TOGGLE);
}
while(!input(PIN_B5)){
while(!input(PIN_B5));
out_data[0] = 3;
out_data[1] = 0;
out_data[2] = 0;
out_data[3] = 0;
usb_put_packet(1,out_data,4,USB_DTS_TOGGLE);
}
out_data[0] = 0;
out_data[1] = 0;
out_data[2] = 0;
out_data[3] = 0;
usb_put_packet(1,out_data,4,USB_DTS_TOGGLE);
}
}
}
1
INFORME DE PRÁCTICAS
Formato
FR-FAC-PAC-GLB-018 Versión: 01 Fecha: 02/03/2017
Conclusion:
Se puede establecer que las razones de la excelente acogida que tienen los PIC son las
siguientes:
Sencillez de manejo: Tienen un juego de instrucciones reducido; 35 en la gama media,
que una vez aprendidas pueden ser usadas en cualquier otro microcontrolador PIC.
Buena información, fácil de conseguir y económica.
Precio: Su coste es inferior al de sus competidores.
Poseen una elevada velocidad de funcionamiento. Buen promedio de parámetros:
velocidad, consumo, tamaño, alimentación, código compacto, etc.
Recomendación:
Se recomienda ventilar el lugar de trabajo en los laboratorios.
BIBLIOGRAFÍA:
Circuits today. (23 de Enero de 2018). Obtenido de http://www.circuitstoday.com/interfacing-seven-
segment-display-to-8051
Danae. (20 de Octubre de 2011). Sistemas Eleectrónicos para informática. Obtenido de Codificadores,
Multiplexores y Decodificadores:
http://electronica1erparcial.blogspot.com/2012/01/codificadores-multiplexores-y.html