![]() |
![]() |
#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. |
![]() |
![]() |
![]() |
#2 |
Đệ tử 1 túi
Tham gia ngày: Aug 2010
Bài gửi: 22
: |
huhu.ai vào xem giúp em với
|
![]() |
![]() |
![]() |
#3 |
Đệ tử 1 túi
Tham gia ngày: Jan 2010
Bài gửi: 11
: |
em cũng thử rùi mà k phát hiện
|
![]() |
![]() |
![]() |
#4 |
Đệ tử 3 túi
Tham gia ngày: Sep 2010
Bài gửi: 55
: |
Bạn có mấy chổ khai báo không hợp lý. Ví dụ bạn xài thạch anh 4M mà khai báo fuses la hs,rồi lại còn xt nữa chứ. xài cái nao thì xài 1 cái thoy.từ 4M trở xuống thì xài "xt",lớn hơn 4M thì xài "hs".ngoài ra thì biến count xài phung phí wa'.
Thứ 2 là sau khi kiểm tra đúng như trên mà vẫn chạy sai thì koi trong Proteus thử chổ xài khai báo thạch anh có đặt đúng giá trị như trong code chưa?
__________________
heart.touching.2010@gmail.com! |
![]() |
![]() |
![]() |
#5 |
Đệ tử 3 túi
Tham gia ngày: Sep 2010
Bài gửi: 55
: |
àh quên nửa.trong Pic 18 thì timer0 gồm 2mode là 8bit và 16bit có thể mặc định code của bạn là 16bit nên chạy tầm bậy.để chuyên sang chế độ 8bit thi bạn thêm : setup_timer_0(RTCC_INTERNAL|RTCC_DIV_2|RTCC_8_BIT) ; kiểm tra hết mọi thứ như vậy thì sẽ chạy bình thường thoy.
__________________
heart.touching.2010@gmail.com! |
![]() |
![]() |
![]() |
Ðiều Chỉnh | |
Xếp Bài | |
|
|