em đang thử tập tành code matrix led 32x8 chạy chữ thì gặp 1 lỗi suy nghĩ mãi mấy ngày ko ra.
Ko có vòng lặp cho hàm main mà sao nó cứ lặp vô tận.
mình mới biết code thôi nên nhờ mấy bạn chỉ giùm học hỏi.
ko biết mình quét led như vậy có ổn ko nữa
Ko có vòng lặp cho hàm main mà sao nó cứ lặp vô tận.
Code:
#include <REGX52.H> sbit DATA=P3^0; sbit SCK=P3^1; //xung kich sbit SCL=P3^3; // xung chot,xuat du lieu sbit MR=P3^2; sbit OE=P3^4; unsigned char ma[]={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0x76, // doan ma hien thi . 0x00, 0xF7, 0xF7, 0xF7, 0x00, 0xFF, 0x87, 0x33, 0x7B, 0x33, 0xCF, 0x03, 0xE7, 0xF3, 0x03, 0xFF, 0x87, 0x33, 0x7B, 0x23, 0xFF, 0x9F, 0x6B, 0x6B, 0x23, 0x07, 0xFF, 0x03, 0xF7, 0xCF, 0xBF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}; void tre ( char time) { while(time--); } void main(void) { unsigned char a,b,c,d; MR=1; for(a=0;a<32;a++) { DATA=0; SCK=0; SCK=1; } for(a=0;a<65;a++) //chon cot dau tien { for(d=0;d<7;d++) { b=a; DATA=1; //dua 1 vao cot dau tien truoc SCK=0; SCK=1; for(c=0;c<32;c++) // set cot 1->32 lan luot len 1 va dua du lieu vao { P2=ma[b]; OE=0; SCL=0; SCL=1; tre(50); OE=1; tre(50); b=b+1; DATA=0; //lan luot dich 0 vao SCK=0; SCK=1; } } } }
ko biết mình quét led như vậy có ổn ko nữa