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
-----