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

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

الصورة الرمزية alsatel07
alsatel07
:: مهندس متميز ::
تاريخ التسجيل: Jun 2014
الدولة: Usa
المشاركات: 359
نشاط [ alsatel07 ]
قوة السمعة:0
قديم 08-03-2016, 05:44 PM المشاركة 1   
ha مساعدة في regester 74hc595 Twitter FaceBook Google+



السلام عليكم

ممكن مساعدة في زيادة عدة register 74hc595 في هدا البرنامج لاشعال 24 لاد
هدا البرنامج يحتوي على مزيح واحد

وشكرا



#define SHIFT_CLOCK PORTC.F2
#define SHIFT_LATCH PORTC.F1
#define SHIFT_DATA PORTC.F0

void shiftdata595
(unsigned char _shiftdata)
{

unsigned int i;
unsigned char temp;
temp = _shiftdata;
i=8;


while (i>0)
{
if (temp.F7==0)
{
SHIFT_DATA = 0;
}
else
{
SHIFT_DATA = 1;
}
temp = temp<<1;
SHIFT_CLOCK = 1;
Delay_us(1);
SHIFT_CLOCK = 0;
i--;
}
}

void latch595()
{

SHIFT_LATCH = 1;
Delay_us(1);
SHIFT_LATCH = 0;
}

void main()
{
char x;

PORTC=0;
TRISC=0;

while(1)
{

shiftdata595(0b00000001); //a1
latch595();
delay_ms(100);

shiftdata595(0b00000010);
latch595();
delay_ms(100);

shiftdata595(0b00000100);
latch595();
delay_ms(100);
shiftdata595(0b00001000);
latch595();
delay_ms(100);
shiftdata595(0b00010000);
latch595();
delay_ms(100);
shiftdata595(0b00100000);
latch595();
delay_ms(100);
shiftdata595(0b01000000);
latch595();
delay_ms(100);
shiftdata595(0b10000000);
latch595();
delay_ms(100);

for (x=0;x<4;x++)
{

shiftdata595(0b00000011); //b1
latch595();
delay_ms(100);

shiftdata595(0b00000110);
latch595();
delay_ms(100);

shiftdata595(0b00001100);
latch595();
delay_ms(100);
shiftdata595(0b00011000);
latch595();
delay_ms(100);
shiftdata595(0b00110000);
latch595();
delay_ms(100);
shiftdata595(0b01100000);
latch595();
delay_ms(100);
shiftdata595(0b11000000);
latch595();
delay_ms(100);
shiftdata595(0b00000000);
latch595();
delay_ms(100);
}}
}

اعلانات

مشتاق الله
:: مهندس متميز ::
تاريخ التسجيل: Oct 2015
المشاركات: 620
نشاط [ مشتاق الله ]
قوة السمعة:0
قديم 10-03-2016, 06:56 AM المشاركة 2   
sun


بسم الله الرحمن الرحيم

السلام عليكم و رحمة الله و بركاته

اخى العزيز باذن الله , احاول لك فى البرنامج خاصتك .

اللهم اغفر لنا ان جعلنا القران اهون ما نقرا
اللهم ردنا اليه و اجعله ربيع قلوبنا
و دليل لنا

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

magdy_3
:: مهندس متميز ::
تاريخ التسجيل: Aug 2006
الدولة: Philippines
المشاركات: 343
نشاط [ magdy_3 ]
قوة السمعة:0
قديم 10-03-2016, 02:30 PM المشاركة 3   
افتراضي


السلام عليكم
اخى انت مستخدم pic16f877 ام واحد اخر
ياريت توضح اكتر بصور
وتعرفنا الاشكال الى انت عايزها تخرج على ال 24 ليد


مشتاق الله
:: مهندس متميز ::
تاريخ التسجيل: Oct 2015
المشاركات: 620
نشاط [ مشتاق الله ]
قوة السمعة:0
قديم 10-03-2016, 04:12 PM المشاركة 4   
x4


بسم الله الرحمن الرحيم

السلام عليكم و رحمة الله و بركاته

بفضل الله و بعونه اليك برنامج يؤدى الوظيفة المطلوبة ان شاء الله .

ميكرو: 16F877A
مترجم : ميكروسي

كود:
/* Project Name :
                  Expander ports by 74595
    *License :
               free for all purposes
    *Developer :
                Qaria_ARAB_Team
    *Date :
          2016
    *Version :
             ver 1.0
  */

 sbit EXP_data_pin   at RB0_bit   ;
 sbit EXP_clk_pin    at RB1_bit   ;
 sbit IC1_Latch      at RB2_bit   ;
 sbit IC2_Latch      at RB3_bit   ;
 sbit IC3_Latch      at RB4_bit   ;

 sbit EXP_data_DIR   at TRISB0_BIT     ;
 sbit EXP_clk_DIR    at TRISB1_BIT     ;
 sbit IC1_Latch_DIR  at TRISB2_BIT     ;
 sbit IC2_Latch_DIR  at TRISB3_BIT     ;
 sbit IC3_Latch_DIR  at TRISB4_BIT     ;


void EXP_INIT(){
 EXP_data_DIR    = 0 ;  EXP_data_pin =0;
 EXP_clk_DIR     = 0 ;  EXP_clk_pin  =0;
 IC1_Latch_DIR   = 0 ;  IC1_Latch    =0;
 IC2_Latch_DIR   = 0 ;  IC1_Latch    =0;
 IC3_Latch_DIR   = 0 ;  IC1_Latch    =0;
}

