Đệ 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.
|