Kiến thức lập trình của em còn kém nên nhờ các cao thủ chỉ giúp
Em làm một cái mạch 8x48 và em thử cả 2 phương pháp quét cột và quét hàng. Nhưng ở phương pháp quét cột em làm một chương trình rất đơn giản như sau
void main(void)
{
while(1)
{
for(k=0;k<312;k++)
{
for(r=0;r<48;r++)
{
for(i=0;i<48;i++)
{
if(i==r)
{
spi=0;
sck=0;
sck=1;
}
else
{spi=1;
sck=0;
sck=1;
}
}
xuatdata();
P2=~chu[r+k];
delay(2);
}
}
}
}
trong đó em hiển thị một mảng 360byte
cái xuatdata là chỉ đưa xung ra chốt dữ liệu ra cho HC595 thôi
nói chung mạch chạy tốt nhưng hơi nháy
Em thấy theo phương pháp quét cột thì dữ liệu và chương trình đơn giản nhưng mà MCU tốn thời gian để đưa dữ liệu ra cột quá ( Các bác hiểu cho em làm cái mạch này dùng 6 con 595 nối tiếp để đưa dữ liệu ra cột vì làm cách này thì em có thể dùng mạch này cho cả quét hàng và mở rộng thêm, chứ nếu chỉ quét cột ko thì em dùng mấy con 4-16 quét cho nó nhanh rồi)
Nhưng em lại ko biết cách dùng ngắt nên nhờ các bác giúp em một đoạn ct dùng ngắt để trong quá trinh hiển thị 2ms đó thì MCU sẽ đưa 48 bit dữ liệu ra 595 qua chân spi chờ sẵn cho lần hiển thị tiếp theo
Em làm một cái mạch 8x48 và em thử cả 2 phương pháp quét cột và quét hàng. Nhưng ở phương pháp quét cột em làm một chương trình rất đơn giản như sau
void main(void)
{
while(1)
{
for(k=0;k<312;k++)
{
for(r=0;r<48;r++)
{
for(i=0;i<48;i++)
{
if(i==r)
{
spi=0;
sck=0;
sck=1;
}
else
{spi=1;
sck=0;
sck=1;
}
}
xuatdata();
P2=~chu[r+k];
delay(2);
}
}
}
}
trong đó em hiển thị một mảng 360byte
cái xuatdata là chỉ đưa xung ra chốt dữ liệu ra cho HC595 thôi
nói chung mạch chạy tốt nhưng hơi nháy
Em thấy theo phương pháp quét cột thì dữ liệu và chương trình đơn giản nhưng mà MCU tốn thời gian để đưa dữ liệu ra cột quá ( Các bác hiểu cho em làm cái mạch này dùng 6 con 595 nối tiếp để đưa dữ liệu ra cột vì làm cách này thì em có thể dùng mạch này cho cả quét hàng và mở rộng thêm, chứ nếu chỉ quét cột ko thì em dùng mấy con 4-16 quét cho nó nhanh rồi)
Nhưng em lại ko biết cách dùng ngắt nên nhờ các bác giúp em một đoạn ct dùng ngắt để trong quá trinh hiển thị 2ms đó thì MCU sẽ đưa 48 bit dữ liệu ra 595 qua chân spi chờ sẵn cho lần hiển thị tiếp theo
Comment