manual interfaz con vc++ y vb para puerto serie y pic16f84a
Post on 12-Nov-2014
63.498 Views
Preview:
DESCRIPTION
TRANSCRIPT
1
29/03/2009metaconta@gmail.com
ÍNDICE
Presentación – 3
Visual C++ - 6
Visual Basic – 78
Fotos – 186
Vídeos – 191
Libros – 193
Otros manuales – 195
Enlaces de interés – 197
Versión – 199
Contacto – 200
Autor - 201
29/03/2009
2
metaconta@gmail.com
29/03/2009metaconta@gmail.com
3
PRESENTACIÓN
PRESENTACIÓN
Aquí presentamos la parte principal del manual de Visual C# adaptado al Visual C++ y Visual Basic.
Son tantas las preguntas de por qué no uno de VC++ y/o VB que haga lo mismo que al final me dio por hacerlo.
Si eres novel se recomienda primero mirar el manual de Visual C# que puedes descargar aquí o aquí.
Dejar claro que en el pequeño manual sólo se utilizará la parte importante que es la comunicación sobre el RS232 del puerto serie.
Los extras que viene en el manual de Visual C# no se incluye aquí.
29/03/2009metaconta@gmail.com
4
PRESENTACIÓN
Si no conoces el manual de Visual C# que es el tema principal, encontrarás un resumen de su contenido aquí:
En extras.
- Acerca de…
- Enfoque del botón.
- Redimensionar formulario.
- Manual del PicRS232.
- Contraer código.
- Icono.
- Notificación del Icono.
- Enlaces Web.
- Opacidad.
- Instalador Create Install Free.
29/03/2009metaconta@gmail.com
5
Introducción
29/03/2009metaconta@gmail.com
6
VISUAL C++
DESCARGA DEL VISUAL C++
De entrada vamos a descargar el compilador (gratuito) Visual C++ Express desde la Web oficial http://www.microsoft.com/express/download/
Precisamente vamos a descargar la versión en español y si es posible instale los Service Pack ya que en esa actualización se han corregidos errores y mejor rendimiento.
Pulsa Donwload para su descarga.
29/03/2009metaconta@gmail.com
7
DESCARGA DEL VISUAL C++
29/03/2009metaconta@gmail.com
8
REGISTRO DEL VISUAL C++
29/03/2009metaconta@gmail.com
9
Llegarás un momento en que te dice que te registres. Si no te registras sólo funcionará el Visual C++ 30 días y después si quieres usarlo siempre te pedirá la clave del registro.
Registrarse es gratuito y no tendrás que pagar ninguna cantidad de dinero, sólo es para que lo puedas usar siempre.
Se recomienda guardar la clave que te llega por e-mail.
VISUAL C++
En este manual se ha trabajado en su
momento con:
Windows XP SP3
Visual C++ 2008 Express FrameWork 3.5
SP1
29/03/2009metaconta@gmail.com
10
29/03/2009metaconta@gmail.com
11
29/03/2009metaconta@gmail.com
12
OBJETIVO DE LA INTERFAZ
OBJETIVO DE LA INTERFAZ
El objetivo principal de esta aplicación es
hacer una interfaz de Visual C++ capaz de
comunicarse con un microcontrolador
PIC16F84A al igual que lo hace el
HyperTerminalde Windows o el Minicom de
Linux con su propio diseño y control.
Vamos a dar el primer paso del diseño de la
interfaz.
29/03/2009metaconta@gmail.com
13
OBJETIVO DE LA INTERFAZ
1) Introducir el nombre de nuestro programa en el formulario.
2) Centrar el formulario en el centro de la pantalla de nuestro monitor al ejecutar nuestra aplicación o programa.
3) Introducir 5 botones en el formulario en la coordenada indicada.
4) Orden de tabulación de los botones.
5) Depurar nuestra aplicación.
29/03/2009metaconta@gmail.com
14
OBJETIVO DE LA INTERFAZ
Crea un proyecto
nuevo y llámalo
PicRS232cpp como
indica en la imagen.
29/03/2009metaconta@gmail.com
15
OBJETIVO DE LA INTERFAZ
29/03/2009metaconta@gmail.com
16
OBJETIVO DE LA INTERFAZ
Pincha una vez en el
centro del formulario o
donde quieras.
En “Propiedades”, pon
el valor de la
propiedad
“PicRS232cpp” (sin las
dobles comillas) ya
que es el nombre del
programa principal.
29/03/2009metaconta@gmail.com
17
OBJETIVO DE LA INTERFAZ
Para centrar el formulario, el nombre de la propiedad, selecciona el valor de la propiedad “CenterScreen”.
Al depurar el programa siempre se visualiza el formulario en el centro de la pantalla o nuestro monitor.
29/03/2009metaconta@gmail.com
18
OBJETIVO DE LA INTERFAZ
PROPIEDADES
En el cuadro de propiedades de la derecha, es un breve resumen de lo que hemos hecho menos la “Propiedad” “Size”, que es el que debemos tener si no hemos tocado nada al principio.
Ahora en adelante sabrá interpretar este cuadro, y podemos cambiar las propiedades más rápidamente de cualquier objeto.
29/03/2009metaconta@gmail.com
19
Propiedad Cambia a
Text PicRS232cpp
StartPosition CenterScreen
Size 300; 300
OBJETIVO DE LA INTERFAZ
PROPIEDADES
Introduces el botón llamado
“button1” en el formulario.
Ahora toca cambiar las
propiedades que se
describe en el cuadro a
continuación para el
“button1”.
29/03/2009metaconta@gmail.com
20
Propiedad Cambia a
Text t
(Name) Button_t
Location 109; 38
OBJETIVO DE LA INTERFAZ
PROPIEDADES
Lo mismo con el botón b.
29/03/2009metaconta@gmail.com
21
Propiedad Cambia a
Text b
(Name) Button_b
Location 109; 67
OBJETIVO DE LA INTERFAZ
PROPIEDADES
Lo mismo con el botón a.
29/03/2009metaconta@gmail.com
22
Propiedad Cambia a
Text a
(Name) Button_a
Location 28; 67
OBJETIVO DE LA INTERFAZ
PROPIEDADES
Lo mismo con el botón l.
(Ele minúscula).
29/03/2009metaconta@gmail.com
23
Propiedad Cambia a
Text l
(Name) Button_l
Location 190; 67
OBJETIVO DE LA INTERFAZ
PROPIEDADES
Ahora con Button5 de la
tecla “Espacio”
cambiaremos el color del
botón y la fuente de letras
en negrita como indica en
el cuadro.
Te lo dice directamente
pero hay otra forma de
hacerlo más cómodo.
29/03/2009metaconta@gmail.com
24
Propiedad Cambia a
BackColor 255; 128; 0
Font.Bolt True
Text Espacio
(Name) Button_Espacio
Location 190; 96
OBJETIVO DE LA INTERFAZ
Vamos a ver algunas formas sobre orden de tabulación de los botones.
El “Nombre de la propiedad” “TabIndex” con valor “0”, significa que es el primero en orden de tabulación, el 1 el segundo, el 2 el tercero así sucesivamente.
29/03/2009metaconta@gmail.com
25
OBJETIVO DE LA INTERFAZ
También hay otro
método más cómodo
en seleccionar el
orden de tabulación.
Accede al “VerOrden
de tabulación”.
29/03/2009metaconta@gmail.com
26
OBJETIVO DE LA INTERFAZ
29/03/2009metaconta@gmail.com
27
OBJETIVO DE LA INTERFAZ
Directamente en el
formulario puedes ver
el orden que tiene la
tabulación.
Puedes cambiarla
pulsando con el ratón
el cuadrado azul con
su número
correspondiente.
29/03/2009metaconta@gmail.com
28
OBJETIVO DE LA INTERFAZ
29/03/2009metaconta@gmail.com
29
OBJETIVO DE LA INTERFAZ
Guarde el proyecto completo y luego pulse “F5” o la flecha verde para iniciar la depuración.
Debemos tener algo similar como muestra en la imagen de la derecha.
Puedes pulsar los botones que notarás que no hace nada ya que no hemos programado ninguna acción sobre ellas.
Ahora cierra el programa con la X como cualquier otro programa.
Ya hemos cumplido el objetivo de esta parte.
Ahora nos centramos a explicar un poco el código del PIC16F84A y así entender cómo recibe los datos que Visual C++ envía por el puerto serie.
29/03/2009metaconta@gmail.com
30
29/03/2009metaconta@gmail.com
31
CÓDIGO ASM DEL PIC16F84A
CÓDIGO ASM DEL PIC16F84A
Para entender los datos que enviamos
desde el Visual C++, debemos entender el
código fuente del PIC 16F84A, en este caso
en ensamblador.
Los datos que enviamos desde el Visual C++
es en hexadecimal en lo cual conviene ver la
tabla ASCII que puedes ver en el APÉNDICE
G del libro www.pic16f84a.org.
29/03/2009metaconta@gmail.com
32
CÓDIGO ASM DEL PIC16F84A
Si no tienes el libro puedes ver el código ASCII en las páginas siguientes y el que vamos utilizar es la tabla ASCII 1.
La tabla ASCII 2 es más extendida, aunque en este manual no lo vamos a utilizar, es bueno tenerlo como referencia.
ASCII, pronunciado “áski” significa del Inglés “American Standard CodeforInformationInterchange” o lo que es lo mismo “Código Estadounidense Estándar para el Intercambio de Información”.
29/03/2009metaconta@gmail.com
33
CÓDIGO ASCII
29/03/2009metaconta@gmail.com
34
CÓDIGO ASM DEL PIC16F84A
El ejemplo a utilizar es el archivo RS232_11.asm (también vale el RS232_11b.asm).
Puedes obtenerlo desde el CD-ROM que acompaña el libro como también puedes descargarlo en su Web pinchando con el ratón aquí.
La clave para abrir todos los archivos de esta Web corresponden con las iniciales del Ciclo Formativo de Grado Superior Desarrollo de Productos Electrónicos, uno de los estudios oficiales donde en España se pueden estudiar los temas tratados en esta Web:
D.P.E.
29/03/2009metaconta@gmail.com
35
CÓDIGO ASM DEL PIC16F84A
El esquema eléctrico que vamos a usar es
del capítulo 20-15 del libro
www.pic16f84a.org que se muestra en la
página siguiente.
29/03/2009metaconta@gmail.com
36
CÓDIGO ASM DEL PIC16F84A
Vamos a usar el código del libro del archivo RS232_11.asm para poder entender lo que estamos haciendo.
Sólo explicaré la parte fundamental para entender la parte de Visual C++ al enviar los datos.
Si quieres saber la explicación completa de estos temas del código ASM, está bien detallada en el libro www.pic16f84a.org
29/03/2009metaconta@gmail.com
37
CÓDIGO ASM DEL PIC16F84A
Puedes ver el código ASM a partir de la
página 111 del manual sobre Visual C#.
29/03/2009metaconta@gmail.com
38
CÓDIGO ASM DEL PIC16F84A
Se preguntará el motivo de poner esas letras en los botones. ¿Por qué esas letras?
El programa del microcontroladorPIC16F84A tiene configuradas esas cuatro letras que significan lo que muestra en el cuadro de la derecha.
Desde el código fuente se puede modificar las letras o números que quieras.
29/03/2009metaconta@gmail.com
39
TECLA MOVIMIENTO
t Adelante
b Atrás
a Izquierda
l Derecha
(Espacio) Parada
CÓDIGO ASM DEL PIC16F84A
Mirando la tabla ASCII 1 de este manual o el APÉNDICE G del libro, debemos tener presente cual es cual expresado en hexadecimal.
Por ejemplo, la letra “t” minúscula en hexadecimal es el “74”.
29/03/2009metaconta@gmail.com
40
CÓDIGO ASM DEL PIC16F84A
En el Visual C++ vamos a usar los caracteres hexadecimales que muestra en el cuadro de la derecha para enviar datos al PIC16F84A.
No hace falta que mires la tabla ascii ya que precisamente vamos a usar la indicada aquí, excepto, que desees usar otros caracteres.
29/03/2009metaconta@gmail.com
41
Hex Carácter
74 t
62 b
61 a
6C l
20 Espacio
29/03/2009metaconta@gmail.com
42
PRIMER CÓDIGO C++
PRIMER CÓDIGO C++
Vamos a introducir los primeros códigos C++ en los botones y hacer funcionar a la primera apagar y encender los Led al mismo tiempo el mensaje que muestra en el LCD.
Los mensajes del LCD más adelante lo haremos también por la interfaz del Visual C++.
29/03/2009metaconta@gmail.com
43
PRIMER CÓDIGO C++
Se recomienda probar el montaje del circuito
si funciona bien con el HyperTerminal de
Windows bien explicado en el libro
www.pi16f84a.org.
Cuando compruebes que toda va bien el
circuito, empezamos a programar en C++.
29/03/2009metaconta@gmail.com
44
PRIMER CÓDIGO C++
Pinchamos dos veces
clic en el botón en este
caso el de la letra “t”
para ir al código del
evento generado, es
decir, que al pulsar el
botón una vez, se
ejecuta una acción.
29/03/2009metaconta@gmail.com
45
PRIMER CÓDIGO C++
Aquí por primera vez vamos a usar el código
en C++ creado por nosotros mismos.
En cada botón enviamos los datos para
activar los led.
Nos aseguramos que el circuito funciona
muy bien como había dicho.
29/03/2009metaconta@gmail.com
46
PRIMER CÓDIGO C++ (OBJETIVO)
1) Introducir códigos en los botones para su
funcionamiento.
2) Depurar nuestra aplicación.
29/03/2009metaconta@gmail.com
47
PRIMER CÓDIGO C++
Al hacer clic o pinchar dos veces el botón “t”,
se genera el código del evento de un clic
para nosotros poder poner el código
necesario en su interior, y poder enviar datos
al puerto serie RS232 al PIC16F84A.
El código generado del “button_t” es el que
se muestra en la página siguiente.
29/03/2009metaconta@gmail.com
48
PRIMER CÓDIGO C++
29/03/2009metaconta@gmail.com
49
PRIMER CÓDIGO C++
El código que vamos a introducir para que el
PIC16F84A lea la letra “t” es este:
cli::array<unsigned char> ^uno = gcnew
cli::array<unsigned char>(1);
uno[0] = 0x74; //ASCII letra "t".
serialPort1->Write(uno, 0, 1);
29/03/2009metaconta@gmail.com
50
PRIMER CÓDIGO C++
29/03/2009metaconta@gmail.com
51
PRIMER CÓDIGO C++
“El nombre “serialPort1” no existe en el
contexto actual”
Nos faltan dos cosas para tener un buen
funcionamiento del programa.
29/03/2009metaconta@gmail.com
52
PRIMER CÓDIGO C++
Justo debajo donde
pone:
using namespace
System::Drawing;
29/03/2009metaconta@gmail.com
53
PRIMER CÓDIGO C++
Ahora introduces el
siguiente comando:
using namespace
System::IO::Ports;
29/03/2009metaconta@gmail.com
54
PRIMER CÓDIGO C++
En el “Cuadro de herramientas”, “Componentes”, pincha o haces dos veces clicken el objeto SerialPort. (También puedes arrastrarlo al formulario).
Como verás, abajo se ha introducido un nuevo objeto llamado “serialPort1” y no está dentro del formulario porque no es un objeto visible, sólo tiene funciones internas.
Con él podemos configurar el puerto serie “COM 1”.
29/03/2009metaconta@gmail.com
55
PRIMER CÓDIGO C++
29/03/2009metaconta@gmail.com
56
PRIMER CÓDIGO C++
Aunque mediante programación se puede hacer lo mismo, más cómodo, fácil y rápido es utilizar este componente serialPort1, al lado cambiamos sus propiedades.
Además, está bien salvo en “StopBits” lo ponemos a Two como indica la imagen.
29/03/2009metaconta@gmail.com
57
PRIMER CÓDIGO C++
El programa
RS232_11.asm que
acompaña el libro,
utiliza los datos de
comunicación es el
que muestra en la
imagen de la derecha.
29/03/2009metaconta@gmail.com
58
Propiedades Cambiar a
BaudRate 9600
DataBits 8
Handshake None
Parity None
PortName COM1
StopBits Two
PRIMER CÓDIGO C++
Una vez todo hecho como indica las páginas anteriores, el código fuente sería tan simple como indica en la página siguiente.
Hay una parte del código que he agregado texto:
uno[0] = 0x74; //ASCII letra "t".
Poner las dos barras // expresan textos para poder explicar algún comentario en el compilador al igual que lo hacemos con ; en el MPLAB al escribir en ensamblador.
29/03/2009metaconta@gmail.com
59
PRIMER CÓDIGO C++
29/03/2009metaconta@gmail.com
60
PRIMER CÓDIGO C++
Aún no hemos acabado. Introduces este código debajo del InitializeComponent();.
if(!serialPort1->IsOpen)
{
try
{
serialPort1->Open();
}
catch (Exception ^ex)
{
MessageBox::Show(ex->ToString());
}
}
29/03/2009metaconta@gmail.com
61
PRIMER CÓDIGO C++
Para saber el números
de líneas en el editor
de Visual C++, pulsa:
Herramientasopcion
es…
29/03/2009metaconta@gmail.com
62
PRIMER CÓDIGO C++
Fíjate en las flechas
rojas. Señala General,
y después marca la
casilla “Números de
línea”.
Al finalizar pulsa
“Aceptar”.
29/03/2009metaconta@gmail.com
63
PRIMER CÓDIGO C++
29/03/2009metaconta@gmail.com
64
PRIMER CÓDIGO C++
Ya podemos guiarnos mejor con los números de línea que muestra en el compilador.
Ahora continuamos con el código fuente que debería ser igual que has hecho hasta ahora como muestra en las siguientes páginas.
29/03/2009metaconta@gmail.com
65
PRIMER CÓDIGO C++
29/03/2009metaconta@gmail.com
66
Guarda todo el proyecto y compila pulsando
“F5”.
El único botón funcional es el “button_t”, que
al pulsarlo se enciende un Led y en el LCD
visualiza: Marcha ADELANTE.
Sigamos introduciendo líneas de código para
los otros botones con su letra o carácter
correspondiente.
PRIMER CÓDIGO C++
29/03/2009metaconta@gmail.com
67
En el formulario, pincha dos veces click en el
botón b e introduce los códigos necesarios.
cli::array<unsigned char> ^uno = gcnew
cli::array<unsigned char>(1);
uno[0] = 0x62; //ASCII letra "b".
serialPort1->Write(uno, 0, 1);
PRIMER CÓDIGO C++
29/03/2009metaconta@gmail.com
68
Sigue así con los demás botones. El
procedimiento es el mismo que el primer
botón.
A continuación mostramos el código fuente
completo.
PRIMER CÓDIGO C++
29/03/2009metaconta@gmail.com
69
PRIMER CÓDIGO C++
29/03/2009metaconta@gmail.com
70
PRIMER CÓDIGO C++
29/03/2009metaconta@gmail.com
71
PRIMER CÓDIGO C++
29/03/2009metaconta@gmail.com
72
PRIMER CÓDIGO C++
29/03/2009metaconta@gmail.com
73
PRIMER CÓDIGO C++
29/03/2009metaconta@gmail.com
74
PRIMER CÓDIGO C++
29/03/2009metaconta@gmail.com
75
PRIMER CÓDIGO C++
DESCARGA CÓDIGO FUENTE 1
Guarda todo el proyecto, y pulsa “F5” para compilar el programa.
Si has seguido paso a paso esta aplicación, debería funcionar a la primera.
En caso contrario vuelva a repetir los pasos.
Descargue el ejemplo “Fuente 1” para ver el resultado o mire las páginas anteriores. Ejecuta el archivo “PicRS232cpp.sln” para abrirlo junto con el Visual C++.
Fuente 1
Fuente 1
29/03/2009metaconta@gmail.com
76
29/03/2009metaconta@gmail.com
77
Introducción
29/03/2009metaconta@gmail.com
78
VISUAL BASIC
DESCARGA DEL VISUAL BASIC
De entrada vamos a descargar el compilador (gratuito) Visual Basic Express desde la Web oficial http://www.microsoft.com/express/download/
Precisamente vamos a descargar la versión en español y si es posible instale los Service Pack ya que en esa actualización se han corregidos errores y mejor rendimiento.
Pulsa Donwload para su descarga.
29/03/2009metaconta@gmail.com
79
DESCARGA DEL VISUAL BASIC
29/03/2009metaconta@gmail.com
80
DESCARGA DEL VISUAL BASIC
29/03/2009metaconta@gmail.com
81
Llegarás un momento en que te dice que te registres. Si no te registras sólo funcionará el Visual Basic 30 días y después si quieres usarlo siempre te pedirá la clave del registro.
Registrarse es gratuito y no tendrás que pagar ninguna cantidad de dinero, sólo es para que lo puedas usar siempre.
Se recomienda guardar la clave que te llega por e-mail.
DESCARGA DEL VISUAL BASIC
29/03/2009metaconta@gmail.com
82
En este manual se ha trabajado en su
momento con:
Windows XP SP3
Visual Basic 2008 Express FrameWork 3.5
SP1
29/03/2009metaconta@gmail.com
83
29/03/2009metaconta@gmail.com
84
OBJETIVO DE LA INTERFAZ
OBJETIVO DE LA INTERFAZ
El objetivo principal de esta aplicación es hacer una interfaz de Visual Basic capaz de comunicarse con un microcontroladorPIC16F84A al igual que lo hace el HyperTerminal de Windows o el Minicom de Linux con su propio diseño y control.
Vamos a dar el primer paso del diseño de la interfaz.
29/03/2009metaconta@gmail.com
85
OBJETIVO DE LA INTERFAZ
1) Introducir el nombre de nuestro programa en el formulario.
2) Centrar el formulario en el centro de la pantalla de nuestro monitor al ejecutar nuestra aplicación o programa.
3) Introducir 5 botones en el formulario en la coordenada indicada.
4) Orden de tabulación de los botones.
5) Depurar nuestra aplicación.
29/03/2009metaconta@gmail.com
86
OBJETIVO DE LA INTERFAZ
Crea un proyecto
nuevo y llámalo
PicRS232vb como
indica en la imagen.
29/03/2009metaconta@gmail.com
87
OBJETIVO DE LA INTERFAZ
29/03/2009metaconta@gmail.com
88
OBJETIVO DE LA INTERFAZ
Pincha una vez en el
centro del formulario o
donde quieras.
En “Propiedades”, pon
el valor de la
propiedad
“Form_Pincipal” (sin
las dobles comillas) ya
que es el nombre del
programa principal.
29/03/2009metaconta@gmail.com
89
OBJETIVO DE LA INTERFAZ
En “Propiedades”, pon
el valor de la
propiedad
“PicRS232vb” (sin las
dobles comillas) ya
que es el nombre del
programa principal.
29/03/2009metaconta@gmail.com
90
OBJETIVO DE LA INTERFAZ
Para centrar el formulario, el nombre de la propiedad, selecciona el valor de la propiedad “CenterScreen”.
Al depurar el programa siempre se visualiza el formulario en el centro de la pantalla o nuestro monitor.
29/03/2009metaconta@gmail.com
91
OBJETIVO DE LA INTERFAZ
29/03/2009metaconta@gmail.com
92
Propiedad Cambie a
Text PicRS232vb
(Name) Form_Principal
StartPosition CenterScreen
Size 300; 300
En el cuadro de propiedades de la derecha, es un breve resumen de lo que hemos hecho menos la “Propiedad” “Size”, que es el que debemos tener si no hemos tocado nada al principio.
Ahora en adelante sabrá interpretar este cuadro, y podemos cambiar las propiedades más rápidamente de cualquier objeto.
OBJETIVO DE LA INTERFAZ
29/03/2009metaconta@gmail.com
93
Propiedad Cambie a
Text t
(Name) Button_t
Location 109; 38
Introduces el botón
llamado “button1” en el
formulario.
Ahora toca cambiar las
propiedades que se
describe en el cuadro
a continuación para el
“button1”.
OBJETIVO DE LA INTERFAZ
29/03/2009metaconta@gmail.com
94
Propiedad Cambie a
Text b
(Name) Button_b
Location 109; 67
Lo mismo con el botón
b.
OBJETIVO DE LA INTERFAZ
29/03/2009metaconta@gmail.com
95
Propiedad Cambie a
Text a
(Name) Button_a
Location 28; 67
Lo mismo con el botón
a.
OBJETIVO DE LA INTERFAZ
29/03/2009metaconta@gmail.com
96
Propiedad Cambie a
Text l
(Name) Button_l
Location 190; 67
Lo mismo con el botón
l. (Ele minñuscula).
OBJETIVO DE LA INTERFAZ
29/03/2009metaconta@gmail.com
97
Propiedad Cambie a
BackColor 255;128; 0
Font.Bolt True
Text Espacio
(Name) Button_Espacio
Location 190; 96
Ahora con Button5 de la tecla “Espacio” cambiaremos el color del botón y la fuente de letras en negrita como indica en el cuadro.
Te lo dice directamente pero hay otra forma de hacerlo más cómodo.
OBJETIVO DE LA INTERFAZ
29/03/2009metaconta@gmail.com
98
Vamos a ver algunas formas sobre orden de tabulación de los botones.
El “Nombre de la propiedad” “TabIndex” con valor “0”, significa que es el primero en orden de tabulación, el 1 el segundo, el 2 el tercero así sucesivamente.
OBJETIVO DE LA INTERFAZ
29/03/2009metaconta@gmail.com
99
También hay otro
método más cómodo
en seleccionar el
orden de tabulación.
Accede al “VerOrden
de tabulación”.
OBJETIVO DE LA INTERFAZ
29/03/2009metaconta@gmail.com
100
OBJETIVO DE LA INTERFAZ
29/03/2009metaconta@gmail.com
101
Directamente en el
formulario puedes ver
el orden que tiene la
tabulación.
Puedes cambiarla
pulsando con el ratón
el cuadrado azul con
su número
correspondiente.
OBJETIVO DE LA INTERFAZ
29/03/2009metaconta@gmail.com
102
OBJETIVO DE LA INTERFAZ
29/03/2009metaconta@gmail.com
103
Guarde el proyecto completo y luego pulse “F5” o la flecha verde para iniciar la depuración.
Debemos tener algo similar como muestra en la imagen de la derecha.
Puedes pulsar los botones que notarás que no hace nada ya que no hemos programado ninguna acción sobre ellas.
Ahora cierra el programa con la X como cualquier otro programa.
Ya hemos cumplido el objetivo de esta parte.
Ahora nos centramos a explicar un poco el código del PIC16F84A y así entender cómo recibe los datos que Visual Basic envía por el puerto serie.
29/03/2009metaconta@gmail.com
104
CÓDIGO ASM DEL PIC16F84A
CÓDIGO ASM DEL PIC16F84A
Para entender los datos que enviamos
desde el Visual Basic, debemos entender el
código fuente del PIC 16F84A, en este caso
en ensamblador.
Los datos que enviamos desde el Visual
Basic es en hexadecimal en lo cual conviene
ver la tabla ASCII que puedes ver en el
APÉNDICE G del libro www.pic16f84a.org.
29/03/2009metaconta@gmail.com
105
CÓDIGO ASM DEL PIC16F84A
Si no tienes el libro puedes ver el código ASCII en las páginas siguientes y el que vamos utilizar es la tabla ASCII 1.
La tabla ASCII 2 es más extendida, aunque en este manual no lo vamos a utilizar, es bueno tenerlo como referencia.
ASCII, pronunciado “áski” significa del Inglés “American Standard CodeforInformationInterchange” o lo que es lo mismo “Código Estadounidense Estándar para el Intercambio de Información”.
29/03/2009metaconta@gmail.com
106
CÓDIGO ASCII
29/03/2009metaconta@gmail.com
107
CÓDIGO ASM DEL PIC16F84A
El ejemplo a utilizar es el archivo RS232_11.asm (también vale el RS232_11b.asm).
Puedes obtenerlo desde el CD-ROM que acompaña el libro como también puedes descargarlo en su Web pinchando con el ratón aquí.
La clave para abrir todos los archivos de esta Web corresponden con las iniciales del Ciclo Formativo de Grado Superior Desarrollo de Productos Electrónicos, uno de los estudios oficiales donde en España se pueden estudiar los temas tratados en esta Web:
D.P.E.
29/03/2009metaconta@gmail.com
108
CÓDIGO ASM DEL PIC16F84A
El esquema eléctrico que vamos a usar es
del capítulo 20-15 del libro
www.pic16f84a.org que se muestra en la
página siguiente.
29/03/2009metaconta@gmail.com
109
CÓDIGO ASM DEL PIC16F84A
Vamos a usar el código del libro del archivo RS232_11.asm para poder entender lo que estamos haciendo.
Sólo explicaré la parte fundamental para entender la parte de Visual Basic al enviar los datos.
Si quieres saber la explicación completa de estos temas del código ASM, está bien detallada en el libro www.pic16f84a.org
29/03/2009metaconta@gmail.com
110
CÓDIGO ASM DEL PIC16F84A
Puedes ver el código ASM a partir de la
página 111 del manual sobre Visual C#.
29/03/2009metaconta@gmail.com
111
CÓDIGO ASM DEL PIC16F84A
Se preguntará el motivo de poner esas letras en los botones. ¿Por qué esas letras?
El programa del microcontroladorPIC16F84A tiene configuradas esas cuatro letras que significan lo que muestra en el cuadro de la derecha.
Desde el código fuente se puede modificar las letras o números que quieras.
29/03/2009metaconta@gmail.com
112
TECLA MOVIMIENTO
t Adelante
b Atrás
a Izquierda
l Derecha
(Espacio) Parada
CÓDIGO ASM DEL PIC16F84A
Mirando la tabla ASCII 1 de este manual o el APÉNDICE G del libro, debemos tener presente cual es cual expresado en hexadecimal.
Por ejemplo, la letra “t” minúscula en hexadecimal es el “74”.
29/03/2009metaconta@gmail.com
113
CÓDIGO ASM DEL PIC16F84A
En el Visual Basic vamos a usar los caracteres hexadecimales que muestra en el cuadro de la derecha para enviar datos al PIC16F84A.
No hace falta que mires la tabla ascii ya que precisamente vamos a usar la indicada aquí, excepto, que desees usar otros caracteres.
29/03/2009metaconta@gmail.com
114
Hex Carácter
74 t
62 b
61 a
6C l
20 Espacio
29/03/2009metaconta@gmail.com
115
PRIMER CÓDIGO VISUAL BASIC
PRIMER CÓDIGO VISUAL BASIC
Vamos a introducir los primeros códigos Visual Basic en los botones y hacer funcionar a la primera apagar y encender los Led al mismo tiempo el mensaje que muestra en el LCD.
Los mensajes del LCD más adelante lo haremos también por la interfaz del Visual Basic.
29/03/2009metaconta@gmail.com
116
PRIMER CÓDIGO BASIC
Se recomienda probar el montaje del circuito
si funciona bien con el HyperTerminal de
Windows bien explicado en el libro
www.pi16f84a.org.
Cuando compruebes que toda va bien el
circuito, empezamos a programar en Visual
Basic.
29/03/2009metaconta@gmail.com
117
PRIMER CÓDIGO VISUAL BASIC
Pinchamos dos veces
clic en el botón en este
caso el de la letra “t”
para ir al código del
evento generado, es
decir, que al pulsar el
botón una vez, se
ejecuta una acción.
29/03/2009metaconta@gmail.com
118
PRIMER CÓDIGO VISUAL BASIC
Aquí por primera vez vamos a usar el código
en Visual Basic creado por nosotros mismos.
En cada botón enviamos los datos para
activar los led.
Nos aseguramos que el circuito funciona
muy bien como había dicho.
29/03/2009metaconta@gmail.com
119
PRIMER CÓDIGO VISUAL BASIC
1) Introducir códigos en los botones para su
funcionamiento.
2) Depurar nuestra aplicación.
29/03/2009metaconta@gmail.com
120
PRIMER CÓDIGO VISUAL BASIC
Al hacer clic o pinchar dos veces el botón “t”,
se genera el código del evento de un clic
para nosotros poder poner el código
necesario en su interior, y poder enviar datos
al puerto serie RS232 al PIC16F84A.
El código generado del “button_t” es el que
se muestra en la página siguiente.
29/03/2009metaconta@gmail.com
121
PRIMER CÓDIGO VISUAL BASIC
29/03/2009metaconta@gmail.com
122
PRIMER CÓDIGO VISUAL BASIC
El código que vamos a introducir para que el
PIC16F84A lea la letra “t” es este:
Dim mBuffer As Byte() = New Byte(0) {}
mBuffer(0) = &H74 'ASCII letra "t".
SerialPort1.Write(mBuffer, 0,
mBuffer.Length)
29/03/2009metaconta@gmail.com
123
PRIMER CÓDIGO VISUAL BASIC
29/03/2009metaconta@gmail.com
124
PRIMER CÓDIGO VISUAL BASIC
“El nombre “serialPort1” no existe en el
contexto actual”
Nos faltan dos cosas para tener un buen
funcionamiento del programa.
29/03/2009metaconta@gmail.com
125
PRIMER CÓDIGO VISUAL BASIC
Pon este código arriba
del todo del
compilador:
Imports
System.IO.Ports
29/03/2009metaconta@gmail.com
126
PRIMER CÓDIGO VISUAL BASIC
En el “Cuadro de herramientas”, “Componentes”, pincha o haces dos veces clic en el objeto SerialPort. (También puedes arrastrarlo al formulario).
Como verás, abajo se ha introducido un nuevo objeto llamado “serialPort1” y no está dentro del formulario porque no es un objeto visible, sólo tiene funciones internas.
Con él podemos configurar el puerto serie “COM 1”.
29/03/2009metaconta@gmail.com
127
PRIMER CÓDIGO VISUAL BASIC
29/03/2009metaconta@gmail.com
128
PRIMER CÓDIGO VISUAL BASIC
Aunque mediante programación se puede hacer lo mismo, más cómodo, fácil y rápido es utilizar este componente serialPort1, al lado cambiamos sus propiedades.
Además, está bien salvo en “StopBits” lo ponemos a Two como indica la imagen.
29/03/2009metaconta@gmail.com
129
PRIMER CÓDIGO VISUAL BASIC
El programa
RS232_11.asm que
acompaña el libro,
utiliza los datos de
comunicación es el
que muestra en la
imagen de la derecha.
29/03/2009metaconta@gmail.com
130
Propiedades Cambiar a
BaudRate 9600
DataBits 8
Handshake None
Parity None
PortName COM1
StopBits Two
PRIMER CÓDIGO VISUAL BASIC
Una vez todo hecho como indica las páginas anteriores, el código fuente sería tan simple como indica en la página siguiente.
Hay una parte del código que he agregado texto:
uno[0] = 0x74; //ASCII letra "t".
Poner las dos barras // expresan textos para poder explicar algún comentario en el compilador al igual que lo hacemos con ; en el MPLAB al escribir en ensamblador.
29/03/2009metaconta@gmail.com
131
PRIMER CÓDIGO VISUAL BASIC
29/03/2009metaconta@gmail.com
132
PRIMER CÓDIGO VISUAL BASIC
Aún no hemos acabado. Introduces este código debajo del Public ClassForm_Principal.
Public Sub New()
InitializeComponent()
' Abrir puerto mientras se ejecute la aplicación
If Not SerialPort1.IsOpen Then
Try
SerialPort1.Open()
Catch ex As System.Exception
MessageBox.Show(ex.ToString())
End Try
End If
End Sub
29/03/2009metaconta@gmail.com
133
PRIMER CÓDIGO VISUAL BASIC
Para saber el números
de líneas en el editor
de Visual Basic, pulsa:
Herramientasopcion
es…
29/03/2009metaconta@gmail.com
134
PRIMER CÓDIGO VISUAL BASIC
Fíjate en las flechas
rojas. Señala General,
y después marca la
casilla “Números de
línea”.
Al finalizar pulsa
“Aceptar”.
29/03/2009metaconta@gmail.com
135
PRIMER CÓDIGO VISUAL BASIC
29/03/2009metaconta@gmail.com
136
PRIMER CÓDIGO VISUAL BASIC
Ya podemos guiarnos mejor con los números de línea que muestra en el compilador.
Ahora continuamos con el código fuente que debería ser igual que has hecho hasta ahora como muestra en las siguientes páginas.
29/03/2009metaconta@gmail.com
137
PRIMER CÓDIGO VISUAL BASIC
29/03/2009metaconta@gmail.com
138
Guarda todo el proyecto y compila pulsando
“F5”.
El único botón funcional es el “button_t”, que
al pulsarlo se enciende un Ledy en el LCD
visualiza: Marcha ADELANTE.
Sigamos introduciendo líneas de código para
los otros botones con su letra o carácter
correspondiente.
PRIMER CÓDIGO VISUAL BASIC
29/03/2009metaconta@gmail.com
139
En el formulario, pincha dos veces clic en el
botón b e introduce los códigos necesarios.
Dim mBuffer As Byte() = New Byte(0) {}
mBuffer(0) = &H62 'ASCII letra "b".
SerialPort1.Write(mBuffer, 0,
mBuffer.Length)
PRIMER CÓDIGO VISUAL BASIC
29/03/2009metaconta@gmail.com
140
Sigue así con los demás botones. El
procedimiento es el mismo que el primer
botón.
A continuación mostramos el código fuente
completo.
PRIMER CÓDIGO VISUAL BASIC
29/03/2009metaconta@gmail.com
141
PRIMER CÓDIGO VISUAL BASIC
29/03/2009metaconta@gmail.com
142
PRIMER CÓDIGO VISUAL BASIC
DESCARGA CÓDIGO FUENTE 1
Guarda todo el proyecto, y pulsa “F5” para compilar el programa.
Si has seguido paso a paso esta aplicación, debería funcionar a la primera.
En caso contrario vuelva a repetir los pasos.
Descargue el ejemplo “Fuente 1” para ver el resultado o mire las páginas anteriores. Ejecuta el archivo “PicRS232vb.sln” para abrirlo junto con el Visual Basic.
Fuente 1
Fuente 1
29/03/2009metaconta@gmail.com
143
29/03/2009metaconta@gmail.com
144
29/03/2009metaconta@gmail.com
145
RECIBIR MENSAJES
RECIBIR MENSAJES
Objetivos:
Leer los datos del PIC16F84A
desde la interfaz del PC.
1) Arrastrar StatusStrip o barra de estado al formulario.
2) Un TextBox para leer los mensajes del PIC.
3) Un Labelo etiqueta.
4) Poner el TextBox en modo lectura.
5) Código para el TextBox.
6) Escribir código en el StatusStrip para mostrar la hora.
7) Depurar nuestra aplicación.
29/03/2009metaconta@gmail.com
146
RECIBIR MENSAJES
En el “Cuadro de
herramientas”, “Menús
y barra de
herramientas”, clickea
dos veces al control
StatusStrip.
Comprobarás en la
página siguiente que
se introduce a la base
del formulario.
29/03/2009metaconta@gmail.com
147
RECIBIR MENSAJES
29/03/2009metaconta@gmail.com
148
RECIBIR MENSAJES
Arrastra un TextBox al formulario.
Esté donde esté colocado el TextBoxdentro del formulario, verás que se irá colocando correctamente según cambies las propiedades del recuadro.
Fíjate en la página siguiente que vamos a cambiar otra propiedad llamada “Dock”.
Propiedad Cambiar a
ScrollsBar Vertical
Multilinea True
(Name) textBox_visualizar_
mensaje
Anchor Top, Bottom, Left,
Right
Location 0; 132
Size 287; 82
29/03/2009metaconta@gmail.com
149
RECIBIR MENSAJES
Puedes cambiar la propiedad “Dock” a “Bottom” para pegarlo hacia abajo y las paredes.
También puedes hacerlo más cómodo como se muestra en la imagen de la página siguiente.
Si cambias “Dock” a “Bottom”, automaticamente, “Anchor” se vuelve a cambiar sólo a “Top, Left”.
Vuelva a cambiar “Anchor” a “Top, Bottom, Left, Right”.
Al final “Dock” se cambia a “None”.
Si logramos esto, a la hora de Maximizar la ventana, el “textBox_visualizar_mensaje” se redimensiona bien.
Propiedad Cambiar a
Dock Bottom
29/03/2009metaconta@gmail.com
150
RECIBIR MENSAJES
Todo debería quedar
así siguiendo el pie de
la letra para que al
Maximizar el
formulario, el
“textBox_visualizar_m
ensaje” lo haga
correctamente.
29/03/2009metaconta@gmail.com
151
Propiedad Cambiar a
ScrollsBar Vertical
Multilinea True
(Name) textBox_visualizar_
mensaje
Anchor Top, Bottom, Left,
Right
Location 0; 132
Size 287; 82
Dock None
RECIBIR MENSAJES
Esta es una de las
maneras de cambiar a
“Bottom”.
29/03/2009metaconta@gmail.com
152
RECIBIR MENSAJES
Debe por ahora quedar
como muestra en la
imagen de la derecha.
Si toda va bien, sigue
adelante.
Si no te ha ido bien,
pulsa “Control+Z” para
retroceder hasta llegar el
punto donde cometiste
algún error y poder
corregir.
29/03/2009metaconta@gmail.com
153
RECIBIR MENSAJES
Arrastra un Label en el
formulario y cambia
sus propiedades como
indica el recuadro.
29/03/2009metaconta@gmail.com
154
Propiedad Cambiar a
Text Mensaje desde el
PIC
(Name) label_mensaje_pic
Autosize True
Location 25; 146
Size 110; 13
RECIBIR MENSAJES
Pulsa en la barra de
herramientas.
“VerOrden de
tabulación” y muestra
algo similar en l
aimagen.
29/03/2009metaconta@gmail.com
155
RECIBIR MENSAJES
Deja como muestra en la imagen el orden de tabulación.
Puedes si lo deseas poner el orden que prefieras.
Para quitar los números que se ve de la tabulación, “VerOrden de tabulación”.
29/03/2009metaconta@gmail.com
156
RECIBIR MENSAJES
Si lo deseas, en el
control ahora llamado
“textBox_visualizar_men
saje”, puedes dejarlo en
modo lectura para que
no pueda modificar su
contenido al recibir
mensajes desde el pic.
En mi caso, no activo el
modo lectura y lo dejo
en “False”.
29/03/2009metaconta@gmail.com
157
Propiedad Cambiar a
ReadOnly True
RECIBIR MENSAJES
Nos toca introducir los códigos necesarios para que el “textBox_visualizar_mensaje” pueda recibir los mensajes de avisos desde el PIC.
Introduce este código de abajo,
29/03/2009metaconta@gmail.com
158
'Utilizaremos un string como buffer de recepcion
Dim Recibidos As String
justo debajo del
Public Class Form_Principal
RECIBIR MENSAJES
29/03/2009metaconta@gmail.com
159
RECIBIR MENSAJES
29/03/2009metaconta@gmail.com
160
Ahora toca a por el siguiente código.
Fíjate dónde está colocado en la líneas de
números del compilador.
Seguiremos así sucesivamente.
RECIBIR MENSAJES
29/03/2009metaconta@gmail.com
161
RECIBIR MENSAJES
29/03/2009metaconta@gmail.com
162
RECIBIR MENSAJES
29/03/2009metaconta@gmail.com
163
RECIBIR MENSAJES
hh:mm:ss
Representa hha horas,
mm a minutos y ssa
segundos.
29/03/2009metaconta@gmail.com
164
Vamos a poner la hora
local de nuestro
Sistema Operativo en el
“StatusStrip1”.
Arrastra el “Timer” al
formulario con lo cual,
se llama “timer1” que lo
queremos para
actualizar lo valores de
la hora.
RECIBIR MENSAJES
29/03/2009metaconta@gmail.com
165
RECIBIR MENSAJES
Vamos a añadir la hora
local de nuestro
Sistema Operativo en
el “StatusStrip1”.
Señala con el ratón el
StatusStrip1.
29/03/2009metaconta@gmail.com
166
RECIBIR MENSAJES
Eliges “StatusLabel”
como indica la flecha
roja de más bajo.
29/03/2009metaconta@gmail.com
167
RECIBIR MENSAJES
Se ha creado un “toolStripStatusLabel1”.
En la propiedad “Text”, sustituye el valor “toolStripStatusLabel1” por el valor “hh:mm:ss”.
Como dije antes, significa, horas, minutos y segundos.
29/03/2009metaconta@gmail.com
168
RECIBIR MENSAJES
Ahora puedes ver que
es hh:mm:ss.
29/03/2009metaconta@gmail.com
169
RECIBIR MENSAJES
Selecciona el componente “timer1” y cambie de propiedades como indica en cuadro.
“Enabled” en “True” activa el “timer1”.
“Interval” a “1000”, 1000 significa 1 segundo como 15000, 15 segundos.
Se expresa en milisegundos, así, 1000 milisengundos que en realidad es 1 segundo.
1000 miliseg. = 1 seg.
29/03/2009metaconta@gmail.com
170
Propiedad Cambiar a
Enabled True
Interval 1000
RECIBIR MENSAJES
Pincha dos veces al
componente “timer1”
para que puedas
introducir el código
necesario de la hora
local de Windows.
29/03/2009metaconta@gmail.com
171
RECIBIR MENSAJES
Se crea unos códigos pero no tiene función.
29/03/2009metaconta@gmail.com
172
RECIBIR MENSAJES
En su interior del código del “timer1”,
introduce:
29/03/2009metaconta@gmail.com
173
StatusStrip1.Items(0).Text = DateTime.Now.ToLongTimeString()
RECIBIR MENSAJES
29/03/2009metaconta@gmail.com
174
RECIBIR MENSAJES
Al cerrar la aplicación puede quedarse el PIC activado e incluso si quitamos el cable db9.
Vamos a tratar este tema ya que puede ser muy incómodo esta situación, así que al cerrar la aplicación se comportará justo ante de cerrarse como si pulsara el botón naranja de la aplicación, “Espacio”.
29/03/2009metaconta@gmail.com
175
RECIBIR MENSAJES
29/03/2009metaconta@gmail.com
176
RECIBIR MENSAJES
29/03/2009metaconta@gmail.com
177
RECIBIR MENSAJES
29/03/2009metaconta@gmail.com
178
Comprueba a partir de la página siguiente el
código fuente completo.
RECIBIR MENSAJES
29/03/2009metaconta@gmail.com
179
RECIBIR MENSAJES
29/03/2009metaconta@gmail.com
180
RECIBIR MENSAJES
29/03/2009metaconta@gmail.com
181
RECIBIR MENSAJES
29/03/2009metaconta@gmail.com
182
Ya, en el último paso de este objetivo, guarde todo el proyecto y pulsa “F5” para compilar o depurar tu programa.
Recuerda que en el “textBox_visualizar_mensaje” si has dejado el valor True o False en “ReadOnly” (Solamente lectura), no solo le afecta el comportamiento si no el color, es decir, su apariencia.
En la siguiente página sabrás la diferencia y si has activado “ReadOnly” o no a “True”.
RECIBIR MENSAJES
READONLY = FALSE READONLY = TRUE
29/03/2009metaconta@gmail.com
183
RECIBIR MENSAJES
DESCARGA CÓDIGO FUENTE 2
29/03/2009metaconta@gmail.com
184
Perfectamente ya puedes probar el programa con el circuito.
Si algo falla, vuelve a empezar desde el principio o simplemente te descargas el archivo “Fuente 2”.
Este es el final de la aplicación de la interfaz aunque puedes ampliar algunos extras en páginas siguientes.
Fuente 2
Fuente 2
29/03/2009metaconta@gmail.com
185
29/03/2009metaconta@gmail.com
186
FOTOS
29/03/2009metaconta@gmail.com
187
29/03/2009metaconta@gmail.com
188
29/03/2009metaconta@gmail.com
189
29/03/2009metaconta@gmail.com
190
Puedes ver algunos vídeos en youtube.com sobre este proyecto.
29/03/2009metaconta@gmail.com
191
VÍDEOS
VÍDEOS (REQUIERE CONEXIÓN INTERNET)
PIC16F84A DB9 VC++ Y VISUAL BASICMOTOR DC CONTROLADO CON
PIC16F84A BASE RS232
Ver Vídeo 1 Ver Vídeo 2
29/03/2009metaconta@gmail.com
192
29/03/2009metaconta@gmail.com
193
LIBROS
LIBROS
WWW.PIC16F84A.ORG ELECTRÓNICA DIGITAL
29/03/2009metaconta@gmail.com
194
29/03/2009metaconta@gmail.com
195
OTROS MANUALES
OTROS MANUALES
DESCARGAS DE MANUALES
29/03/2009metaconta@gmail.com
196
Puedes descargar otros
manuales relacionado
sobre temas de
microcontroladores.
Manuales.
Manuales.
Enlaces de páginas Web donde podrás encontrar más información.
29/03/2009metaconta@gmail.com
197
ENLACES DE INTERÉS
ENLACES DE INTERÉS
Manual PicRS232 Visual C# Completo manual sobre Visual C# que puedes ver si no sigues la corriente con esta ampliación sobre VC++ y VB.
www.microsoft.com/express/ Descargas de las versiones gratuitas del Visual C++ y Visual Basic Express .net
www.todoelectronica.com/ Revista oficial de electrónica trimestral de España para cualquier lector sea principiante, aficionado o profesional con kit de regalo para su montaje. Podrás entregar tus propios proyectos de electrónica con o sin microcontroladores e incluso ver el de los demás lectores explicado con todo detalle, esquemas eléctricos, esquema de los circuitos impresos, lista de componentes, código fuente, etc. Las bases mínimas para entregar los proyectos está detallada en la revista.
www.microchip.com (En Inglés) Web oficial sobre los PIC entre otros dispositivos de la firma Microchip, donde podrás descargar las hojas de datos, ejemplos, compilador MPLAB y mucha más información.
http://electronica-pic.blogspot.com/ Blog personal sobre cualquier manual relacionado con electrónica, microcontroladores y programación.
29/03/2009metaconta@gmail.com
198
VERSIÓN DEL MANUAL
Publicado por primera vez:
04/03/2009
Versión 1.03
29/03/2009metaconta@gmail.com
199
CONTACTO
Puedes publicar este tutorial o
manual en tu Web, foros, blogs,
CD, DVD o Blu-Ray para revistas
oficiales, etc, libremente.
Cualquier comentario,
sugerencia o mejoras del
manual, me lo envían por
correo electrónico al
metaconta@gmail.com
29/03/2009metaconta@gmail.com
200
29/03/2009metaconta@gmail.com
201
AUTOR:
Ángel Acaymo M. G.
top related