View Single Post
Old 04-08-2009, 04:03 PM   #3
sonduy1
Đệ tử 1 túi
 
Tham gia ngày: Jun 2009
Bài gửi: 20
:
vậy cho mình hỏi dùng timer ?

Trích:
Nguyên văn bởi mtuankct View Post
Theo mình để thực hiện việc này thì bạn dùng một Timer để thực hiện vòng quét Led (hàm hiển thị của bạn) còn trong chuơng trình main bạn sẽ thay đổi dữ liệu để hiện được các số khác nhau.
#INT_TIMER1
void ngat_timer1()
{ int time=0,count=0;
setup_timer_1(T1_INTERNAL|T1_DIV_BY_8);
set_timer1(24280);
time++; // timer 1 tràn sau ==> 500 000 us = 0.5s
if(time==2) // 2* 500 000 =1s
{
count++;
if(count==1)
{ portb=bang_ma[n1];
output_low(pin_d0);//mo transistor để led7 doan dc cap 5v(dung anot chung)
}
if(count==2)
{ portb=bang_ma[n2];
output_low(pin_d1);//tuong tu o d0
}
if(count==3)
{ portb=bang_ma[n3];
output_low(pin_d3);//
}
if(count==4)
{ portb=bang_ma[n4];
output_low(pin_d4);//
}
count=0;
}
enable_interrupts(int_timer1);
enable_interrupts(global);
}



bác coi giup sau e thực hiên quét mà kô dc.
sonduy1 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn