TODOPIC
Microcontroladores PIC => Almacén del Assembler => Mensaje iniciado por: joseydoris en 22 de Junio de 2012, 13:50:43
-
Saludo a todos:Tengo un programa con el conversor a/d,(uno solo Ra0) del 16f877 y funciona.Quiero pasarlo al 12f675,(por que me sobran muchos pines)y no se deja.He leído en el foro que son iguales las configuraciones de los registros.¿por que a la hora de hacer estos cambios nunca sirve?att jose antonio
Esta es la configuración que utilizo para el 16f877 y me funciona bien.Gracias
list p=16F877
radix hex
errorlevel 0,-302
adresl equ 0x1E
adcon0 equ 0x1F
adresh equ 9e
adcon1 equ 0x9f
buffer equ 0x25
buffer1 equ 0x26
reset org 00
goto inicio
org 05h
inicio bsf 3,5
movlw b'000001'
movwf 0x05
movlw b'00000000'
movwf 0x06
movlw b'00000000'
movwf 0x07
movlw b'00000000'
movwf 0x08
movlw b'000'
movwf 0x09
movlw b'10001110'
movwf adcon1
bcf 3,5
movlw b'01000001'
movwf adcon0
;-----------------------------------------------------------------------
end
-
Por lo que pone el datasheet hay que configurar ANSEL:
7.1 A/D Configuration and Operation
There are two registers available to control the
functionality of the A/D module:
1. ADCON0 (Register 7-1)
2. ANSEL (Register 7-2)
7.1.1 ANALOG PORT PINS
The ANS3:ANS0 bits (ANSEL<3:0>) and the TRISIO
bits control the operation of the A/D port pins. Set the
corresponding TRISIO bits to set the pin output driver
to its high-impedance state. Likewise, set the
corresponding ANS bit to disable the digital input
buffer.
Sacado de la pag 43 del datasheet.
-
He visto en varios programas que al ansel le llaman cmcon1 y supongo que sera lo mismo,por que utiliza la misma direccion.Att jose