Semaforo
Il progetto accende in sequenza tre led simulando la funzionalità di un semaforo.
Schemaelettrico:
Ed ecco il listato assembler del Micro:
;Semaforo, collegare il led verde al pin 1
;della porta B, quello giallo al pin 2 ed il
;rosso al pin 3
;configura per clock 4MhzRADIX DEC
INCLUDE "P16F84a.INC"
#DEFINE BANK0 BCF STATUS,RP0
#DEFINE BANK1 BSFSTATUS,RP0
;-----------------------------------------------------------------------
;area dati ram
;-----------------------------------------------------------------------org 0ch
Count RES 3 ;riserva tre locazioni per la macro del ritardo
;-----------------------------------------------------------------------
; PROGRAMMA;-----------------------------------------------------------------------
ORG 0
;azzera la porta B e pone in uscita i pin
BANK1
movlw 0x00movwf TRISB
BANK0
clrf PORTB
main
movlw 00000001B ;Accende il Verde
movwf PORTB
call delay_1;Aspetta circa 2.5 s
movlw 00000011b ;accende il Verde ed il giallo
movwf PORTB
call delay_2;Aspetta circa 1.7 s
movlw 00000100b ;accende il rosso e spegne il giallo ed il verde
movwf PORTB
call delay_1;Aspetta circa 2.5s
goto main
;-----------------------------------------------------------------------
; subroutine per il ritardo di 2.5 sec...
Regístrate para leer el documento completo.