Pic Rs232 puerto serie con PIC16F84A

Post on 02-Nov-2014

221 views 5 download

Tags:

description

Manual puerto serie RS232 con PIC16F84A controlado con Visual C# .net.

Transcript of Pic Rs232 puerto serie con PIC16F84A

ÍNDICE 1/2

Presentación – 4

Visual C# .net – 6

Entorno Visual C# – 44

Ejecutar programa – 58

Objetivo de la interfaz – 67

Código ASM del PIC16F84A – 101

Primer código C# – 121

Recibir mensajes – 163

18/03/2009metaconta@gmail.com

2

ÍNDICE 2/2

Extras – 203

Fotos – 490

Vídeos – 498

Libros – 500

Otros manuales – 503

Enlaces de interés – 505

Versión del manual – 508

Contacto – 509

Autor – 510

18/03/2009metaconta@gmail.com

3

Presentación del manual.

18/03/2009metaconta@gmail.com

4

PRESENTACIÓN

PRESENTACIÓN

Este manual está orientado a personas nóveles en tema de microcontroladores PIC y el

lenguaje C# en el Sistema Operativo Windows.

No aprenderemos a programar PIC en ensamblador (asm) ni el lenguaje C#, sino que se

darán los pasos necesarios para poder ser capaz de realizar estas tareas sin tener idea

de programación.

El objetivo de este manual es que cualquier persona sin conocimientos previos puedan

hacer ciertas tareas sobre el puerto serie RS232 sin el HyperTerminal de Windows,

Minicom de Linux o cualquier otro programa relacionado ya que nos centraremos en crear

desde cero nuestro propio interfaz donde podemos añadirle cualquier función o diseño de

botones, colores, posiciones, etc.

Está relacionado con el libro “MICROCONTROLADOR PIC16F84. Desarrollo de

proyectos” en el capítulo 20 con el ejemplo “RS232_11.asm” y/o RS232_11b.asm

Independientemente del entorno de desarrollo que hayas elegido sea en Windows o

Linux, siguiendo los pasos podrás controlar con tu interfaz el propio PIC a través del

puerto serie RS232. También puedes recibir mensajes de texto al igual que lo hace el

HyperTerminal y Minicom que también se visualiza en el LCD.

Este manual básico les puede servir para proyectos de fin de curso sea de Ciclos

Formativos Grado Medio, Ciclos Formativos Grado Superior e incluso una carrera

universitaria.

18/03/2009metaconta@gmail.com

5

Introducción

18/03/2009metaconta@gmail.com

6

VISUAL C# .NET

VISUAL C# .NET EXPRESS

Vamos a desarrollar un pequeño programa bajo el entorno de desarrollo Visual C# .net Express (gratuito) bajo el Sistema Operativo Windows.

Si conoces el libro www.pic16f84a.org se tratará sobre el capítulo 20 en el cual explica paso a paso el control del PIC-16F84A.

Si deseas obtener más información sobre el aprendizaje de Visual C# con vídeos incluidos entre en este enlace desde la Web oficial de MicroSoft. http://msdn.microsoft.com/es-es/beginner/bb308760.aspx

18/03/2009metaconta@gmail.com

7

VISUAL C# .NET EXPRESS

En este manual se ha trabajado en su

momento con:

Windows XP SP3.

Visual C# Express Edition 2008 FrameWork

3.5 SP1.

18/03/2009metaconta@gmail.com

8

DESCARGA DEL VISUAL C# .NET EXPRESS

De entrada vamos a descargar el compilador (gratuito) Visual C# .netExpress 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.

18/03/2009metaconta@gmail.com

9

DESCARGA DEL VISUAL C# .NET EXPRESS

18/03/2009metaconta@gmail.com

10

DESCARGA DEL VISUAL C# .NET EXPRESS

Puede tardar unos

minutos la instalación.

Lea paso a paso y la

licencia de su uso

sobre la instalación del

Visual C# .net. Tardará

unos buenos minutos

entre la descarga y la

instalación.

18/03/2009metaconta@gmail.com

11

DESCARGA DEL VISUAL C# .NET EXPRESS

18/03/2009metaconta@gmail.com

12

REGISTRO DE VISUAL C# .NET

Llegarás un momento en que te dice que te registres. Si no te registras sólo funcionará el Visual C# .net 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.

18/03/2009metaconta@gmail.com

13

18/03/2009metaconta@gmail.com

14

18/03/2009metaconta@gmail.com

15

18/03/2009metaconta@gmail.com

16

EJECUTAR VISUAL C# .NET

Desde el botón de inicio de

Windows, pulsa “Todos los

programas”, “Microsoft Visual C#

2008 Express Edition” y ejecutarás

el Visual C#.

En caso de que hayas tocado algo

puedes restablecer las ventanas en

la barra de herramientas,

“VentanasRestablecer diseño de

la ventana”.

18/03/2009metaconta@gmail.com

17

RESTABLECER DISEÑO DE LA VENTANA

18/03/2009metaconta@gmail.com

18

RESTABLECER DISEÑO DE LA VENTANA

Le hará una pregunta

antes de realizar la

operación.

Pulse “Sí” para

reestablecer las

ventanas.

18/03/2009metaconta@gmail.com

19

RESTABLECER DISEÑO DE LA VENTANA

18/03/2009metaconta@gmail.com

20

INICIO VISUAL C# .NET

Como se muestra en

la imagen, aparecerá

una página llamada

“Página de inicio”.

18/03/2009metaconta@gmail.com

21

18/03/2009metaconta@gmail.com

22

CREAR NUEVO PROYECTO

Creamos un nuevo proyecto en “ArchivoNuevaProyecto…”. Antes

de comenzar, vamos a explicar el entorno básico del Visual C# .NET

Express.

CREAR NUEVO PROYECTO

18/03/2009metaconta@gmail.com

23

CREAR NUEVO PROYECTO

Se abrirá una ventana llamada

“Nuevo proyecto”. Eliges la primera

que se llama “Aplicación de

Windows Forms”.

Abajo donde dice “Nombre:”

podemos poner cualquier nombre,

en mi caso he puesto exactamente

PicRS232.

Cuando acabes pulsa el botón

“Aceptar”.

18/03/2009metaconta@gmail.com

24

CREAR NUEVO PROYECTO

18/03/2009metaconta@gmail.com

25

INICIO DE UN NUEVO PROYECTO

Como puedes ver en la imagen, se

a creado una ventana llamada

“Form1” en el cual vamos a diseñar

nuestro formulario.

En cada paso que hagamos se

recomienda guardar el proyecto por

si hay corte de luz, fallo en el

sistema, etc así no perder

información o el trabajo que hemos

realizado que puedes ser de horas.

18/03/2009metaconta@gmail.com

26

INICIO DE UN NUEVO PROYECTO

18/03/2009metaconta@gmail.com

27

Pulsa el botón

“Guardar todo” como

indica en la imagen o

pulsa en la barra de

herramientas

“ArchivoGuardar

todo” para guardar el

proyecto.

INICIO DE UN NUEVO PROYECTO

18/03/2009metaconta@gmail.com

28

INICIO DE UN NUEVO PROYECTO

Al pulsar “Guardar

todo” aparece una

ventana llamada

“Guardar proyectos”.

Deja el nombre como

está y pulsa el botón

“Guardar”.

18/03/2009metaconta@gmail.com

29

18/03/2009metaconta@gmail.com

30

INICIO DE UN NUEVO PROYECTO

En la pestaña “Página

de inicio, en su

derecha pulsa la X

para cerrarla” y no nos

molestará en el futuro

si abrimos muchas.

18/03/2009metaconta@gmail.com

31

INICIO DE UN NUEVO PROYECTO

18/03/2009metaconta@gmail.com

32

INICIO DE UN NUEVO PROYECTO

Pulsa la pestaña

“Cuadro de

herramientas” para

abrir una ventana

indicado en la imagen

con un rectángulo rojo.

18/03/2009metaconta@gmail.com

33

INICIO DE UN NUEVO PROYECTO

18/03/2009metaconta@gmail.com

34

INICIO DE UN NUEVO PROYECTO

Se abrirá el “Cuadro

de herramientas”

como indica en el

dibujo, pero aún no es

fija.

18/03/2009metaconta@gmail.com

35

INICIO DE UN NUEVO PROYECTO

18/03/2009metaconta@gmail.com

36

INICIO DE UN NUEVO PROYECTO

Se abrirá el “Cuadro

de herramientas”

como indica en el

dibujo, pero aún no es

fija.

Para dejarla fija pulsa

la chincheta como

indica la marca roja de

la imagen de la

derecha.

18/03/2009metaconta@gmail.com

37

INICIO DE UN NUEVO PROYECTO

Ahora permanece fija y

es lo que nos interesa

si estamos añadiendo

componentes al

formulario.

Así se hará con este

tipo de ventanas.

18/03/2009metaconta@gmail.com

38

18/03/2009metaconta@gmail.com

39

INICIO DE UN NUEVO PROYECTO

Vamos abrir otro cuadro llamado “propiedades” para tener todo el

entorno preparado y con la chincheta fija.

INICIO DE UN NUEVO PROYECTO

Dentro de la ficha que

actualmente se llama

Form1 (Más adelante

cambiaremos el

nombre), pulsa el

botón derecho del

ratón y dale en

“Propiedades”.

18/03/2009metaconta@gmail.com

40

INICIO DE UN NUEVO PROYECTO

18/03/2009metaconta@gmail.com

41

INICIO DE UN NUEVO PROYECTO

Una vez que todo esté

como muestra en la

imagen, vamos a

explicar cada

elemento para

orientarnos y así saber

de lo que estamos

hablando y para qué

es cada cosa.

18/03/2009metaconta@gmail.com

42

INICIO DE UN NUEVO PROYECTO

18/03/2009metaconta@gmail.com

43

Nos familiarizamos con el entorno.

18/03/2009metaconta@gmail.com

44

ENTORNO VISUAL C#

ENTORNO VISUAL C#

Ahora que ya tenemos

Visual C# a la vista,

hay que saber de

entrada donde

introducir los códigos

de programación.

18/03/2009metaconta@gmail.com

45

ENTORNO VISUAL C#

Hay varias maneras de

ver los códigos como

muestra en la imagen.

Si pulsas “Abrir

diseñador” se muestra

el diseño de formulario

y si pulsas “Ver

código” muestra el

código fuente del

programa.

18/03/2009metaconta@gmail.com

46

ENTORNO VISUAL C#

18/03/2009metaconta@gmail.com

47

ENTORNO VISUAL C#

También puedes ver el

código pulsando con el

botón derecho del

ratón, luego “Ver

código” e igualmente

accede al código

fuente.

18/03/2009metaconta@gmail.com

48

ENTORNO VISUAL C#

En el código fuente

escribiremos en el

lenguaje C# (no en

ensamblador) los

códigos necesarios

para poder comunicar

el PIC 16F84A.

18/03/2009metaconta@gmail.com

49

ENTORNO VISUAL C#

18/03/2009metaconta@gmail.com

50

ENTORNO VISUAL C#

CÓDIGO FUENTE DISEÑO

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace PicRS232

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

}

}

18/03/2009metaconta@gmail.com

51

ENTORNO VISUAL C#

Vamos a explicar cada cuadro para

familiarizarnos y poder entender las

futuras explicaciones.

Se explicará el “Cuadro de

herramientas”, “Explorador de

soluciones”, “Propiedades” y algún

que otro según avanzamos.

18/03/2009metaconta@gmail.com

52

CUADRO DE HERRAMIENTAS

En el “Cuadro de herramientas” hay

componentes que puedes arrastrarlo al

formulario Form1 o hacer doble clic con

el ratón.

NOTA: Se llama componentes a todos

objetos que se pueda coger desde el

“Cuadro de herramientas” y que se

pueda arrastrar hacia el formulario con

el fin de editar sus propiedades. Se

dividen en dos grupos: los que forman

parte de la interfaz de usuario, como

botones, etiquetas de textos, etc, y

aquellos que aportan funcionalidad pero

no son visibles al ejecurtarlo. Los

primeros se llaman controles

normalmente, para diferenciarlos.

En resumen: El Cuadro de

herramientas y el Diseñador, para

desarrollar rápidamente interfaces de

usuario con el ratón.

18/03/2009metaconta@gmail.com

53

EXPLORADOR DE SOLUCIONES

En el “Explorador de

soluciones”, para ver y

administrar archivos

de proyecto y

configuraciones.

18/03/2009metaconta@gmail.com

54

VENTANA DE PROPIEDADES

En “Propiedades”,

para configurar

propiedades y eventos

en los controles de la

interfaz de usuario.

18/03/2009metaconta@gmail.com

55

VENTANA DE PROPIEDADES

18/03/2009metaconta@gmail.com

56

VENTANA DE PROPIEDADES

Algunas veces, la

“descripción de la

propiedad” aparece

escondida.

Simplemente

selecciona abajo con

el ratón y lo arrastra

hacia arriba hasta que

se vea.

18/03/2009metaconta@gmail.com

