PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và PIC

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

Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 08-12-2010, 12:36 AM   #1
nhanconan030789
Đệ tử 3 túi
 
Tham gia ngày: Mar 2009
Bài gửi: 49
:
em mới học pic nên còn gà mờ lắm!các anh đừng cười em!ông thầy dạy bài timer0 bảo là có thể dùng xung bên ngoài từ chân T0CKI nhưng em da thử rồi mà không biết làm cách nào để định nghĩa cái chan RA4 đó là xung vào hết!!anh chị nào làm ơn giúp em với,em acmr ơn rất nhiều!!
#include<htc.h>
void init_timer0()
{
T0CS=1;
T0SE=0;
PSA=1;
TMR0=253;
T0IF=0;
T0IE=1;
PEIE=1;
GIE=1;
}
void interrrupt_timer0()
{
if (T0IF==1)
{
T0IF=0;
TMR0=253;
RD0^=1;
}
}
void main()
{
TRISA4=1;
TRISD0=0;
init_timer0();
while(1);

}
nhanconan030789 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-12-2010, 10:00 PM   #2
nhoczin
Đệ tử 3 túi
 
Tham gia ngày: Jul 2008
Bài gửi: 57
:
Trích:
Nguyên văn bởi nhanconan030789 View Post
em mới học pic nên còn gà mờ lắm!các anh đừng cười em!ông thầy dạy bài timer0 bảo là có thể dùng xung bên ngoài từ chân T0CKI nhưng em da thử rồi mà không biết làm cách nào để định nghĩa cái chan RA4 đó là xung vào hết!!anh chị nào làm ơn giúp em với,em acmr ơn rất nhiều!!
#include<htc.h>
void init_timer0()
{
T0CS=1;
T0SE=0;
PSA=1;
TMR0=253;
T0IF=0;
T0IE=1;
PEIE=1;
GIE=1;
}
void interrrupt_timer0()
{
if (T0IF==1)
{
T0IF=0;
TMR0=253;
RD0^=1;
}
}
void main()
{
TRISA4=1;
TRISD0=0;
init_timer0();
while(1);

}
Mình ko rành HTPIC tuy nhiên theo mình biết chương trình của bạn sẽ không chạy được vì đọc cái code kia ko thấy chỗ nào chú thích cho chương trình ngắt cả. Mình thấy nếu sử dụng chương trình con phục vụ ngắt thì nó phải có 1 kí hiệu gì đó vd #INT.... chẳng hạn, còn chỉ viết thế kia thì trình dịch sẽ hiểu đấy là 1 chương trình con bình thường ( có thể đấy là nguyên nhân ? )>>> với chương trình con bình thường không thấy bạn gọi hàm interrupt_timer0 ở chỗ nào >>> ko chạy được (suy đoán thế, nếu sai thì góp ý nhé).
nhoczin vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 12-12-2010, 06:20 PM   #3
toandinh1990
Nhập môn đệ tử
 
Tham gia ngày: Sep 2010
Bài gửi: 2
:
Các cao thủ ơi giúp mình với,chả là mình đang làm mạch trái tim bằng PIC tặng Noel này cho nàng, gặp một lỗi rất oái ăm là code dài quá quá bank 0 đi,ko biết cách nào để chuyển sang bank1 được(chuyển dc thì chạy ở bank 0 lại ko đúng hix...)
ai bít giúp mình sớm sớm nhé sắp tới noel rùi mà hjj
lỗi mình up lên đây nè.sr vì ko bít up ảnh lên diễn đàn .thankssss mọi người nhé
http://www.mediafire.com/?lysl6dic6whmb5m
toandinh1990 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 03-05-2012, 12:09 AM   #4
soxxxcool
Nhập môn đệ tử
 
soxxxcool's Avatar
 
Tham gia ngày: Nov 2010
Bài gửi: 2
:
Trích:
Nguyên văn bởi nhanconan030789 View Post
em mới học pic nên còn gà mờ lắm!các anh đừng cười em!ông thầy dạy bài timer0 bảo là có thể dùng xung bên ngoài từ chân T0CKI nhưng em da thử rồi mà không biết làm cách nào để định nghĩa cái chan RA4 đó là xung vào hết!!anh chị nào làm ơn giúp em với,em acmr ơn rất nhiều!!
#include<htc.h>
void init_timer0()
{
T0CS=1;
T0SE=0;
PSA=1;
TMR0=253;
T0IF=0;
T0IE=1;
PEIE=1;
GIE=1;
}
void interrrupt_timer0()
{
if (T0IF==1)
{
T0IF=0;
TMR0=253;
RD0^=1;
}
}
void main()
{
TRISA4=1;
TRISD0=0;
init_timer0();
while(1);

}
nếu bạn viết bằng HTPIC thì bạn thiếu dòng "void interrupt" phía trên hàm "void interrrupt_timer0()". interrrupt_timer0() chỉ là hàm con của bạn thôi,bạn nên có 1 dòng "void interrupt" để MBLAB hiểu là bạn muốn thông báo là bạn muốn sử dụng ngắt timer 0. Mình nghĩ bạn nên sửa đoạn ngắt timer lai như thế này:

void interrupt
void interrrupt_timer0()
{
if (T0IF==1)
{
T0IF=0;
TMR0=253;
RD0^=1;
}
}

Chúc bạn thành công.
__________________
www.titans.com.vn
Where technology begins !
soxxxcool vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời

Ðiều Chỉnh
Xếp Bà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à 11:44 PM.


Đượ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