PRÁTICA 4 – DISPLAY 7 SEGMENTOS
Objetivos:
- Esta prática tem o objetivo de usar display de leds de sete segmentos:
Introdução:
Típico display de sete segmentos e pinagem:
Valor de PORTB para que acenda o número desejado:
Tarefas:
- Compilar o programa 1 (abaixo) em ASSEMBLY usando o MPLAB.
- Gravar o PIC usando o gravador
- Montar o circuito e verificar o funcionamento.
Programa 1 – Contagem em 7 segmentos:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
list P = 16F628A include P16F628A.inc ; CONFIG __CONFIG _INTOSC_OSC_NOCLKOUT &_WDT_OFF & _PWRTE_ON & _BOREN_OFF & _MCLRE_OFF & _LVP_OFF & _CP_OFF org 0x0000 START MOVLW 0x07 MOVWF CMCON BSF STATUS,RP0 MOVLW 0x00 MOVWF TRISA MOVLW 0x00 MOVWF TRISB BCF STATUS,RP0 INICIO MOVLW 0X6F ;9 MOVWF PORTB CALL DELAY MOVLW 0X7F ;8 MOVWF PORTB CALL DELAY MOVLW 0X07 ;7 MOVWF PORTB CALL DELAY MOVLW 0X7D ;6 MOVWF PORTB CALL DELAY MOVLW 0X6D ;5 MOVWF PORTB CALL DELAY MOVLW 0X66 ;4 MOVWF PORTB CALL DELAY MOVLW 0X4F ;3 MOVWF PORTB CALL DELAY MOVLW 0X5B ;2 MOVWF PORTB CALL DELAY MOVLW 0X06 ;1 MOVWF PORTB CALL DELAY MOVLW 0X3F ;0 MOVWF PORTB CALL DELAY GOTO INICIO DELAY MOVLW 0X05 MOVWF 0X20 VSET1 MOVLW 0XFF MOVWF 0X21 VSET2 MOVLW 0XFF MOVWF 0X22 LOOP DECFSZ 0X22 GOTO LOOP DECFSZ 0X21 GOTO VSET2 DECFSZ 0X20 GOTO VSET1 RETURN END |
Circuito 1 – Contagem em 7 segmentos:
Desafio: Implemente um contador progressivo.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
list P = 16F628A include P16F628A.inc ; CONFIG __CONFIG _INTOSC_OSC_NOCLKOUT &_WDT_OFF & _PWRTE_ON & _BOREN_OFF & _MCLRE_OFF & _LVP_OFF & _CP_OFF org 0x0000 START MOVLW 0x07 MOVWF CMCON BSF STATUS,RP0 MOVLW 0x00 MOVWF TRISA MOVLW 0x00 MOVWF TRISB BCF STATUS,RP0 INICIO MOVLW 0X3F ;0 MOVWF PORTB CALL DELAY MOVLW 0X06 ;1 MOVWF PORTB CALL DELAY MOVLW 0X5B ;2 MOVWF PORTB CALL DELAY MOVLW 0X4F ;3 MOVWF PORTB CALL DELAY MOVLW 0X66 ;4 MOVWF PORTB CALL DELAY MOVLW 0X6D ;5 MOVWF PORTB CALL DELAY MOVLW 0X7D ;6 MOVWF PORTB CALL DELAY MOVLW 0X07 ;7 MOVWF PORTB CALL DELAY MOVLW 0X7F ;8 MOVWF PORTB CALL DELAY MOVLW 0X6F ;9 MOVWF PORTB CALL DELAY GOTO INICIO DELAY MOVLW 0X05 MOVWF 0X20 VSET1 MOVLW 0XFF MOVWF 0X21 VSET2 MOVLW 0XFF MOVWF 0X22 LOOP DECFSZ 0X22 GOTO LOOP DECFSZ 0X21 GOTO VSET2 DECFSZ 0X20 GOTO VSET1 RETURN END |