57

18/03/2009metaconta@gmail.com

58

EJECUTAR PROGRAMA

EJECUTAR TU PROGRAMA

Para compilar o

ejecutar el programa

simplemente arriba en

la barra de

herramientas pulsa

“DepurarIniciar

depuración” o

simplemente pulsa

“F5”.

18/03/2009metaconta@gmail.com

59

EJECUTAR TU PROGRAMA

18/03/2009metaconta@gmail.com

60

EJECUTAR TU PROGRAMA

También puedes

pulsar la flecha verde

que significa lo mismo

que al pulsar “F5”.

18/03/2009metaconta@gmail.com

61

EJECUTAR TU PROGRAMA

18/03/2009metaconta@gmail.com

62

EJECUTAR TU PROGRAMA

Para terminar la

depuración

simplemente pulsa

“DepurarDetener

depuración”.

18/03/2009metaconta@gmail.com

63

EJECUTAR TU PROGRAMA

18/03/2009metaconta@gmail.com

64

EJECUTAR TU PROGRAMA

Puedes detener la depuración pulsando el botón cuadrado azul claro.

En el formulario de la aplicación ejecutándose, también puedes pulsar la X para cerrar como cualquier otro programa. La X que está en la esquina superior derecha al lado de Minimizar y Maximizar.

18/03/2009metaconta@gmail.com

65

EJECUTAR TU PROGRAMA

18/03/2009metaconta@gmail.com

66

18/03/2009metaconta@gmail.com

67

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

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.

18/03/2009metaconta@gmail.com

68

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.

18/03/2009metaconta@gmail.com

69

OBJETIVO DE LA INTERFAZ

Pincha una vez en el

centro del formulario o

donde quieras.

En “Propiedades”, pon

el valor de la

propiedad “PicRS232”

(sin las dobles

comillas) ya que es el

nombre del programa

principal.

18/03/2009metaconta@gmail.com

70

OBJETIVO DE LA INTERFAZ

18/03/2009metaconta@gmail.com

71

OBJETIVO DE LA INTERFAZ

En el nombre de la propiedad (Name) que el valor de la propiedad se llama “Form1” la cambiamos a “Form_Principal”.

(Name) en formulario, botones, etiquetas o cualquier otro objeto, es el nombre interno del objeto y no se visualiza, por ejemplo un botón, no el nombre del botón “Text” que si se visualiza. El nombre interno de los objetos es para llamarlo.

18/03/2009metaconta@gmail.com

72

OBJETIVO DE LA INTERFAZ

CÓDIGO FUENTE

Asegúrate que el código

fuente es tal como se

muestra.

18/03/2009metaconta@gmail.com

73

OBJETIVO DE LA INTERFAZ

18/03/2009metaconta@gmail.com

74

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.

18/03/2009metaconta@gmail.com

75

OBJETIVO DE LA INTERFAZ

18/03/2009metaconta@gmail.com

76

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.

18/03/2009metaconta@gmail.com

77

Propiedad Cambie a

Text PicRS232

(Name) Form_Principal

StartPosition CenterScreen

Size 300; 300

OBJETIVO DE LA INTERFAZ

En la ventana de “Cuadro de herramientas” pulsa el botón izquierdo del ratón el objeto o control “Button” y sin soltar arrástralo al formulario y después suelta.

También puedes pinchar 2 veces clic en “Button” con el ratón y se agrega automáticamente en el formulario.

18/03/2009metaconta@gmail.com

78

OBJETIVO DE LA INTERFAZ

18/03/2009metaconta@gmail.com

79

OBJETIVO DE LA INTERFAZ

Haz introducido el botón llamado “Button1” en el formulario.

Ahora toca cambiar las propiedades que se describe en el cuadro a continuación.

Da igual en que parte coloques el Buttondentro del formulario, ya que lo colocaremos con las coordenadas en las propiedades más adelante.

18/03/2009metaconta@gmail.com

80

OBJETIVO DE LA INTERFAZ

18/03/2009metaconta@gmail.com

81

OBJETIVO DE LA INTERFAZ

PROPIEDADES

Haz introducido 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”.

Propiedad Cambie a

Text t

(Name) button_t

Location 109; 38

18/03/2009metaconta@gmail.com

82

OBJETIVO DE LA INTERFAZ

PROPIEDADES

Arrastra un “button” desde

el “Cuadro de

herramientas” hacia el

formulario en el cual se

llama “button2” y cambie

las propiedades como

hiciste en el apartado

anterior.

Propiedad Cambie a

Text b

(Name) button_b

Location 109; 67

18/03/2009metaconta@gmail.com

83

OBJETIVO DE LA INTERFAZ

PROPIEDADES

Ahora con button3. Propiedad Cambie a

Text a

(Name) button_a

Location 28; 67

18/03/2009metaconta@gmail.com

84

OBJETIVO DE LA INTERFAZ

PROPIEDADES

Ahora con button4 pero

cuidado una cosa, la letra

que estamos usando es la

letra “L” minúscula que

podemos confundirnos con

la “I” latina mayúscula.

Propiedad Cambie a

Text l

(Name) button_l

Location 190; 67

18/03/2009metaconta@gmail.com

85

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.

18/03/2009metaconta@gmail.com

86

Propiedad Cambie a

BackColor 255; 128; 0

Font.Bolt True

Text Espacio

(Name) button_Espacio

Location 190; 96

OBJETIVO DE LA INTERFAZ

En el “button5 o

ahora“button_Espacio”

, haz clic sobre él para

ver sus propiedades.

En ella, BackColor he

seleccionado el color

naranja que muestra

en la imagen.

18/03/2009metaconta@gmail.com

87

OBJETIVO DE LA INTERFAZ

Cambiamos a

“Negrita” en

“Font.Bold” a modo

“True”. Para acceder a

Bold que significa

“Negrita” pulsamos el

símbolo + a – para

acceder seguido de

activarlo a True.

18/03/2009metaconta@gmail.com

88

OBJETIVO DE LA INTERFAZ

Hay una manera más

cómoda y rápida de

ponerlo en “Negrita”

que es pulsando

directamente en “Font”

sin abrirlo como

muestra en la imagen.

18/03/2009metaconta@gmail.com

89

OBJETIVO DE LA INTERFAZ

Tras a verlo pulsado,

se abre una ventana

muy cómoda y fácil de

entender.

En “Estilo de fuente:”

señala “Negrita” y

luego pulsa “Aceptar”.

Así conseguimos el

resultado que

queremos.

18/03/2009metaconta@gmail.com

90

OBJETIVO DE LA INTERFAZ

18/03/2009metaconta@gmail.com

91

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.

18/03/2009metaconta@gmail.com

92

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”.

18/03/2009metaconta@gmail.com

93

OBJETIVO DE LA INTERFAZ

18/03/2009metaconta@gmail.com

94

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.

18/03/2009metaconta@gmail.com

95

OBJETIVO DE LA INTERFAZ

18/03/2009metaconta@gmail.com

96

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.

18/03/2009metaconta@gmail.com

97

OBJETIVO DE LA INTERFAZ

Si quieres ver,

seleccionar o modificar

los nombres internos

(Name) de los objetos

más facilmente, pulsa

arriba “VerOtras

ventanasEsquema

del documento”.

18/03/2009metaconta@gmail.com

98

OBJETIVO DE LA INTERFAZ

18/03/2009metaconta@gmail.com

99

OBJETIVO DE LA INTERFAZ

Esta ventana se llama

“Esquema de

documento”, como dije

antes, puedes

seleccionar los objetos

aquí y cambiar su

nombre interno

(Name).

18/03/2009metaconta@gmail.com

100

18/03/2009metaconta@gmail.com

101

CÓDIGO ASM DEL PIC16F84A

CÓDIGO ENSAMBLADOR 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.

18/03/2009metaconta@gmail.com

102

CÓDIGO ENSAMBLADOR 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 Code for InformationInterchange” o lo que es lo mismo “Código Estadounidense Estándar para el Intercambio de Información”.

18/03/2009metaconta@gmail.com

103

18/03/2009metaconta@gmail.com

104

Tab

la A

SC

II

1

18/03/2009metaconta@gmail.com

105

Tab

la A

SC

II

2

CÓDIGO ENSAMBLADOR 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.

18/03/2009metaconta@gmail.com

106

CÓDIGO ENSAMBLADOR 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.

18/03/2009metaconta@gmail.com

107

CÓDIGO ENSAMBLADOR DEL PIC16F84A

18/03/2009metaconta@gmail.com

108

CÓDIGO ENSAMBLADOR DEL PIC16F84A

LISTA DE COMPONENTES

Componentes Valor

IC1 LCD LM016L

IC2 MAX232

IC3 PIC16F84A-04

C1 1µF

C2 100nF

C3 1µF

C4 100nF

C5 1µF

C6 1µF

C7 22pF

C8 22pF

Y1 4 MHz

R1 ajustable 10 kΩ

R2 330 KΩ

R3 330 KΩ

R4 330 KΩ

R5 330 KΩ

D1 Led Rojo

D2 Led Rojo

D3 Led Rojo

D4 Led Rojo

18/03/2009metaconta@gmail.com

109

CÓDIGO ENSAMBLADOR 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

18/03/2009metaconta@gmail.com

110

CÓDIGO ENSAMBLADOR DEL PIC16F84A

;************************************ RS232_11.asm **************************************

;

; ===================================================================

; Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS"

; E. Palacios, F. Remiro y L. López. www.pic16f84a.org

; Editorial Ra-Ma. www.ra-ma.es

; ===================================================================

;

; SISTEMA DE GOBIERNO DESDE ORDENADOR: Desde el teclado de un ordenador se desea comandar

; el movimiento de una estructura móvil, según la siguiente tabla:

;

; TECLA (Por ejemplo) MOVIMIENTO

; ------------------- ----------

; t Adelante

; b Atrás

; a Izquierda

; l Derecha

; Espacio Parada

;

; La pulsación de cualquiera de estas teclas activa el estado de las salidas correspondiente

; RB3 (Adelante), RB2 (Atrás), RB1 (Izquierda), RB0 (Derecha) y apaga el resto.

;

; El movimiento que se está realizando aparece reflejado en un mensaje en el visualizador LCD

; del sistema y también en la pantalla del ordenador.

;

; El programa debe permitir modificar facilmente en posteriores revisiones en el hardware de

; la salida. Es decir, para activar las salidas conviene utilizar el direccionamiento por bit

; en lugar de por byte (utilizar instrucciones "bsf" y "bcf", en lugar de "mov..").

;

; ZONA DE DATOS **********************************************************************

LIST P=16F84A

INCLUDE <P16F84A.INC>

18/03/2009metaconta@gmail.com

111

CÓDIGO ENSAMBLADOR DEL PIC16F84A

__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC

CBLOCK 0x0C

TeclaPulsada ; Va a guardar el contenido de la tecla pulsada.

MensajeApuntado ; Va a guarda la dirección del mensaje apuntado.

ENDC

#DEFINE SalidaAdelante PORTB,3 ; Define dónde se sitúan las salidas.

#DEFINE SalidaAtras PORTB,2

#DEFINE SalidaIzquierda PORTB,1

#DEFINE SalidaDerecha PORTB,0

TECLA_ADELANTE EQU 't' ; Código de las teclas utilizadas.

TECLA_ATRAS EQU 'b'

TECLA_IZQ EQU 'a'

TECLA_DER EQU 'l'

TECLA_PARADA EQU ' ' ; Código de la tecla espaciadora, (hay un espacio,

; tened cuidado al teclear el programa).

; ZONA DE CÓDIGOS ********************************************************************

ORG 0

Inicio

call LCD_Inicializa

call RS232_Inicializa

bsf STATUS,RP0 ; Configura como salidas las 4 líneas del

bcf SalidaAdelante ; del Puerto B respetando la configuración del

bcf SalidaAtras ; resto de las líneas.

bcf SalidaIzquierda

bcf SalidaDerecha

bcf STATUS,RP0

call Parado ; En principio todas las salidas deben estar

Principal ; apagadas.

call RS232_LeeDato ; Espera a recibir un carácter.

18/03/2009metaconta@gmail.com

112

CÓDIGO ENSAMBLADOR DEL PIC16F84A

call TesteaTeclado

goto Principal

; "Mensajes" ----------------------------------------------------------------------------

;

Mensajes

addwf PCL,F

MensajeParado

DT "Sistema PARADO", 0x00

MensajeAdelante

DT "Marcha ADELANTE", 0x00

MensajeAtras

DT "Marcha ATRAS", 0x00

MensajeIzquierda

DT "Hacia IZQUIERDA", 0x00

MensajeDerecha

DT "Hacia DERECHA", 0x00

; Subrutina "TesteaTeclado" -------------------------------------------------------------

;

; Testea el teclado y actúa en consecuencia.

TesteaTeclado

movwf TeclaPulsada ; Guarda el contenido de la tecla pulsada.

xorlw TECLA_ADELANTE ; ¿Es la tecla del movimiento hacia adelante?

btfsc STATUS,Z

