sensor

Download Sensor

If you can't read please download the document

Upload: timothy-meyer

Post on 18-Jan-2016

214 views

Category:

Documents


1 download

DESCRIPTION

kjol

TRANSCRIPT

; SENSOR DE temperatura ; elkin vivas y angela garcia ; escuela de tecnologia electrica ; universidad tecnologica de pereira ; DEFINICION DE REGISTROS UTILIZADOS pcl equ 02hstatus equ 03ptoa equ 05ptob equ 06ptoc equ 07ptod equ 08ptoe equ 09pclath equ 0ahintcon equ 0bhpir1 equ 0chrcsta equ 18htxreg equ 19hrcreg equ 1ahadresh equ 1ehadcon0 equ 1fhtrisa equ 85htrisb equ 86htrisc equ 87htrisd equ 88htrise equ 89htxsta equ 98hspbrg equ 99hadresl equ 9ehadcon1 equ 9fh; Definicion de bits utilizados rp0 equ 5rp1 equ 6irp equ 7z equ 2c equ 0txif equ 4go equ 2; Variables del usuario loops equ 30hloops2 equ 31hloops3 equ 36hdig0 equ 32hdig1 equ 33hbuffer equ 35h; Configuracion para el simulador Proteus list p=16f877_CP_ALL EQU H'0FCF'_CP_HALF EQU H'1FDF'_CP_UPPER_256 EQU H'2FEF'_CP_OFF EQU H'3FFF'_DEBUG_ON EQU H'37FF'_DEBUG_OFF EQU H'3FFF'_WRT_ENABLE_ON EQU H'3FFF'_WRT_ENABLE_OFF EQU H'3DFF'_CPD_ON EQU H'3EFF'_CPD_OFF EQU H'3FFF'_LVP_ON EQU H'3FFF' _LVP_OFF EQU H'3F7F'_BODEN_ON EQU H'3FFF'_BODEN_OFF EQU H'3FBF'_PWRTE_OFF EQU H'3FFF'_PWRTE_ON EQU H'3FF7'_WDT_ON EQU H'3FFF'_WDT_OFF EQU H'3FFB'_LP_OSC EQU H'3FFC'_XT_OSC EQU H'3FFD'_HS_OSC EQU H'3FFE'_RC_OSC EQU H'3FFF'__CONFIG _CP_OFF & _WDT_OFF & _XT_OSC & _PWRTE_ON ; posicion org 00 ;inicia desde la posicion 00 goto inicio ;ir a inicio; retardo retarms nop ;nada movwf loops ;retardo de milisegundos cargado desde afueraotro2 movlw d'110' ;carga a w con 110 movwf loops2 ;mueva w a posicion loops2otro nop ;nada nop ;nada nop ;nada nop ;nada nop ;nada nop ;nada decfsz loops2,1 ;decrementa loops2 y guarda en f goto otro ;ir a otro decfsz loops,1 ;decrementa loops y guarda en f goto otro2 ;ir a otro2return ;retorna; convertir A/D conver nop ;nada bsf ptod,1 ;enciende el led de convirtiendo bcf ptod,2 ;apagar el led de convirtio clrf 36h ;limpiar posicion 36 movlw d'5' ;carge a w 5 call retarms ;llamar retardo bsf adcon0,2 ;empezar a convertir A/D nop ;nada nop ;nadapereira nop ;nada btfsc adcon0,go ;pregunta si ya convirtio goto pereira ;ir a pereira bcf ptod,1 ;apagar el led de convirtiendo bsf ptod,2 ;enciende el led de convirtio movf adresh,0 ;pasa adresh a w movwf 36h ;pasar w a 36h 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 lo convertido btfss status,c ;pregunta si esta en 0 bsf ptod,0 ;encienda el motor movlw d'31' ;carga w con 31 subwf 36h,w btfsc status,c bcf ptod,0return ;retorna ;retorna; tabla rutina para display tabla nop ;nada addwf pcl,1 ;suma W y pcl y guarda 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 ;pregunta si esta en cero c del registro estatus goto des ;ir a des decf 37h ;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 d'5' ;carge w con 5 call retarms ;llama retardoreturn ;retorna; configuracion de puertos inicio nop ;nada clrf status ;limpia status bcf status,6 ;pone en 0 status,6 bsf status,5 ;pone en 1 status,5 banko1 movlw b'11111111' ;carga a w con configuracion puerto a movwf trisa ;mueva w a trisa movlw b'00000000' ;carga a w con configuracion puerto b movwf trisb ;mueva w a trisb movlw b'11111100' ;carga a w con configuracion puerto c movwf trisc ;mueva w a trisc movlw b'11111000' ;carga a w con configuracion puerto d movwf trisd ;mueva w a trisd movlw b'11101111' ;carga a w con configuracion 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 configuracion activar convercion movwf adcon0 ;escoger reloj Fosc / 32 call conver ;llamar a conver call musica ;llamar a musica call display ;llamar a display goto ciclo2 ;ir a ciclo2 end ;fin