Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Look up keyword
Like this
5Activity
0 of .
Results for:
No results containing your search query
P. 1
Do Cum en to 1

Do Cum en to 1

Ratings: (0)|Views: 345 |Likes:
Published by sherckuith

More info:

Published by: sherckuith on Jul 14, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

11/16/2011

pdf

text

original

 
;programa para enviar y recibir datos entre el PC y el PIC
INCLUDE "modedefs.bas";incluyen los modos de comunicación@ device XT_OSC ;cambia a oscilador XT en el IC progled VAR portb.7 ;nombre led al puerto b.7dat VAR BYTE ;variable de almacenamiento de 255num VAR BYTE ;variable para almacenar el contadornum=0 ;contenido inicial para la variable numGOSUB ledr ;led para saber si ya arrancó el PICInicio:SERIN portb.0,T2400,dat ;esperar el dato y guardarlo en datIF dat = "C" then contar ;si dat es una C empieze a contarGOSUB ledrGOTO inicio ;ir a esperar el siguiente caractercontar:HIGH led ;led soloencendido indica enviando datosSEROUT portb.1,T2400,[#num,"-"];enviar el contenido decimal de la variable num y una rayanum=num+1 ;incrementar la variable 1 x 1PAUSE 1000 ;esperar 1 sGOTO contar ;ir a subrutina contarledr: ;subrutina ledrHIGH ledPAUSE 200LOW ledRETURNEND
;programa para enviar datos desde el Pic transmisor
INCLUDE "modedefs.bas" ;incluyen los modos de comunicaciónbotonA VAR portb.1 ;nombre botonA al puerto b.1botonB VAR portb.2botonC VAR portb.3transmitir:IF botonA=0 THEN envio1 ;si el botonA es presionado ir a envio1IF botonB=0 THEN envio2 ;si el botonB es presionadoir a envio2IF botonC=0 THEN envio3 ;si el botonC es presionado ir a envio3GOTO transmitirenvio1:SEROUT portb.0,N2400,["A"] ;enviar "A" a 24008N1PAUSE 500GOTO transmitirenvio2:SEROUT portb.0,N2400,["B"] ;enviar "B" a 24008N1PAUSE 500GOTO transmitirenvio3:SEROUT portb.0,N2400,["C"] ;enviar "C" a 24008N1PAUSE 500GOTO transmitirEND
 
;Programa para leer un teclado hexadecimal y mostrarlo en display
cmcon=7 ;cambiar a modo digital todoel puerto ATRISA = 0 ;todo el puerto A es configurado como salidasA VAR PORTB.0 ;nombres para los pines de las filasB VAR PORTB.1C VAR PORTB.2D VAR PORTB.3UNO VAR PORTB.4 ;nombres para los pines de las columnasDOS VAR PORTB.5TRES VAR PORTB.6CUATRO VAR PORTB.7BARRIDO:LOW A ;hacer bajo la 1era filaIF UNO = 0 THEN PORTA = 1 ;si la 1ra tecla es presionada sacar 1IF DOS = 0 THEN PORTA = 2 ;si la 2da tecla es presionada sacar 2IF TRES = 0 THEN PORTA = 3 ;si la 3ra tecla es presionada sacar 3IF CUATRO = 0 THEN PORTA = 10 ;si la 4ta tecla es presionada sacar 10HIGH A ;poner en alto la 1era filaLOW B ;hacer bajo la 2da filaIF UNO = 0 THEN PORTA = 4 ;si la 1ra tecla es presionada sacar 4IF DOS = 0 THEN PORTA = 5 ; y así sucesivamenteIF TRES = 0 THEN PORTA = 6IF CUATRO = 0 THEN PORTA = 11HIGH B ;poner en alto la 2da filaLOW C ;hacer bajo la 3ra filaIF UNO = 0 THEN PORTA = 7IF DOS = 0 THEN PORTA = 8IF TRES = 0 THEN PORTA = 9IF CUATRO = 0 THEN PORTA = 12HIGH C ;poner en alto la 3ra filaLOW D ;hacer bajo la 4ta filaIF UNO = 0 THEN PORTA = 14IF DOS = 0 THEN PORTA = 0IF TRES = 0 THEN PORTA = 15IF CUATRO = 0 THEN PORTA = 13HIGH D ;poner en alto la 4ta filapause 10 ;pausa de 10 milisegundosGOTO BARRIDO ;continuar con el barrido de teclasEND
; programa para leer un teclado hexadecimalCMCO
N=7 ;convierte en pines digitales el puerto Afila VAR BYTE ;variable para las filascolu VAR BYTE ;variable para las columnastecla VAR BYTE ;variable para almacenar el número de la teclaTRISA=0 ;todo el puerto A configurado como salidasprog1:PORTB=0 ;el puerto B es = %00000000TRISB=%11110000 ;configura 4 pines bajos como salida y los demás entradaIF ((PORTB >> 4)!=%1111) THEN prog1 ;si la tecla es presionada;mantengalo en prog1prog2:
 
FOR fila = 0 TO 3 ;repetir para las 4 filas del tecladoPORTB=0 ;el puerto B es = %00000000TRISB=(DCD fila)^%11111111 ;setea una fila a 1 y los invierte todoscolu=PORTB >> 4 ;desplaza los 4 bits altos al inicioIF colu!=%1111 THEN numtecla ;si una tecla es pulsada ir numteclaNEXT filaGOTO prog2numtecla:tecla = (fila*4)+(NCD (colu^%1111)) ;calcula el valor de la tecla multiplicando;por 4 la fila a la que pertenece la tecla y sumando a la posición que se encuentra;para un teclado de 12 pulsadores , debemos cambiar (fila*3)porta=tecla ; sacar por el puerto A el valor de teclagoto prog1END
; programa para transmitir datos desde el PIC al PCIN
CLUDE "modedefs.bas";incluyen los modos de comunicación@ device XT_OSC ;cambia a oscilador XT en el IC progInicio:HIGH portb.2 ;led prueba de funcionamientoPAUSE 1000LOW portb.2PAUSE 500SEROUT portb.1,N2400,["DOG"];envío serial a 24008N1 los caracteres "DOG"GOTO inicio ;volver a repetir el procesoEND
; programa para recibir datos desde el PC al PIC
INCLUDE "modedefs.bas";incluyen los modos de comunicación@ device XT_OSC ;cambia a oscilador XT en el IC progdat VAR BYTE;variable de almacenamiento de 255LCDOUT $fe,1 , " LCD listo" ;texto para verificar la conexiónPAUSE 1000LCDOUT $fe,1 ;limpia pantalla del Lcd y ubica cursor en casilla $80Inicio:SERIN portb.0,N2400,dat ;esperar el dato y guardarlo en datLCDOUT ,dat ;desplegar el dat en LCDGOTO inicio ;ir a esperar el siguiente caracterEND
'****************************************************************;programa para encender las luces de un semáforo de 2 intersecciones
trisb=0 ;indica que todos los pines del puerto B son de salidasemaforo: ;nombre de la línea semáforoportb=%100001 ;encender rojo del 1er sema. y verde del 2do

Activity (5)

You've already reviewed this. Edit your review.
1 thousand reads
1 hundred reads
josuezavala liked this
Daniel Rod liked this

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->