|
Tài trợ cho PIC Vietnam |
|
Ðiều Chỉnh | Xếp Bài |
15-10-2011, 03:31 PM | #1 |
Nhập môn đệ tử
Tham gia ngày: Feb 2011
Bài gửi: 5
: |
Các a xem dùm e đoạn code ccs này bị lỗi gì với, em muốn điên rồi !
E ĐANG LÀM ĐỀ TÀI QUANG BÁO, THỬ VIẾT HÀM GỬI DỮ LIỆU CHO 74595, HÀM THÌ CHẠY TỐT RỒI, NHƯNG EM LỒNG VÔ HÀM FOR THÌ NÓ CỨ BỊ LỖI, KHÔNG HIỆN GÌ LÊN LED MA TRẬN HẾT. EM DÙNG 74138 QUÉT HÀNG. 74595 3 CON NỐI TIẾP ĐƯA DỮ LIỆU RA CỘT. CODE E BỊ LỖI PHẦN 74138 MÔ PHỎNG KHÔNG CÓ TÍN HIỆU GÌ HẾT, CHỖ LỆNH PORTC=J+8 ẤY. CÁC A GIÚP DÙM E PHÁT VỚI, MẤY NGÀY NAY MÒ HOÀI MÀ KHÔNG BIẾT BỊ GÌ, MUỐN ĐIÊN RỒI. HIC. EM CHÂN THÀNH CẢM ƠN RẤT NHIỀU !
ĐÂY LÀ CODE CỦA E, E CÓ GỬI LUÔN FILE MÔ PHỎNG PROTUES CHO CÁC A XEM GIÚP. #include<18f4431.h> #include<def_4431.h> #fuses hs,nowdt,nolvp #use delay(clock=12M) #define DATA RB1 #define CLOCK RB2 #define LATCH RB4 int8 send,i,j; void send_595(int8 send){ // HÀM GỬI DỮ LIỆU RA 74595 for(i=0;i<=7;i++) { if(bit_test(send,7)) DATA=1; else DATA=0; CLOCK=0; // TAO XUNG CLOCK DICH DATA VAO 74595 CLOCK=1; send=send<<1; } LATCH=0; // CHOT DU LIEU RA 74595 LATCH=1; } void main(void) { TRISB=0x00; TRISC=0x00; CLOCK = 1; LATCH = 1; WHILE(1){ for (j=0;j<=7;j++) { if (j&1) { send_595(0x55); send_595(0x55); send_595(0x55); } else{ send_595(0xAA); send_595(0xAA); send_595(0xAA);} } PORTC=j+8; // BỊ LỖI CHỖ NÀY, ĐÁNG LẼ PHẢI ĐƯA DỮ LIỆU RA PORT C MÀ NÓ KHÔNG ĐƯA GÌ RA CẢ. } } MỤC ĐÍCH EM MUỐN NÓ HIỆN NHƯ HÌNH BÊN DƯỚI, NHƯNG KHÔNG DÙNG HÀM FOR THÌ LÀM ĐƯỢC, CÒN LỒNG VÔ LÀM FOR THÌ NÓ KHÔNG ĐƯA DỮ LIỆU RA 74138. |
|
|