goto Adelante ; Sí, se desea movimiento hacia adelante.

;

movf TeclaPulsada,W ; Recupera el contenido de la tecla pulsada.

xorlw TECLA_ATRAS ; ¿Es la tecla del movimiento hacia atrás?

btfsc STATUS,Z

goto Atras ; Sí, se desea movimiento hacia atrás.

;

18/03/2009metaconta@gmail.com

113

CÓDIGO ENSAMBLADOR DEL PIC16F84A

movf TeclaPulsada,W ; Recupera el contenido de la tecla pulsada.

xorlw TECLA_IZQ ; ¿Es la tecla del movimiento hacia la izquierda?

btfsc STATUS,Z

goto Izquierda ; Sí, se desea movimiento hacia la izquierda.

;

movf TeclaPulsada,W ; Recupera el contenido de la tecla pulsada.

xorlw TECLA_DER ; ¿Es tecla del movimiento hacia la derecha?

btfsc STATUS,Z

goto Derecha ; Sí, se desea movimiento hacia la derecha.

;

movf TeclaPulsada,W ; Recupera el contenido de la tecla pulsada.

xorlw TECLA_PARADA ; ¿Es la tecla de parada?.

btfss STATUS,Z

goto Fin ; No es ninguna tecla de movimiento. Sale.

Parado

bcf SalidaAdelante ; Como se ha pulsado la tecla de parada se

bcf SalidaAtras ; desactivan todas las salidas.

bcf SalidaIzquierda

bcf SalidaDerecha

movlw MensajeParado

goto Visualiza

Adelante

bcf SalidaAtras

bsf SalidaAdelante

bcf SalidaIzquierda

bcf SalidaDerecha

movlw MensajeAdelante

goto Visualiza

Atras

bcf SalidaAdelante

bsf SalidaAtras

bcf SalidaIzquierda

bcf SalidaDerecha

18/03/2009metaconta@gmail.com

114

CÓDIGO ENSAMBLADOR DEL PIC16F84A

movlw MensajeAtras

goto Visualiza

Izquierda

bcf SalidaAdelante

bcf SalidaAtras

bsf SalidaIzquierda

bcf SalidaDerecha

movlw MensajeIzquierda

goto Visualiza

Derecha

bcf SalidaAdelante

bcf SalidaAtras

bcf SalidaIzquierda

bsf SalidaDerecha

movlw MensajeDerecha

; Según el estado de las salidas visualiza el estado del sistema en el visualizador LCD y en

; el monitor del ordenador.

Visualiza

movwf MensajeApuntado ; Guarda la posición del mensaje.

call LCD_Borra ; Borra la pantalla del modulo LCD.

movf MensajeApuntado,W ; Visualiza el mensaje en la pantalla

call LCD_Mensaje ; del visualizador LCD.

call RS232_LineasBlanco ; Borra la pantalla del ordenador.

movf MensajeApuntado,W

call RS232_Mensaje ; Lo visualiza en el HyperTerminal.

call RS232_LineasBlanco

Fin return

INCLUDE <RS232.INC>

INCLUDE <RS232MEN.INC>

INCLUDE <LCD_4BIT.INC>

18/03/2009metaconta@gmail.com

115

CÓDIGO ENSAMBLADOR DEL PIC16F84A

INCLUDE <LCD_MENS.INC>

INCLUDE <RETARDOS.INC>

END

; ===================================================================

; Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS"

; E. Palacios, F. Remiro y L. López. www.pic16f84a.org

; Editorial Ra-Ma. www.ra-ma.es

; ===================================================================

18/03/2009metaconta@gmail.com

116

CÓDIGO ENSAMBLADOR DEL PIC16F84A

RS232_11.HEX

:10012000080085158316051685118312080008300E

:100130008E00051A99288F2191210310051A0314A6

:100140008F0C8F218E0B9D288C210F080800303ECC

:100150008F0008308E0085118F218F0C031CB22870

:100160008515B32885118F218E0BAD2885158C211F

:10017000080090000C309002900310080C209100B1

:1001800091080319C628A820900ABD2808000A3043

:1001900092000A30A820920BC9280D30A820080030

:1001A00083160510051185108312851005110510A1

:1001B0009F213030EA20A3213030EA208C213030DA

:1001C000EA2094212030EA209421142112211021C8

:1001D000FE200800F039930006080F3993048316B7

:1001E000060895000F308605831213088600051552

:1001F000051183161508860083120800063015299C

:1002000080301529C030152994301529D43015298E

:1002100080381529C0381529083015290E301529C0

:100220000C3015290130152928300510192905141D

:1002300021219400EA20140EEA20051CA521912119

:1002400008009300F13C031D2829EE309300352966

:100250001308D13C031D2F29EE30930035291308D4

:10026000BA3C031D3529DF30930013080800103015

:100270003E2901303E2902303E29033096002030CD

:100280001721960B3F2908009700F039031D4C29D0

:10029000203017214E299700170E4F2117080F39CC

:1002A0009600093C031C57291608303E59291608A8

:1002B000373E172998000C309802980318080C2034

:1002C00099009908031967291721980A5E290800DF

:1002D00098000C30980298039A01122110301A02EB

:1002E000031D7729992199210F3098026C2918084C

:1002F0000C20990099080319812917219A0A980A54

:100300006E2908000000000000000000000000004E

:1003100008000000A43095290000403095291F30C6

:10032000952900000E30952905309B009B0B9629DE

:100330000800C830A8296430A8293230A829143010

:10034000A8290A30A8290530A8290230A829013097

:100350009C00F9309B0000009B0BAB299C0BA9294A

:100360000800C830BC296430BC293230BC291430A4

:10037000BC290A30BC2905309D0064309C00F9304E

:100380009B0000009B0BC1299C0BBF299D0BBD2925

:02039000080063

:02400E00F13F80

:00000001FF

Abre un archivo de texto y pega el código que ves a la izquierda. Fíjate que al final del código del todo, debes dejar justo abajo un espacio pulsando la tecla “Enter”.

Precisamente aquí :00000001FF al final donde hay dos F pulsa Enter una vez.

Guarda el archivo de texto con la extensión .hex o llámalo así RS232_11.hex.

Si deseas guardar los datos al PIC, hay un manual de cómo hacerlo explicado haciendo clic con el ratón aquí.

18/03/2009metaconta@gmail.com

117

CÓDIGO ENSAMBLADOR 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.

18/03/2009metaconta@gmail.com

118

TECLA MOVIMIENTO

t Adelante

b Atrás

a Izquierda

l Derecha

(Espacio) Parada

CÓDIGO ENSAMBLADOR 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”.

18/03/2009metaconta@gmail.com

119

CÓDIGO ENSAMBLADOR 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 carácteres.

18/03/2009metaconta@gmail.com

120

Hex Carácter

74 t

62 b

61 a

6C l

20 (Espacio)

Códigos de envío de datos al PIC16F84A.

18/03/2009metaconta@gmail.com

121

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#.

18/03/2009metaconta@gmail.com

122

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#.

18/03/2009metaconta@gmail.com

123

PRIMER CÓDIGO C#

Puesta en marcha de la comunicación entre ordenador y PIC16F84A, circuito 20-13.

Tengo dificultades para conseguir poner en marcha la comunicación entre un ordenador y el PIC16F84A del circuito de la figura 20-13, ¿qué puedo hacer?

Le aconsejamos que siga el siguiente procedimiento:

Compruebe con detenimiento el correcto montaje del esquema de la figura 20-13, en especial la conexión del MAX232, cableado del conector y polaridad de los condensadores.

Con un polímetro compruebe el cable de conexión, para ello mida la continuidad entre los pines 2 de los conectores macho y hembra, y repita la operación para los pines 3 y pines 5. Algunos lectores que se construyen ellos mismo el cable RS232 con conectores DB9, conectan uno al revés. Esta es la avería más frecuente.

Para un MAX232 los condensadores C1, C3, C5 y C6 deben ser de 1 microfaradios. Se ha detectado que hay lectores que tienen dificultades en la lectura del código en los condensadores y utilizan otros valores muy diferentes.

Compruebe que el puerto seleccionado en el Hyperterminal corresponde con el realmente utilizado en el ordenador, COM 1 ó COM2. Compruebe que la configuración del puerto corresponde fielmente a la figura 20-10 del libro.

Compruebe el correcto funcionamiento del MAX232 para ello, en reposo (y con el Hyperterminal conectado), debe tener las siguientes tensiones respecto de masa:

- En el pin 16 tiene que haber + 5 V.- En los pines 11 y 12 tiene que haber entre + 3 y + 5 V.- En los pines 6, 13 y 14 tiene que haber entre -7 V y -12 V.

Si todos los puntos anteriores son correctos pruebe de nuevo su circuito con el fichero actualizado Libreria RS232.INC (5.51 kB) que se ha incluido en el capítulo 20 de la sección Proyectos y el programa ejemplo RS232_02.asm del CDROM que acompaña al libro.

Ver aquí.

18/03/2009metaconta@gmail.com

124

PRIMER CÓDIGO C#

Hay varias formas de seleccionar un objeto. Como indica la imagen de la derecha, en “Esquema de documento” ya explicado anteriormente o simplemente pinchando una vez encima del botón t.

18/03/2009metaconta@gmail.com

125

PRIMER CÓDIGO C#

Pulsamos el botón

“Eventos” y hacemos

doble clic con el ratón

donde indica la flecha

roja.

18/03/2009metaconta@gmail.com

126

PRIMER CÓDIGO C#

Saltamos a la pestaña

“Form1.cs” y se nos ha

creado el código del

evento:

private void

button_t_Click(object

sender, EventArgs e)

{

}

18/03/2009metaconta@gmail.com

127

PRIMER CÓDIGO C#

Volvamos a la pestaña

“Form1.cs[Diseño]” y

nos fijamos que se ha

creado el evento

“button_t_Click”.

18/03/2009metaconta@gmail.com

128

PRIMER CÓDIGO C#

Pulsa el botón de

“propiedades”.

18/03/2009metaconta@gmail.com

129

PRIMER CÓDIGO C#

La manera más cómoda es pinchando 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.

A partir de ahora utilizamos este método por ser más rápido, el pinchar dos veces un botón.

18/03/2009metaconta@gmail.com

130

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.

18/03/2009metaconta@gmail.com

131

PRIMER CÓDIGO C# (OBJETIVO)

1) Introducir códigos en los botones para su

funcionamiento.

2) Depurar nuestra aplicación.

18/03/2009metaconta@gmail.com

132

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.

18/03/2009metaconta@gmail.com

133

PRIMER CÓDIGO C#

18/03/2009metaconta@gmail.com

134

PRIMER CÓDIGO C#

El código que vamos a introducir para que el

PIC16F84A lea la letra “t” es este:

byte[] mBuffer = new byte[1];

mBuffer[0] = 0x74; //ASCII letra "t".

serialPort1.Write(mBuffer, 0,

mBuffer.Length);

18/03/2009metaconta@gmail.com

135

PRIMER CÓDIGO C#

18/03/2009metaconta@gmail.com

136

PRIMER CÓDIGO C#

Fíjate bien en el dibujo de la página anterior

que un texto con un cuadro amarillo dice:

“El nombre „serialPort1‟ no existe en el

contexto actual”

Nos faltan dos cosas para tener un buen

funcionamiento del programa.

18/03/2009metaconta@gmail.com

137

PRIMER CÓDIGO C#

Justo debajo donde

pone:

using

System.Windows.Form

s;

18/03/2009metaconta@gmail.com

138

PRIMER CÓDIGO C#

Ahora introduces el

siguiente comando:

using System.IO.Ports;

18/03/2009metaconta@gmail.com

139

PRIMER CÓDIGO C#

En el “Cuadro de herramientas”, “Componentes”, pincha o haces dos veces click 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”.

18/03/2009metaconta@gmail.com

140

PRIMER CÓDIGO C#

18/03/2009metaconta@gmail.com

141

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.

18/03/2009metaconta@gmail.com

142

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.

18/03/2009metaconta@gmail.com

143

Propiedad 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:

mBuffer[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.

18/03/2009metaconta@gmail.com

144

PRIMER CÓDIGO C#

18/03/2009metaconta@gmail.com

145

PRIMER CÓDIGO C#

Aún no hemos acabado. Introduces este código debajo del InitializeComponent();.

// Abrir puerto mientra se ejecute la aplicación

if (!serialPort1.IsOpen)

{

try

{

serialPort1.Open();

}

catch (System.Exception ex)

{

MessageBox.Show(ex.ToString());

}

}

18/03/2009metaconta@gmail.com

146

PRIMER CÓDIGO C#

Para saber el números

de líneas en el editor

de Visual C#, pulsa:

Herramientasopcion

es…

18/03/2009metaconta@gmail.com

147

PRIMER CÓDIGO C#

Se abre la ventana

opciones.

Abajo, pincha “Mostrar

todas las

configuraciones”.

18/03/2009metaconta@gmail.com

148

PRIMER CÓDIGO C#

18/03/2009metaconta@gmail.com

149

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”.

18/03/2009metaconta@gmail.com

150

PRIMER CÓDIGO C#

18/03/2009metaconta@gmail.com

151

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.

18/03/2009metaconta@gmail.com

152

PRIMER CÓDIGO C#

18/03/2009metaconta@gmail.com

153

PRIMER CÓDIGO C#

18/03/2009metaconta@gmail.com

154

PRIMER CÓDIGO C#

18/03/2009metaconta@gmail.com

155

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#

En el formulario, pincha dos veces click en el

botón b e introduce los códigos necesarios.

byte[] miBuffer = new byte[1];

miBuffer[0] = 0x62; //ASCII letra "b".

serialPort1.Write(miBuffer, 0,

miBuffer.Length);

18/03/2009metaconta@gmail.com

156

PRIMER CÓDIGO C#

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.

18/03/2009metaconta@gmail.com

157

NOTA:

Si deseas enviar varias tramas en un mismo click del botón, lo hacemos de la

siguiente manera. En este manual no lo vamos a usar, es para que lo tengas en

cuenta.

// Enviar trama

byte[] miBuffer = new byte[3]; // Tres máximo.

miBuffer[0] = 0x74;

miBuffer[1] = 0x54;

miBuffer[2] = 0x13;

this.serialPort1.Write(miBuffer, 0, miBuffer.Length);

PRIMER CÓDIGO C#

18/03/2009metaconta@gmail.com

158

PRIMER CÓDIGO C#

18/03/2009metaconta@gmail.com

159

PRIMER CÓDIGO C#

18/03/2009metaconta@gmail.com

160

PRIMER CÓDIGO C#

18/03/2009metaconta@gmail.com

161

PRIMER CÓDIGO C#

PICRS232.SLN 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 “PicRS232.sln” para abrirlo junto con el Visual C#.

Fuente 1

Fuente 1

18/03/2009metaconta@gmail.com

162

Recibir mensajes desde el microcontrolador PIC16F84A.

18/03/2009metaconta@gmail.com

163

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 Label o 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.

18/03/2009metaconta@gmail.com

164

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.

18/03/2009metaconta@gmail.com

165

PRIMER CÓDIGO C#

18/03/2009metaconta@gmail.com

166

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

18/03/2009metaconta@gmail.com

167

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

18/03/2009metaconta@gmail.com

168

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.

18/03/2009metaconta@gmail.com

169

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”.

18/03/2009metaconta@gmail.com

170

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.

18/03/2009metaconta@gmail.com

171

RECIBIR MENSAJES

Arrastra un Label en el

formulario y cambia

sus propiedades como

indica el recuadro.

18/03/2009metaconta@gmail.com

172

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.

18/03/2009metaconta@gmail.com

173

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”.

18/03/2009metaconta@gmail.com

174

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”.

18/03/2009metaconta@gmail.com

175

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,

18/03/2009metaconta@gmail.com

176

// Utilizaremos un string como buffer de recepcion

string Recibidos;

justo debajo del

public partial class Form1 : Form

{

RECIBIR MENSAJES

18/03/2009metaconta@gmail.com

177

RECIBIR MENSAJES

18/03/2009metaconta@gmail.com

178

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

18/03/2009metaconta@gmail.com

179

RECIBIR MENSAJES

18/03/2009metaconta@gmail.com

180

RECIBIR MENSAJES

18/03/2009metaconta@gmail.com

181

RECIBIR MENSAJES

hh:mm:ss

Representa hh a horas, mm a

minutos y ss a segundos.

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.

18/03/2009metaconta@gmail.com

182

RECIBIR MENSAJES

18/03/2009metaconta@gmail.com

183

RECIBIR MENSAJES

Vamos a añadir la hora

local de nuestro

Sistema Operativo en

el “StatusStrip1”.

Señala con el ratón el

StatusStrip1.

18/03/2009metaconta@gmail.com

184

RECIBIR MENSAJES

Eliges “StatusLabel”

como indica la flecha

roja de más bajo.

18/03/2009metaconta@gmail.com

185

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.

18/03/2009metaconta@gmail.com

186

RECIBIR MENSAJES

Ahora puedes ver que

es hh:mm:ss.

18/03/2009metaconta@gmail.com

187

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.

18/03/2009metaconta@gmail.com

188

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.

18/03/2009metaconta@gmail.com

189

RECIBIR MENSAJES

Se crea unos códigos

pero no tiene función.

18/03/2009metaconta@gmail.com

190

RECIBIR MENSAJES

18/03/2009metaconta@gmail.com

191

RECIBIR MENSAJES

En su interior del código del “timer1”,

introduce:

18/03/2009metaconta@gmail.com

192

statusStrip1.Items[0].Text =

DateTime.Now.ToLongTimeString();

RECIBIR MENSAJES

18/03/2009metaconta@gmail.com

193

RECIBIR MENSAJES

18/03/2009metaconta@gmail.com

194

Comprueba a partir de la página siguiente el

código fuente completo.

Hemos llegado a 90 líneas de código muy

rápido.

RECIBIR MENSAJES

18/03/2009metaconta@gmail.com

195

RECIBIR MENSAJES

18/03/2009metaconta@gmail.com

196

RECIBIR MENSAJES

18/03/2009metaconta@gmail.com

197

RECIBIR MENSAJES

18/03/2009metaconta@gmail.com

198

RECIBIR MENSAJES

18/03/2009metaconta@gmail.com

199

RECIBIR MENSAJES

18/03/2009metaconta@gmail.com

200

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

18/03/2009metaconta@gmail.com

201

CÓDIGO C#

DESCARGA CÓDIGO FUENTE 2

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

18/03/2009metaconta@gmail.com

202

Puedes ampliar algunas funciones básicas para la interfaz

18/03/2009metaconta@gmail.com

203

EXTRAS

EXTRAS

A partir de aquí, ciertas funciones del programa no hace falta aunque otras son recomendables como hacer un cuadro de información de la aplicación normalmente llamado “Acerca de…”.

Podrás introducir información como la página Web oficial, correo electrónico para contactar, versión, logotipo, etc.

Con el tiempo, según voy actualizando este manual y sin previo aviso, quizás encuentren en esta parte del tema “Extras” algunos tutoriales nuevos.

18/03/2009metaconta@gmail.com

204

ACERCA DE…

En cualquier programa tienen un cuadro de información “Acerca de…”, me gustaría hacer algo similar. ¿Cómo puedo hacerlo?

Hay varias formas de mostrar información del programa y vamos a aprender hacer varios y entre ellas elegirás la que más interese. Por ejemplo, un cuadro de información básica donde solo se mostrará texto y un icono de información, otro más complejo, detallado y con logotipo.

18/03/2009metaconta@gmail.com

205

ACERCA DE…

Objetivos:

Vamos a insertar varios tipos de

cuadros de información “Acerca

de…”.

En tu aplicación final, sólo elegirás

uno, en este ejemplo hacemos

unos cuantos para que veas cual

se te adapta mejor.

1) Insertar un control “MenuStrip” al formulario.

2) Salir.

3) Llamar manual.pdf en ayuda.

4) Crear una ventana “Acerca de …” básico.

5) Crear otra ventana “Acerca de…” con un Form.

6) Agregar enlaces a Web.

18/03/2009metaconta@gmail.com

206

ACERCA DE…

Antes que nada, haga una copia de

seguridad de su proyecto completo a una

carpeta o directorio.

Siempre es bueno hacer una copia de

seguridad antes de realizar alguna

modificación.

18/03/2009metaconta@gmail.com

207

ACERCA DE…

Como en cualquier programa, muchos tienen menú de opciones arriba.

Podemos introducir cualquier opción que veremos poco a poco a lo largo del curso.

Pincha o clickea dos veces el control “MenuStrip” con lo cual se agrega en la parte inferior “menuStrip1”.

18/03/2009metaconta@gmail.com

208

ACERCA DE…

18/03/2009metaconta@gmail.com

209

ACERCA DE…

Selecciona el objeto “menuStrip1”, en el cuadro de propiedades. Pulsa el valor de la propiedad “(Colección)” del “Items”.

Podrás configurar las opciones que muestra la ventana en la página siguiente pero, no vamos a usar este método sino uno más directo y sencillo.

18/03/2009metaconta@gmail.com

210

ACERCA DE…

18/03/2009metaconta@gmail.com

211

ACERCA DE…

Pulsa “Cancelar” de la ventana “Editor de la colección de elementos” para cerrarla.

Nos centraremos directamente en la barra de menú.

Pincha una vez donde indica la imagen de la derecha, escribe “Opciones” y pulsa “Enter”.

18/03/2009metaconta@gmail.com

212

ACERCA DE…

Se ha creado

“Opciones” y ahora

abajo donde indica la

flecha roja introduce

“Salir”.

18/03/2009metaconta@gmail.com

213

ACERCA DE…

Al lado introduces

“Ayuda” y abajo

“Acerca de…”.

Bien, justo abajo

introduces el guión –

normal (No el guión

bajo) y pulsa “Enter”.

Verás una raya de

separación.

18/03/2009metaconta@gmail.com

214

ACERCA DE…

Justo de bajo de la raya pon “Acerca de 2…” que es para introducir el segundo ejemplo de ventanas de información.

Como muestra la imagen, falta una opción que introduciremos abajo y se llama “Contenido”.

18/03/2009metaconta@gmail.com

215

ACERCA DE…

“Contenido” es la

ayuda del programa

que puede ser desde

un formulario o archivo

externos que pueden

ser PDF, XPS, DOC,

DOCX, HTML, etc.

18/03/2009metaconta@gmail.com

216

ACERCA DE…

“Contenido” lo queremos arriba, así que, pincha sin soltar con el ratón y arrástralo encima de “Acerca de…”.

Si no lo has introducido bien, sólo tienes que corregirlo con deshacer pulsando “Control + Z”.

18/03/2009metaconta@gmail.com

217

ACERCA DE…

Muchas personas en cualquier programa, accedemos a los menús directamente con el teclado. Así que, vamos a colocar este símbolo “&” que está encima de la tecla “6”.

En “Ayuda” ponemos la “&” delante de la “y” para que queda señalada en una raya debajo indicando la tecla de acceso. Por ejemplo, “A&yuda” y se muestra así:

Ayuda.

18/03/2009metaconta@gmail.com

218

ACERCA DE…

En este caso

“&Opciones”, debajo

“&Salir” así

sucesivamente.

No se debe repetir la

misma letra en el

mismo formulario.

También puedes

introducir la “&” en

botones.

18/03/2009metaconta@gmail.com

219

& Resultado

&Opciones Opciones

&Salir Salir

A&yuda Ayuda

Ac&erca de… Acerca de…

Ace&rca de 2… Acerca de 2…

ACERCA DE…

Vamos a introducir el

código Close();

pinchando dos veces

en “Salir”.

18/03/2009metaconta@gmail.com

220

ACERCA DE…

Al introducir Close(); una

cosa muy importante.

Guarda todo el proyecto

que hemos hecho hasta

ahora.

Ejecuta, compila o

depura con “F5” o la

flecha verde el

programa o aplicación y

comprueba que se

cierra.

18/03/2009metaconta@gmail.com

221

ACERCA DE…

18/03/2009metaconta@gmail.com

222

ACERCA DE…

Ahora nos toca abrir un archivo de ayuda en

pdf dentro de “AyudaContenido”.

De momento introducimos estos códigos

necesarios para abrir el “manua.pdf” que por

ahora no está. Como no lo encuentra, nos

avisa con un mensaje.

18/03/2009metaconta@gmail.com

223

ACERCA DE…

Has doble click en

“Contenido” e

introduce el código

que muestra en la

página siguiente.

18/03/2009metaconta@gmail.com

224

ACERCA DE…

18/03/2009metaconta@gmail.com

225

ACERCA DE…

18/03/2009metaconta@gmail.com

226

Debe quedar de la siguiente manera.

ACERCA DE…

18/03/2009metaconta@gmail.com

227

ACERCA DE…

No olvides poner el

“using” que indica en

la imagen si no lo

habías puesto ya.

18/03/2009metaconta@gmail.com

228

ACERCA DE…

Guarda todo el

proyecto y pulsa “F5”

para depurar.

Ejecuta

“AyudaContenido”.

Verás una ventana

que se llama “Aviso:”

porque no encuentra

el archivo

“manual.pdf”.

18/03/2009metaconta@gmail.com

229

ACERCA DE…

18/03/2009metaconta@gmail.com

230

ACERCA DE…

Busca cualquier archivo que tengas de pdf y

llámalo “manual.pdf”.

En realidad has una copia y renómbralo.

Debes tener el Adobe Reader Instalado, si

no lo tienes lo descarga gratuitamente aquí

www.adobe.es .

18/03/2009metaconta@gmail.com

231

ACERCA DE…

En cualquiera de las

pestañas, fijándote

bien en la imagen y el

de la página siguiente,

clickea con el botón

derecho y pinchas en

“Abrir carpeta

Contenido”.

18/03/2009metaconta@gmail.com

