Tình hình là em mới học VXL. Ông thầy em cho cái bài tập là làm chữ chạy từ trái qua phải.
Em dùng PIC 18F4550
74HC 595
8 em B562
1 em 2803
Code quét theo hàng thì em làm đc rồi nhưng chữ chạy thì em ko hiểu lắm. đọc tài liệu thì thấy mọi người bảo dùng mảng Buffer đểu lưu trữ mà em ko biết làm ra sao. Mong mọi người giúp đỡ ạ :-s
Dưới là 2 chương trình con em viết và chạy đc rồi ạ :-s Giờ chỉ cần dịch trái dịch phải nữa là OK. Thanks mọi người nhiêu ạ :-s. Newbie khổ thế đấy
Em dùng PIC 18F4550
74HC 595
8 em B562
1 em 2803
Code quét theo hàng thì em làm đc rồi nhưng chữ chạy thì em ko hiểu lắm. đọc tài liệu thì thấy mọi người bảo dùng mảng Buffer đểu lưu trữ mà em ko biết làm ra sao. Mong mọi người giúp đỡ ạ :-s
Dưới là 2 chương trình con em viết và chạy đc rồi ạ :-s Giờ chỉ cần dịch trái dịch phải nữa là OK. Thanks mọi người nhiêu ạ :-s. Newbie khổ thế đấy
Code:
void guidl(unsigned char x) { unsigned char i,tg; INTCON2bits.RBPU=0;// keo pull up len duong nguon ADCON1=0X0f;// dua các chân cong B vao che do IO Degital TRISBbits.TRISB5=0; TRISBbits.TRISB4=0; TRISBbits.TRISB3=0; for(i=1;i<=8;i++) { tg=x&128; if( tg==0) LATBbits.LATB5=0; else LATBbits.LATB5=1; //Kich hoat xung LATBbits.LATB4=0; LATBbits.LATB4=1; LATBbits.LATB4=0; //Dich trai 1 bit x=x*2; } //Kich hoat chot LATBbits.LATB3=0; LATBbits.LATB3=1; LATBbits.LATB3=0; } void hang(unsigned char hang,unsigned char giatri) { int i; unsigned char m; TRISD=0; m=0b000000001; for(i=0;i<hang;i++) { m=m*2; } m=255-m; LATD=m; guidl(giatri); }
Comment