PDA

View Full Version : giúp em 1 chút về CCS với.


rikimaru87
12-11-2009, 09:23 AM
em muốn quét 16 con led7.
hiển thị 8 giá trị nhiệt độ (từ 00=>80 độ) lưu trong mảng a[] ( 2 con hiển thị 1 giá trị nhiệt độ)
RB0->RB3 : nối với 4 chân chọn chip của 74154
RB4->RB7: nối vào 4 chân của 7447
tần số pic16f877a là 20Mhz
ctrinh sao ko chạy ạ

int8 j=0;
void TIMER1_isr(void)
{
int8 i,temp;
setup_timer_1(55536);
i=j/2;
convert_bcd((int8)a[i]);
if(j%2==0) // hien thi hang chuc
{
temp=j*2^4+high;
PORTB=temp;
}
if(j%2==1) // hien thi hang don vi
{
temp=j*2^4+low;
PORTB=temp;
}
j++;
if(j==6)
{
j=0;
}
}
void convert_bcd(int8 x)
{
low=x%10; // so hang don vi
high=x/10; // hang chuc
}

Mr.Bi
12-11-2009, 09:39 AM
t k hỉu bạn viết code kiểu j , chẳng có hàm main() , mún sd ngắt timer 1 để quét led thì phải khai báo đúng . Không có vòng lặp thì ct của u chỉ chạy đc 1 lần + tốc độ quá nhah--> k thấy j

rikimaru87
12-11-2009, 09:53 AM
hihi. mình mún hỏi cái giải thuật trên tại sao sai. các phần khai báo hay lặp thì ok rùi bạn à. tức là vào chương trình timer1 viết vậy có j sai ? bạn xem kĩ giùm mình tí