PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Các ngôn ngữ lập trình khác (CCS C, HT PIC,...)

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 17-03-2012, 12:41 AM   #1
yukul
Đệ tử 1 túi
 
Tham gia ngày: Aug 2010
Bài gửi: 22
:
Unhappy cac anh vao xem giup code ngat_timer0 giup e voi

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;
}
}
Hình Kèm Theo
File Type: jpg Capture.JPG (117.0 KB, 1 lần tải)
File Kèm Theo
File Type: rar interrupt_timer0.rar (41.3 KB, 8 lần tải)

thay đổi nội dung bởi: yukul, 17-03-2012 lúc 12:53 AM.
yukul vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-03-2012, 12:36 PM   #2
yukul
Đệ 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
yukul vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 24-03-2012, 04:54 PM   #3
kyanh911
Đệ 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
kyanh911 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 15-04-2012, 09:57 PM   #4
qloi
Đệ 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!
qloi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 15-04-2012, 10:33 PM   #5
qloi
Đệ 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!
qloi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 04:05 AM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam