จะเขียน code คุม 74HC595 แยกขา Data เป็น 2 ขายังไงครับ

Started by anon1206, April 27, 2013, 03:50:29 PM

Previous topic - Next topic

anon1206

คือผมซื้อบอร์ดมา 4 บอร์ดต้องนำมาต่อกันแบบในรูปครับเพื่อจะให้ได้ขนาด 32*64 จะแยกขา Data กันคุมด้านบน คือ DATA_UP ด้านล่างคือ DATA_LOW
ลิ้งรูปครับ http://image.ohozaa.com/view2/wNohPiLiFMLIsHdy


code คุม Data เดียวครับ
void byte_out(char buffer)
{
  char loop;
  for(loop=0;loop<8;loop++){
      if((buffer&0x80)==0x80)
      {
         LPC_GPIO1->FIOCLR = DATA;
      }
      else {
         LPC_GPIO1->FIOSET = DATA;
      }
      buffer <<=1;
      LPC_GPIO1->FIOSET = CLOCK;
      LPC_GPIO1->FIOCLR = CLOCK; 
  }
}
void scandisplay2(void)
{   
int k,j,i,l;
   for (k=0; k<4; k++)
      {
         LPC_GPIO1->FIOSET = OE;
         select_138(k); 
         
         for (j=0; j<8; j++)   
        {     
            for (i=0; i<4; i++) 
            {
           byte_out( led_buffer[(3 - i) * 4 + k][7 - j]);               
            }
         }         
       LPC_GPIO1->FIOSET = LATCH;
       LPC_GPIO1->FIOCLR = LATCH;
       LPC_GPIO1->FIOCLR = OE;         
      }     
}


ขา Data อีกขา จะเขียน code แบบไหนครับ ต้องเพิ่มในฟังก์ชันแบบไหน ครับ  :)

onetime

จากรูปและ code ที่เขียน
ต้องใช้ data ร่วมกัน แล้วแยก ขา Latch


หรือถ้าจะใช้ ขา Latch ร่วมกันก็ต้องส่ง data พร้อมกัน ทั้งบน-ล่าง


anon1206

Quote from: onetime on April 27, 2013, 04:32:01 PM
จากรูปและ code ที่เขียน
ต้องใช้ data ร่วมกัน แล้วแยก ขา Latch

หรือถ้าจะใช้ ขา Latch ร่วมกันก็ต้องส่ง data พร้อมกัน ทั้งบน-ล่าง

ใช้ data ร่วมกัน แล้วแยก ขา Latch
code  น่าจะเขียนประมาณไหนครับช่วยยกตัวอย่างได้ไหมครับ ผมยังนึกภาพไม่ออกเลยครับ