232

ACERCA DE…

18/03/2009metaconta@gmail.com

233

ACERCA DE…

Has abierto la carpeta

o directorio del

proyecto.

Dentro de ella vamos a

llegar al archivo

llamado

“PicRS232.exe” que es

el ejecutable.

18/03/2009metaconta@gmail.com

234

ACERCA DE…

Entra en la carpeta

“bin\Debug” y aquí

colocarás cualquier

ayuda, tutorial o

manual que quieras y

extensión que quieras.

18/03/2009metaconta@gmail.com

235

ACERCA DE…

Aquí colocamos el

archivo “manual.pdf” que

vamos a llamar.

Aquí si lo deseas,

puedes coger el

“PicRS232.exe” y

“manual.pdf” para

entregarlo a tus amigos.

Una vez colocado

podemos cerrar el

directorio.

18/03/2009metaconta@gmail.com

236

ACERCA DE…

Pulsa “F5” para

depurar el programa y

comprueba que el

archivo “manual.pdf”

se ejecuta.

18/03/2009metaconta@gmail.com

237

ACERCA DE…

Hasta aquí hemos llegado. Si ha ido bien, sigue adelante, en caso contrario revisa paso a paso lo que has hecho.

Continuamos con las ventanas de información “Acerca de…”.

Utilizamos dos diseños en el mismo programa para aprender, en realidad se usa uno. Cuando veas el más que te guste, ya harás uno a tu estilo.

18/03/2009metaconta@gmail.com

238

ACERCA DE…

Pincha dos veces en

“Acerca de…”.

18/03/2009metaconta@gmail.com

239

ACERCA DE…

Se ha creado el código

necesario para que en

su interior introduzca

los códigos que se

muestra en la página

siguiente.

18/03/2009metaconta@gmail.com

240

ACERCA DE…

18/03/2009metaconta@gmail.com

241

ACERCA DE…

Es una ventana muy

simple pero de

información eficaz.

Si quieres conseguir

separación de líneas

como la palabra

LICENCIA como vez

hay espacio entre el

texto siguiente, pon \n.

18/03/2009metaconta@gmail.com

242

ACERCA DE…

18/03/2009metaconta@gmail.com

243

ACERCA DE…

Muy rápida el “Acerca de…” en realizar, pero

probaremos algo más complejo con “Acerca

de 2…”.

En este caso utilizaremos el Form2 y lo

llamaremos, antes lo diseñamos a nuestro

gusto.

18/03/2009metaconta@gmail.com

244

ACERCA DE…

Podemos crear un cuadro de acerca de

desde cero con lo que nos llevará más

tiempo.

En mi caso he hecho uno a mi estilo como

comprobarás en las páginas siguientes.

Uno normal y el otro es igual sólo que he

modificado colores a oscuro.

18/03/2009metaconta@gmail.com

245

ACERCA DE…

18/03/2009metaconta@gmail.com

246

ACERCA DE…

18/03/2009metaconta@gmail.com

247

ACERCA DE…

En el Visual C# 2008 Express, se incluye uno en una plantilla para ahorrar tiempo en el cual vamos a usar en este caso.

Pinche con el botón derecho del ratón y siga el orden de las flechas hasta ejecutar “Nuevo elemento…”.

18/03/2009metaconta@gmail.com

248

ACERCA DE…

Se abre la ventana “Agregar nuevo elemento PicRS232”.

Seleccionamos en “Palntilla”, “Cuadro Acerca de”.

Abajo en “Nombre” introducimos “AcercaDe.cs” y pulsamos el botón “Agregar”.

18/03/2009metaconta@gmail.com

249

ACERCA DE…

18/03/2009metaconta@gmail.com

250

ACERCA DE…

Aparece en el

“Explorador de

soluciones” el

formulario llamado

“AcercaDe.cs” que

hemos asignado.

18/03/2009metaconta@gmail.com

251

ACERCA DE…

Como vemos en la

imagen. Se ha creado

un completo cuadro de

“Acerca de…”. Nos

hemos ahorrado

mucho tiempo, sólo lo

adaptamos a nuestro

estilo.

18/03/2009metaconta@gmail.com

252

ACERCA DE…

En cada elemento de

los “label”, el nombre

del Form cambiamos y

demás, lo adaptamos

sin compromiso igual

como hemos hecho en

temas atrás.

Recuerda que los label

se cambia las

propiedades “Text”.

18/03/2009metaconta@gmail.com

253

ACERCA DE…

Hacemos una vez un

click en el logotipo.

Muestra un cuadradito

muy pequeño con una

flecha dentro.

Púlsalo como indica en

la imagen en rojo.

18/03/2009metaconta@gmail.com

254

ACERCA DE…

Se muestra una ventana “Tareas de PictureBox”.

Vamos a cambiar el logotipo por uno creado por nosotros mismos. He elegido 120 pixel de anchura por 242 pixel de altura.

En el cuadro Pulsa “Elegir imagen”.

18/03/2009metaconta@gmail.com

255

ACERCA DE…

Vamos a sustituir el

logotipo de la plantilla

por el nuestro.

En el “Contexto del

recurso” selecciona

“Archivo de recurso del

proyecto”.

18/03/2009metaconta@gmail.com

256

ACERCA DE…

Ahora vamos a

introducir nuestro

logotipo.

Pulsa el botón

“Importar”.

18/03/2009metaconta@gmail.com

257

ACERCA DE…

Este logotipo se llama

145.png.

Puedes poner la

extensión que quieras

que te acepta muchas.

Ahora pulsa aceptar.

18/03/2009metaconta@gmail.com

258

ACERCA DE…

Aunque ejecutemos

nuestra aplicación, no

podemos visualizar el

cuadro de “Acerca

de…” porque aún no lo

hemos invocado.

¿Por qué?

Porque aún no lo

hemos programado.

18/03/2009metaconta@gmail.com

259

ACERCA DE…

Pincha dos veces en

“Acerca de 2…”.

18/03/2009metaconta@gmail.com

260

ACERCA DE…

Como vez, se ha

generado código para

introducir más código y

poder llamar el cuadro

de información.

18/03/2009metaconta@gmail.com

261

ACERCA DE…

Introduces este código

y podrás invocar el

famoso cuadro de

“Acerca de…” o

cuadro de información.

Guarda todo el

proyecto y pulsa “F5”

para que compruebes

el resultado.

18/03/2009metaconta@gmail.com

262

ACERCA DE…

Por fin hemos podido

invocar o llamar al

cuadro de información

pero…

No es el resultado

esperado.

Por supuesto que no,

ya que en él tiene su

código interno y hay

una explicación.

18/03/2009metaconta@gmail.com

263

ACERCA DE…

18/03/2009metaconta@gmail.com

264

ACERCA DE…

Mira el código del

“AcercaDe.cs”.

Muy bien claro que

este código está el

motivo del resultado

así con lo que hemos

hecho no vale de

nada, ¿o si?

18/03/2009metaconta@gmail.com

265

ACERCA DE…

18/03/2009metaconta@gmail.com

266

ACERCA DE…

Si queremos que nos salga lo que hemos indicado desde el principio, ponemos las dos barras // para dejarlo como comentario tal como se muestra en la imagen excepto lo señalado con la flecha roja.

18/03/2009metaconta@gmail.com

267

ACERCA DE…

18/03/2009metaconta@gmail.com

268

ACERCA DE…

Guarda el proyecto y

depura con “F5”.

Después pulsa

“AyudaAcerca de

2…” y ya tienes el

resultado esperado.

18/03/2009metaconta@gmail.com

269

ACERCA DE…

18/03/2009metaconta@gmail.com

270

ACERCA DE…

LICENCIA

Es bueno dejar claro a las

personas si deseas algún

día distribuir tu programa

por internet alguna nota o

Licencia para su uso.

Licencia:

Este programa es absolutamente freeware.

Si no sabes qué quiere decir que un

programa sea freeware, te lo explico:

significa que es gratis, es decir, que no

deberás desembolsar ninguna cantidad

de dinero por su uso. Eso sí, que sea gratis

no quiere decir que puedas hacer con el

programa lo que se te antoje. Por ejemplo,

no puedes modificar su código sin mi

consentimiento expreso; en caso contrario,

estarás violando el copyright de este

programa.

18/03/2009metaconta@gmail.com

271

ACERCA DE…

Selecciona vista diseño y vete al “Explorador de soluciones”.

Algo que no he nombrado es la nueva carpeta amarilla que dentro tiene la imagen del logotipo nuestro que añadimos que se llama 145.png

Cualquier imagen que agregamos se incluirá en esa carpeta.

18/03/2009metaconta@gmail.com

272

ACERCA DE…

Ahora, dentro de la carpeta “Properties”, abre el archivo “AssemblyInfo.cs.

Verás en su interior de donde venía y/o viene los datos que nos salía solo sin ninguna explicación.

No modifiques nada ya que lo explicaremos más adelante.

18/03/2009metaconta@gmail.com

273

ACERCA DE…

18/03/2009metaconta@gmail.com

274

ACERCA DE…

Si nos interesa el otro

método de agregar

información…

Vamos a ver el código

fuente del

“AcercaDe.cs”.

Quitamos las barras

de comentarios // y lo

dejamos como está.

18/03/2009metaconta@gmail.com

275

ACERCA DE…

Con el segundo botón

del ratón, pinchamos o

hacemos click en

“PicRS232” en el

“Explorador de

soluciones”.

Pulsa “Propiedades”.

18/03/2009metaconta@gmail.com

276

ACERCA DE…

Se crea la pestaña

“PicRS232” en el cual

vamos a ver y

modificar los datos que

aparecen en el cuadro

de información o

“Acerca de…”.

Pulsa el botón

“Información de

ensamblado…”.

18/03/2009metaconta@gmail.com

277

ACERCA DE…

18/03/2009metaconta@gmail.com

278

ACERCA DE…

Se abre la ventana

“Información de

ensamblado”.

Aquí se muestra los

datos que veíamos

antes del “Acerca

de…”.

18/03/2009metaconta@gmail.com

279

ACERCA DE…

18/03/2009metaconta@gmail.com

280

ACERCA DE…

Modificamos los

valores que nos

interesen y pulsamos

“Aceptar”.

18/03/2009metaconta@gmail.com

281

ACERCA DE…

18/03/2009metaconta@gmail.com

282

ACERCA DE…

Guarda el Proyecto y

depura con “F5”.

Ejecuta el

“AyudaAcerca de

2…” y comprueba que

has añadidos los datos

que has introducido.

18/03/2009metaconta@gmail.com

283

ACERCA DE…

Antes que nada, ya que estamos aquí.

Si deseas que el logotipo te ejecute una dirección Web y para que los usuarios lo sepan que es un enlace, que se vea la mano del ratón cuando detecte que es enlace al pasar por el logo.

18/03/2009metaconta@gmail.com

284

ACERCA DE…

Pulsa el logotipo una

vez y en las

propiedades cambia a

“Hand” del “Cursor”.

Un vez hecho, pincha

dos veces el logotipo

para introducir el

código.

18/03/2009metaconta@gmail.com

285

ACERCA DE…

18/03/2009metaconta@gmail.com

286

ACERCA DE…

Si te fijas bien, debajo se ve marcado de rojo

porque falta un using.

18/03/2009metaconta@gmail.com

287

ACERCA DE…

Guarda el proyecto y depura con “F5” para

probar el enlace y muestra la mano en el

puntero del ratón.

18/03/2009metaconta@gmail.com

288

ACERCA DE…

En el ejecutable

“PicRS232.exe”

contiene información

que vamos a ver

ahora.

18/03/2009metaconta@gmail.com

289

ACERCA DE…

Pulsando las

propiedades del

“PicRS232.exe” como

cualquier otro

programa, vemos toda

la información que

hemos añadido.

18/03/2009metaconta@gmail.com

290

ACERCA DE…

Llegamos el final sobre el tema de “Acerca

de…”.

Aunque hemos visto más cosas de la que se

pretendía, aprendimos muchas cosas

básicas para cualquier persona novel.

18/03/2009metaconta@gmail.com

291

CÓDIGO C#

PICRS232.SLN DESCARGA CÓDIGO FUENTE 3

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 3” para ver el resultado o mire las páginas anteriores. Ejecuta el archivo “PicRS232.sln” para abrirlo junto con el Visual C#.

Fuente 3

Fuente 3

18/03/2009metaconta@gmail.com

292

18/03/2009metaconta@gmail.com

293

ENFOQUE DEL BOTÓN

Al ejecutar mi aplicación, deseo que el

enfoque del botón sea el "Espacio" con

motivo de seguridad que hasta al pulsar

Enter, es la tecla con el que para el

sistema. ¿Hay alguna solución?

18/03/2009metaconta@gmail.com

294

ENFOQUE DEL BOTÓN

Objetivos:

Enfocaremos el botón “Espacio”

(también podríamos llamarlo Stop)

que por seguridad es que debemos

detener con el teclado Enter para

parar el sistema.

1) Ajustar el enfoque con

AcceptButton.

2) Tabulación 0.

18/03/2009metaconta@gmail.com

295

ENFOQUE DEL BOTÓN

En el formulario

principal

“Form1_Principal”,

ajusta la propiedad

“AcceptButton” al

botón que deseas

como el

“Button_Espacio”.

18/03/2009metaconta@gmail.com

296

ENFOQUE DEL BOTÓN

Para asegurarte que el

botón “Espacio” tiene

su enfoque, introduce

el valor “0” en

“TabIndex”.

18/03/2009metaconta@gmail.com

297

ENFOQUE DEL BOTÓN

Si quieres ordenar

toda la tabulación,

pulsa “VerOrden de

tabulación”.

18/03/2009metaconta@gmail.com

298

ENFOQUE DEL BOTÓN

Puedes dejar el orden

de tabulación o el que

prefieras.

18/03/2009metaconta@gmail.com

299

CÓDIGO C#

PICRS232.SLN DESCARGA CÓDIGO FUENTE 4

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 4” para ver el resultado o mire las páginas anteriores. Ejecuta el archivo “PicRS232.sln” para abrirlo junto con el Visual C#.

Fuente 4

Fuente 4

18/03/2009metaconta@gmail.com

300

18/03/2009metaconta@gmail.com

301

REDIMENSIONAR FORMULARIO

Me gustaría no poder redimensionar la

ventana o formulario del programa ya

compilado. ¿Se puede lograr este

objetivo?

18/03/2009metaconta@gmail.com

302

REDIMENSIONAR FORMULARIO

Objetivos:

El formulario puedo redimensionar

al tamaño que quiera, pero no

deseo que lo haga menor al

tamaño original.

1) Ajustar el

“FormBorderSyle”, es

decir, la apariencia del

borde del formulario.

18/03/2009metaconta@gmail.com

303

REDIMENSIONAR FORMULARIO

Hay muchas formas de

comportamiento y

apariencia y la que

vamos a usar para

mantener es el tamaño

de la ventana.

18/03/2009metaconta@gmail.com

304

REDIMENSIONAR FORMULARIO

Ya no puedes

redimensionar el

formulario pero si

puedes maximizar.

18/03/2009metaconta@gmail.com

305

REDIMENSIONAR FORMULARIO

Ya que estamos, para

los que quieran que el

formulario no

maximice, vamos a

poner “False” en la

propiedad del

“MaximizeBox”.

18/03/2009metaconta@gmail.com

306

REDIMENSIONAR FORMULARIO

Como podrás ver, se

nota que está

desactivado.

Ahora ya no podrás

maximizar la ventana o

el formulario.

18/03/2009metaconta@gmail.com

307

CÓDIGO C#

PICRS232.SLN DESCARGA CÓDIGO FUENTE 5

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 5” para ver el resultado o mire las páginas anteriores. Ejecuta el archivo “PicRS232.sln” para abrirlo junto con el Visual C#.

Fuente 5

Fuente 5

18/03/2009metaconta@gmail.com

308

18/03/2009metaconta@gmail.com

309

MÁS AYUDA

A pesar de que ya se ha explicado como ejecutar la ayuda de nuestro programa manual.pdf. ¿Hay algún método para ejecutar más extensiones?

Es decir, si no encuentra manual.pdf que busque otra extensión que tenga seleccionado en el programa hasta llegar en un punto de encontrarlo o de mensaje de error.

18/03/2009metaconta@gmail.com

310

MÁS AYUDA

Objetivos:

A veces hacemos las ayudas del

programa en ciertos formatos como

pdf, xps, doc, docx, htm, html, etc o

los viejos conocidos hlp y chm.

Para no sólo dejar un formato en

un programa ya compilado, mejor

tener la oportunidad de encontrar

con su extensión correspondiente.

Si no encuentra ningún manual,

nos avisará un mensaje de error o

aviso.

1) Introducir código

necesario para buscar

archivos de ayuda de

extensiones diferentes.

2) Mensaje de error o

aviso sobre el archivo de

ayuda no encontrado.

18/03/2009metaconta@gmail.com

311

MÁS AYUDA

Pincha dos veces en

“Contenido”.

18/03/2009metaconta@gmail.com

312

MÁS AYUDA

Pincha dos veces en

“Contenido”.

Si has seguido el

manual desde el

principio y has

encontrado el código

anterior, borra sólo lo

marcado en azul.

18/03/2009metaconta@gmail.com

313

MÁS AYUDA

18/03/2009metaconta@gmail.com

314

MÁS AYUDA

Sólo deberás dejar el

código libre para

introducir el nuevo en

él.

18/03/2009metaconta@gmail.com

315

MÁS AYUDA

18/03/2009metaconta@gmail.com

316

MÁS AYUDA

Dentro de un interior dicho anteriormente,

introduce estos códigos.

18/03/2009metaconta@gmail.com

317

MÁS AYUDA

18/03/2009metaconta@gmail.com

318

MÁS AYUDA

18/03/2009metaconta@gmail.com

319

MÁS AYUDA

Guarda el proyecto y

depura con “F5”.

Ahora ejecuta

“AyudaContenido”

para que se muestre la

ventana.

18/03/2009metaconta@gmail.com

320

MÁS AYUDA

Debería demostrar

algo similar a la

imagen.

18/03/2009metaconta@gmail.com

321

MÁS AYUDA

18/03/2009metaconta@gmail.com

322

MÁS AYUDA

Con el botón derecho

del ratón, púlsalo y

después clickea en

“Abrir carpeta

Contenido”.

Ahí dentro colocarás

cualquier archivo de

manuales o tutoriales

de ayuda.

18/03/2009metaconta@gmail.com

323

MÁS AYUDA

Entre en \bin\Debug y coloca el archivo de ayuda correspondiente de las extensiones ya programadas.

En este caso coloca “manual.html” o cualquiera de ellos.

Pulsa “F5” y comprueba si te ejecuta la ayuda.

18/03/2009metaconta@gmail.com

324

MÁS AYUDA

Introduce todos los

archivos de las

extensiones que has

programado.

18/03/2009metaconta@gmail.com

325

MÁS AYUDA

Si compila o depuras el

programa con “F5” con

todos los archivos sólo

se ejecuta el primero

que encuentre.

En este caso es el

“manual.pdf”.

El motivo es porque es

el primero que hemos

dado la orden a

buscarlo.

18/03/2009metaconta@gmail.com

326

CÓDIGO C#

PICRS232.SLN DESCARGA CÓDIGO FUENTE 6

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 6” para ver el resultado o mire las páginas anteriores. Ejecuta el archivo “PicRS232.sln” para abrirlo junto con el Visual C#.

Fuente 6

Fuente 6

18/03/2009metaconta@gmail.com

327

18/03/2009metaconta@gmail.com

328

CONTRAER CÓDIGO

Cada vez más el código es grande y no es

tan fácil de llevar. ¿Hay algún método

para trabajar más cómodo?

18/03/2009metaconta@gmail.com

329

CONTRAER CÓDIGO

Objetivos:

Vamos a aprender contraer los

códigos para que no molesten al

programar si empezamos a añadir

códigos nuevos.

En este tema, se trata de reducir en

el editor de códigos.

En los códigos que hemos hecho

hasta ahora lo podemos contraer

todos, o en partes.

Mejor lo vemos con ejemplos.

1) ¿Qué es y cómo se

utiliza #region?

2) Contraer códigos con

#region.

18/03/2009metaconta@gmail.com

330

CONTRAER CÓDIGO

Vamos a trabajar en la pestaña Form1.cs del formulario principal.

#region permite especificar un bloque de código que se puede expandir o contraer. Al final se cierra con #endregion .

Vamos a cerrar por parte ciertos códigos, donde podamos expandir o contraer.

Ver ejemplo a la derecha.

#region MyClass definitionpublic class MyClass

{

static void Main()

{

}

} #endregion

18/03/2009metaconta@gmail.com

331

CONTRAER CÓDIGO

Introducimos la

directiva #region

donde indica la flecha

roja.

18/03/2009metaconta@gmail.com

332

CONTRAER CÓDIGO

18/03/2009metaconta@gmail.com

333

CONTRAER CÓDIGO

Ahora cerramos la

region con

#endregion que

puedes ver en la

flecha roja de la

imagen que muestra

en la derecha.

18/03/2009metaconta@gmail.com

334

CONTRAER CÓDIGO

18/03/2009metaconta@gmail.com

335

CONTRAER CÓDIGO

Volvemos arriba en

#region y ves que se

ha mostrado un

cuadrado pequeño con

el signo – que significa

que ya puedes

contraer y el +

expandir.

18/03/2009metaconta@gmail.com

336

CONTRAER CÓDIGO

18/03/2009metaconta@gmail.com

337

CONTRAER CÓDIGO

Pulsa el cuadrado con

el – para contraer el

código. Se te convierte

e + para volver a

expandir.

18/03/2009metaconta@gmail.com

338

CONTRAER CÓDIGO

18/03/2009metaconta@gmail.com

339

CONTRAER CÓDIGO

Para facilitar las cosas,

puedes poner un

comentario sobre la

#region.

Vuelve a expandir.

#region Envío de datos

RS232.

18/03/2009metaconta@gmail.com

340

CONTRAER CÓDIGO

18/03/2009metaconta@gmail.com

341

CONTRAER CÓDIGO

Contráelo y ya podrás

ver el nombre de esta

#region.

18/03/2009metaconta@gmail.com

342

CONTRAER CÓDIGO

18/03/2009metaconta@gmail.com

343

CONTRAER CÓDIGO

Contrae arriba los

using, está arriba del

todo.

Como muestra en la

imagen, coloca

#region y contráelo.

18/03/2009metaconta@gmail.com

344

CONTRAER CÓDIGO

18/03/2009metaconta@gmail.com

345

CONTRAER CÓDIGO

Fíjate bien y contrae

los demás ya que no

te hace falta porque

tiene su propia region.

Debe quedar como

muestra la imagen.

Se expandirá o no

introduzca cuando

códigos nuevos.

18/03/2009metaconta@gmail.com

346

CONTRAER CÓDIGO

18/03/2009metaconta@gmail.com

347

CÓDIGO C#

PICRS232.SLN DESCARGA CÓDIGO FUENTE 7

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 7” para ver el resultado o mire las páginas anteriores. Ejecuta el archivo “PicRS232.sln” para abrirlo junto con el Visual C#.

Fuente 7

Fuente 7

18/03/2009metaconta@gmail.com

348

18/03/2009metaconta@gmail.com

349

ICONO

Me gustaría poner un icono que

representa mi programa y en el

ejecutable. ¿Cómo se hace y cuál es el

método más adecuado?

18/03/2009metaconta@gmail.com

350

ICONO

Objetivos:

Antes que nada debes tener ya un

icono hecho con un programa de

retoques fotográficos como

Photoshop, Paint Shop Pro, Gimp,

etc.

Guárdalo en .PNG a 32x32 píxeles

y entra a esta web

www.convertico.com para que

conviertas el archivo .PNG a .ICO

que es el que vamos a usar.

Cuando ya lo tengas preparado,

nuestro objetivo es introducir el

icono en la esquina de la ventana

de nuestro programa y sobre todo

en el ejecutable “PicRS232.exe”.

1) Introducir icono en la

esquina de las ventanas

del programa.

2) Introducir icono para el

ejecutable PicRS232.exe

del programa principal.

18/03/2009metaconta@gmail.com

351

ICONO

En “Icon” puedes

colocar el icono del

formulario. Pulsa los

…, elige el “icono.ico”

y ya lo tienes resuelto.

18/03/2009metaconta@gmail.com

352

ICONO

Ya tenemos el icono

en el formulario.

18/03/2009metaconta@gmail.com

353

ICONO

Ahora vamos a

introducir el “inoco.ico”

al ejecutable

“PicRS232.exe”.

Con el botón derecho

del ratón, pulsa y en la

ventana emergente

pulsa “Propiedades”.

18/03/2009metaconta@gmail.com

354

ICONO

Si no lo está,

selecciona la pestaña

“Aplicación”.

Busca el “icono.ico”

donde indica la flecha

roja.

18/03/2009metaconta@gmail.com

355

ICONO

18/03/2009metaconta@gmail.com

356

ICONO

18/03/2009metaconta@gmail.com

357

ICONO

Guarde todo el

proyecto y depura con

“F5”.

Se muestra ya el icono

en la esquina superior

izquierda.

Cierre el programa.

18/03/2009metaconta@gmail.com

358

ICONO

Al depurar o compilar

ya podrás comprobar

el icono en el

ejecutable

“PicRS232.exe”.

Abre el contenido de la

carpeta y llega hasta el

directorio \bin\Debug y

fíjate si ya tiene el

icono en el ejecutable.

18/03/2009metaconta@gmail.com

359

ICONO

Puedees ver el

ejecutable con su

icono personalizado.

18/03/2009metaconta@gmail.com

360

ICONO

También aparece en

las propiedades del

ejecutable.

18/03/2009metaconta@gmail.com

361

CÓDIGO C#

PICRS232.SLN DESCARGA CÓDIGO FUENTE 8

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 8” para ver el resultado o mire las páginas anteriores. Ejecuta el archivo “PicRS232.sln” para abrirlo junto con el Visual C#.

Fuente 8

Fuente 8

18/03/2009metaconta@gmail.com

362

18/03/2009metaconta@gmail.com

363

NOTIFICACIÓN DEL ICONO

Al igual que algunos programas como el

Windows Live Messenger, Google Talk,

ZoneAlarm, etc. ¿Cómo puedo realizar

esta acción también en mi programa? Es

decir, que funcione en segundo plano con

un icono pequeño de notificación al lado

del reloj de Windows.

18/03/2009metaconta@gmail.com

364

NOTIFICACIÓN DEL ICONO

Objetivos:

En este caso, al minimizar, muchas

veces es más cómodo dejarlo

como icono al lado del rejos de

Windows al igual que ocurre con

otros programas.

1) Introducir el componente

o control “notifyIcon” en el

formulario.

2) mensajes de notificación

del icono.

18/03/2009metaconta@gmail.com

365

NOTIFICACIÓN DEL ICONO

En “Controles

comunes” has click

dos veces para

agregarlo.

18/03/2009metaconta@gmail.com

366

NOTIFICACIÓN DEL ICONO

Ajusta las propiedades

del notifyIcon como

muestra en el

recuadro de la

derecha.

18/03/2009metaconta@gmail.com

367

Propiedad Cambie a

Icon Icono.ico (32x32 px)

Text PicRS232

Visible True

NOTIFICACIÓN DEL ICONO

Haz doble click en

“DoubleClik”.

18/03/2009metaconta@gmail.com

368

NOTIFICACIÓN DEL ICONO

18/03/2009metaconta@gmail.com

369

Introduces este código tal como muestra en

la imagen.

NOTIFICACIÓN DEL ICONO

En “eventos” pulsa dos

veces click en

“SizeChange”.

18/03/2009metaconta@gmail.com

370

NOTIFICACIÓN DEL ICONO

18/03/2009metaconta@gmail.com

371

Introduce el código que muestra abajo.

NOTIFICACIÓN DEL ICONO

18/03/2009metaconta@gmail.com

372

No olvide introducir la variable private int uno = 0;

NOTIFICACIÓN DEL ICONO

Finalmente ya puedes poner la #region para

simplificar el código.

Fíjate bien el código fuente de la página

siguiente.

18/03/2009metaconta@gmail.com

373

NOTIFICACIÓN DEL ICONO

18/03/2009metaconta@gmail.com

374

NOTIFICACIÓN DEL ICONO

18/03/2009metaconta@gmail.com

375

NOTIFICACIÓN DEL ICONO

Ya puedes contraer la

#region del nuevo

código.

18/03/2009metaconta@gmail.com

376

NOTIFICACIÓN DEL ICONO

18/03/2009metaconta@gmail.com

377

NOTIFICACIÓN DEL ICONO

PICRS232.SLN DESCARGA CÓDIGO FUENTE 9

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 9” para ver el resultado o mire las páginas anteriores. Ejecuta el archivo “PicRS232.sln” para abrirlo junto con el Visual C#.

Fuente 9

Fuente 9

18/03/2009metaconta@gmail.com

378

18/03/2009metaconta@gmail.com

379

ENLACES WEB

En muchos programas hay una zona cerca de “Ayuda” donde puedes ver su web oficial, etc.

En este caso vamos a poner un enlace de la web donde se aloja este programa.

También puedes incluir si lo deseas, otras web, blogs y foros de terceros si se ponen de acuerdo, cosa que vamos a realizar ahora.

18/03/2009metaconta@gmail.com

380

ENLACES WEB

Objetivos:

Crearemos enlaces Web, Blogs y

foros en nuestro programa para

acceder a él directamente, sea web

oficial del programa, foros e incluso

enlaces amigos.

1) Modificar la barra de

herramientas añadiendo

más entradas en “Ayuda”.

2) Introducir códigos

necesarios para la

ejecución de las Web,

blogs y foros.

18/03/2009metaconta@gmail.com

381

ENLACES WEB

Empezamos arriba en

la barra de

herramientas, “Ayuda”

a introducir los datos.

18/03/2009metaconta@gmail.com

382

ENLACES WEB

Donde pone “Escriba

aquí” introduces

“Web”.

18/03/2009metaconta@gmail.com

383

ENLACES WEB

Fíjate bien que ahora

se muestra un flecha a

la derecha y ahí

introducirá las Web

que se muestra en la

página siguiente.

18/03/2009metaconta@gmail.com

384

ENLACES WEB

18/03/2009metaconta@gmail.com

385

Introduces dos Web,

www.pic16f84a.org y

Electrónica Pic.

ENLACES WEB

Fíjate bien en la

imagen, ahora

escribes “Blog” y a su

derecha “electronica-

pic”.

18/03/2009metaconta@gmail.com

386

ENLACES WEB

Haz lo mismo con

“Foro” y a su derecha

“Foros de electrónica”

18/03/2009metaconta@gmail.com

387

ENLACES WEB

Abajo escribe un guión

normal, cuidado, dije

un guión normal, no

guión bajo.

18/03/2009metaconta@gmail.com

388

ENLACES WEB

Pulsa “Enter” y ya

tienes la línea grande.

18/03/2009metaconta@gmail.com

389

ENLACES WEB

Pincha con el ratón sin

soltar la casilla “Web”

y arrástralo encima de

la línea como muestra

en la imagen.

18/03/2009metaconta@gmail.com

390

ENLACES WEB

Debería quedar algo

similar así.

18/03/2009metaconta@gmail.com

391

ENLACES WEB

Arrastra la línea de

abajo justo encima de

la casilla “Web”.

18/03/2009metaconta@gmail.com

392

ENLACES WEB

Como verás en la

imagen, la línea

debería estar encima

de la casilla “Web”.

18/03/2009metaconta@gmail.com

393

ENLACES WEB

Ahora toca introducir

códigos.

Pincha dos veces en

www.pic16f84a.org

para acceder al

código.

18/03/2009metaconta@gmail.com

394

ENLACES WEB

Al hacer doble ya nos encontramos con

código generado para introducir más códigos

por nosotros mismos.

En la flecha roja introducirás códigos

necesarios.

18/03/2009metaconta@gmail.com

395

ENLACES WEB

Introduces estos códigos necesarios para

ejecutar la Web que desees. Debería quedar

como muestra en la imagen.

18/03/2009metaconta@gmail.com

396

Sigue así con las demás direcciones Web,

blog y foros como se muestra en la página

siguiente.

ENLACES WEB

18/03/2009metaconta@gmail.com

397

ENLACES WEB

18/03/2009metaconta@gmail.com

398

ENLACES WEB

18/03/2009metaconta@gmail.com

399

ENLACES WEB

18/03/2009metaconta@gmail.com

400

Finalmente ya puedes ponerle una #region y

contraerla como se muestra en la siguiente

imagen.

ENLACES WEB

18/03/2009metaconta@gmail.com

401

NOTIFICACIÓN DEL ICONO

PICRS232.SLN DESCARGA CÓDIGO FUENTE 10

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 10” para ver el resultado o mire las páginas anteriores. Ejecuta el archivo “PicRS232.sln” para abrirlo junto con el Visual C#.

Fuente 10

Fuente 10

18/03/2009metaconta@gmail.com

402

18/03/2009metaconta@gmail.com

403

OPACIDAD

A veces interesa tener la ventana de

control del PicRS232 un poco

transparente para ver lo que hay detrás

de mi escritorio, sobre todo cuando estoy

trabajando con programas de mensajería

instantánea o otra tarea.

18/03/2009metaconta@gmail.com

404

OPACIDAD

Objetivos:

El objetivo principal es conseguir

que el formulario o ventana del

programa principal pueda cambiar

su opacidad o transparencia para

ver lo que hay detrás de ella o

evitar miradas indiscretas si estás

en zona pública.

1) Añadir menú “Opacidad”.

2) Introducir códigos para la

opacidad.

3) Introducir códigos para

verificación de opacidad.

18/03/2009metaconta@gmail.com

405

OPACIDAD

En “Opciones” vamos

a introducir el menú de

selección de opacidad.

18/03/2009metaconta@gmail.com

406

OPACIDAD

Como muestra en la

imagen. Escribes

“Opacidad”.

18/03/2009metaconta@gmail.com

407

OPACIDAD

Después de

“Opacidad”, introduces

los demás datos a su

derecha.

Normal, un guión, 75%

hasta 5% tal como se

muestra en la imagen.

18/03/2009metaconta@gmail.com

408

OPACIDAD

18/03/2009metaconta@gmail.com

409

Selecciona “Normal” y pon “True” la propiedad Checked.

Automaticamente la propiedad CheckState se pone en “Checked”.

OPACIDAD

Para dejar claro que

“Normal” es un valor

predeterminado. En la

propiedad “Font”,

activa “Bold” a “True”

para dejar la palabra

“Normal” en Negrita.

18/03/2009metaconta@gmail.com

410

OPACIDAD

Haz doble click en

“Normal” como

muestra la imagen.

18/03/2009metaconta@gmail.com

411

OPACIDAD

18/03/2009metaconta@gmail.com

412

Se genera un código automáticamente.

OPACIDAD

18/03/2009metaconta@gmail.com

413

En su interior introduce “Opacity = 1;” ya que el valor 1

significa el 100% de la opacidad.

OPACIDAD

18/03/2009metaconta@gmail.com

414

OPACIDAD

18/03/2009metaconta@gmail.com

415

Introduce los códigos necesarios para checkear todo momento

la opción elegida.

OPACIDAD

18/03/2009metaconta@gmail.com

416

OPACIDAD

18/03/2009metaconta@gmail.com

417

OPACIDAD

OPACIDAD 100% OPACIDAD 25%

18/03/2009metaconta@gmail.com

418

NOTIFICACIÓN DEL ICONO

PICRS232.SLN DESCARGA CÓDIGO FUENTE 11

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 11” para ver el resultado o mire las páginas anteriores. Ejecuta el archivo “PicRS232.sln” para abrirlo junto con el Visual C#.

Fuente 11

Fuente 11

18/03/2009metaconta@gmail.com

419

PARAR SISTEMA AL CERRAR EL INTERFAZ

Al cerrar la interfaz, el PIC se me puede

quedar activado. Necesito que al cerrarla

también se apague el PIC, es decir, que le

llegue el mismo comando de “Sistema

PARADO” al igual que pulsas el botón

“Espacio”.

18/03/2009metaconta@gmail.com

420

PARAR SISTEMA AL CERRAR EL INTERFAZ

Objetivos:

Asegurarse de parar el sistema del

PIC al cerrar la interfaz.

1) Añadir el mismo código

de “Sistema PARADO” al

cerrar la Interfaz.

18/03/2009metaconta@gmail.com

421

PARAR SISTEMA AL CERRAR EL INTERFAZ

Seleccionamos o

pinchamos un clic por

encima del

Form_principal, en

propiedades, tal cual

muestra en la imagen

has doble clic en

“FormClosing” para

que se genere el

código necesario.

18/03/2009metaconta@gmail.com

422

PARAR SISTEMA AL CERRAR EL INTERFAZ

Se genera código

necesario.

18/03/2009metaconta@gmail.com

423

PARAR SISTEMA AL CERRAR EL INTERFAZ

18/03/2009metaconta@gmail.com

424

PARAR SISTEMA AL CERRAR EL INTERFAZ

Introducimos los

códigos necesarios.

En realidad se utiliza

reutilización de

códigos, pero lo

dejamos así por si

quieres usar otra idea

que no tenga nada

que ver con la que

mostramos.

18/03/2009metaconta@gmail.com

425

PARAR SISTEMA AL CERRAR EL INTERFAZ

18/03/2009metaconta@gmail.com

426

Veremos el código completo. No olvides de incluir #region Para Sistema al

cerrar PicRS232

PARAR SISTEMA AL CERRAR EL INTERFAZ

18/03/2009metaconta@gmail.com

427

PARAR SISTEMA AL CERRAR EL INTERFAZ

18/03/2009metaconta@gmail.com

428

PARAR SISTEMA AL CERRAR EL INTERFAZ

PICRS232.SLN DESCARGA CÓDIGO FUENTE 12

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 12” para ver el resultado o mire las páginas anteriores. Ejecuta el archivo “PicRS232.sln” para abrirlo junto con el Visual C#.

Fuente 12

Fuente 12

18/03/2009metaconta@gmail.com

429

18/03/2009metaconta@gmail.com

430

SELECCIÓN DE PUERTOS COM

Hasta ahora sólo hemos trabajado con el

puerto COM1. ¿Hay otra posibilidad de

seleccionar el COM1 y COM2?

18/03/2009metaconta@gmail.com

431

SELECCIÓN DE PUERTOS COM

Objetivos:

Hay varias maneras que vamos a

seleccionar los puertos series, una

de ellas es mediante el “comboBox”

