[Programmation] modification d'un prog .asm, écrit pour pic16f84a pour un pic16f628
Répondre à la discussion
Page 1 sur 7 12 3 4 5 6 DernièreDernière
Affichage des résultats 1 à 30 sur 208

modification d'un prog .asm, écrit pour pic16f84a pour un pic16f628



  1. #1
    serrepate

    modification d'un prog .asm, écrit pour pic16f84a pour un pic16f628


    ------

    bonjour,

    je souhaitais remplacer, un "vernier"; une sorte de règle graduée, d’origine sur ma dégau/rabot, dont la précision n'est pas extra; par un système électronique, avec un afficheur un peu gros (ma vue baisse).

    Le dispositif est décrit http://users.skynet.be/peter.smolder...sor_frames.htm, le créateur a développé son projet autour d'un 16F84A-20 (20mhz).

    le schéma est là ==> http://users.skynet.be/peter.smolder...sor_frames.htm

    J'ai acheté il y a quelques temps des pic16f628A-I/P pour un autre projet ==> http://doumai.pagesperso-orange.fr/T...ymetre_LCD.htm,
    pour info:le créateur n'as mis que le .hex pour ce model de pic.

    Sauf erreur, le pic16f628A-I/P est "capable" de fonctionner avec un oscillateur externe 10MHZ.

    J'aurais besoin d'aide pour modifier le program .asm mis en ligne et le compiler.

    Vous l'aurez compris:
    Je n'y connais pas grand chose en électronique et rien en programmation.
    Merci d'avance pour votre compréhension.
    Cordialement

    -----

  2. #2
    freepicbasic

    Re : modification d'un prog .asm, écrit pour pic16f84a pour un pic16f628

    il y a 2 prog , c est lequel ?

    Mettre le bon .H
    Il suffit d'ajouter
    Code:
        movlw 7
        movwf CMCON
    au départ
    A+, pat

  3. #3
    antek

    Re : modification d'un prog .asm, écrit pour pic16f84a pour un pic16f628

    Citation Envoyé par serrepate Voir le message
    . . . autour d'un 16F84A-20 (20mhz).
    Sauf erreur, le pic16f628A-I/P est "capable" de fonctionner avec un oscillateur externe 10MHZ.
    Garde la même fréquence pour le 628, ce sera plus simple pour transposer.
    Il faudrait trouver le fichier .asm

  4. #4
    serrepate

    Re : modification d'un prog .asm, écrit pour pic16f84a pour un pic16f628

    bonjour, freepicbasic,antek et à tout le groupe,
    merci de me répondre aussi vite.
    le prog c'est le caliper, le rpm c'est pour un compte tour.
    http://users.skynet.be/peter.smolder...al_caliper.asm
    cordialement
    Dernière modification par serrepate ; 05/11/2015 à 13h20.

  5. A voir en vidéo sur Futura
  6. #5
    freepicbasic

    Re : modification d'un prog .asm, écrit pour pic16f84a pour un pic16f628

    La remarque de Antek est très juste.
    J'espère que tu garde la même fréquence.
    Sinon c est plus risqué... s'il faut intervenir dans le soft.
    A+, pat

  7. #6
    serrepate

    Re : modification d'un prog .asm, écrit pour pic16f84a pour un pic16f628

    re,
    Citation Envoyé par antek Voir le message
    Garde la même fréquence pour le 628
    désolé mais que veux tu dire?

  8. #7
    freepicbasic

    Re : modification d'un prog .asm, écrit pour pic16f84a pour un pic16f628

    Code:
    PROCESSOR 16F84
    		
    		#include <P16F628.INC>
    
    
    	__CONFIG   _CP_OFF & _WDT_OFF & _PWRTE_ON & _HS_OSC
    
    	CBLOCK 0x0C
    
    		Delay
    		X_Delay
    		Temp
    		Ctrl
    		Char
    		SignFlag
    		TempByte2
    		rData
    
    	ENDC
    	
    LCD_PORT	EQU	PORTB
    LCD_TRIS	EQU	TRISB
    Cmd			EQU	Char
    rBin		EQU	rData+4
    rBCD		EQU	rData
    rCnt		EQU	Char
    rPto		EQU	TempByte2
    rPti		EQU	Ctrl
    mFactor		EQU	Char
    rProduct	EQU	rData+4
    TempByte	EQU	Temp
    rBitCnt		EQU	Ctrl
    rDataCnt	EQU	Char
    TempW		EQU	Temp
    TempS		EQU	TempByte
    
    #define	Clock	PORTA, 3
    #define	Data	PORTA, 4
    #define	E		PORTB, 1
    #define	RW		PORTB, 2
    #define	RS		PORTB, 3
    #define	RL		PORTA, 0
    	
    	
    
    Start	ORG 0
    		GOTO Main
    
    Interrupt	ORG 4
    			GOTO ISR
    
    Main	
    		CLRF	PORTA		;
    		CLRF	PORTB		;
    		MOVLW	7
    		MOVWF	CMCON
    		BSF		STATUS, RP0	;
    		MOVLW	B'00000001'	;
    		MOVWF	TRISB		;
    		
    		MOVLW	B'00011000'	;
    		MOVWF	TRISA		;
    		
    		MOVLW	B'00000000'	;
    		MOVWF	OPTION_REG	;
    		BCF		STATUS, RP0	;
    		MOVLW	D'200'		;
    		CALL	X_Delay100	;
    		MOVLW	0x30		;
    		IORWF	LCD_PORT	;
    		CALL	Toggle_E	;
    		MOVLW	D'50'		;
    		CALL	X_Delay100	;
    		CALL	Toggle_E	;
    		MOVLW	D'1'		;
    		CALL	X_Delay100	;
    		CALL	Toggle_E	;
    		MOVF	LCD_PORT, W	;Get lower nibble of PORTB
    		ANDLW	0x0f		;
    		MOVWF	Ctrl		;
    		MOVLW	0x20		;
    		IORWf	Ctrl,W	;
    		MOVWF	LCD_PORT	;
    		CALL	Toggle_E	;
    		MOVLW	0x20		;Set datalength to 4, 1 line, 5x7 font
    		CALL	Send_Cmd	;
    		MOVLW	0x0c		;
    		CALL	Send_Cmd	;
    		MOVLW	0x06		;
    		CALL	Send_Cmd	;
    		MOVLW	0x03		;
    		CALL	Send_Cmd	;
    		MOVLW	'm'			;
    		MOVWF	rData+0x0f	;
    		MOVLW	'm'			;
    		MOVWF	rData+0x0e	;
    		MOVLW	' '			;
    		MOVWF	rData+0x0d	;
    		MOVLW	B'10010000'	;
    		MOVWF	INTCON	;Initialise INTCON register
    
    Restart	BSF	INTCON,GIE		;Enable interrupts
    Repeat	CALL	GetData		;
    		CALL	FormatStr	;
    
    		MOVLW	0x80		; Cursor at 0x00
    		CALL	Send_Cmd	;
    
    		MOVLW	0x08		; Write first 8 chars
    		MOVWF	TempByte2	;
    		MOVLW	rData		;
    		MOVWF	FSR			;
    
    		CALL	Send_next_Char	;
    
    		MOVLW	0xc0		;Cursor at 0x40
    		CALL	Send_Cmd	;
    		
    		MOVLW	0x08		;Write second 8 chars
    		MOVWF	TempByte2	;
    		CALL	Send_next_Char	;
    
    		GOTO	Repeat		;
    
    Send_next_Char	MOVF	INDF, W	;
    				CALL	Write_Char	;
    				INCF	FSR		;
    				DECFSZ	TempByte2,1	;
    				GOTO	Send_next_Char	;
    				RETURN
    
    Write_Char	MOVWF	Char		; Character to be sent is in W
    			CALL	Check_BF	; Wait for LCD to be ready
    			MOVF	LCD_PORT, W	; Get lower nibble of PORTB
    			ANDLW	0x0F
    			MOVWF	Ctrl		;
    			MOVF	Char, W		;
    			ANDLW	0xF0		; Get upper nibble
    			IORWF	Ctrl,W		; Combine data with Ctrl
    			MOVWF	LCD_PORT	;
    			BCF		RW			; Set LCD to write
    			BSF		RS			; Set LCD to data mode
    			CALL	Toggle_E	;
    			MOVLW	0x0F		;
    			ANDWF	LCD_PORT	;
    			SWAPF	Char,W		;
    			ANDLW	0xF0		; Get lower nibble
    			IORWF	LCD_PORT
    			CALL	Toggle_E
    			RETURN
    
    Clear_Display	MOVLW	0x01	;
    				CALL	Send_Cmd	;
    				RETURN
    
    Send_Cmd	MOVWF	Cmd			;Put command byte in Temporary variable
    			CALL	Check_BF	;Check if LCD is ready
    			MOVF	LCD_PORT, W	;Get lower nibble of PORTB
    			ANDLW	0x0F		;
    			MOVWF	Ctrl		;
    			MOVF	Cmd, W		;
    			ANDLW	0xF0		;Get upper nibble
    			IORWF	Ctrl,W		;Combine command with Ctrl
    			MOVWF	LCD_PORT	;
    			BCF		RW			;
    			BCF		RS			;
    			CALL	Toggle_E	;
    			MOVLW	0x0F		;
    			ANDWF	LCD_PORT	;
    			SWAPF	Cmd,W		;Swap nibbles
    			ANDLW	0xF0		;
    			IORWF	LCD_PORT	;
    			CALL	Toggle_E	;
    			RETURN
    		
    Check_BF	BSF	STATUS, RP0	; Select bank 1
    			MOVLW	0xF0		; Make high nibble of PORTB output
    			IORWF	LCD_TRIS
    			BCF	STATUS, RP0	; Select bank 0
    			BCF	RS		; Set LCD for command mode
    			BSF	RW		; Setup to read busy flag
    			BSF	E		;
    			CALL	Delay100	;
    			MOVF	LCD_PORT, W	;Read upper nibble busy flag
    			BCF	E		;
    			ANDLW	0xF0		; Mask out lower nibble
    			MOVWF	Temp		;
    			CALL	Toggle_E	; "read" lower nibble
    			BTFSC	Temp, 7	; Check busy flag, high = busy
    			GOTO	Check_BF	; If busy, check again
    			BCF	RW
    			BSF	STATUS, RP0	; Select bank 1
    			MOVLW	0x0F		; Make high nibble of PORTB input
    			ANDWF	LCD_TRIS
    			BCF	STATUS, RP0	; Select bank 0
    			RETURN
    
    X_Delay100		MOVWF	X_Delay
    X_Delay100_LOOP	CALL	Delay100
    				DECFSZ	X_Delay,F
    				GOTO	X_Delay100_LOOP
    				RETURN	
    
    Delay100		MOVLW	D'80'		;100 microseconds timeDelay
    				MOVWF	Delay
    Delay100_LOOP	DECFSZ	Delay,F
    				GOTO	Delay100_LOOP
    				RETURN
    
    Toggle_E	BSF	E
    			NOP
    			BCF	E
    			RETURN
    
    GetData 	MOVLW	rData+5
    			MOVWF	FSR
    			MOVLW	6
    			MOVWF	rDataCnt
    			CLRF	rBitCnt
    			MOVLW	12
    Init		MOVWF	TempByte
    CountDown	BTFSC	Clock		; Check clock for low
    			GOTO	Init		; Clock high, start over again
    			DECFSZ 	TempByte	; Clock low, start countdown
    			GOTO	CountDown	;
    Get_Byte	BSF	rBitCnt,3		; Initialize bitcount to 8
    			CLRF	TempByte	; Initialize receiving byte
    Wait_Clock_High	BTFSS	Clock			; Check clock for high
    				GOTO	Wait_Clock_High	; Clock low, wait for clock to go high
    Clock_Low	BTFSC	Clock		; Clock high, wait for clock to go low
    			GOTO	Clock_Low	; 
    			BTFSC	Data		; Check data signal for low
    			BSF	STATUS,C		; Set Carry bit
    			RRF	TempByte,1		; Shift in a bit
    			DECFSZ	rBitCnt,1	; Decrement bitcounter
    			GOTO	Clock_High	; Repeat for next bit
    			GOTO	Save_Byte	; 8 bits done
    Clock_High	BTFSS	Clock		; Check clock for high
    			GOTO	Clock_High	; Clock high, wait for low
    			GOTO	Clock_Low	; Repeat waiting for clock low
    Save_Byte	MOVF	TempByte, W	; TempByte holds data
    			MOVWF	0		; Move data in rData
    			DECFSZ	FSR,1		; Point to next byte in rData
    			DECFSZ	rDataCnt,1	; Decrement datacounter
    			GOTO	Get_Byte	; Get next byte
    					; All bytes done
    			CLRF 	SignFlag	; Assume positive
    			BTFSS	rData,7		; Test if negative
    			GOTO	Not_Neg		; No...
    								;
    								; Sample is negative so make one's complement 
    			COMF	rData+2,F	;
    			COMF	rData+1,F	;
    			COMF	rData,F		;
    			BSF	SignFlag,0		; Flag negative
    								;
    Not_Neg		MOVLW	D'127'		; 127/1024 - MM
    			MOVWF	mFactor		;
    			MOVLW	D'10'		;
    			MOVWF	rBitCnt		; Setup bit count (N)
    								; --- 24 * N (frac) multiply, fractional not calculated
    			CLRF	rProduct	; Clear product
    			CLRF	rProduct+1	;
    			CLRF	rProduct+2	;
    								;
    MulNext		BCF	STATUS,C		; Shift in a 0
    			RRF	mFactor,F		; Get the lsb of multiplier
    			BTFSS	STATUS,C	; Check the lsb
    			GOTO	No_Add		; Clear...
    								; -- 24 bit add
    			MOVF	rData+2, W	; LSB
    			ADDWF	rProduct+2,F;
    								;
    			MOVF	rData+1, W	; Middle byte
    			BTFSC	STATUS,C	;
    			INCFSZ	rData+1,W	;
    			ADDWF	rProduct+1,F;
    								;
    			MOVF	rData, W	; MSB
    			BTFSC	STATUS,C	;
    			INCFSZ	rData,W		;
    			ADDWF	rProduct,F	;
    								;
    No_Add		RRF	rProduct,F		; Shift product
    			RRF	rProduct+1,F	;
    			RRF	rProduct+2,F	;
    								;
    			DECFSZ	rBitCnt,F	; Dec bit count
    			GOTO	MulNext		;
    			RETURN				;
    		
    FormatStr	BCF	STATUS,C
    			MOVLW	D'24'		; 24-Bits
    			MOVWF	rBitCnt		; Make cycle counter
    			CLRF	rBCD		; Clear result area
    			CLRF	rBCD+1		;
    			CLRF	rBCD+2		;
    			CLRF	rBCD+3		;
    
    Loop		MOVLW	rBCD
    			MOVWF	FSR
    			MOVLW	4
    			MOVWF	rCnt
    
    BintoBCD	MOVLW	0x33
    			ADDWF	INDF,F
    			BTFSC	INDF,3
    			ANDLW	0xF0
    			BTFSC	INDF,7
    			ANDLW	0x0F
    			SUBWF	INDF,F
    			INCF	FSR,F
    			DECFSZ	rCnt,F
    			GOTO	BintoBCD
    
    			RLF	rBin+2,F	; Get another bit
    			RLF	rBin+1,F	;
    			RLF	rBin+0,F	;
    			RLF	rBCD+3,F	; Put it into BCD
    			RLF	rBCD+2,F	;
    			RLF	rBCD+1,F	;
    			RLF	rBCD+0,F	;
    			DECFSZ	rBitCnt,F	; All done?
    			GOTO	Loop		; No, loop
    
    							; --- CONVERT THE 10 BINARY CODED DIGITS (5 BYTES) STARTING AT 
    							; <BCD> INTO AN ASCII STRING ALSO STARTING AT <BCD>. ORIGINAL
    							; BCD DIGITS ARE LOST.
    							;
    			MOVLW	rData+0x0C	;
    			MOVWF	rPto		; Destination pointer
    			MOVLW	rBCD+3		;
    			MOVWF	rPti		; Source pointer
    			CALL	BCDtoASCII	;
    								;
    			MOVLW	','			;
    			MOVWF	rData+0x0A	;
    								;
    			MOVLW	rData+0x09	;
    			MOVWF	rPto		; Destination pointer
    			MOVLW	rBCD+2		;
    			MOVWF	rPti		; Source pointer
    			MOVLW	3		; 3 Bytes to process
    			MOVWF	rCnt		;
    Next_BCD	CALL	BCDtoASCII	;
    			DECFSZ	rCnt,F		;
    			GOTO	Next_BCD	;
    			GOTO	Finish		;
    					;
    BCDtoASCII	MOVF	rPti,W		; Get current input pointer
    			MOVWF	FSR			;
    			DECF	rPti,F		; Prepare for next
    			MOVF	INDF,W		; Get 2 BCDS
    			MOVWF	TempByte	; Save for later
    			MOVF	rPto,W		; Get current output pointer
    			MOVWF	FSR			;
    			DECF	rPto,F		; Prepare for next
    			DECF	rPto,F		;
    			MOVF	TempByte,W	; Get digits back
    			ANDLW	0x0F		; Process LSD
    			MOVWF	INDF		;
    			MOVLW	'0'			;
    			ADDWF	INDF,F		; To output
    			DECF	FSR,F		;
    			SWAPF	TempByte,W	; Process MSD
    			ANDLW	0x0F		;
    			MOVWF	INDF		;
    			MOVLW	'0'			;
    			ADDWF	INDF,F		; To output
    			RETLW	0
    
    Finish		MOVLW	rData		;
    			MOVWF	FSR		;
    			MOVLW	4		;
    			MOVWF	rCnt		;
    			MOVLW	' '		;
    FillSpaces	MOVWF	INDF		;
    			INCF	FSR		;
    			DECFSZ	rCnt,1
    			GOTO	FillSpaces	;
    		
    			MOVLW	5			;
    			MOVWF	rCnt		;
    ReplaceZero	MOVLW	'0'			;
    			XORWF	INDF,W		;
    			BTFSS	STATUS,Z	;
    			GOTO	PutSign		;
    			MOVLW	' '			;
    			MOVWF	INDF		;
    			INCF	FSR			;
    			DECFSZ	rCnt,1		;
    			GOTO 	ReplaceZero	;
    PutSign		BTFSS	SignFlag,0	; Test if negative
    			GOTO	Done		; No sign to put
    			MOVLW	'-'			; Put negative sign before
    			DECF	FSR			;
    			MOVWF	INDF		;
    Done		RETURN
    		
    
    ISR			MOVWF	TempW		;store W temporarily
    			MOVF	STATUS,W	;get status in W
    			MOVWF	TempS		;store it temporarily
    		
    			BCF		INTCON,GIE	;disable further interrupts
    			BCF		INTCON,INTF	;disable interrupt from RB0
    			BSF		RL			;activate relay
    			MOVLW	D'250'		;
    			CALL	X_Delay100	;wait 25 ms
    			MOVLW	D'250'		;
    			CALL	X_Delay100	;wait 25 ms
    			MOVLW	D'250'		;
    			CALL	X_Delay100	;wait 25 ms
    			MOVLW	D'250'		;
    			CALL	X_Delay100	;wait 25 ms
    			MOVLW	D'250'		;
    			CALL	X_Delay100	;wait 25 ms
    			MOVLW	D'250'		;
    			CALL	X_Delay100	;wait 25 ms
    			BCF		RL			;deactivate relay
    			MOVF	TempS,W		;put status back
    			MOVWF	STATUS
    			SWAPF	TempW,F		;put W back
    			SWAPF	TempW,W
    			GOTO	Restart
    			RETFIE
    
    			END
    A+, pat

  9. #8
    freepicbasic

    Re : modification d'un prog .asm, écrit pour pic16f84a pour un pic16f628

    Le fichier .hex en 628

    Code:
    :020000040000fa
    :020000000528d1
    :0800080034298501860107304f
    :100010009f00831601308600183085000030810073
    :100020008312c830872030308604912032308720f8
    :10003000912001308720912006080f398f00203051
    :100040000f048600912020305f200c305f200630a6
    :100050005f2003305f206d30a2006d30a1002030a2
    :10006000a00090308b008b179520d62080305f2029
    :1000700008309200133084004320c0305f200830e5
    :1000800092004320342800084920840a920b432818
    :1000900008009000722006080f398f001008f03910
    :1000a0000f0486000611861591200f308605100e6c
    :1000b000f03986049120080001305f20080090008c
    :1000c000722006080f398f001008f0390f048600df
    :1000d0000611861191200f308605100ef039860426
    :1000e000912008008316f0308604831286110615cd
    :1000f00086148c2006088610f0398e0091208e1b05
    :100100007228061183160f308605831208008d00b1
    :100110008c208d0b8828080050308c008c0b8e288a
    :10012000080086140000861008001830840006308d
    :1001300090008f0112308e0085199b288e0b9c2811
    :100140008f158e01851da2288519a428051a031470
    :100150008e0c8f0bac28af28851dac28a4280e0868
    :100160008000840b900ba0289101931fbb28950958
    :100170009409930911147f3090000a308f00970181
    :10018000980199010310900c031cd02815089907b9
    :1001900014080318140f980713080318130f970770
    :1001a000970c980c990c8f0bc2280800031018307c
    :1001b0008f0093019401950196011330840004305f
    :1001c0009000333080078019f039801b0f3980028e
    :1001d000840a900be128990d980d970d960d950db9
    :1001e000940d930d8f0bdd281f30920016308f0079
    :1001f00005212c309d001c30920015308f000330fb
    :1002000090000521900b01291a290f0884008f0303
    :1002100000088e0012088400920392030e080f3922
    :1002200080003030800784030e0e0f39800030309c
    :1002300080070034133084000430900020308000a8
    :10024000840a900b1f290530900030300006031df2
    :100250002e2920308000840a900b2529111c332977
    :100260002d308403800008008e0003088e008b135d
    :100270008b100514fa308720fa308720fa30872057
    :10028000fa308720fa308720fa30872005100e08d0
    :0a02900083008e0e0e0e33280900c5
    :02400e00e23f8f
    :00000001ff
    A+, pat

  10. #9
    serrepate

    Re : modification d'un prog .asm, écrit pour pic16f84a pour un pic16f628

    re,
    j'ai réalisé le montage mais avec le 628, j'ai mis un quartz 10MHZ et 2 capa 22pf, donc pas de changement.
    cordialement
    Dernière modification par serrepate ; 05/11/2015 à 13h30.

  11. #10
    freepicbasic

    Re : modification d'un prog .asm, écrit pour pic16f84a pour un pic16f628

    c est ce qu'il y avait comme quartz sur l'original ?

    La capa c est 22pf avec 22nf ça ne fonctionne pas !
    A+, pat

  12. #11
    serrepate

    Re : modification d'un prog .asm, écrit pour pic16f84a pour un pic16f628

    re,
    pour programmer j'utilise icprog.
    seuls les "fusibles"
    pwrt
    mclr
    sont activés pour le pic 628?
    code word 3F32h?

  13. #12
    serrepate

    Re : modification d'un prog .asm, écrit pour pic16f84a pour un pic16f628

    Citation Envoyé par freepicbasic Voir le message
    c est ce qu'il y avait comme quartz sur l'original ?

    La capa c est 22pf avec 22nf ça ne fonctionne pas !
    c'est juste une coquille, c'est des pico mis

  14. #13
    freepicbasic

    Re : modification d'un prog .asm, écrit pour pic16f84a pour un pic16f628

    ne pas oublier le HS normalement c est dans le hex à la fin
    A+, pat

  15. #14
    freepicbasic

    Re : modification d'un prog .asm, écrit pour pic16f84a pour un pic16f628

    :02400e00e23f8f
    0X3FE2
    A+, pat

  16. #15
    serrepate

    Re : modification d'un prog .asm, écrit pour pic16f84a pour un pic16f628

    Citation Envoyé par freepicbasic Voir le message
    :02400e00e23f8f
    0X3FE2
    tu veux m'expliquer, je ne comprends pas ce que tu veux dire!!!

  17. #16
    serrepate

    Re : modification d'un prog .asm, écrit pour pic16f84a pour un pic16f628

    je charge le .hex dans ic prog, et, grâce au code .hex les fusible se configurent tous seuls c'est ça???????
    Images attachées Images attachées  

  18. #17
    freepicbasic

    Re : modification d'un prog .asm, écrit pour pic16f84a pour un pic16f628

    pas de LVP , j'avais oublié celui là...

    :02400E00623F0F
    0x3F62
    Dernière modification par freepicbasic ; 05/11/2015 à 14h38.
    A+, pat

  19. #18
    serrepate

    Re : modification d'un prog .asm, écrit pour pic16f84a pour un pic16f628

    pas de lvp j'avais lu qq part que le boden non plus .................
    je vais réessayer selon ce que tu m'indiques, jusque là, pas de progrès.
    serait ce possible, que tu regardes le schéma, et me confirme qu'il est fiable?
    merci pour le temps que tu passes sur mon questionnement
    cordialement

  20. #19
    freepicbasic

    Re : modification d'un prog .asm, écrit pour pic16f84a pour un pic16f628

    il se passe quoi sur l'afficheur ?
    Si le potard est mal réglé on voit rien.

    c est bien un HD44780 ?
    La carte a déjà fonctionnée ?
    Dernière modification par freepicbasic ; 05/11/2015 à 15h21.
    A+, pat

  21. #20
    freepicbasic

    Re : modification d'un prog .asm, écrit pour pic16f84a pour un pic16f628

    il faut un signal sur PORTA,3 sinon il attend pour toujours
    A+, pat

  22. #21
    serrepate

    Re : modification d'un prog .asm, écrit pour pic16f84a pour un pic16f628

    j'ai 8 rectangles de points sur l'afficheur (matrices de points), j'ai raccordé le pac (cf pied à cou_lisse) sur le montage.
    par exemple:
    le relais ne monte pas lorsque j'appuie brièvement sur S1
    j'ai bien le 5v sur le pic et le lm393.
    le 5v tombe (pin 6 pic rb0) lorsque j'active S1
    mais sur pin 17 ra0 (raz du pac)il ne se passe pas gd chose.
    a+

  23. #22
    serrepate

    Re : modification d'un prog .asm, écrit pour pic16f84a pour un pic16f628

    re,
    Citation Envoyé par freepicbasic Voir le message
    il faut un signal sur PORTA,3 sinon il attend pour toujours
    je viens de répondre,
    pour infos:
    à l'oscillo, je vois des infos arrivant du pac, plus lorsque je l'arrête (le pac! pas l'oscillo).
    mais pour toi, le montage te parais ok (si moi je ne me suis pas planté en le fabricant)

  24. #23
    serrepate

    Re : modification d'un prog .asm, écrit pour pic16f84a pour un pic16f628

    l'afficheur
    Images attachées Images attachées  
    Dernière modification par serrepate ; 05/11/2015 à 16h44.

  25. #24
    serrepate

    Re : modification d'un prog .asm, écrit pour pic16f84a pour un pic16f628

    le montage
    Images attachées Images attachées  

  26. #25
    freepicbasic

    Re : modification d'un prog .asm, écrit pour pic16f84a pour un pic16f628

    les carrés signifient que le lcd n'est pas initialisé.
    Donc voir pourquoi, avec l'oscillo voir quelques chose arrive dessus.
    Le signal qui arrive est dans le bon sens ?
    A+, pat

  27. #26
    serrepate

    Re : modification d'un prog .asm, écrit pour pic16f84a pour un pic16f628

    re,
    Citation Envoyé par freepicbasic Voir le message
    les carrés signifient que le lcd n'est pas initialisé.
    Donc voir pourquoi, avec l'oscillo voir quelques chose arrive dessus.
    Le signal qui arrive est dans le bon sens ?
    heu!!!!!!!!!!!!!
    je parlais pas de signaux sur le lcd, mais sur le pic

  28. #27
    freepicbasic

    Re : modification d'un prog .asm, écrit pour pic16f84a pour un pic16f628

    les signaux arrivent ils sur le µc
    A4 clock
    A3 data


    vérifier les 2 pic et lcd
    A+, pat

  29. #28
    serrepate

    Re : modification d'un prog .asm, écrit pour pic16f84a pour un pic16f628

    ok, mais décris moi la manip stp, je ne suis pas très fort.
    merci d'avance.

  30. #29
    freepicbasic

    Re : modification d'un prog .asm, écrit pour pic16f84a pour un pic16f628

    le pont 47K,10k détermine le seuil de basculement 0.8V
    Le 0 doit être en dessous et 1 au dessus.
    data et clock
    A+, pat

  31. #30
    serrepate

    Re : modification d'un prog .asm, écrit pour pic16f84a pour un pic16f628

    désolé d'insister, mais sois plus clair si tu peux, je maitrise pas du tout le sujet!!!!

Page 1 sur 7 12 3 4 5 6 DernièreDernière

Discussions similaires

  1. Erreur de compilation pour PIC16F628 sous MikroC
    Par nour174 dans le forum Électronique
    Réponses: 2
    Dernier message: 06/03/2015, 11h20
  2. timer0 pour PIC16F628
    Par malissa_-_sarita dans le forum Électronique
    Réponses: 3
    Dernier message: 31/05/2013, 09h34
  3. pic16F84A+jeu question pour un champion
    Par djojamel dans le forum Électronique
    Réponses: 6
    Dernier message: 11/03/2010, 13h04
  4. Temporisation pour un PIC16F84A en C
    Par Bernibernouille dans le forum Électronique
    Réponses: 12
    Dernier message: 30/12/2009, 23h05
  5. minimum pour un PIC16F628
    Par invite0b56f0b4 dans le forum Électronique
    Réponses: 2
    Dernier message: 05/02/2009, 15h36
Découvrez nos comparatifs produits sur l'informatique et les technologies.