View Single Post
Old 10-01-2009, 02:53 PM   #11
nguyennam8888
Đệ tử 3 túi
 
Tham gia ngày: Dec 2008
Bài gửi: 50
:
hỏi về giải thuật cho Matrix

chào các anh , em viết chương trình cho bảng quang báo 16*32 , dùng 4 con 595 để dich data ra cột , còn hàng thì sử dung 2 con 74ls138, em đang gặp rắc rối ở chỗ cho nó chạy chữ tử trái qua phải, các " cao thủ " nào chỉ cho em .
Code:
#include "D:\Hoctap\baitapchoPIC\ledmatran.h"

const unsigned int8 K[]={

0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,32,0,56,142,227,0,
0 ,0,80,0,68,81,20,1,
32,40,34,130,68,81,20,1,
64,36,82,134,64,81,20,1,
128,34,138,138,32,81,228,1,
0,33,250,146,16,81,4,1,
128,34,138,162,8,81,4,1,
64,36,138,194,4,81,20,1,
32,200,137,130,124,142,227,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,

0,68,144,44,34,130,28,0,
0,202,144,34,82,134,34,0,
0,81,145,33,138,138,2,0,
0,95,146,225,251,146,2,0,
0,81,148,34,138,162,58,0,
0,81,152,36,138,194,34,0,
0,81,144,40,138,130,60,0,
0,0,0,0,0,0,0,0,

};

 int8 i,r;
void main()
{
   setup_spi(SPI_MASTER|SPI_L_TO_H|SPI_CLK_DIV_4);
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_INTERNAL|T1_DIV_BY_1);
   setup_timer_2(T2_DISABLED,0,1);
   
  

   set_tris_b(0b11110000);
   set_tris_c(0x00);
 ////////////////////////////// hiển thị đata trên 4 matrix  
   while(1)
    {               
               
               for(i=0;i<16;i++)
                        {
                        spi_write(K[i*4+3])
                         spi_write(K[i*4+2]);
                         spi_write(K[i*4+1]);
                           spi_write(K[i*4+0]);
                           output_high(pin_C2);
                           output_low(pin_c2);
                            delay_us(1300);
                           output_b(i+32);
                        
                        }
      }

thay đổi nội dung bởi: namqn, 10-01-2009 lúc 05:57 PM.
nguyennam8888 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn