6.pdf

Descripción completa...
Author:  jaggve

23 downloads 206 Views 450KB Size

Recommend Documents

No documents
LD3
LD4
LD5
LD6
LD7
LD8

        N           Ó         I         C         A         M 38         A         R         G         O         R         P RESISTOR

”LD1”
”LD2”
”LD3”
”LD4”
”LD5”
”LD6”
”LD7”
”LD8”


                 
© 2003FuturaElettronica Company.Allrightsreserved.


HTTP/1.0 302 Found fi.spi Location:/Risposta.htm

36-43 Curso Site Player

23/9/05

11:03

Demo 6: Listado Basic ;File DEMO 6.BAS TEMP DATOIN DATOOUT INDIRIZZO FLAGOK TEM TE MPE PERA RATU TURA RA TRIMMER

var var var var var varr va var

byte byte byte byte bit bytee byt byte

Include “modedefs.bas “modedefs.bas”” ‘LED SYMBOL SYMBO L SYMBOL SYMBO L SYMBOL SYMBO L SYMBOL SYMBO L SYMBOL SYMBO L SYMBOL SYMBO L SYMBOL SYMBO L SYMBOL SYMBO L

LED1 = LED2 = LED3 = LED4 = LED5 = LED6 = LED7 = LED8 =

‘DIP SYMBOL SYMBO L SYMBOL SYMBO L SYMBOL SYMBO L SYMBOL SYMBO L SYMBOL SYMBO L SYMBOL SYMBO L SYMBOL SYMBO L SYMBOL SYMBO L

DIP1 = DIP2 = DIP3 = DIP4 = DIP5 = DIP6 = DIP7 = DIP8 =

PORTC.0 POR TC.0 PORTC.1 PORTC.1 PORTC.2 PORTC.2 PORTC.3 PORTC.3 PORTC.4 PORTC.4 PORTC.5 PORTC.5 PORTC.6 PORTC.6 PORTC.7 PORTC.7

PORT PO RTB.0 B.0 PORTB.1 PORT B.1 PORTB.2 PORT B.2 PORTB.3 PORT B.3 PORTB.4 PORT B.4 PORTB.5 PORT B.5 PORTB.6 PORT B.6 PORTB.7 PORT B.7

‘Comunicazione con il Site Player ‘Comunicazione SYMBOL SYMBO L TX232 = POR PORT TA.2 SYMBOL SYMBO L RX232 = POR PORT TA.5 ‘Interrupt dal Site Player SYMBOL SYM BOL INT INTSP SP = PORT PORTA.4 ‘Definizione I/O ADCON1=%00000100 ADCON0=%10000001 OUTP OU TPUT UT LE LED1 D1 OUTP OU TPUT UT LE LED2 D2 OUTP OU TPUT UT LE LED3 D3 OUTP OU TPUT UT LE LED4 D4 OUTP OU TPUT UT LE LED5 D5 OUTP OU TPUT UT LE LED6 D6 OUTP OU TPUT UT LE LED7 D7 OUTP OU TPUT UT LE LED8 D8 OUTP OU TPUT UT TX TX23 232 2 INP NPUT UT RX RX23 232 2 ‘Dip INPUT INPU T INPU IN PUT T INPU IN PUT T INPU IN PUT T INPU IN PUT T INPU IN PUT T INPU IN PUT T INPU IN PUT T

DIP1 DIP1 DIP2 DI P2 DIP3 DI P3 DIP4 DI P4 DIP5 DI P5 DIP6 DI P6 DIP7 DI P7 DIP8 DI P8

‘Portb coi pull up interni OPTION_REG.7 = 0 INPU IN PUT T Po Port rta. a.0 0 INPU IN PUT T Po Port rta. a.1 1 INP NPUT UT IN INT TSP

Página 39

