View Full Version : câu hỏi về MẢNG trong C.(dù dốt những vẫn phải hỏi)
pucapuca123
16-07-2011, 12:18 PM
mình có đoạn code như vậy.
const unsigned char LED_DATA[10]={0x05,0xDD,0x46,0x54,0x9C,0x34,0x24,0x5D,0x04,0x1 4};// từ số 0>>>số 9;
unsigned char MANG_A[5]={1,2,3,4,5};
a=MANG_A[0];
hoặc
a=MANG_A[1];
hoặc
a=MANG_A[2];
hoặc
a=MANG_A[3];
hoặc
a=MANG_A[4];
LED_Buffer[1]=LED_DATA[a/10];
LED_Buffer[2]=LED_DATA[a%10];
======> hiển thị được các số chính xác từ 1>>>5;
nhưng khi mình thay
unsigned char MANG_B[5]={10,20,31,41,51};
a=MANG_B[0];
hoặc
a=MANG_B[1];
hoặc
a=MANG_B[2];
hoặc
a=MANG_B[3];
hoặc
a=MANG_B[4];
LED_Buffer[1]=LED_DATA[a/10];
LED_Buffer[2]=LED_DATA[a%10];
=========> SAI HIỂN THỊ LUNG TUNG HOẶC TOÀN 0.
các bạn giúp mình với.
vì sao ko hiển thị được MANG_B.
cám ơn các bạn!
dinhnambkhn
16-07-2011, 02:39 PM
neu dung trong vdk thi ban nen dua ve he hex het di!tren kia to thay ban de he thap phan kia!unsigned char MANG_B[5]={10,20,31,41,51};ban kiem tra lai thu coi!than
mình có đoạn code như vậy.
const unsigned char LED_DATA[10]={0x05,0xDD,0x46,0x54,0x9C,0x34,0x24,0x5D,0x04,0x1 4};// từ số 0>>>số 9;
unsigned char MANG_A[5]={1,2,3,4,5};
a=MANG_A[0];
hoặc
a=MANG_A[1];
hoặc
a=MANG_A[2];
hoặc
a=MANG_A[3];
hoặc
a=MANG_A[4];
LED_Buffer[1]=LED_DATA[a/10];
LED_Buffer[2]=LED_DATA[a%10];
======> hiển thị được các số chính xác từ 1>>>5;
nhưng khi mình thay
unsigned char MANG_B[5]={10,20,31,41,51};
a=MANG_B[0];
hoặc
a=MANG_B[1];
hoặc
a=MANG_B[2];
hoặc
a=MANG_B[3];
hoặc
a=MANG_B[4];
LED_Buffer[1]=LED_DATA[a/10];
LED_Buffer[2]=LED_DATA[a%10];
=========> SAI HIỂN THỊ LUNG TUNG HOẶC TOÀN 0.
các bạn giúp mình với.
vì sao ko hiển thị được MANG_B.
cám ơn các bạn!
vẫn hiển thị bình thường,bạn lên đưa ra port để kiểm tra.
#include <16F877A.h>//phat tone OK
#fuses NOWDT,PUT,XT,NOPROTECT
#use delay(clock=4000000)
#use fast_io(b)
#use fast_io(d)
//#use fast_io(c)
#use fast_io(a)
const unsigned char LED_DATA[10]={0x05,0xDD,0x46,0x54,0x9C,0x34,0x24,0x5D,0x04,0x1 4};// tu+` so^'
unsigned char MANG_B[5]={10,20,31,41,51};
int8 a;
main()
{
set_tris_b(0x00);
set_tris_c(0x00);
a=MANG_B[1];
output_b(LED_DATA[a/10]);
output_c(LED_DATA[a%10]);
while(1)
{
}
}
pucapuca123
16-07-2011, 06:24 PM
vẫn hiển thị bình thường,bạn lên đưa ra port để kiểm tra.
#include <16F877A.h>//phat tone OK
#fuses NOWDT,PUT,XT,NOPROTECT
#use delay(clock=4000000)
#use fast_io(b)
#use fast_io(d)
//#use fast_io(c)
#use fast_io(a)
const unsigned char LED_DATA[10]={0x05,0xDD,0x46,0x54,0x9C,0x34,0x24,0x5D,0x04,0x1 4};// tu+` so^'
unsigned char MANG_B[5]={10,20,31,41,51};
int8 a;
main()
{
set_tris_b(0x00);
set_tris_c(0x00);
a=MANG_B[1];
output_b(LED_DATA[a/10]);
output_c(LED_DATA[a%10]);
while(1)
{
}
}
mình kiểm tra lại rồi.lỗi do trình dịch bạn à.
mình làm như bác * bqviet * bên dientuvietnam thì là chạy ok.
unsigned char a, b, c; //khai báo char a là lỗi đấy
a = MANG_B[0];
b = a/10;
c = a%10;
LED_Buffer[1]=LED_DATA[b];
LED_Buffer[2]=LED_DATA[c];
cám ơn bạn nhiều!
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.