قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

sskk77
:: مهندس متميز ::
تاريخ التسجيل: Jan 2005
المشاركات: 714
نشاط [ sskk77 ]
قوة السمعة:0
قديم 19-05-2011, 06:32 AM المشاركة 1   
افتراضي سؤال في I2C في PIC16F877 Twitter FaceBook Google+



السلام عليكم
شباب ممكن شرح بسيط مع الكود لعملية تهيئة PIC16F877 للتعامل مع البروتوكول I2C ( الميزة الضمنة فيه )
علماً أنني اعرف هذا البروتوكول واني قد تعاملت معه سابقاً بواسطة معالجات لا تدعم هذا البروتوكول مستخدماً الكود لمعالجة البيانات( اللغة المستخدمة اسمبلي )
واريد الآن ان استفيد من الميزة في هذا المعالج PIC16F877
فاذا سمحتم ممكن شرح خطوات العمل لاعداد السجلات لهذه الغاية
ولكم الشكر الجزيل

اعلانات

faidamine
:: مهندس ::
تاريخ التسجيل: May 2011
الدولة: maroc
المشاركات: 35
نشاط [ faidamine ]
قوة السمعة:0
قديم 21-05-2011, 06:55 PM المشاركة 2   
Post


bsf STATUS,RP0 ;bank 1
bcf STATUS,RP1 ;;bank 1
clrf TRISB
clrf TRISD
clrf TRISA
bsf TRISC,RC4;;ligne SCL
bsf TRISC,RC5.. SDA
BCF SSPSTAT,CKE ;;Control des niveaux de tension à l'entrée, 0 : I2C, 1 : SMBUS ** travaille avec I2c;;
Bsf SSPSTAT,SMP;;Control de frq signal: 1 pour 100 kHz et 1 MHz, 0 pour 400 kHz ( la signal que on utilise pour SCL c'est 100 KHz or 1MHz;;
movlw 0X09
movwf SSPADD ;; on calcul la valeur avec cette relation ={ Fosc-4*F(scl)}-1
bcf STATUS,RP0 ;; bank 0
bcf STATUS,RP1 ; bank 0
movlw 0X28
movwf SSPCON ;;1110 : I2C master, adresse 7 bits, interruption sur START et STOP

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

sskk77
:: مهندس متميز ::
تاريخ التسجيل: Jan 2005
المشاركات: 714
نشاط [ sskk77 ]
قوة السمعة:0
قديم 22-05-2011, 05:45 AM المشاركة 3   
افتراضي


bsf STATUS,RP0 ;bank 1
bcf STATUS,RP1 ;;bank 1
clrf TRISB
clrf TRISD
clrf TRISA
bsf TRISC,RC4;;ligne SCL
bsf TRISC,RC5.. SDA
BCF SSPSTAT,CKE ;;Control des niveaux de tension à l'entrée, 0 : I2C, 1 : SMBUS ** travaille avec I2c;;
Bsf SSPSTAT,SMP;;Control de frq signal: 1 pour 100 kHz et 1 MHz, 0 pour 400 kHz ( la signal que on utilise pour SCL c'est 100 KHz or 1MHz;;
movlw 0X09
movwf SSPADD ;; on calcul la valeur avec cette relation ={ Fosc-4*F(scl)}-1
bcf STATUS,RP0 ;; bank 0
bcf STATUS,RP1 ; bank 0
movlw 0X28
movwf SSPCON ;;1110 : I2C master, adresse 7 bits, interruption sur START et STOP
الف شكر لك أخي faidamine
لكن بصراحة لم استطع فهم هذا الكود
لكن ممكن اذا سمحت يكون مثال مستخدماً 16F877a+DS1307
يكون البرنامج فيه برنامجين فرعيين واحد للكتابة والآخر للقراءة
من البرنامج الرئيسي ارسال العنوان المطلوب فيعيد الي القيمة المطلوبة او يكتبها في الذاكرة
ولك فائق الاحترام والتقدير


faidamine
:: مهندس ::
تاريخ التسجيل: May 2011
الدولة: maroc
المشاركات: 35
نشاط [ faidamine ]
قوة السمعة:0
قديم 22-05-2011, 10:08 AM المشاركة 4   
Talking


كود:
 
;;; programme communication entre pic16f877a et circuit rtc DS1307 viaI2C;;;;
	list p=16f877a
		#include<p16f877a.inc>
		org 0x00
        DATA0 equ  PORTA
		DATA1 equ   PORTB
	DATA2 equ    PORTD
DATA3 equ    0X0C
DATA4 equ    0X0E
DATA5 equ    0X0F
DATA6 equ    0X1F
;; programme principale;;

		bsf STATUS,RP0  ;bank 1
	   	bcf STATUS,RP1   ;;bank 1
		clrf TRISB    
		clrf TRISD
		clrf TRISA
	    bsf TRISC,RC4 
	    bsf TRISC,RC5
		BCF SSPSTAT,CKE ;;Control des niveaux de tension à l'entrée, 0 : I2C, 1 : SMBUS ** travaille avec I2c;;
        Bsf SSPSTAT,SMP;;Control de frq signal: 1 pour 100 kHz et 1 MHz, 0 pour 400 kHz ( la signal que on utilise pour SCL c'est 100 KHz or 1MHz;;
    	movlw 0X02
		movwf SSPADD ;; on calcul  la valeur avec cette relation ={ Fosc-4*F(scl)}-1
	   	bcf STATUS,RP0 ;; bank 0
	   	bcf STATUS,RP1  ; bank 0
		movlw 0X28
		movwf SSPCON ;;1110 : I2C master, adresse 7 bits, interruption sur START et STOP
		clrf PORTD
		CLRF PORTB
debut   call  I2C_start  ;; cofiguration de i2c debut " mais  dans ce programme je utilise juste une seul adresse donc "je crois" nous sommes pas obliger de ecrire une adresse 
		                        ;;mais dans notr projet on doit met adresse parece que on utiliseront 3 circuit DS18B20/DS1307/.. 3 bus one wire 
			;;	MOVLW 0X00
			;;	call I2C_ecrire   ;; appele fonction d'ecrire qui'est base sur copie le donne ou la adresse dans registre SSPBUF et lui occupe de reste..
;;;;;;;;;;;;;;الكتابة علي دي اس;;;;;;;;;;	
	; Ecriture dans le registre de contrôle (adresse 0x07) du DS1307
        
call I2C_start
movlw B'11010000' ; 8 bits à écrire (7 bits d'adresse + bit 0 Write)
call I2C_write
call I2C_ACK_slave_to_master
movlw B'00000000' ; 8 bits à écrire
call I2C_write
call I2C_ACK_slave_to_master 
movlw B'00100111' ; 8 bits à écrire
call I2C_write
call I2C_ACK_slave_to_master
movlw B'00100111' ; 8 bits à écrire
call I2C_write
call I2C_ACK_slave_to_master
movlw B'00100111' ; 8 bits à écrire
call I2C_write
call I2C_ACK_slave_to_master
movlw B'00000001' ; 8 bits à écrire
call I2C_write
call I2C_ACK_slave_to_master
movlw B'00000101' ; 8 bits à écrire
call I2C_write
call I2C_ACK_slave_to_master
movlw B'00101001' ; 8 bits à écrire
call I2C_write
call I2C_ACK_slave_to_master
movlw B'00101001' ; 8 bits à écrire
call I2C_write
call I2C_ACK_slave_to_master
call I2C_stop

;;;;;;القراءة (القيم);;;;;;;;
    call I2C_start
  movlw B'11010000' ; 8 bits à écrire (7 bits d'adresse + bit 0 Write)
    call I2C_write
    call I2C_ACK_slave_to_master
    movlw B'00000000' ; 8 bits à écrire
    call I2C_write
   call I2C_ACK_slave_to_master
   call I2C_Repeated_Start
   movlw B'11010001' ; 8 bits à écrire (7 bits d'adresse + bit 1 Read)
    call I2C_write
    call I2C_ACK_slave_to_master
    call I2C_read
    movwf DATA0 ; les 8 bits lus sont transférés dans le registre d'usage général DATA0
    call I2C_ACK_master_to_slave
    call I2C_read
    movwf DATA1 ; les 8 bits lus sont transférés dans le registre d'usage général DATA1
     
    call I2C_ACK_master_to_slave
    call I2C_read
    movwf DATA2 ; les 8 bits lus sont transférés dans le registre d'usage général DATA2
    call I2C_ACK_master_to_slave
    call I2C_read
    movwf DATA3 ; les 8 bits lus sont transférés dans le registre d'usage général DATA
    call I2C_ACK_master_to_slave
    call I2C_read
    movwf DATA4 ; les 8 bits lus sont transférés dans le registre d'usage général DATA4
    call I2C_ACK_master_to_slave
   call I2C_read
   movwf DATA5 ; les 8 bits lus sont transférés dans le registre d'usage général DATA5
    call I2C_ACK_master_to_slave
    call I2C_read
    movwf DATA6 ; les 8 bits lus sont transférés dans le registre d'usage général DATA6
     
    call I2C_NOACK
     
    call I2C_stop


I2C_idle
	    bsf STATUS , RP0 ; passage en banque 1
	    bcf STATUS , RP1 ; passage en banque 1
I2C_idle0
	    btfsc SSPCON2 , ACKEN
	    goto I2C_idle0 ; le bit ACKEN n'est pas nul
	    btfsc SSPCON2 , RCEN
	    goto I2C_idle0 ; le bit RCEN n'est pas nul
	    btfsc SSPCON2 , PEN
	    goto I2C_idle0 ; le bit PEN n'est pas nul
	    btfsc SSPCON2 , RSEN
	    goto I2C_idle0 ; le bit RSEN n'est pas nul
	    btfsc SSPCON2 , SEN
	    goto I2C_idle0 ; le bit SEN n'est pas nul
	    btfsc SSPSTAT , R_W
	    goto I2C_idle0 ; le bit R_W n'est pas nul
	    bcf STATUS , RP0 ; passage en banque 0
	    bcf STATUS , RP1 ; passage en banque 0
	    return


 
I2C_start
	call I2C_idle ; on attend que le bus I2C soit libre
	bsf STATUS , RP0 ; passage en banque 1
	bcf STATUS , RP1 ; passage en banque 1
	bsf SSPCON2 , SEN ; SEN = 1 (lancement d'une opération Start)
	bcf STATUS , RP0 ; passage en banque 0
	bcf STATUS , RP1 ; passage en banque 0
	return


I2C_read
        
		call I2C_idle ; on attend que le bus I2C soit prêt
		bsf STATUS , RP0 ; passage en banque 1
		bcf STATUS , RP1 ; passage en banque 1
		bsf SSPCON2 , RCEN ; on lance la réception
I2C_read0
		btfsc SSPCON2 , RCEN 
		goto I2C_read0 ; on attend la fin de la réception
		bcf STATUS , RP0 ; passage en banque 0
		bcf STATUS , RP1 ; passage en banque 0
		movf SSPBUF ,0
		return


I2C_stop
	call I2C_idle ; on attend que le bus I2C soit prêt
	bsf STATUS , RP0 ; passage en banque 1
	bcf STATUS , RP1 ; passage en banque 1
	bsf SSPCON2 , PEN ; PEN = 1 (lancement d'une opération Stop)
	bcf STATUS , RP0 ; passage en banque 0
	bcf STATUS , RP1 ; passage en banque 0
	return
	
I2C_write	
	call I2C_idle ; on attend que le bus I2C soit prêt
	movwf SSPBUF
	call I2C_ACK_slave_to_master	
	return



I2C_Repeated_Start
    call I2C_idle ; on attend que le bus I2C soit prêt
    bsf STATUS , RP0 ; passage en banque 1
    bcf STATUS , RP1 ; passage en banque 1
    bsf SSPCON2 , RSEN ; RSEN = 1 (lancement d'une opération Repeated Start)
    bcf STATUS , RP0 ; passage en banque 0
    bcf STATUS , RP1 ; passage en banque 0
    return


I2C_ACK_slave_to_master	
	call I2C_idle ; on attend que le bus I2C soit prêt
	bsf STATUS , RP0 ; passage en banque 1
	bcf STATUS , RP1 ; passage en banque 1
I2C_ACK_slave_to_master0
	btfsc SSPCON2 , ACKSTAT
	goto I2C_ACK_slave_to_master0 ; on attend la réception du bit ACK
	bcf STATUS , RP0 ; passage en banque 0
	bcf STATUS , RP1 ; passage en banque 0
	return

I2C_NOACK 
	call I2C_idle ; on attend que le bus I2C soit prêt
	bsf STATUS , RP0 ; passage en banque 1
	bcf STATUS , RP1 ; passage en banque 1
	bsf SSPCON2 , ACKDT ; ACKDT = 1
	bsf SSPCON2 , ACKEN ; ACKEN = 1 (lancement d'une opération Acknowledge)
	bcf STATUS , RP0 ; passage en banque 0
	bcf STATUS , RP1 ; passage en banque 0
	return

I2C_ACK_master_to_slave
    call I2C_idle ; on attend que le bus I2C soit prêt
    bsf STATUS , RP0 ; passage en banque 1
    bcf STATUS , RP1 ; passage en banque 1
    bcf SSPCON2 , ACKDT ; ACKDT = 0
    bsf SSPCON2 , ACKEN ; ACKEN = 1 (lancement d'une opération Acknowledge)
    bcf STATUS , RP0 ; passage en banque 0
    bcf STATUS , RP1 ; passage en banque 0
    return



END
برنامج فيما يخص الحوار مع ds1307 لكن الصعوبة الوحيدة في التعامل مع القيم التي يعطيها ds1307 فهي bcd لو استطعت التعامل معها يكون احسن فيما يخص البرنامج ان لم تفهم اي جزء فقل لي دالك لكي اشرحه . هذا ايمايلي faid_59*hotmail.com
لو تريد البرنامج بي سي اعمله لك
هذا والله اعلم


sskk77
:: مهندس متميز ::
تاريخ التسجيل: Jan 2005
المشاركات: 714
نشاط [ sskk77 ]
قوة السمعة:0
قديم 22-05-2011, 11:13 AM المشاركة 5   
افتراضي


كود:
 
;;; programme communication entre pic16f877a et circuit rtc DS1307 viaI2C;;;;
    list p=16f877a
        #include<p16f877a.inc>
        org 0x00
        DATA0 equ  PORTA
        DATA1 equ   PORTB
    DATA2 equ    PORTD
DATA3 equ    0X0C
DATA4 equ    0X0E
DATA5 equ    0X0F
DATA6 equ    0X1F
;; programme principale;;
 
        bsf STATUS,RP0  ;bank 1
           bcf STATUS,RP1   ;;bank 1
        clrf TRISB    
        clrf TRISD
        clrf TRISA
        bsf TRISC,RC4 
        bsf TRISC,RC5
        BCF SSPSTAT,CKE ;;Control des niveaux de tension à l'entrée, 0 : I2C, 1 : SMBUS ** travaille avec I2c;;
        Bsf SSPSTAT,SMP;;Control de frq signal: 1 pour 100 kHz et 1 MHz, 0 pour 400 kHz ( la signal que on utilise pour SCL c'est 100 KHz or 1MHz;;
        movlw 0X02
        movwf SSPADD ;; on calcul  la valeur avec cette relation ={ Fosc-4*F(scl)}-1
           bcf STATUS,RP0 ;; bank 0
           bcf STATUS,RP1  ; bank 0
        movlw 0X28
        movwf SSPCON ;;1110 : I2C master, adresse 7 bits, interruption sur START et STOP
        clrf PORTD
        CLRF PORTB
debut   call  I2C_start  ;; cofiguration de i2c debut " mais  dans ce programme je utilise juste une seul adresse donc "je crois" nous sommes pas obliger de ecrire une adresse 
                                ;;mais dans notr projet on doit met adresse parece que on utiliseront 3 circuit DS18B20/DS1307/.. 3 bus one wire 
            ;;    MOVLW 0X00
            ;;    call I2C_ecrire   ;; appele fonction d'ecrire qui'est base sur copie le donne ou la adresse dans registre SSPBUF et lui occupe de reste..
;;;;;;;;;;;;;;الكتابة علي دي اس;;;;;;;;;;    
    ; Ecriture dans le registre de contrôle (adresse 0x07) du DS1307
 
call I2C_start
movlw B'11010000' ; 8 bits à écrire (7 bits d'adresse + bit 0 Write)
call I2C_write
call I2C_ACK_slave_to_master
movlw B'00000000' ; 8 bits à écrire
call I2C_write
call I2C_ACK_slave_to_master 
movlw B'00100111' ; 8 bits à écrire
call I2C_write
call I2C_ACK_slave_to_master
movlw B'00100111' ; 8 bits à écrire
call I2C_write
call I2C_ACK_slave_to_master
movlw B'00100111' ; 8 bits à écrire
call I2C_write
call I2C_ACK_slave_to_master
movlw B'00000001' ; 8 bits à écrire
call I2C_write
call I2C_ACK_slave_to_master
movlw B'00000101' ; 8 bits à écrire
call I2C_write
call I2C_ACK_slave_to_master
movlw B'00101001' ; 8 bits à écrire
call I2C_write
call I2C_ACK_slave_to_master
movlw B'00101001' ; 8 bits à écrire
call I2C_write
call I2C_ACK_slave_to_master
call I2C_stop
 
;;;;;;القراءة (القيم);;;;;;;;
    call I2C_start
  movlw B'11010000' ; 8 bits à écrire (7 bits d'adresse + bit 0 Write)
    call I2C_write
    call I2C_ACK_slave_to_master
    movlw B'00000000' ; 8 bits à écrire
    call I2C_write
   call I2C_ACK_slave_to_master
   call I2C_Repeated_Start
   movlw B'11010001' ; 8 bits à écrire (7 bits d'adresse + bit 1 Read)
    call I2C_write
    call I2C_ACK_slave_to_master
    call I2C_read
    movwf DATA0 ; les 8 bits lus sont transférés dans le registre d'usage général DATA0
    call I2C_ACK_master_to_slave
    call I2C_read
    movwf DATA1 ; les 8 bits lus sont transférés dans le registre d'usage général DATA1
 
    call I2C_ACK_master_to_slave
    call I2C_read
    movwf DATA2 ; les 8 bits lus sont transférés dans le registre d'usage général DATA2
    call I2C_ACK_master_to_slave
    call I2C_read
    movwf DATA3 ; les 8 bits lus sont transférés dans le registre d'usage général DATA
    call I2C_ACK_master_to_slave
    call I2C_read
    movwf DATA4 ; les 8 bits lus sont transférés dans le registre d'usage général DATA4
    call I2C_ACK_master_to_slave
   call I2C_read
   movwf DATA5 ; les 8 bits lus sont transférés dans le registre d'usage général DATA5
    call I2C_ACK_master_to_slave
    call I2C_read
    movwf DATA6 ; les 8 bits lus sont transférés dans le registre d'usage général DATA6
 
    call I2C_NOACK
 
    call I2C_stop
 
 
I2C_idle
        bsf STATUS , RP0 ; passage en banque 1
        bcf STATUS , RP1 ; passage en banque 1
I2C_idle0
        btfsc SSPCON2 , ACKEN
        goto I2C_idle0 ; le bit ACKEN n'est pas nul
        btfsc SSPCON2 , RCEN
        goto I2C_idle0 ; le bit RCEN n'est pas nul
        btfsc SSPCON2 , PEN
        goto I2C_idle0 ; le bit PEN n'est pas nul
        btfsc SSPCON2 , RSEN
        goto I2C_idle0 ; le bit RSEN n'est pas nul
        btfsc SSPCON2 , SEN
        goto I2C_idle0 ; le bit SEN n'est pas nul
        btfsc SSPSTAT , R_W
        goto I2C_idle0 ; le bit R_W n'est pas nul
        bcf STATUS , RP0 ; passage en banque 0
        bcf STATUS , RP1 ; passage en banque 0
        return
 
 
 
I2C_start
    call I2C_idle ; on attend que le bus I2C soit libre
    bsf STATUS , RP0 ; passage en banque 1
    bcf STATUS , RP1 ; passage en banque 1
    bsf SSPCON2 , SEN ; SEN = 1 (lancement d'une opération Start)
    bcf STATUS , RP0 ; passage en banque 0
    bcf STATUS , RP1 ; passage en banque 0
    return
 
 
I2C_read
 
        call I2C_idle ; on attend que le bus I2C soit prêt
        bsf STATUS , RP0 ; passage en banque 1
        bcf STATUS , RP1 ; passage en banque 1
        bsf SSPCON2 , RCEN ; on lance la réception
I2C_read0
        btfsc SSPCON2 , RCEN 
        goto I2C_read0 ; on attend la fin de la réception
        bcf STATUS , RP0 ; passage en banque 0
        bcf STATUS , RP1 ; passage en banque 0
        movf SSPBUF ,0
        return
 
 
I2C_stop
    call I2C_idle ; on attend que le bus I2C soit prêt
    bsf STATUS , RP0 ; passage en banque 1
    bcf STATUS , RP1 ; passage en banque 1
    bsf SSPCON2 , PEN ; PEN = 1 (lancement d'une opération Stop)
    bcf STATUS , RP0 ; passage en banque 0
    bcf STATUS , RP1 ; passage en banque 0
    return
 
I2C_write    
    call I2C_idle ; on attend que le bus I2C soit prêt
    movwf SSPBUF
    call I2C_ACK_slave_to_master    
    return
 
 
 
I2C_Repeated_Start
    call I2C_idle ; on attend que le bus I2C soit prêt
    bsf STATUS , RP0 ; passage en banque 1
    bcf STATUS , RP1 ; passage en banque 1
    bsf SSPCON2 , RSEN ; RSEN = 1 (lancement d'une opération Repeated Start)
    bcf STATUS , RP0 ; passage en banque 0
    bcf STATUS , RP1 ; passage en banque 0
    return
 
 
I2C_ACK_slave_to_master    
    call I2C_idle ; on attend que le bus I2C soit prêt
    bsf STATUS , RP0 ; passage en banque 1
    bcf STATUS , RP1 ; passage en banque 1
I2C_ACK_slave_to_master0
    btfsc SSPCON2 , ACKSTAT
    goto I2C_ACK_slave_to_master0 ; on attend la réception du bit ACK
    bcf STATUS , RP0 ; passage en banque 0
    bcf STATUS , RP1 ; passage en banque 0
    return
 
I2C_NOACK 
    call I2C_idle ; on attend que le bus I2C soit prêt
    bsf STATUS , RP0 ; passage en banque 1
    bcf STATUS , RP1 ; passage en banque 1
    bsf SSPCON2 , ACKDT ; ACKDT = 1
    bsf SSPCON2 , ACKEN ; ACKEN = 1 (lancement d'une opération Acknowledge)
    bcf STATUS , RP0 ; passage en banque 0
    bcf STATUS , RP1 ; passage en banque 0
    return
 
I2C_ACK_master_to_slave
    call I2C_idle ; on attend que le bus I2C soit prêt
    bsf STATUS , RP0 ; passage en banque 1
    bcf STATUS , RP1 ; passage en banque 1
    bcf SSPCON2 , ACKDT ; ACKDT = 0
    bsf SSPCON2 , ACKEN ; ACKEN = 1 (lancement d'une opération Acknowledge)
    bcf STATUS , RP0 ; passage en banque 0
    bcf STATUS , RP1 ; passage en banque 0
    return
 
 
 
END
برنامج فيما يخص الحوار مع ds1307 لكن الصعوبة الوحيدة في التعامل مع القيم التي يعطيها ds1307 فهي bcd لو استطعت التعامل معها يكون احسن فيما يخص البرنامج ان لم تفهم اي جزء فقل لي دالك لكي اشرحه . هذا ايمايلي faid_59*hotmail.com
لو تريد البرنامج بي سي اعمله لك
هذا والله اعلم
الف شكر لك أخي وجزاك الله خيراً
لقد نسخت البرنامج ولصقته في ملف نصي فتشوه لذا ارجو وضع الكود في ملف واذا ممكن اضافة ملف بروتوس للمحاكات
بالنسبة للترميز العشري المرمز ثنائياً فأمره هين عندي ان شاء الله
سأشرح لك المشكلة عندي عسى ان اجد حلها لديك
لقد تعاملت مع هذا البروتوكول بشكل برمجي باستخدام 16F84 & 16F628 باستخدام DS1307 وقد نجح معي الكود بالقراءة والكتابة في المحاكاة علة بروتوس فقط لكن على الواقع لايعمل مع العلم تأكدت من الدارة وصلاحية كل قطعة في الدارة
فبدأت اشك بالبرنامج وبدأت افكر في الميزة الآلية الموجودة في 16F877 عسى ان تكون هي الحل لمشكلتي


جزاكم الله عني خيراً ووفقكم له ونفع بكم العباد


faidamine
:: مهندس ::
تاريخ التسجيل: May 2011
الدولة: maroc
المشاركات: 35
نشاط [ faidamine ]
قوة السمعة:0
قديم 22-05-2011, 12:00 PM المشاركة 6   
افتراضي


http://www.mediafire.com/?3d1pqmjvb2pcwe5

http://fabrice.sincere.pagesperso-orange.fr/cm_electronique/pic_accueil.htm#16F876A
موقع جميل سيساعدك + نصيحة استعمل pcf8583 احسن بكتير من ds1307 ع+ عدم وجود الخطا عند التعامل مع الكوارتز crystal


sskk77
:: مهندس متميز ::
تاريخ التسجيل: Jan 2005
المشاركات: 714
نشاط [ sskk77 ]
قوة السمعة:0
قديم 23-05-2011, 05:27 AM المشاركة 7   
افتراضي


ألف شكر لك أخي كفيت ووفيت فتح الله عليك ابواب الخير
سأعمل بنصيحتك واجرب
الف شكر مرة أخرى


sskk77
:: مهندس متميز ::
تاريخ التسجيل: Jan 2005
المشاركات: 714
نشاط [ sskk77 ]
قوة السمعة:0
قديم 24-05-2011, 07:47 AM المشاركة 8   
افتراضي


أخي العزيز faidamine
لقد بحثت عن القيم العناوين في PCF8583 فلم اجدها
فلم استطع التعامل مع هذه الآي سي
طبعاً أقصد العنوان الرئيسي للقراءة والكتابة
قرأت الداتا شيت فلم اجد غير عناوين الزمن
فاذا ممكن كود مساعدة نفس السابق لكن لهذه الآي سي
وجزاكم الله عني خيراً

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 04:11 AM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025