Autor Tema: Sensor de temperatura con 8031  (Leído 1610 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Phako_mx

  • PIC10
  • *
  • Mensajes: 11
Sensor de temperatura con 8031
« en: 16 de Marzo de 2004, 13:15:00 »
Holas espero q me puedan ayudar.El problema es el siguiente, estoy aprendiento todo esto de los pics y en realidad es que por ahora no tengo mucho tiempo para para aprenderlo.Tengo un sensor de temperatura que realize para mi materia de didgitales II, pero esta diseñado para para un Mic8031 y quisiera sabser si alguien me podria ayudar para pasar el mismo programa a un pic16f8777, que por lo q he leido creo q internamente tiene un ADC, bueno espero q halguien pueda ayudarme.

aqui esta el ASM de mi programa con el 8031.
este programa utiliza el P0 y P2 para controlar la memoria y el lach y en el P0 manejo multiplexadamente la parte baja de la memoria y un LCD, en el P1 tengo conectado el ADC0804, en el P3.6 y P2.6 controlo el enable y el control para enviar datos o instrucciones al LCD.
$MOD51
$TITLE(sensor de temperatura)


ORG 0000H
MOV P1,#00H
MOV R0,#10
CALL TIMER
CALL CONFIGLCD
UNO: NOP
MOV A,P1
NOP
MOV P1,#00H
CALL COMPARAR
CALL MENS
CALL SEGUNDO
CALL BORRAR
JMP UNO
SEGUNDO: MOV R2,#255
MOV R3,#255
MOV R4,#16
DECRE: DJNZ R2,DECRE
DJNZ R3,DECRE
DJNZ R4,DECRE
RET
TIMER: MOV R1,#249
TIMER1: DJNZ R1,TIMER1
DJNZ R0,TIMER
RET
CONFIGLCD: MOV A,#34H ;aqui empieso a configurar el LCD
CALL SEND_CMD
MOV A,#0CH
CALL SEND_CMD
MOV A,#06H
CALL SEND_CMD
MOV A,#01H ; CLEAR DISPLAY
CALL SEND_CMD
RET
BORRAR: MOV A,#01H ; CLEAR DISPLAY
CALL SEND_CMD
RET
SEND_CMD: MOV DPTR,#08FFFH ;rutina para enviar una instruccion al lcd
MOVX @DPTR,A
MOV R0,#05H
CALL TIMER
RET
SEND_CHAR: MOVX @DPTR,A ;para enviar datos al LCD
MOV R0,#1
CALL TIMER
RET
MENS: MOV A,#00H
CALL SEND_CMD
MOV A,R7
ADD A,#30H
MOV DPTR,#0C001H
CALL SEND_CHAR
MOV A,R6
ADD A,#30H
MOV DPTR,#0C002H
CALL SEND_CHAR
MOV A,R5
ADD A,#30H
MOV DPTR,#0C003H
CALL SEND_CHAR
MOV A,#223
MOV DPTR,#0C004H
CALL SEND_CHAR
MOV A,#43H
MOV DPTR,#0C005H
CALL SEND_CHAR
RET

COMPARAR: CJNE A,#00H,SALTO ;R5PARA 128 R6PARA67 Y R7PARA1°C
MOV R7,#00H
MOV R6,#00H
MOV R5,#00H
RET ;
SALTO: CJNE A,#02H,SALTO1
MOV R7,#00H
MOV R6,#00H
MOV R5,#01H
RET
SALTO1: CJNE A,#04H,SALTO2
MOV R7,#00H
MOV R6,#00H
MOV R5,#02H
RET ; 2°C

SALTO2: CJNE A,#06H,SALTO3
MOV R7,#00H
MOV R6,#00H
MOV R5,#03H
RET ; 3°C

SALTO3: CJNE A,#08H,SALTO4
MOV R7,#00H
MOV R6,#00H
MOV R5,#04H
RET ; 4°C

SALTO4: CJNE A,#10,SALTO5
MOV R7,#00H
MOV R6,#00H
MOV R5,#05H
RET ; 5°C

SALTO5: CJNE A,#12,SALTO6
MOV R7,#00H
MOV R6,#00H
MOV R5,#06H
RET ; 6°C

SALTO6: CJNE A,#14,SALTO7
MOV R7,#00H
MOV R6,#00H
MOV R5,#07H
RET ; 7°C

SALTO7: CJNE A,#16,SALTO8
MOV R7,#00H
MOV R6,#00H
MOV R5,#08H
RET ; 8°C

SALTO8: CJNE A,#18,SALTO9
MOV R7,#00H
MOV R6,#00H
MOV R5,#09H
RET 9°C

SALTO9: CJNE A,#20,SALTO10
MOV R7,#00H
MOV R6,#01H
MOV R5,#00H
RET 10°C

SALTO10: CJNE A,#22,SALTO11
MOV R7,#00H
MOV R6,#01H
MOV R5,#01H
RET ; 11°C

SALTO11: CJNE A,#24,SALTO12
MOV R7,#00H
MOV R6,#01H
MOV R5,#02H
RET ; 12°C

SALTO12: CJNE A,#26,SALTO13
MOV R7,#00H
MOV R6,#01H
MOV R5,#03H
RET ; 13°C

SALTO13: CJNE A,#28,SALTO14
MOV R7,#00H
MOV R6,#01H
MOV R5,#04H
RET ; 14°C

SALTO14: CJNE A,#30,SALTO15
MOV R7,#00H
MOV R6,#01H
MOV R5,#05H
RET ; 15°C

SALTO15: CJNE A,#32,SALTO16
MOV R7,#00H
MOV R6,#01H
MOV R5,#06H
RET ; 16°C

SALTO16: CJNE A,#34,SALTO17
MOV R7,#00H
MOV R6,#01H
MOV R5,#07H
RET ; 17°C

SALTO17: CJNE A,#36,SALTO18
MOV R7,#00H
MOV R6,#01H
MOV R5,#08H
RET ; 18°C
.
.
.
.
.
.
.
asi hasta 128 °C
.
.
.
SALTO172: CJNE A,#252,SALTO173
MOV R7,#01H
MOV R6,#02H
MOV R5,#05H
RET ; 126°C

SALTO173: CJNE A,#254,SALTO174
MOV R7,#01H
MOV R6,#02H
MOV R5,#06H
RET ; 127°C

SALTO174: CJNE A,#255,SALTO175
MOV R7,#01H
MOV R6,#02H
MOV R5,#07H
RET
SALTO175: RET ; 128°C


END

NOTA:para cualquira q este interesado en este proyecto con gusto le puedo dar toda la informacion para su implementacion.


 

anything