Академический Документы
Профессиональный Документы
Культура Документы
Entregas
Para este anlisis, puede utilizar la gua que aparece a continuacin para
desarrollar los siguientes productos:
1. Comentarios de las lneas de programacin del cdigo suministrado por
el proveedor de servicios.
2. Descripcin de los pines de entrada y salida utilizados para el sistema
automatizado
3. Diagrama de flujo del programa de automatizacin.
Una vez finalizada, comprima el archivo en formato .zip o .rar, dando clic
derecho al archivo, Enviar a, Carpeta comprimida. Luego envela a su
facilitador a travs del medio utilizado para tal fin en el curso.
DOCUMENTO GUA
Diseo de productos electrnicos con microcontroladores
1. Comentarios de lneas de cdigo. Escriba los comentarios relacionados con
cada bloque de cdigo.
INCLUDE
<P16F628A.INC>
CBLOCK
0X20
R0C,R0D,R0E,R13,loops,loops2,REG_RX,CONTE,MEMORIA,RX_COMP,RX_ID1,RX
_ID2,RX_PRO1,MENS_CONT,CON_USER,DATA_IN,CONT_USER,
CONT_INTS,MEM_STATUS,DATA_RUP,DATA_COMP,ID1_SAVE,ID2_SAVE,ID3_SAVE
ENDC
E
RS
EQU 2H
//constante E
EQU 1H
//constante RS
ORG
0X00 // origen del programa
GOTO INICIO // salto a inicio
RETARDO_1
CLRWDT
MOVLW
D'100'
MOVWF
loops
top2_2
MOVLW
D'200'
MOVWF
loops2
top_2
CLRWDT
NOP
NOP
NOP
NOP
NOP
NOP
DECFSZ loops2,1
GOTO
top_2
DECFSZ loops,1
GOTO
top2_2
RETLW
0
CONTROL
CLRWDT // limpia el watchdog timer
BCF PORTB,RS // coloca el bit rs del portb en cero para
configuracion
GOTO DATO2
// salto a DATO2
DATO
CLRWDT
BSF PORTB,RS //coloca el bit rs del puerto b en 1 para escritura en
LCD
DATO2
BSF PORTB,E
//coloca el bit E del puerto E en 1 para habilitar la lcd
MOVWF
R0E // mueve el registro w a R0E
MOVLW
0FH //mueve el nuemro 0x0F a w
ANDWF
PORTB,1 //realiza la operacion AND w con el Puerto by
guardaen ; puertob
MOVF R0E,W // mueve ROE a w
ANDLW
0F0H //realiza la operacion AND de w con 0XF0
IORWF
PORTB,1 //realiza la operacion OR de w con Puerto b y
guarda en ;Puertb
CALL RETARDO // realiza un retardo en la ejecucin
BCF
PORTB,E // desabilita la lcd colocando creo en el bit Edel
portb
CALL RETARDO //; realiza una pausa o retardo en el ejecucion
4
BSF
portb
MOVLW
0FH; //mueve 0xF0 a w
ANDWF
PORTB,1 //realiza la operacin AND w con el puerto b y
guarda en; portb
SWAPF
R0E,W // realiza el cabio de bit o nibble de lavariable R0E
y;guarda en w
ANDLW
0F0H //realiza la operacin AND 0x0Fcon w
IORWF
PORTB,1 //realiza la operacin OR de w con portb yguarda
en; portb
CALL RETARDO // genera una pausa
BCF
PORTB,E // deshabilita la lcd
CALL RETARDO // llama retardo
RETLW
0 /// retorna con w en 0
INICIO
BSF
STATUS,5 // cambia de banco
CLRF TRISB //configura TRISB todo como salida
MOVLW
.255 //mover 255 a w
MOVWF
TRISA //mover w a trisa
BCF
STATUS,5 // cambiar de banco
CONFI_LCD
MOVLW
02H
CALL CONTROL
MOVLW
28H
CALL CONTROL
MOVLW
0CH
CALL CONTROL
MOVLW
06H
CALL CONTROL
//mueve 0x02 a W
// envia el dato a la lcd en modo deconfiguracion
ENTRADAS
BTFSCPORTA,0 // pregunta si el bit 0 del puerto a esta en0 y salta
GOTO MENSAJE_1 //pregunta si el bit 1 del puerto a esta en 0 y salta
BTFSCPORTA,1 // pregunta si el bit 1 del puerto a esta en 0 y salta
GOTO MENSAJE_2 //
BTFSCPORTA,2 // pregunta si el bit 2 del puerto a esta en 0 y salta
GOTO MENSAJE_3 //
GOTO BORRA_LCD // borra la lcd
//bloque que escribe el mensaje 1 a visualizer en la lcd//
MENSAJE_1
MOVLW
01H
CALL CONTROL
CALL RETARDO
5
MOVLW
""
CALL DATO
MOVLW
""
CALL DATO
MOVLW
""
CALL DATO
MOVLW
""
CALL DATO
MOVLW
""
CALL DATO
MOVLW
""
CALL DATO
MOVLW
"N"
CALL DATO
MOVLW
"A"
CALL DATO
MOVLW
"T"
CALL DATO
MOVLW
"U"
CALL DATO
MOVLW
"R"
CALL DATO
MOVLW
"A"
CALL DATO
MOVLW
"L"
CALL DATO
MOVLW
""
CALL DATO
MOVLW
""
CALL DATO
MOVLW
""
CALL DATO
MOVLW
""
CALL DATO
MOVLW
""
CALL DATO
MOVLW
""
CALL DATO
MOVLW
""
CALL DATO
;LED INTERMITENTE
BSF
PORTB,0
CALL RETARDO_1
BCF
PORTB,0
CALL RETARDO_1
GOTO ENTRADAS
6
CALL DATO
;LED INTERMITENTE
BSF
PORTB,0
CALL RETARDO_1
BCF
PORTB,0
CALL RETARDO_1
GOTO ENTRADAS
//Bloque que escribe el mensaje 2 a visualizar en la lcd
MENSAJE_3
MOVLW
01H
CALL CONTROL
CALL RETARDO
MOVLW
""
CALL DATO
MOVLW
""
CALL DATO
MOVLW
""
CALL DATO
MOVLW
""
CALL DATO
MOVLW
""
CALL DATO
MOVLW
""
CALL DATO
MOVLW
""
CALL DATO
MOVLW
""
CALL DATO
MOVLW
"B"
CALL DATO
MOVLW
"B"
CALL DATO
MOVLW
"Q"
CALL DATO
MOVLW
""
CALL DATO
MOVLW
""
CALL DATO
MOVLW
""
CALL DATO
MOVLW
""
CALL DATO
MOVLW
""
CALL DATO
8
MOVLW
""
CALL DATO
MOVLW
""
CALL DATO
MOVLW
""
CALL DATO
MOVLW
""
CALL DATO
;LED INTERMITENTE
BSF
PORTB,0
CALL RETARDO_1
BCF
PORTB,0
CALL RETARDO_1
GOTO ENTRADAS
//bloque que limpia es decir borra la lcd
BORRA_LCD
MOVLW
01H
CALL CONTROL
CALL RETARDO
GOTO ENTRADAS
END
PINES DE ENTRADA
PINES DE SALIDA
Entrada es el
puertoA PORTA0
sensor 1PORTA1
sensor 2PORTA2
sensor 3
Salida el puerto
PORTB2-7
LCDPORTB0 LED
10