22-06-2009, 02:02 AM | #1 |
Nhập môn đệ tử
Tham gia ngày: Nov 2008
Bài gửi: 2
: |
sửa giùm em code này với
em mới viết xong cái code ni , hok bít bị sai chỗ nào , mong các bro giúp giùm với .
mô tả : xuất dữ liệu ra portb , portd điều khiển hàng , cột cho ma trận led 8*8. thuật toán sử dụng matrix. hiện tượng : led hok chạy mà đứng im hoài. các bro giúp jum em nhanh nhanh với. thanks!! #include<16f877a.h> #include<def_877a.h> #fuses HS,NOWDT,NOPROTECT,NOLVP #device *=16 ADC=8 #use delay(clock=4000000) int1 a[8][8]; int1 b[8],d[8]; #define PIN_B0 b[0] #define PIN_B1 b[1] #define PIN_B2 b[2] #define PIN_B3 b[3] #define PIN_B4 b[4] #define PIN_B5 b[5] #define PIN_B6 b[6] #define PIN_B7 b[7] #define PIN_D0 d[0] #define PIN_D1 d[1] #define PIN_D2 d[2] #define PIN_D3 d[3] #define PIN_D4 d[4] #define PIN_D5 d[5] #define PIN_D6 d[6] #define PIN_D7 d[7] void checkvalue(int m,n); void main() { int i,j; trisb=0x00; trisd=0x00; while(1){ for(i=0;i<=8;i++){ for(j=0;j<=8;j++){a[i][j]=1; checkvalue(i,j); delay_ms(100); if(j==8)j=0; } if(i==8)i=0; } } } void checkvalue(m,n) { if(a[m][n]==1){ b[m]=0; d[n]=1; delay_ms(20); d[n]=0; } } |
22-06-2009, 09:53 AM | #2 |
Đệ tử 6 túi
Tham gia ngày: Jul 2007
Bài gửi: 146
: |
mình nghĩ là bạn ngocthanh07 phát hiện đúng đấy, rời vòng for thì cả i và j đều =9, và vì thế vòng for sẽ ko bao giờ được quyét nữa, và có lẽ đèn sẽ dừng lại ở a[8][8]
__________________
mạch nạp - kit phát triển - linh kiện điện tử www.PNLabvn.com |
22-06-2009, 10:16 AM | #3 |
Đệ tử 4 túi
Tham gia ngày: Aug 2008
Bài gửi: 89
: |
Thêm 1 lỗi về Memory Segment Fault: a[][],b[],d[] chỉ khai báo mảng 8 phần tử mà lại cho phép gán a[i][j],b[n],[d[m] trong trường hợp i=j=m=n=8.
__________________
Quang báo RG/RGB 6/8/12/16 bits màu Phone No: 0905.034.086 Email: lmquyen@gmail.com |
17-08-2009, 11:26 AM | #4 |
Nhập môn đệ tử
Tham gia ngày: Aug 2009
Bài gửi: 1
: |
Chương trình của bạn như vậy không thể dịch chuyển gì đâu.
Trước tiên, tôi miêu tả ý tưởng của bạn xem có phải không rồi mình sẽ viết code giúp bạn: + Điều khiển 01 Led 8x8. (1 màu) + portB nối vào hàng, portD nối vào cột. + Muốn chữ nối đuôi nhau chạy từ phải sang trái phải không? ==>Để chắc chắn khớp với phần cứng, đề nghị bạn post hình luôn đi, để mình dễ đường viết code. Khỏi phải sửa đi, sửa lại vì không hợp với phần cứng. |
|
|