manual interfaz con vc++ y vb para puerto serie y pic16f84a

Post on 12-Nov-2014

63.498 Views

Category:

Education

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

Manual para crear una interfaz bajo lenguajes Visual C++ y Visual Basic controlando un PIC16F84A por puerto serie.

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