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

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

abdewidad
:: مهندس متميز ::
تاريخ التسجيل: Dec 2013
الدولة: casablanca
المشاركات: 712
نشاط [ abdewidad ]
قوة السمعة:0
قديم 27-03-2015, 07:52 PM المشاركة 1   
افتراضي مساعدة في هدا الكود Twitter FaceBook Google+



السلام عليكم ورحمة الله
لقد وجدت هدا الكود الدي كتب بلغة ماتلب ولريد تحويله
الى ميكروسي
كود:
#define _XTAL_FREQ 4000000
#define __delay_us(x) _delay((unsigned long)((x)*(_XTAL_FREQ/4000000.0)))
#define __delay_ms(x) _delay((unsigned long)((x)*(_XTAL_FREQ/4000.0)))

//prototypes
void main(void);
void convert(void);
void send(unsigned char bytex);

__CONFIG(LVPDIS & WDTDIS & UNPROTECT & XT);

void main(void){

        //init
        TRISB = 0b11111111;                         //all inputs
        TRISA = 0b1111;                //RA0-RA3 inputs
        TRISC = 0b10000000;
        ADCON0 = 0b1000000;                //Fosc/8,adon=0
        ADCON1 = 0b10000010;                        //AN0-AN3, right justified
        //UART init
        RCSTA = 0b10010000;                //rx enable, continuous receive
        TXSTA = 0b100100;                //tx=ON, high speed 
        SPBRG = 25;                                //baud rate 9600bps
        RCIF = 0;
        while(1){

                if(RCIF){
                        if(RCREG < 128){        //PC transmits 128 to signal start of reading inputs
                        PORTC=RCREG; 
                        }else{
                
                                        ADCON0=0b1000001; convert();                //analogue ch0 convertion
                                        ADCON0=0b1001001; convert();                //ch1
                                        ADCON0=0b1010001; convert();                //ch2
                                        ADCON0=0b1011001; convert();                //ch3
                                        
                                        send(PORTB);                //send digital inputs
                        }
                        RCIF=0;
                }                        
        
        }
}


void convert(void){
        ADIF=0;
        __delay_us(50);                //convertion time
        GODONE=1;
        while(!ADIF){}
        send(ADRESL);
        send(ADRESH);
}        

void send(unsigned char bytex){                //transmit bytes
        TXREG = bytex;
        while (!TRMT){}                //wait for UART to finish TRMT
                
}
المصدر
http://www.moty22.co.uk/

اعلانات

abdewidad
:: مهندس متميز ::
تاريخ التسجيل: Dec 2013
الدولة: casablanca
المشاركات: 712
نشاط [ abdewidad ]
قوة السمعة:0
قديم 27-03-2015, 11:11 PM المشاركة 2   
افتراضي


كود:
void main(void);
void convert(void);
void send(unsigned char bytex);
هده دوال اعتيادية
بخصوص RCSTA = 0b10010000;
انه رجسترلتقاطع intureption
ممكن شرح اكتر اخواني

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

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:395
قديم 27-03-2015, 11:33 PM المشاركة 3   
افتراضي


اشرح عمل الكود ربما نستطيع مساعدتك بكتابة كود جديد

حيدر علاج حسن

abdewidad
:: مهندس متميز ::
تاريخ التسجيل: Dec 2013
الدولة: casablanca
المشاركات: 712
نشاط [ abdewidad ]
قوة السمعة:0
قديم 28-03-2015, 10:34 PM المشاركة 4   
افتراضي


اشرح عمل الكود ربما نستطيع مساعدتك بكتابة كود جديد
شكرا اخي
وارسال من البيك الى الحاسوب بواسطة لغة فيزل بازيك6
فالامر سهلا في الارسال لكن المشكلة كيف احدد المنفد في لغة فيزل بازيك6
فعند ارسال من اي منفد يتم دمج في مرة واحدة


abdewidad
:: مهندس متميز ::
تاريخ التسجيل: Dec 2013
الدولة: casablanca
المشاركات: 712
نشاط [ abdewidad ]
قوة السمعة:0
قديم 29-03-2015, 10:51 PM المشاركة 5   
افتراضي


شكرا للجميع

إضافة رد

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

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

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


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

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