Segnalatore luminoso ed acustico con 8051
Schema elettrico

Software
;Prova m.ro 1 su scheda 8051
;Accensione e spegnimento di un segnalatore luminoso e acustico
da
due pulsanti
;-------------------------;definizione macro------------------------------------
paccen = P1.0 ;Pulsante accensione (attivo basso)
pspegn = P1.1 ;Pulsante spegnimento (attivo basso)
slumin = P1.2 ;LED (acceso con livello basso)
sacust = P1.3 ;Altoparlante per segnalazione acustica
org 8200h
;-------------------------Inizializzazione hardware-----------------------------
mov
P1,#11111111b ; Imposta come ingresso i due pins dove sono collega-
; ti i pulsanti e spegne il LED
;----------------------corpo principale del programma --------------------------
main:
jb paccen,jmain1
clr slumin ;accende
LED
jmain1:
jb pspegn,jmain2
setb slumin ;spegne
LED
jmain2:
jb slumin,jmain3
call gsacust
;segnale acustico
jmain3:
jmp main
;--------------------------------- subroutines ---------------------------------
;--------------------------------- Segnale acustico-----------------------------
gsacust:
mov nota,#100
mov durata,#4
call gennot
mov
nota,#200
mov durata,#2
call gennot
ret
;--------------------------------- Generazione nota ----------------------------
nota = 3
durata = 2
gennot:
mov
1,#255
jgennot1:
mov
0,nota
djnz
0,$
cpl
sacust
djnz
1,jgennot1
djnz durata,gennot
ret
end