Xin code quét led theo hàng

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • Tim Weri
    Thành viên mới
    • Aug 2012
    • 14

    #1

    Xin code quét led theo hàng

    Mạch:matrix hoan chinh.DSN
    Ai cho mình xin code mẫu cho mạch này được ko, mình chưa hiểu về cách viết code quét theo hàng, mò mãi ko ra. Quét theo cột mình làm được rồi.
    Mình cảm ơn trước.
  • CONGMINHfs
    Banned
    • Jan 2008
    • 227

    #2
    Nguyên văn bởi Tim Weri Xem bài viết
    Mạch:matrix hoan chinh.DSN
    Ai cho mình xin code mẫu cho mạch này được ko, mình chưa hiểu về cách viết code quét theo hàng, mò mãi ko ra. Quét theo cột mình làm được rồi.
    Mình cảm ơn trước.
    mình gợi ý bạn thế này nhé , quét cột là ban xuất 1byte theo cột đúng không,còn quét hàng thì bạn không xuất ra mà lưu vào ram(bạn tưởng tượng là từng byte ram sắp theo cột vậy,8 led tương ứng với 8 bit của 1 byte),vậy công việc của bạn là cứ 1byte cắt ra 1bit theo hàng rồi quét thôi.

    ví dụ :.....
    CLR C
    RLC A
    .......
    MOV DS,C

    Rồi ngâm cứu tiếp đi bạn.....

    Comment

    • Tim Weri
      Thành viên mới
      • Aug 2012
      • 14

      #3
      Bạn kiểm tra giùm mạch vẽ như vậy thì có đúng chưa, sao mình thấy kỳ kỳ
      Last edited by Tim Weri; 31-08-2012, 07:55.

      Comment

      • Tim Weri
        Thành viên mới
        • Aug 2012
        • 14

        #4
        Nếu được bạn vd dùm mình bằng C đc ko ?
        Last edited by Tim Weri; 31-08-2012, 08:39.

        Comment

        • pctcom
          Thành viên tích cực
          • Mar 2010
          • 231

          #5
          Nguyên văn bởi Tim Weri Xem bài viết
          Bạn kiểm tra giùm mạch vẽ như vậy thì có đúng chưa, sao mình thấy kỳ kỳ
          Trong mạch của bạn điện trở hạn dòng chưa hợp lý, nên sửa lại là điện trở hạn dòng nối từ led xuống chân 595. Đối với loại led thường thì điện trở này khoảng từ 47 -> 100 om là vừa.

          Hình Layout matrix 8x32 x2 màu:



          Đây là demo matrix 16x32 x2 màu.
          PCT COMPUTER
          (Để không làm ảnh hưởng đến thời gian và công việc cá nhân. Xin vui lòng không nhắn tin và điện thoại)

          Comment

          • Tim Weri
            Thành viên mới
            • Aug 2012
            • 14

            #6
            Mình chưa xử lý được cái tạo hiệu ứng lưu hình ảnh. Mỗi lần chỉ có một hàng sáng

            Comment

            • rongdatvamuc
              Thành viên chính thức
              • Apr 2012
              • 96

              #7
              Mình cũng chưa biết cách quét hàng nên đang nghiên cứu nè, chúng ta cố gắng lên nhé.
              Không biết ngày mai sẽ ra sao?
              Mà có ra sao cũng chẳng sao.

              Comment

              • Tim Weri
                Thành viên mới
                • Aug 2012
                • 14

                #8
                Nghiên cứu thành công thì chia sẻ nha bạn

                Comment

                • Tim Weri
                  Thành viên mới
                  • Aug 2012
                  • 14

                  #9
                  Mạch mô phỏng: MP matrixs.DSN
                  Code:
                  #include<at89x52.h>
                  #include<intrins.h>
                  sbit DATA = P3^0;
                  sbit SCK = P3^1;
                  sbit SCL = P3^2;
                  	unsigned char code cot[]={
                  	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
                  	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
                  	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
                  	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
                  	0xC3,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xC3,
                  	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
                  	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
                  	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
                  	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
                  	};
                  unsigned char hang[8]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
                  int m,n,k;
                  void delay(unsigned long time)
                  {
                  	unsigned int i;
                  	while(time--)
                  	{
                  		i=125;
                  		while(i--);
                  	}
                  }
                  void quet(unsigned char x)
                  {
                  	unsigned char i, temp;
                  	for (i=0;i<8;i++)
                  	{
                  	SCK	= 0;
                  	temp = x;
                  	temp = temp&0x80;
                  	if (temp==0x80)
                  		DATA = 0;
                  	else DATA = 1;
                  	x*=2;
                  	SCK = 1;
                  	}															   
                  }
                  void clear()
                  {
                  	quet(0xFF);
                  }
                  void main()
                  {
                  	while(1)
                  	{
                  
                  	for(n=0;n<8;n++)
                  	{
                  	SCL = 0;
                  	quet(0xFF);
                  	quet(0xFF);
                  	quet(0xFF);
                  	quet(cot[4*8 + n]);
                  	P2 = hang[n];
                  	SCL = 1;
                  	delay(8); 
                  	}
                  	}
                  }
                  Mấy bạn xem dùm mình
                  Last edited by Tim Weri; 06-09-2012, 11:00.

                  Comment

                  Về tác giả

                  Collapse

                  Tim Weri Tìm hiểu thêm về Tim Weri

                  Bài viết mới nhất

                  Collapse

                  There are no results that meet this criteria.

                  Đang tải...