![]() |
|
Tài trợ cho PIC Vietnam |
||||||||
| Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
|
|
Ðiều Chỉnh | Xếp Bài |
|
|
#1 |
|
Đệ tử 3 túi
Tham gia ngày: Dec 2008
Bài gửi: 50
: |
em viết chương trình cho pic 16f877a để điều khiển cho ma trận 16*56 như sau:
Code:
#include "D:\Hoctap\baitapchoPIC\ledmatran.h"
unsigned int8 K[]={0,0,0,0,0,0,0,
0,0,1,0,0,0,0,
0,128,2,0,0,0,0,
0,64,4,192,113,28,7,
0,0,0,32,138,162,8,
65,17,17,36 ,138,162,8
,34,145,50,4,138,162,8
,20,81,84,132,137,34,15,
8,209,151,196,136,34,8,
20,81,20,69,136,34,8,
34,81 ,20,38,136 ,162,8,
65,78,20,228,115,28,7,
0,0,0,0,0,0,0,
0,0,0,0,0,0,0,
0,0,0,0,0,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);// TODO: USER CODE!!
set_tris_c(0x00);
while(1)
{ for(r=16;r<32;r++)
{
for(i=0;i<16;i++)
{
spi_write(K[i*7+6]);
spi_write(K[i*7+5]);
spi_write(K[i*7+4]);
spi_write(K[i*7+3]);
spi_write(K[i*7+2]);
spi_write(K[i*7+1]);
spi_write(K[i*7+0]);
output_high(pin_C2);
output_low(pin_c2);
delay_ms(4);
output_b(i+r);} }}
};
Chương trình của em mới chỉ làm cho chuỗi data chạy từ trên xuống thôi , em muốn viết cho nó chay từ phải qua trái thì như thế nào nhỉ ? thay đổi nội dung bởi: namqn, 02-01-2009 lúc 05:11 PM. |
|
|
|
|
|