صورة الهارد توضح ان rb0 موصوله بمدخل الداتا للسركوى 74hc595 يعنى ان النبضه
Serial_Data هى التى سنعبىء ريجستر المخارج 16 ل 2 سركى 74hc595 وهى
التى ستتحكم فى حالة الكاتودات يعنى فى كل دوره من البوكل for
void send_data(unsigned int temp){ unsigned int Mask = 0x0001, t, Flag; for (t=0; t<16; t++){ Flag = temp & Mask; if(Flag==0) Serial_Data = 0; else Serial_Data = 1; SH_Clk = 1; SH_Clk = 0; Mask = Mask << 1; } ST_Clk = 1; ST_Clk = 0; }
نكون قد عبئنا كل البتات وهم 16 بيت
بالنتسبة لهذه النبضه
SH_Clk = 1;
SH_Clk = 0;
هى موصله ب rb1
واضح انها نبضه تسمح بنقل حالة نبضة الSerial_Data اما 1 او 0 الى اول ريجستر ب
2 سركى 74hc595
و بالنسبه لهذا
ST_Clk = 1;
ST_Clk = 0;
هى موصوله ب rb2
واضح انها نبضه لتخبر 2 سركى 74hc595 غلى ان عملية ارسال البياناة انتهت ثم تقوم 2 سركى 74hc595 باخراج البيتات المخزنه بها ثم نمر ل temp الجديد وتكرر نفس العملية عند كل حالة ارسال للبيانات اى 16 بيت الاخرى