START: Gosub SEND20 TEMP TEM P= 0 Pause 100 START0: ASM START00 BTFSC Porta.4 Goto START00 ENDASM INDIRIZZO = 5 Gosub SENDREADREQUEST Pauseus 50 Gosub READDATO If FLAGOK = 1 then Portc = DATOIN Endif  Pause 100 Goto START0 ‘Routine di invio di 20 byte 0 per inzializzazione SEND20: For TEMP TEMP = 1 to 20 Serout TX232,T9600,[0] Pause 5 Next TEMP Return ‘Routine di scrittura di un byte ‘Invia : Comando di write (128), INDIRIZZO, DATOOUT WRITEDATO: Pause 10 Serout TX232,T9600,[128] Pause 5 Serout TX232,T9600,[INDIRI TX232,T9600,[INDIRIZZO] ZZO] Pause 5 Serout TX232,T9600,[DATOOUT] Pause 20 Return ‘Routine di richiesta di lettura di un byte ‘Invia: Comando di read (192), INDIRIZZO SENDREADREQUEST: Pause 10 Serout TX232,T9600,[192] Pause 5 Serout TX232,T9600,[INDIRI TX232,T9600,[INDIRIZZO] ZZO] Return ‘Routine di lettura di un byte (dopo aver inviato ‘SENDREADREQUEST ‘In uscita: DATOIN, FLAGOK = 1 se è andata a buon fine la ‘lettura, altrimenti 0 se è andato in timeout (300 msec)

READDATO: FLAGOK = 0 Serin RX232,T9600,300,READDATO1,DATOIN FLAGOK = 1 Return READDATO1: FLAGOK = 0 Return

        N           Ó         I         C         A         M 39         A         R         G         O         R         P RESISTOR

36-43 Curso Site Player

23/9/05

11:03

Página 40

DEMO 7 Ejemplo de gestión de una salida digital: la demo permite encender y apagar el led LD1.

        N           Ó         I         C         A         M 40         A         R         G         O         R         P

DEMO 7: DEFINICIONES

RESISTOR

;DEMO7.SPD ;DEFINITIONS $Devicename “Futura elettronica Demo7” $DHCP $DH CP of off f  $DownloadPassword “” $SitePassword “” $InitialIP $Initia lIP “192. “192.168.0. 168.0.250” 250” $PostIRQ on $Sitefile “C:\Programmi\SitePlayer\demoboard\demo7\demo7.spb” $Sitepath “C:\Programmi\SitePlayer\demoboard\demo7\root” ;OBJECTS org 05h led1 db 0

valor adoptado por el objeto led1. Vamos ahora a analizar la sección del archivo que realiza el envío de los datos utilizando un link. La parte del código html que interesa es:
”LD1”


En concreto, la parte que realiza el link propiamente dicho es: Como ya se ha visto, con
Obviamente, este archivo deberá estar presente en la misma carpeta que el archivo index.html. Junto con esta petición se envía la variable led1, cuyo valor se obtiene del objeto led1 (^led1) en el que se aplica el operador ~ , que ejecuta el OR Exclusivo entre el objeto led1 y el número 1. En la práctica, ejecutar esta operación equivale a cambiar el estado lógico del primer bit del objeto led1. Y como el el objeto led1 led1 respeta respeta a rajatabla el estado lógico de los leds, el efecto resultante es que se encenderá el primer led si estaba apagado o se apagará si estaba encendido. Obviamente, para encender o apagar los diversos leds degberá ejecutarse la operación OR con el peso binario correspondiente a cada uno de ellos. FILE DEMO6.BAS El archivo DEMO6.bas para el microcontrolador PIC, que se incluye en estas páginas, no precisa de demasiadas explicaciones. La primera sección del listado incluye las definiciones de los recursos utilizados en la demoboard y las definiciones de las variables. A continuación, el el programa

36-43 Curso Site Player

23/9/05

11:03

Página 41

Demo 7: Listado HTML Futurel Demo7 <meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1”>
WEB SERVER COPROCESSOR
DEVELOPER BOARD FT497

demo7.spd

sans-serif”>.spd

File: demo7

 
 
LD1
LD2
LD3
LD4
LD5
LD6
LD7
LD8
 
 

© 2003 Futura Elettronica Company. All rights reserved.


HTTP/1.0 302 Found x.spi Location: /index.htm

        N           Ó         I         C         A         M 41         A         R         G         O         R         P RESISTOR

36-43 Curso Site Player

23/9/05

11:03

Página 42

Demo 7: Listado Basic ;File DEMO7.BAS TEMP DATOIN DATOOUT INDIRIZZO FLAGOK TEMP TE MPER ERA ATU TURA RA TRIMMER

        N           Ó         I         C         A         M 42         A         R         G         O         R         P

var var var var var varr va var

byte byte byte byte bit bytee byt byte

Include “modedefs.bas “modedefs.bas””

RESISTOR

‘LED SYMBOL SYMBO L SYMBOL SYMBO L SYMBOL SYMBO L SYMBOL SYMBO L SYMBOL SYMBO L SYMBOL SYMBO L SYMBOL SYMBO L SYMBOL SYMBO L

LED1 = LED2 = LED3 = LED4 = LED5 = LED6 = LED7 = LED8 =

‘DIP SYMBOL SYMBO L SYMBOL SYMBO L SYMBOL SYMBO L SYMBOL SYMBO L SYMBOL SYMBO L SYMBOL SYMBO L SYMBOL SYMBO L SYMBOL SYMBO L

DIP1 = DIP2 = DIP3 = DIP4 = DIP5 = DIP6 = DIP7 = DIP8 =

PORT PO RTC.0 C.0 PORTC.1 PORT C.1 PORTC.2 PORT C.2 PORTC.3 PORT C.3 PORTC.4 PORT C.4 PORTC.5 PORT C.5 PORTC.6 PORT C.6 PORTC.7 PORT C.7

PORTB PO RTB.0 .0 PORTB.1 PORTB .1 PORTB.2 PORTB .2 PORTB.3 PORTB .3 PORTB.4 PORTB .4 PORTB.5 PORTB .5 PORTB.6 PORTB .6 PORTB.7 PORTB .7

‘Comunicazione con il Site Player SYMBOL SYMBO L TX232 = PORT PORTA.2 A.2 SYMBOL SYMBO L RX232 = POR PORT TA.5 ‘Interrupt dal Site Player SYMBOL SYM BOL INT INTSP SP = PORT PORTA.4 ‘Definizione I/O ADCON1=%00000100 ADCON0=%10000001 OUTP OU TPUT UT LE LED1 D1 OUTP OU TPUT UT LE LED2 D2 OUTP OU TPUT UT LE LED3 D3 OUTP OU TPUT UT LE LED4 D4 OUTP OU TPUT UT LE LED5 D5 OUTP OU TPUT UT LE LED6 D6 OUTP OU TPUT UT LE LED7 D7 OUTP OU TPUT UT LE LED8 D8 OUTP OU TPUT UT TX TX23 232 2 INP NPUT UT RX2 X232 32

INPUT INPU T Port Porta. a.0 0 INPU IN PUT T Po Port rta. a.1 1 INP IN PUT INT NTSP SP START: Gosub SEND20 TEMP TEM P= 0 Pause 100 START0: ASM START00 BTFSC Porta.4 Goto START00 ENDASM INDIRIZZO = 5 Gosub SENDREADREQUEST Pauseus 50 Gosub READDATO If FLAGOK = 1 then Portc = DATOIN Endif  Pause 100 Goto START0 ‘Routine di invio di 20 byte 0 per inzializzazione SEND20: For TEMP TEMP = 1 to 20 Serout TX232,T9600,[0] Pause 5 Next TEMP Return ‘Routine di scrittura di un byte ‘Invia : Comando di write (128), INDIRIZZO, DATOOUT WRITEDATO: Pause 10 Serout TX232,T9600,[128] Pause 5 Serout TX232,T9600,[INDIRI TX232,T9600,[INDIRIZZO] ZZO] Pause 5 Serout TX232,T9600,[DA TX232,T9600,[DATOOUT] TOOUT] Pause 20 Return ‘Routine di richiesta di lettura di un byte ‘Invia: Comando di read (192), INDIRIZZO SENDREADREQUEST: Pause 10 Serout TX232,T9600,[192] Pause 5 Serout TX232,T9600,[INDIRI TX232,T9600,[INDIRIZZO] ZZO] Return ‘Routine di lettura di un byte (dopo aver inviato ‘SENDREADREQUEST

‘Dip INPUT INPU T INPU IN PUT T INPU IN PUT T INPU IN PUT T INPU IN PUT T INPU IN PUT T INPU IN PUT T INPU IN PUT T

DIP1 DIP1 DIP2 DI P2 DIP3 DI P3 DIP4 DI P4 DIP5 DI P5 DIP6 DI P6 DIP7 DI P7 DIP8 DI P8

‘Portb coi pull up interni OPTION_REG.7 = 0

‘In uscita: DATOIN, FLAGOK = 1 se è andata a buon fine la ‘lettura, altrimenti 0 se è andato in timeout (300 msec)

READDATO: FLAGOK = 0 Serin RX232,T9600,300,READDATO1,DATOIN FLAGOK = 1 Return READDATO1: FLAGOK = 0 Return

36-43 Curso Site Player

23/9/05

11:03

se pone a la espera de que llegue una información procedente del SitePlayer notificando que se han modificado datos. Detectada esta información, el microcontrolador va a leer el objeto, que en esta Demo está localizado en la dirección 5. Pero como este objeto debe respetar ele stado de los leds, el microcontrolador se limita a poner el valor de este objeto en la puerta a la que están conectados los 8 leds de la demoboard. PROGRAMA DEMO7 Esta Demo es una variante de la precedente: también se muestra el archivo de definiciones para el SitePlayer, el listado de las páginas html que componen el Web Server y el listado del programa a “inyectar” en el microcontrolador, escrito en PIC Basic. Como para la Demo6, se dispone de 8 pulsadores, clicando los cuales pueden encenderse y apagarse los leds de la demoboard. En este caso, sin embargo, cada vez que se clica sobre un pulsador, el que cambia es el aspecto del propio pulsador,

Página 43

que indica el estado del led. En la práctica, la página web simula el accionamiento de un pulsador iluminado. Un rápido vistazo al código html revelará las diferencias respecto de la demo precedente:
”LD1” Como puede verse, entre el tag se sitúan las definiciones que solicitan la carga de la imagen del led. En la práctica, el link se asocia a la imagen que identifica el tag img srg. La técnica para enviar con el link el valor a modificar del objeto led1 (href=”x.spi?led1 =^led1~1”), así como el método utilizado para obtener del objeto las imágenes que en esta ocasión se denominan button0.gif y button1.gif (img src=”button^led1’0.gif” ), son totalmente iguales a lo visto en la demo anterior. `

También el archivo Demo7.bas También para el PIC es totalmente igual al precedente, así que bastará con ejecutar las mismas operaciones. Recuérdese que no es aconsejable conectar directamente la demoboard a la tarjeta de red instalada en el PC a menos que se utilice un cable cruzado. Dado que actualmente el coste de un Hub Ethernet es verdaderamente irrisorio (pocas decenas de Euros), esta sería la solución más aconsejable porque, además, permite conectar al mismo Hub otros ordenadores del entorno próximo, estableciendo de esta forma una red LAN completa. Una vez conectado físicamente a la red, el módulo no resulta “visible” desde ésta a menos que, obviamente, la dirección IP impuesta al SitePlayer sea válida. Conviene tener presente que todos los módulos SitePlayer vienen con la IP ori origin ginal al (po (porr defe defecto cto)) 192.168.1.250; para “verlo” desde la red y así poder acceder para realizar la primera programación, deberá configurarse el PC con una IP del tipo 192.168.1. 192.168.1.xxx. xxx.

DISPONIBILIDAD DEL MATERIAL

El módulo SitePlayer está disponible montado y verificado (cód. SP1) al precio de Eur 42,00: el conjunto híbrido resultante implementa un Web Server, un controlador Ethernet 10baseT, una memoria Flash para almacenar las páginas Web y un dispositivo de interfaz serie. Para mejorar el aprendizaje aprendizaje del SitePlayer se dispone del circuito demoboard/programador en kit (cód. FT497K) al precio de Eur 48,00. El kit incluye la placa de circuito circuito imprso taladrada y serigrafiada, serigrafiada, un PIC16F876, 8 leds, 1 dip-switch de 8 polos, 1 trimmer, 1 sensor de temperatura, salida PWM, salida analógica, conector Ethernet, conector para programación “in-circuit” del PIC. El kit comprende todos los componentes y los listados de demostración a nivel fuente (fuente Basic para PIC; páginas HTML; archivos de definición SPD), etc. El kit no comprende el módulo SitePlayer, el alimentador de red y el programador del PIC (cód. FT386K, Eur 86,00). Los precios incluyen el IVA.

        N           Ó         I         C         A         M 43         A         R         G         O         R         P RESISTOR