y la otra manera es usando dos

“radiobutton”.

Al final, usted decide.

Si va hacer las dos, no lo haremos

en el mismo proyecto, haga una

copia de seguridad de su proyecto

donde has trabajado hasta ahora

para asegurar su trabajo.

Lee primero todo este tema tanto el

de “comboBox” como los de

“radioButton” así luego empezará a

seguir los pasos que desees del

más que te guste.

1) Añadir comboBox.

2) Programar el

comboBox.

3) Utilizar radioButton

como otra alternativa de

selección de puertos

series o COM.

18/03/2009metaconta@gmail.com

432

SELECCIÓN DE PUERTOS COM

Arrastra el comboBox

al formulario desde

“Controles comunes”.

18/03/2009metaconta@gmail.com

433

SELECCIÓN DE PUERTOS COM

18/03/2009metaconta@gmail.com

434

SELECCIÓN DE PUERTOS COM

En las propiedades de

“Itmes”, pincha en los

tres puntos

suspensivos de

“(Colección)”.

18/03/2009metaconta@gmail.com

435

SELECCIÓN DE PUERTOS COM

Se abre una ventana

“Editor de la colección

Cadena”. En ella

introduces como se

muestra la imagen:

COM1

COM2

Que son cada puerto

serie.

18/03/2009metaconta@gmail.com

436

SELECCIÓN DE PUERTOS COM

18/03/2009metaconta@gmail.com

437

SELECCIÓN DE PUERTOS COM

El “comboBox” debe

tener estas

propiedades.

18/03/2009metaconta@gmail.com

438

Propiedades Cambie a

Text COM1

Items (Colección)

(Name) comboBox_com

Location 190; 125

Size 75; 21

SELECCIÓN DE PUERTOS COM

Pincha dos veces o

doble clic para insertar

el código que vamos a

introducir.

En la imagen de la

página siguiente

introduce los códigos

marcados por un

rectángulo rojo.

18/03/2009metaconta@gmail.com

439

SELECCIÓN DE PUERTOS COM

18/03/2009metaconta@gmail.com

440

SELECCIÓN DE PUERTOS COM

No olvidar el orden de

tabulación en

“VerOrden de

tabulación”.

18/03/2009metaconta@gmail.com

441

SELECCIÓN DE PUERTOS COM

18/03/2009metaconta@gmail.com

442

PARAR SISTEMA AL CERRAR EL INTERFAZ

PICRS232.SLN DESCARGA CÓDIGO FUENTE 13

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 13” para ver el resultado o mire las páginas anteriores. Ejecuta el archivo “PicRS232.sln” para abrirlo junto con el Visual C#.

Fuente 13

Fuente 13

18/03/2009metaconta@gmail.com

443

SELECCIÓN DE PUERTOS COM

Ahora toca otro

método de selección

de puertos COM.

Elige dos controles

llamados “radioButton”

e insértalo en el

formulario.

18/03/2009metaconta@gmail.com

444

SELECCIÓN DE PUERTOS COM

18/03/2009metaconta@gmail.com

445

SELECCIÓN DE PUERTOS COM

Cambia las

propiedades como

muestra el cuadro del

“radioButton1”.

18/03/2009metaconta@gmail.com

446

Propiedades Cambiar a

Checked True

Text COM1

(Name) radioButton_com1

Location 175; 142

Size 55; 17

SELECCIÓN DE PUERTOS COM

Ahora del

“radioButton2”.

18/03/2009metaconta@gmail.com

447

Propiedades Cambiar a

Text COM2

(Name) radioButton_com2

Location 236; 142

Size 55; 17

SELECCIÓN DE PUERTOS COM

Pulsa doble clic en

COM1 para generar su

código necesario.

18/03/2009metaconta@gmail.com

448

SELECCIÓN DE PUERTOS COM

18/03/2009metaconta@gmail.com

449

PARAR SISTEMA AL CERRAR EL INTERFAZ

PICRS232.SLN DESCARGA CÓDIGO FUENTE 13

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 14” para ver el resultado o mire las páginas anteriores. Ejecuta el archivo “PicRS232.sln” para abrirlo junto con el Visual C#.

Fuente 14

Fuente 14

18/03/2009metaconta@gmail.com

450

TODO EL CÓDIGO FUENTE

TODO LOS CÓDIGOS PASO A PASO TODOS LOS CÓDIGOS FUENTE

También puedes descargar

todos los pasos en un

único archivo llamado

“PicRS232_todo.zip” en los

enlaces de la derecha. Fuente todo

Fuente todo

18/03/2009metaconta@gmail.com

451

18/03/2009metaconta@gmail.com

452

CREATE INSTALL FREE

Una vez que termines el trabajo de programación, ahora toca realizar tareas de instalación para el usuario final, en el cual es rápido y fácil.

Con Create Install Free, es un instalador FreeWare y podrás crear una instalador en poco tiempo.

Esta versión que vamos a usar es la CreateInstall Free v4.14.4.

18/03/2009metaconta@gmail.com

453

CREATE INSTALL FREE

Puedes descargar la versión free (gratuita)

en esta dirección Web www.createinstall.com

en el cual vamos a aprender lo básico para

su instalación del programa “PicRS232”.

18/03/2009metaconta@gmail.com

454

CREATE INSTALL FREE

18/03/2009metaconta@gmail.com

455

CREATE INSTALL FREE

18/03/2009metaconta@gmail.com

456

CREATE INSTALL FREE

18/03/2009metaconta@gmail.com

457

CREATE INSTALL FREE

18/03/2009metaconta@gmail.com

458

CREATE INSTALL FREE

18/03/2009metaconta@gmail.com

459

CREATE INSTALL FREE

18/03/2009metaconta@gmail.com

460

CREATE INSTALL FREE

18/03/2009metaconta@gmail.com

461

CREATE INSTALL FREE

18/03/2009metaconta@gmail.com

462

CREATE INSTALL FREE

18/03/2009metaconta@gmail.com

463

CREATE INSTALL FREE

Selecciona el espacio

en blanco encima de

“Demo”.

18/03/2009metaconta@gmail.com

464

CREATE INSTALL FREE

Selecciona el icono

“Crear nuevo archivo”.

18/03/2009metaconta@gmail.com

465

CREATE INSTALL FREE

Pulsa el icono

“Guardar proyecto ”

para guardarlo.

Llámalo “PicRS232.ci”

y lo guardas en la

ubicación C:\CIF.

18/03/2009metaconta@gmail.com

466

CREATE INSTALL FREE

18/03/2009metaconta@gmail.com

467

CREATE INSTALL FREE

18/03/2009metaconta@gmail.com

468

CREATE INSTALL FREE

18/03/2009metaconta@gmail.com

469

CREATE INSTALL FREE

18/03/2009metaconta@gmail.com

470

Pulsa “InicioAccesoriosHerramienta del sistemaMapa de caracteres”,

selecciona en símbolo Copyriht y cópiala en el portapapeles en el botón

copiar.

Para colocarlo en “Texto en pié de página” como indica la imagen anterior.

CREATE INSTALL FREE

18/03/2009metaconta@gmail.com

471

CREATE INSTALL FREE

18/03/2009metaconta@gmail.com

472

CREATE INSTALL FREE

18/03/2009metaconta@gmail.com

473

CREATE INSTALL FREE

18/03/2009metaconta@gmail.com

474

CREATE INSTALL FREE

18/03/2009metaconta@gmail.com

475

CREATE INSTALL FREE

18/03/2009metaconta@gmail.com

476

CREATE INSTALL FREE

18/03/2009metaconta@gmail.com

477

CREATE INSTALL FREE

18/03/2009metaconta@gmail.com

478

CREATE INSTALL FREE

18/03/2009metaconta@gmail.com

479

CREATE INSTALL FREE

18/03/2009metaconta@gmail.com

480

CREATE INSTALL FREE

18/03/2009metaconta@gmail.com

481

CREATE INSTALL FREE

18/03/2009metaconta@gmail.com

482

CREATE INSTALL FREE

Al final se crea el ejecutable llamado

“setup.exe” listo para su distribución.

Lo encontrarás donde hemos indicado que

aparecerá en el instaldor.

C:\CIF

18/03/2009metaconta@gmail.com

483

CREATE INSTALL FREE

18/03/2009metaconta@gmail.com

484

CREATE INSTALL FREE

SETUP.EXE

En los enlaces de la

derecha puedes descargar

el “setup.exe” en formato

“setup_picrs232.zip” para

menor tiempo de descarga.

Puedes comprobar el

funcionamiento como

cualquier instalador.

setup_picrs232.zip

setup_picrs232.zip

18/03/2009metaconta@gmail.com

485

CREATE INSTALL FREE

18/03/2009metaconta@gmail.com

486

Fíjate que se puede colocar los logos e iconos. Queda muy

atractivo relacionado con el programa.

CREATE INSTALL FREE

18/03/2009metaconta@gmail.com

487

COMENTARIO DEL AUTOR

Este es el final del manual.

Dejar claro que su idea principal falta la versión en Linux, que por tiempo y cuestiones técnicas no he podido incluir aquí.

Espero tener suficiente tiempo para la próxima actualización que ya incluya Linux con MonoDevelop.

También si es posible, lo básico en otros lenguajes como Visual C++ y Visual Basic .net.

Espero que a parte de aprender, se hayan divertido. Gracias a todos y a todas por seguir este manual.

18/03/2009metaconta@gmail.com

488

18/03/2009metaconta@gmail.com

489

Algunas fotos del proyecto real sobre el puerto serie RS232 con C#.

18/03/2009metaconta@gmail.com

490

FOTOS

FOTOS

18/03/2009metaconta@gmail.com

491

18/03/2009metaconta@gmail.com

492

18/03/2009metaconta@gmail.com

493

18/03/2009metaconta@gmail.com

494

18/03/2009metaconta@gmail.com

495

18/03/2009metaconta@gmail.com

496

18/03/2009metaconta@gmail.com

497

Puedes ver algunos vídeos en youtube.com sobre este proyecto.

18/03/2009metaconta@gmail.com

498

VÍDEOS

VÍDEOS (REQUIERE CONEXIÓN INTERNET)

RS232 CON PIC 16F84A Y VISUAL C# EN WINDOWS

PIC RS232 CON VISUAL C# Y PIC 16F84

Ver vídeo 1 Ver vídeo 2

18/03/2009metaconta@gmail.com

499

Algunos libros relacionado con este manual.

18/03/2009metaconta@gmail.com

500

LIBROS

MICROCONTROLADOR PIC16F84. DESARROLLO

DE PROYECTOS

LIBRO HYPERTERMINAL

En este libro podrás

encontrar una guía paso a

paso sobre el puerto serie

RS232 y HyperTerminal.

Cualquier información

consulta su página oficial

www.pic16f84a.org.

18/03/2009metaconta@gmail.com

501

ELECTRÓNICA DIGITAL PARA FORMACIÓN

PROFESIONAL

LIBRO DESCRIPCIÓN:

El libro "Electrónica Digital para Formación Profesional" contiene los conocimientos de electrónica digital necesarios para el adiestramiento de técnicos de nivel medio o superior. Está especialmente orientado a la formación profesional en general, ya sea en un centro de enseñanza oficial, en cursos de reciclaje del personal técnico en empresas o para aprendizaje autodidacta. La metodología utilizada en este libro es eminentemente práctica, basada en el desarrollo de gran número de montajes de laboratorio combinados con ejercicios prácticos y exposición de los principios teóricos fundamentales.

http://www.lulu.com/content/3640689

18/03/2009metaconta@gmail.com

502

18/03/2009metaconta@gmail.com

503

OTROS MANUALES

OTROS MANUALES

DESCARGAS DE MANUALES

Puedes descargar otros

manuales relacionado

sobre temas de

microcontroladores. Manuales.

Manuales.

Manuales.

18/03/2009metaconta@gmail.com

504

Enlaces de páginas Web donde podrás encontrar más información.

18/03/2009metaconta@gmail.com

505

ENLACES DE INTERÉS

ENLACES DE INTERÉS

http://www.microsoft.com/express Descarga la versión gratuita Visual C# .netExpress.

http://msdn.microsoft.com Encontrarás información sobre el aprendizaje y conceptos del lenguaje C#.

http://forums.microsoft.com Foro en español sobre Visual Studio .net donde podrá encontrar información o resolver dudas sobre el mundo de Visual C#.

http://www.developerfusion.com Un buen enlace para transformar código C# a VB y VB a C# mediante una Web.

http://www.createinstall.com Instalador de aplicaciones muy fácil.

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.

18/03/2009metaconta@gmail.com

506

VERSIÓN DEL MANUAL

Publicado por primera vez: 04/12/2008

Versión: 1.9

18/03/2009metaconta@gmail.com

508

CONTACTO

Puedes publicar este tutorial o

manual en tu Web, foros, blogs,

CD, DVD o Blue-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

18/03/2009metaconta@gmail.com

509

18/03/2009metaconta@gmail.com

510

AUTOR:

Ángel Acaymo M. G.