![]() |
![]() |
#1 |
Đệ tử 1 túi
Tham gia ngày: Aug 2010
Bài gửi: 22
: |
![]() e làm về ngắt timer0 de nhay led don.sau 1s thì led sang tăng dần lên nhưng nó chạy rất chậm.không đúng 1s.không biết có phải sai code hay tính toán sai.các anh vào xem giúp.
dưới đây là code và mô phỏng ạ #include <18f4520.h> #fuses nowdt,hs,put,xt,noprotect #device *=16 adc=8 #use delay(clock=4000000) #byte portb=0xf81 int16 count; int8 a; //chuong trinh ngat timer0 #int_timer0 void interrupt_timer0() { set_timer0(6); count++; if(count==20) //20*500us=0.01s nhung no chay rat cham khoang hon 1s->khong dung { count=0; rotate_left(&a,1); } } void main() { set_tris_b(0x00); enable_interrupts(int_timer0); setup_timer_0(RTCC_INTERNAL|RTCC_DIV_2); enable_interrupts(global); set_timer0(6); //T_dingthi=2*(256-6)*1us=500us a=0xfe; while(true) { portb=a; } } thay đổi nội dung bởi: yukul, 17-03-2012 lúc 12:53 AM. |
![]() |
![]() |
|
|