Académique Documents
Professionnel Documents
Culture Documents
informacin
para
profundizar
sobre
Lenguaje ASM
el
funcionamiento
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>
CBLOCK0X20
R0C,R0D,R0E,R13,loops,loops2,REG_RX,CONTE,MEMORIA,RX_COMP,RX_ID1,RX_ID2,RX_PRO1,M
ENS_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
EQU
ORG
GOTO
2H
1H
0X00
INICIO
;constante E
;constante RS
;origen de programa
;salto a inicio
MOVLW
MOVWF
top2_1
MOVLW D'25' ; mueve 25 a w
MOVWF loops2
;mueve w a loops2
top_1
CLRWDT
;limpia watchdog timer
NOP
;ejecucion nula
NOP
NOP
NOP
NOP
NOP
DECFSZ loops2,1 ; decrementa en 1 loops2 y pregunta si es cero y salta, sino continua
GOTO top_1
;salta a top_1
3
DECFSZ loops,1
GOTO top2_1
RETLW 0
; bloque que genera una pausa de tiempo mayor que la anterior. Para la utilizacin de espera
de configuracin y escritura de la lcd.
RETARDO_1
CLRWDT
D'100'
loops
MOVLW
MOVWF
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
; bloque que ejecuta las instrucciones para el control de la lcd, en congfiguraciones y escritura
de datos.
CONTROL
CLRWDT
BCF
PORTB,RS
GOTO DATO2
DATO
CLRWDT
BSF
PORTB,RS
DATO2
BSF
PORTB,E
MOVWF
R0E
MOVLW
0FH
ANDWFPORTB,1
MOVF R0E,W
ANDLW 0F0H
IORWF PORTB,1
CALL RETARDO
BCF
PORTB,E
CALL RETARDO
BSF
PORTB,E
MOVLW
0FH
ANDWFPORTB,1
SWAPF R0E,W
ANDLW 0F0H
IORWF PORTB,1
CALL RETARDO
BCF
PORTB,E
CALL RETARDO
RETLW 0
STATUS,5
.255
TRISA
STATUS,5
; cambia de banco
;configura TRISB todo como salida
;mover 255 a w
;mover w a trisa
;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 de configuracion
ENTRADAS
BTFSC
GOTO
BTFSC
GOTO
BTFSC
GOTO
GOTO
PORTA,0
MENSAJE_1
PORTA,1
MENSAJE_2
PORTA,2
MENSAJE_3
BORRA_LCD
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
;bloque que escribe el mensaje 1 a visualizar en la lcd
MENSAJE_2
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
"L"
CALL DATO
MOVLW
"I"
CALL DATO
7
MOVLW
"M"
CALL DATO
MOVLW
"O"
CALL DATO
MOVLW
"N"
CALL DATO
MOVLW
""
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
;bloque que escribe el mensaje 1 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
""
8
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
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
9
END
PINES DE ENTRADA
PINES DE SALIDA
Entrada es el puerto A
Salida el puerto B
PORTA0 sensor 1
PORTB2-7 LCD
PORTA1 sensor 2
PORTB0 LED
PORTA2 sensor 3
10
Inicio
Configurar lcd
CONTROL
Configuracin inicial
Configuracin puertos y
lcd
Escrbir DATO
no
Bit 0 DE
PORTA = 0 ?
retardos
si
Salto a Mensaje 1
return
Bit 1 DE
PORTA = 0?
Salto a Mensaje 2
no
Bit 2 DE
PORTA = 0 ?
si
Salto a Mensaje 3
fin
11
12