⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dadoelek.asm

📁 dado electronico para PIC16f877
💻 ASM
字号:
list p=16f877A; declaracion del procesador
include p16f877a.inc;

	cblock 0x20
	NUMERO
	NUMERO1
	NUMERO2
	MEMORIA1
	MEMORIA2
	CONFIRMAR
	BOTON
	CONT1
	CONT2
	CONT3
	endc
					
	org	0x00				;vector de inicio
	goto 		INICIO		;ir a la etiqueta de inicio
	org	0x05

INICIO
	bsf 		STATUS,RP0 	;seleccionar banco de memoria 1
	clrf		PORTB		;puerto B como salida
	clrf		PORTC		;puerto C como salida
	bcf		STATUS,RP0	;seleccion del banco 0
	clrf		NUMERO
	clrf		NUMERO1
	clrf		NUMERO2
	clrf		MEMORIA1
	clrf		MEMORIA2
	clrf		CONFIRMAR
	clrf		BOTON

MAIN 
	btfsc	PORTD,0		;boton inicio
	bsf		BOTON,0
	btfsc	PORTD,1		;boton detener1
	bsf		BOTON,1
	btfsc	PORTD,2		;boton detener2
	bsf		BOTON,2
	btfsc	PORTD,3		;boton memoria
	bsf		BOTON,3
	btfss	PORTD,3
	bcf		CONFIRMAR,5

	btfss 	BOTON,0
	call 	APAGADO
	btfsc	BOTON,0
	call		ENCENDIDO

	btfsc	PORTD,3
	call		CAMBIO
	btfsc	BOTON,3
	call		MEMORIA

	call 	TIERRA1		;detiene o no el display 1
	call 	TIERRA2		;detiene o no el display 2

	btfsc 	BOTON,1
	call 	TABLA1
	btfss	BOTON,1
	call 	TABLA		;muestra de 1 a 6 en display 1
	movwf	PORTB
	bsf		PORTC,1
	bcf		PORTC,0
	call		RETARDO

	btfsc 	BOTON,2
	call 	TABLA2
	btfss	BOTON,2
	call 	TABLA		;muestra de 1 a 6 en display 2
	movwf	PORTB
	bsf		PORTC,0
	bcf		PORTC,1
	call		RETARDO

	incf		NUMERO,1
	movf	NUMERO,0
	xorlw	.7
	btfsc	STATUS,Z
	clrf		NUMERO
	btfsc	STATUS,Z
	bsf		NUMERO,0

	btfss 	BOTON,1
	goto	MAIN
	btfss	BOTON,2
	goto	MAIN
	bsf		CONFIRMAR,6
	bsf		CONFIRMAR,0
	bcf		CONFIRMAR,4
	bcf		BOTON,0
	goto	MAIN

CAMBIO
	btfsc	CONFIRMAR,5
	return
	bsf		CONFIRMAR,5
	btfsc	CONFIRMAR,3
	goto	CERO
	bsf		CONFIRMAR,3
	goto	MAIN

CERO
	bcf		CONFIRMAR,3
	goto	MAIN
	
MEMORIA
	btfss	CONFIRMAR,6
	return
	bcf		CONFIRMAR,4	
	bcf		BOTON,0
	btfsc	CONFIRMAR,3
	movf	NUMERO1,0
	btfss	CONFIRMAR,3
	movf	MEMORIA1,0
	movwf	NUMERO	
	call 	TABLA
	movwf	PORTB
	bsf		PORTC,1
	bcf		PORTC,0
	call		RETARDO
	btfsc	CONFIRMAR,3
	movf	NUMERO2,0
	btfss	CONFIRMAR,3
	movf	MEMORIA2,0
	movwf	NUMERO	
	call 	TABLA
	movwf	PORTB
	bsf		PORTC,0
	bcf		PORTC,1
	call		RETARDO
	goto	MAIN

APAGADO
	btfss	CONFIRMAR,0
	clrf		PORTB
	btfss	CONFIRMAR,0
	goto	MAIN
	return

ENCENDIDO
	btfsc	CONFIRMAR,4
	return
	btfss	BOTON,0
	return
	bsf		CONFIRMAR,6
	bsf		CONFIRMAR,4
	bcf		CONFIRMAR,1
	bcf		CONFIRMAR,2
	bcf		BOTON,1
	bcf		BOTON,2
	bcf		BOTON,3
	clrf		NUMERO
	return	

TIERRA1
	btfsc	CONFIRMAR,1
	return
	btfss	BOTON,1
	return
	bcf		CONFIRMAR,6
	bsf		CONFIRMAR,1
	movf	NUMERO1,0
	movwf	MEMORIA1
	movf	NUMERO,0
	movwf	NUMERO1
	return

TIERRA2
	btfsc	CONFIRMAR,2
	return
	btfss	BOTON,2
	return
	bcf		CONFIRMAR,6
	bsf		CONFIRMAR,2
	movf	NUMERO2,0
	movwf	MEMORIA2
	movf	NUMERO,0
	movwf	NUMERO2
	return

TABLA
    movf	NUMERO,0
	addwf	PCL,1
	retlw   b'01000000'
	retlw   b'00000110'
	retlw   b'01011011'
	retlw   b'01001111'
	retlw   b'01100110'
	retlw   b'01101101'
	retlw   b'01111101'

TABLA1
    movf	NUMERO1,0
	addwf	PCL,1
	retlw   b'00000000'
	retlw   b'00000110'
	retlw   b'01011011'
	retlw   b'01001111'
	retlw   b'01100110'
	retlw   b'01101101'
	retlw   b'01111101'

TABLA2
    movf	NUMERO2,0
	addwf	PCL,1
	retlw   b'00000000'
	retlw   b'00000110'
	retlw   b'01011011'
	retlw   b'01001111'
	retlw   b'01100110'
	retlw   b'01101101'
	retlw   b'01111101'


RETARDO
		movlw	.255
		movwf	CONT3
CICLO3	movlw	.255
		movwf	CONT2
CICLO2	movlw	.255
		movwf	CONT1
CICLO1	
		decfsz	CONT1,f
		goto	CICLO1
		decfsz	CONT2,f
		goto	CICLO2
		decfsz	CONT3,f
		goto	CICLO3
		return

end


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -