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

   

الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,673
نشاط [ حسن هادي محمود ]
قوة السمعة:
قديم 22-05-2015, 10:01 AM المشاركة 9   
افتراضي برمجه البوردات



السلام عليكم
برمجه النظام الموجود في هذا الرابط مشاركه 116
http://www.qariya.info/vb/showthread...612#post957612

تم تنفيذ كود وتجربته بشكل عملي
http://up.top4top.net/downloadf-top4...cc841-rar.html

كود:
//#define Check_bit(var,pos)  (var&(1<<pos))
//#define set_bit(var,pos)  (var|=(1<<pos) )
//#define clear_bit(var,pos) ( var&=~(1<<pos) )

sbit sh_cp at LATA4_bit;
sbit sh_cp_dir at TRISA4_bit;
sbit st_cp at LATC0_bit;
sbit st_cp_dir at TRISC0_bit;
sbit ds at LATC1_bit;
sbit ds_dir at TRISC1_bit;
//******************************************************
/////***************input define ***********************//
sbit input1 at RA0_bit;
sbit input2 at RA1_bit;
sbit input3 at RA2_bit;
sbit input4 at RA3_bit;
sbit input5 at RA5_bit;
sbit input6 at RE0_bit;
sbit input7 at RE1_bit;
sbit input8 at RE2_bit;
sbit input9 at RD2_bit;
sbit input10 at RD3_bit;

sbit input1_dir at TRISA0_bit;
sbit input2_dir at TRISA1_bit;
sbit input3_dir at TRISA2_bit;
sbit input4_dir at TRISA3_bit;
sbit input5_dir at TRISA5_bit;
sbit input6_dir at TRISE0_bit;
sbit input7_dir at TRISE1_bit;
sbit input8_dir at TRISE2_bit;
sbit input9_dir at TRISD2_bit;
sbit input10_dir at TRISD3_bit;
//*************************end define input **************************************//
char keypadPort at PORTB;

//*********************************//
 //w3Lcd0 pin definitions:
sbit w3Lcd0_EN    at LATC5_bit;
sbit w3Lcd0_DATA  at LATC3_bit;
sbit w3Lcd0_CLOCK at LATC4_bit;
sbit led_lcd   at LATC2_bit;
sbit w3Lcd0_EN_Direction    at TRISC5_bit;
sbit w3Lcd0_DATA_Direction  at TRISC3_bit;
sbit w3Lcd0_CLOCK_Direction at TRISC4_bit;
sbit led_lcd_Direction      at TRISC2_bit;
//************************************//

//***************************** define speaker ***************************//
sbit speaker at LATD4_bit;
sbit speaker_dir at TRISD4_bit;

//****************************define variable && function ***************
char input_flag=0,output_all_off_on=0 , display_flag=0;
unsigned int value_out=0 ,value_keypad=0 ;
char x,output_relay[1],output_relay_save[1] ;
char value_from_keypad=0  , flag_keypad=0 ;
char flag_state_output_function=0 , inital_value=0;
//uart //
unsigned char recived_data_from_uart=0,cont1_uart=0,cont2_uart=0 , flag_recive_from_uart=0;
void init_pic();
void display();
void switch_states();
void output_relay_action(char input, char state_input);
void keypad_state();
void output_action ( unsigned char output_vaule_);
//***************** end   define variable && function **********************//
void init_pic()
{
 ANSELA=0;
 ANSELB=0;
 ANSELC=0;
 ANSELD=0;
 ANSELE=0;
 SLRCON=0;
 //********************************************************************//
 output_relay[0]=0;
 input1_dir=1;  input2_dir=1; input3_dir=1; input4_dir=1; input5_dir=1;
 input6_dir=1;  input7_dir=1; input8_dir=1; input9_dir=1; input10_dir=1;
 
   input_flag.b0=~input1;
   input_flag.b1=~input2;
   input_flag.b2=~input3;
   input_flag.b3=~input4;
   input_flag.b4=~input5;
   input_flag.b5=~input6;
   input_flag.b6=~input7;
   input_flag.b7=~input8;
//************************************************************************//
 speaker_dir=0; speaker=0;
 //*********************************************************************//
 ic_74hc595_init(1);
//***********************************************************************//
  //***LCD ***//
   led_lcd_Direction=0;// lcd led
   led_lcd=1;// on led for lcd
   Keypad_Init();
   w3Lcd0_Init();
   w3Lcd0_Command(_lcd_cursor_off);   // to turn off Cursor
   w3Lcd0_GotoYX(0,0);
   w3Lcd0_CstrOut("welcome");
   Delay_ms(1000);  /* One second pause */
   w3Lcd0_Command(_lcd_clear);  // to turn off Cursor
    w3Lcd0_GotoYX(0,0);
    w3Lcd0_CstrOut("IN:");
    w3Lcd0_GotoYX(1,0);
    w3Lcd0_CstrOut("OUT:");
//*************************** uart ******************************************//
  RC1IE_bit = 1;                    // turn ON interrupt on UART1 receive
  RC1IF_bit = 0;                    // Clear interrupt flag
  //RC2IE_bit = 1;                    // turn ON interrupt on UART2 receive
  //RC2IF_bit = 0;                    // Clear interrupt flag
  PEIE_bit  = 1;                    // Enable peripheral interrupts

  UART1_Init(19200);                    // initialize UART1 module
  Delay_ms(200);
  //************************************************************************

  GIE_bit   = 1;                    // Enable GLOBAL interrupts
}
//*************************************************************//
void output_relay_action(char input, char state_input)
{
 ic_74hc595(input,state_input,output_relay,output_relay_save);
 display_flag=1;
 output_all_off_on=0;
}
//********************************************************//
// Interrupt routine
void interrupt()
{
 char temp=0;
 if(RC1IF_bit==1 ) // RxON , RxOFF; where x=0...9
             {
              RC1IF_bit = 0;
              temp=UART1_Read();
              switch(cont1_uart)
                {
                 case 0 : if(temp=='R'){  recived_data_from_uart=0; cont1_uart=1;}
                          else cont1_uart=0;
                          break;
                 case 1 :if(temp >='0' && temp  <='9'){  recived_data_from_uart=temp-48; cont1_uart=2;}
                         else cont1_uart=0;
                         break;
                case 2 :if(temp=='O') cont1_uart=3;
                         else cont1_uart=0;
                         break;
                case 3 :if(temp=='N')
                                {
                                 value_out=(recived_data_from_uart*10)+1;
                                 cont1_uart=0;
                                 flag_state_output_function=3;
                                }
                         else if(temp=='F')cont1_uart=4;
                         else cont1_uart=0;
                         break;

                case 4 :if(temp=='F')
                                {
                                 value_out=(recived_data_from_uart*10);
                                 cont1_uart=0;
                                 flag_state_output_function=3;
                                }
                         cont1_uart=0;
                         break;
                }


           }


}
//****************************************************************//
void main()
{
 init_pic();
 speaker=1;
 delay_ms(1000);
 speaker=0;

 while(1)
     {
        switch_states();
        keypad_state();
        if(value_out !=0)output_action(value_out);
        if( display_flag==1)display();
     }
 
 
}
//*********************************************************//
void display()
{
 unsigned char input_value;
 input_value= ~ input_flag;
 display_flag=0;
 w3Lcd0_GotoYX(1,8);
 for(x=0;x<8;x++)
     {
       if(output_relay_save[0]&(1<<x)) w3Lcd0_WriteChar('1');
       else w3Lcd0_WriteChar('0');
     }
 w3Lcd0_GotoYX(0,8);
 for(x=0;x<8;x++)
     {
       if(input_value&(1<<x)) w3Lcd0_WriteChar('1');
       else w3Lcd0_WriteChar('0');
     }
     
 w3Lcd0_GotoYX(1,5);
 switch (flag_state_output_function)
    {
      case 1 : w3Lcd0_RstrOut("SW");break;// control from input
      case 2 : w3Lcd0_RstrOut("KE");break;// control from keybad
      case 3 : w3Lcd0_RstrOut("UR"); // control from computer
               // send feed back for  output
               UART1_Write_Text("OUTPUT=");
               UART1_Write(output_relay_save[0]/100+48);
               UART1_Write((output_relay_save[0]/10)%10+48);
               UART1_Write(output_relay_save[0]%10+48);
               break;
      default : break;
    }

 flag_state_output_function=0;
}
//***********************************************************//
void switch_states()
{
 inital_value=input_flag;
     if(input1==1 && input_flag.b0==0)
            {
             input_flag.b0=1;
             value_out=10;
            }
       else if(input1==0 && input_flag.b0==1)
            {
             input_flag.b0=0 ;
             value_out=11;
            }

       if(input2==1 && input_flag.b1==0)
            {
             input_flag.b1=1 ;
             value_out=20;
            }
       else if(input2==0 && input_flag.b1==1)
            {
             input_flag.b1=0;
             value_out=21;
            }

      if(input3==1 && input_flag.b2==0)
            {
             input_flag.b2=1;
             value_out=30;
            }
       else if(input3==0 && input_flag.b2==1)
            {
             input_flag.b2=0;
             value_out=31;
            }

      if(input4==1 && input_flag.b3==0)
            {
             input_flag.b3=1;
             value_out=40;
            }
       else if(input4==0 && input_flag.b3==1)
            {
             input_flag.b3=0;
             value_out=41;
            }

      if(input5==1 && input_flag.b4==0)
            {
             input_flag.b4=1;
             value_out=50;
            }
       else if(input5==0 && input_flag.b4==1)
            {
             input_flag.b4=0;
             value_out=51;
            }

      if(input6==1 && input_flag.b5==0)
            {
             input_flag.b5=1;
             value_out=60;
            }
       else if(input6==0 && input_flag.b5==1)
            {
             input_flag.b5=0;
             value_out= 61;
            }

        if(input7==1 && input_flag.b6==0)
            {
             input_flag.b6=1;
             value_out=70;
            }
       else if(input7==0 && input_flag.b6==1)
            {
             input_flag.b6=0;
             value_out=71;
            }
        if(input8==1 && input_flag.b7==0)
            {
             input_flag.b7=1;
             value_out=80;
            }
       else if(input8==0&& input_flag.b7==1)
            {
             input_flag.b7=0;
             value_out=81;
            }

      if(input9==0 && output_all_off_on==0)
            {
             value_out=90;
             output_all_off_on=255;
            }
       if(input10==0 && output_all_off_on==255)
            {
             value_out=91;
             output_all_off_on=0;
            }
  if(inital_value !=input_flag)flag_state_output_function=1;// action by switch
  delay_ms(100);
  
}
//**********************************************************//
void keypad_state()
{
  value_from_keypad=keypad_4x4();
       if(value_from_keypad !='F')
         {
          if(value_from_keypad>=0 && value_from_keypad<=9)
             {
               flag_keypad++;
               if(flag_keypad>=3)flag_keypad=1;
               if(flag_keypad==1)value_keypad=value_from_keypad;
               else if(flag_keypad==2)value_keypad =(value_keypad*10)+value_from_keypad;

               w3Lcd0_GotoYX(0,3);
               w3Lcd0_CstrOut("K=");
               w3Lcd0_WriteChar( value_keypad/10+48);
               w3Lcd0_WriteChar( value_keypad%10+48);
             }
          else w3Lcd0_WriteChar( value_from_keypad);
          
          if(value_from_keypad=='#' && flag_keypad==2)
            {
             flag_keypad=0;
             w3Lcd0_GotoYX(0,3);
             w3Lcd0_CstrOut("     ");
             value_out=value_keypad;
             flag_state_output_function=2;
            }
          
         }
         
}
//****************************************************************//
void output_action ( unsigned char output_vaule_)
{
 value_out=0;
 switch(output_vaule_)
          {
           case 10 : output_relay_action(1,0);break;
           case 11 : output_relay_action(1,1);break;
           case 20 : output_relay_action(2,0);break;
           case 21 : output_relay_action(2,1);break;
           case 30 : output_relay_action(3,0);break;
           case 31 : output_relay_action(3,1);break;
           case 40 : output_relay_action(4,0);break;
           case 41 : output_relay_action(4,1);break;
           case 50 : output_relay_action(5,0);break;
           case 51 : output_relay_action(5,1);break;
           case 60 : output_relay_action(6,0);break;
           case 61 : output_relay_action(6,1);break;
           case 70 : output_relay_action(7,0);break;
           case 71 : output_relay_action(7,1);break;
           case 80 : output_relay_action(8,0);break;
           case 81 : output_relay_action(8,1);break;
           case 90 : for(x=1;x<=8;x++)output_relay_action(x,0);break;
           case 91 : for(x=1;x<=8;x++)output_relay_action(x,1);break;

           default : break;
          }
}

اعلانات

jossyouri
:: مهندس ::
تاريخ التسجيل: May 2015
المشاركات: 10
نشاط [ jossyouri ]
قوة السمعة:
قديم 22-05-2015, 12:41 PM المشاركة 10   
افتراضي


السلام عليكم و حمة الله و بركاته
اتمنى من كل دوي الخبرة افادتي في مشكلة لي مع جهازي البلاي ستيشن 2 سليم موديل SCPH-77004
المشكلة عندي اريد تشغيل الالعاب من خلال فلاش ديسك ا و قرص صلب و حملت البرنامج uLaunchELF
و حرقته على قرص ديفيدي و قرص سيدي و لكن بدون جدوى لا يشتغل معاي و العدسة لا تقراه مع العلم اني لما اركب اقراص العاب بتشتغل و جربت اكر من مرة و لكن بدون جدوى اتمنى من الاخوان مساعدتي لان لي اكثر من اسبوع ابحث عن حل و لم اجد فلا تبخلو على مساعدتكم وخبرتك و شكرا

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

الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,673
نشاط [ حسن هادي محمود ]
قوة السمعة:
قديم 22-05-2015, 02:04 PM المشاركة 11   
افتراضي


السلام عليكم و حمة الله و بركاته
اتمنى من كل دوي الخبرة افادتي في مشكلة لي مع جهازي البلاي ستيشن 2 سليم موديل SCPH-77004
المشكلة عندي اريد تشغيل الالعاب من خلال فلاش ديسك ا و قرص صلب و حملت البرنامج uLaunchELF
و حرقته على قرص ديفيدي و قرص سيدي و لكن بدون جدوى لا يشتغل معاي و العدسة لا تقراه مع العلم اني لما اركب اقراص العاب بتشتغل و جربت اكر من مرة و لكن بدون جدوى اتمنى من الاخوان مساعدتي لان لي اكثر من اسبوع ابحث عن حل و لم اجد فلا تبخلو على مساعدتكم وخبرتك و شكرا
السلام عليكم
أخي عزيز أضع موضوعك في هذا الرابط لعلك تحصل على الحل
http://www.qariya.info/vb/forumdisplay.php?f=64
تحياتي


jossyouri
:: مهندس ::
تاريخ التسجيل: May 2015
المشاركات: 10
نشاط [ jossyouri ]
قوة السمعة:
قديم 22-05-2015, 02:51 PM المشاركة 12   
افتراضي


السلام عليكم
أخي عزيز أضع موضوعك في هذا الرابط لعلك تحصل على الحل
http://www.qariya.info/vb/forumdisplay.php?f=64
تحياتي
اعدرني اخي الكريم لم انتبه لهدا
شكرا


الصورة الرمزية Omar Mekkawy
Omar Mekkawy
:: مهندس متميز ::
تاريخ التسجيل: Sep 2011
الدولة: مصر
المشاركات: 1,449
نشاط [ Omar Mekkawy ]
قوة السمعة:
قديم 22-05-2015, 07:10 PM المشاركة 13   
افتراضي


سلام عليكم أخوي

جزاك الله كل خير فعلاً معلومات مفيدة

كان لدي سؤال بالنسبة للبوردة الأساسية الـ CPU من وين اشترتها ؟

كان لدي تجارب عديدة في عمل لوحات تعليمية للـ PIC ولكن المشكلة ان اغلبها لم يكتمل بسبب ضيق الوقت ، إن شاء الله سأحاول أن أكملها وراح أنزلها هنا بالقرية .



الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,673
نشاط [ حسن هادي محمود ]
قوة السمعة:
قديم 23-05-2015, 10:19 PM المشاركة 14   
افتراضي


سلام عليكم أخوي

جزاك الله كل خير فعلاً معلومات مفيدة

كان لدي سؤال بالنسبة للبوردة الأساسية الـ CPU من وين اشترتها ؟

كان لدي تجارب عديدة في عمل لوحات تعليمية للـ PIC ولكن المشكلة ان اغلبها لم يكتمل بسبب ضيق الوقت ، إن شاء الله سأحاول أن أكملها وراح أنزلها هنا بالقرية .

السلام عليكم
هل تقصد البورد الرئيسي الموجود في مشاركه 116 في الرابط
http://www.qariya.info/vb/showthread...612#post957612
فأذا كان هو فهذا قمنا بتصميمه وهو لايزال تحت الاختبار
تحياتي


الصورة الرمزية Omar Mekkawy
Omar Mekkawy
:: مهندس متميز ::
تاريخ التسجيل: Sep 2011
الدولة: مصر
المشاركات: 1,449
نشاط [ Omar Mekkawy ]
قوة السمعة:
قديم 23-05-2015, 10:42 PM المشاركة 15   
افتراضي


السلام عليكم
هل تقصد البورد الرئيسي الموجود في مشاركه 116 في الرابط
http://www.qariya.info/vb/showthread...612#post957612
فأذا كان هو فهذا قمنا بتصميمه وهو لايزال تحت الاختبار
تحياتي
وعليكم السلام
نعم هي ولكن أراها جاهزة التصميم ( كما يبدو في الصورة ) !



الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,673
نشاط [ حسن هادي محمود ]
قوة السمعة:
قديم 24-05-2015, 05:42 AM المشاركة 16   
افتراضي


وعليكم السلام
نعم هي ولكن أراها جاهزة التصميم ( كما يبدو في الصورة ) !

هذه صوره من برنامج التصميم اريس ضمن برنامج البروتيس
انا ارفقت ملفات التصميم

تحياتي



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