Tecnologia y la quimica
Práctica Nº 5
Planteamiento:
Una de las aplicaciones más usuales para un microcontrolador es un contador. Decidimos diseñar un circuito que requiera la menor cantidad posible de componentes y que cumpla con las prestaciones típicas de esta aplicación.
El circuito está estructurado alrededor del PIC el cual en su interior leva la cuenta de las pulsaciones sobre el pulsador y, a su vez, genera los dígitos a ser mostrados sobre el display de 7 segmentos.
Para reducir la cantidad de circuitos integrados a sólo uno, hemos optado por generar los dígitos por software dentro del mismo PIC, evitando tener que recurrir a decodificadores de BCD, que si bien no representan costo significativo, implican mayor tamaño en …ver más…
El último paso fue montar el circuito con el PIC grabado y probarlo.
Diagrama de flujo:
Programa:
list p=16f84
#include
cont1 equ 1dh cont2 equ 1eh dig1 equ 10h dig2 equ 11h dig3 equ 12h dig4 equ 13h rota equ 0fh
org 00 goto inicio org 05h
retardo movwf cont1 paso1 movlw d'110' movwf cont2 paso2 nop nop nop nop nop nop decfsz cont2 goto paso2 decfsz cont1 goto paso1 retlw 0 s1000 clrf dig2 incf dig1 movf dig1,w xorlw d'10' btfsc STATUS,Z clrf dig1 return
s100 clrf dig3 incf dig2 movf dig2,w xorlw d'10' btfsc STATUS,Z call s1000 return
s10 clrf dig4 incf dig3 movf dig3,w xorlw d'10' btfsc STATUS,Z call s100 return
incrementar incf dig4 movf dig4,w xorlw d'10' btfsc STATUS,Z call s10 movlw d'250' call retardo return
numero addwf PCL retlw b'00111111' retlw b'00011000' retlw b'01110110' retlw b'01111100' retlw b'01011001' retlw b'01101101' retlw b'01101111' retlw b'00111000' retlw b'01111111' retlw b'01111101'
inicio bsf STATUS,RP0 movlw b'00010000' movwf TRISA clrf TRISB bcf STATUS,RP0 clrf dig1 clrf dig2 clrf dig3 clrf dig4 clrf PORTA chequear btfss PORTA,4 call incrementar movlw b'00001000' movwf rota movlw dig1