Professional Documents
Culture Documents
_BODEN_OFF
_PWRTE_OFF
_PWRTE_ON
_WDT_ON
_WDT_OFF
_LP_OSC
_XT_OSC
_HS_OSC
_RC_OSC
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
H'3FBF'
H'3FFF'
H'3FF7'
H'3FFF'
H'3FFB'
H'3FFC'
H'3FFD'
H'3FFE'
H'3FFF'
call
motor
;llamar a rurina
motor
return
;retorna
; encender motor
motor
nop
;nada
movlw
d'30'
;carga w con 31
subwf
36h,w
;compara 31 con l
o convertido
btfss
status,c
;pregunta si esta
en 0
bsf
ptod,0
;encienda el moto
r
movlw
d'31'
;carga w con 31
subwf
36h,w
btfsc
status,c
bcf
ptod,0
return
;retorna
;retorna
; tabla rutina para display
tabla
nop
;nada
addwf
pcl,1
;suma W y pcl y g
uarda en f
retlw
b'11000000'
;retorna y carga
con 0 a w
retlw
b'11111001'
;retorna y carga
con 1 a w
retlw
b'10100100'
;retorna y carga
con 2 a w
retlw
b'10110000'
;retorna y carga
con 3 a w
retlw
b'10011001'
;retorna y carga
con 4 a w
retlw
b'10010010'
;retorna y carga
con 5 a w
retlw
b'10000010'
;retorna y carga
con 6 a w
retlw
b'11111000'
;retorna y carga
con 7 a w
retlw
b'10000000'
;retorna y carga
con 8 a w
retlw
b'10010000'
;retorna y carga
con 9 a w
; binario
musica nop
;nada
clrf
37h
;limpia registro
37h
clrf
38h
;limpia registro
37h
clrf
status
;limpia registro
status
des
nop
;nada
movlw
d'10'
;carge w con 10
subwf
36h,1
;reste w con 36h
y guarde en 36h
incf
37h
;incremente 37h
btfsc
status,c
en cero c del registro estatus
goto
des
decf
37h
;pregunta si esta
;ir a des
;decremente 37h
movlw
d'10'
;carge w con 10
addwf
36h,0
;suma w con 36h y
guarde en w
return
;retorna
; display
display nop
;nada
bsf
ptoc,0
;apage display 0
movf
36h
;mueva 36h a w
call
tabla
;llama tabla
movwf
ptob
;pasar w a puerto
B
bcf
ptoc,1
;prenda display 1
movlw
d'5'
;carge w con 5
call
retarms
;llama retardo
bsf
ptoc,1
;apage display 1
movfw
37h
;mover 37h a w
call
tabla
;llama tabla
movwf
ptob
;pasar w a puerto
B
bcf
ptoc,0
;preda display 0
movlw
call
d'5'
retarms
;carge w con 5
;llama retardo
return
;retorna
; configuracion de puertos
inicio nop
;nada
clrf
status
;limpia status
bcf
status,6
;pone en 0 statu
s,6
bsf
status,5
;pone en 1 statu
s,5 banko1
movlw
b'11111111'
;carga a w con co
nfiguracion puerto a
movwf
trisa
;mueva w a trisa
movlw
b'00000000'
;carga a w con co
nfiguracion puerto b
movwf
trisb
;mueva w a trisb
movlw
b'11111100'
;carga a w con co
nfiguracion puerto c
movwf
trisc
;mueva w a trisc
movlw
b'11111000'
;carga a w con co
nfiguracion puerto d
movwf
trisd
;mueva w a trisd
movlw
b'11101111'
;carga a w con co
nfiguracion puerto e
movwf
trise
;mueva w a trise
movlw
b'00001101'
;escoger tension
externa
movwf
adcon1
;mueva w a adcon1
bcf
status,5
;pone en 0 status
,5 banko0
; inicio del programa
clrf
ptob
;limpiar puerto B
movlw
d'0'
;cargar w con 0
call
tabla
;llamar tabla
movwf
ptob
;pasar w a puerto
B
ciclo2 clrf
ptoc
;limpiar puerto C
movlw
b'10000001'
;carga w con conf
iguracion activar convercion
movwf
adcon0
;escoger reloj F
call
call
conver
musica
;llamar a conver
;llamar a musica
call
goto
display
ciclo2
;llamar a display
;ir a ciclo2
osc / 32
end
;fin