void EXP_CLK() {
EXP_clk_pin = 1 ;
delay_ms(1);
EXP_clk_pin = 0 ;
delay_ms(1);
}

void EXP_send_byte(unsigned short IC_id ,unsigned short byte){
short i ;

            for (i=7;i>=0;i--){
                   if(byte & 0b10000000){
                            EXP_data_pin = 1;
                            EXP_CLK();
                            byte <<= 1 ;
                        }
                   else {
                           EXP_data_pin = 0;
                           EXP_CLK();
                           byte <<= 1 ;
                        }
                 }

switch(IC_id){
            case(1):{IC1_Latch = 1 ;
                     delay_ms(1);
                     IC1_Latch = 0 ;break;}
            case(2):{IC2_Latch = 1 ;
                     delay_ms(1);
                     IC2_Latch = 0 ;break;}
            case(3):{IC3_Latch = 1 ;
                     delay_ms(1);
                     IC3_Latch = 0 ;break;}

            }
}

void main() { unsigned char bits=0, i=0 , j=0;
  EXP_INIT();
  while(1){
           for (j=3;j>=1 ;j--){
                      for(bits=128 ; bits>=0 ; bits>>=1){
                                       Exp_send_byte(j,bits);
                                       if(bits==0){break;}
                                       delay_ms(500);
                                               }
                              }
           }
}


و ما توفيقي الا بالله

اللهم اغفر لنا ان جعلنا القران اهون ما نقرا
اللهم ردنا اليه و اجعله ربيع قلوبنا
و دليل حياتنا




الصورة الرمزية alsatel07
alsatel07
:: مهندس متميز ::
تاريخ التسجيل: Jun 2014
الدولة: Usa
المشاركات: 359
نشاط [ alsatel07 ]
قوة السمعة:0
قديم 11-03-2016, 05:57 PM المشاركة 5   
افتراضي


بسم الله الرحمن الرحيم

السلام عليكم و رحمة الله و بركاته

بفضل الله و بعونه اليك برنامج يؤدى الوظيفة المطلوبة ان شاء الله .

ميكرو: 16F877A
مترجم : ميكروسي

كود:
/* Project Name :
                  Expander ports by 74595
    *License :
               free for all purposes
    *Developer :
                Qaria_ARAB_Team
    *Date :
          2016
    *Version :
             ver 1.0
  */

 sbit EXP_data_pin   at RB0_bit   ;
 sbit EXP_clk_pin    at RB1_bit   ;
 sbit IC1_Latch      at RB2_bit   ;
 sbit IC2_Latch      at RB3_bit   ;
 sbit IC3_Latch      at RB4_bit   ;

 sbit EXP_data_DIR   at TRISB0_BIT     ;
 sbit EXP_clk_DIR    at TRISB1_BIT     ;
 sbit IC1_Latch_DIR  at TRISB2_BIT     ;
 sbit IC2_Latch_DIR  at TRISB3_BIT     ;
 sbit IC3_Latch_DIR  at TRISB4_BIT     ;


void EXP_INIT(){
 EXP_data_DIR    = 0 ;  EXP_data_pin =0;
 EXP_clk_DIR     = 0 ;  EXP_clk_pin  =0;
 IC1_Latch_DIR   = 0 ;  IC1_Latch    =0;
 IC2_Latch_DIR   = 0 ;  IC1_Latch    =0;
 IC3_Latch_DIR   = 0 ;  IC1_Latch    =0;
}

void EXP_CLK() {
EXP_clk_pin = 1 ;
delay_ms(1);
EXP_clk_pin = 0 ;
delay_ms(1);
}

void EXP_send_byte(unsigned short IC_id ,unsigned short byte){
short i ;

            for (i=7;i>=0;i--){
                   if(byte & 0b10000000){
                            EXP_data_pin = 1;
                            EXP_CLK();
                            byte <<= 1 ;
                        }
                   else {
                           EXP_data_pin = 0;
                           EXP_CLK();
                           byte <<= 1 ;
                        }
                 }

switch(IC_id){
            case(1):{IC1_Latch = 1 ;
                     delay_ms(1);
                     IC1_Latch = 0 ;break;}
            case(2):{IC2_Latch = 1 ;
                     delay_ms(1);
                     IC2_Latch = 0 ;break;}
            case(3):{IC3_Latch = 1 ;
                     delay_ms(1);
                     IC3_Latch = 0 ;break;}

            }
}

void main() { unsigned char bits=0, i=0 , j=0;
  EXP_INIT();
  while(1){
           for (j=3;j>=1 ;j--){
                      for(bits=128 ; bits>=0 ; bits>>=1){
                                       Exp_send_byte(j,bits);
                                       if(bits==0){break;}
                                       delay_ms(500);
                                               }
                              }
           }
}


و ما توفيقي الا بالله

اللهم اغفر لنا ان جعلنا القران اهون ما نقرا
اللهم ردنا اليه و اجعله ربيع قلوبنا
و دليل حياتنا





السلام عليكم


شكرا لكم كنترولر المستعمل 16f877a اما البرنامج اريد الاحتفاض به كما هو لكن زيادة المزيحات 74hc595 فقط 2 او 3 وشكرا


الصورة الرمزية alsatel07
alsatel07
:: مهندس متميز ::
تاريخ التسجيل: Jun 2014
الدولة: Usa
المشاركات: 359
نشاط [ alsatel07 ]
قوة السمعة:0
قديم 19-03-2016, 04:42 PM المشاركة 6   
افتراضي


السلام عليكم

اين المساعدة يا اخواني ام الكود صعب

إضافة رد

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

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

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


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

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