Bonjour à tous,
Je suis débutant dans la programmation des pic et je me suis tourné vers le Basic. Mon premier montage est assez simple, afficher une tension sur un lcd. La partie afficheur fonctionne mais par contre la partie DAC elle ne fonctionne pas. Peux-etre un problème au niveau des registres?
Voici le code du PIC
Merci de votre aide
Code:
'****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : [Ancion Frédéiric]                    *
'*  Notice  : Copyright (c) 2006 [Xtremelaser] *
'*          : All Rights Reserved                               *
'*  Date    : 05/09/2006                                        *
'*  Version : 1.0                                               *
'*  Notes   : Controle de la consigne du laser méditec 3w+ feed back du courant sur afficheur lcd 4*20                                                  *
'*          :                                                   *
'****************************************************************
        'Voir page 21 pour interruot AD
xtal = 20        
DECLARE LCD_DTPIN PORTB.4 										 'Port des données data
DECLARE LCD_ENPIN PORTB.3										 'Pin de la broche En du lcd	  
DECLARE LCD_RSPIN PORTB.2										 'Pin de la broche RS du lcd
DECLARE LCD_INTERFACE 4											 'Interface 4Bits
DECLARE LCD_LINES 2	  											 'Nombres de lignes du lcd
Pause 500	
print $FE        
        

'****************************************************************
'Config des Registres
'****************************************************************
 device = 16F877A
'adcon 0 = %10

        ADIN_RES	10					' Set the resolution to 10
         ADIN_TAD	FRC					' Choose the RC osc for ADC samples
        	ADIN_STIME	100        			' Allow 100us for charge time
        
        Dim Raw 		as Word			
		Dim Value 		as Word
      	Dim Volts 		as Byte
      	Dim Millivolts 	as Word	
       	
       Delayms 500						' Wait for PICmicro to stabilise
        Cls              				' Clear the LCD
		TRISA. = 1						' Setup bit-0 of PortA as an input
      	ADCON1 = %10000000				' Set PORTA analog and right justify result
      	
Again: 	Raw = ADIN 0					' Read the ADC
       Print at 2,1,"RAW= ",@Raw,"   "	' Display the RAW data
       Value = 489 *(Raw / 10)			' Quantasize the result		
       Volts = Value / 10000
		Millivolts = (Value // 10000) / 100
       	Print at 1,5,Dec1 Volts,".",Dec2 Millivolts,"V" ' Display the result
       	pause 500
      	Goto Again						' Do