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 Bài Trong Ngày 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 27-04-2010, 10:56 PM   #1
kiemkhach10
Đệ tử 5 túi
 
Tham gia ngày: Jan 2010
Bài gửi: 114
:
lại làm phiền các huynh về vấn đề Delay?

mình viết 1 hàm Delay như thế này:
#include <htc.h>
__CONFIG(HS & WDTDIS& LVPDIS& BORDIS);
void Delay(unsigned char n)
{
unsigned int i,j;
for(i=0;i<n;i++)
for(j=0;j<100;j++);
}
mình dùng PIC16F88 và THACH ANH ngoài 20000000M.
mình tính mỗi 1 chu kì máy là 0,2us.
mình để: Delay(200) = 200 x 0,2 x (100x255)=1020000 us ~ 1s
ko hiểu sao khi mình chạy trên mạch thật thì thời gian ko đúng và sai lệch rất nhiều.
mong các bạn chỉ giúp
cám ơn các bạn nhiều!
kiemkhach10 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 28-04-2010, 05:36 PM   #2
buiminhquy
Đệ tử 1 túi
 
Tham gia ngày: Mar 2009
Bài gửi: 14
:
Trích:
Nguyên văn bởi kiemkhach10 View Post
mình viết 1 hàm Delay như thế này:
#include <htc.h>
__CONFIG(HS & WDTDIS& LVPDIS& BORDIS);
void Delay(unsigned char n)
{
unsigned int i,j;
for(i=0;i<n;i++)
for(j=0;j<100;j++);
}
mình dùng PIC16F88 và THACH ANH ngoài 20000000M.
mình tính mỗi 1 chu kì máy là 0,2us.
mình để: Delay(200) = 200 x 0,2 x (100x255)=1020000 us ~ 1s
ko hiểu sao khi mình chạy trên mạch thật thì thời gian ko đúng và sai lệch rất nhiều.
mong các bạn chỉ giúp
cám ơn các bạn nhiều!
mình cũng gặp vấn đề tương tự như bạn.Mà cũng ko hiểu vì sao?
đành phải đợi các cao nhân giúp đỡ vây
buiminhquy vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 29-04-2010, 10:22 AM   #3
MAINGUYEN_STU
Nhập môn đệ tử
 
Tham gia ngày: Oct 2008
Bài gửi: 1
:
Trích:
Nguyên văn bởi kiemkhach10 View Post
mình viết 1 hàm Delay như thế này:
#include <htc.h>
__CONFIG(HS & WDTDIS& LVPDIS& BORDIS);
void Delay(unsigned char n)
{
unsigned int i,j;
for(i=0;i<n;i++)
for(j=0;j<100;j++);
}
mình dùng PIC16F88 và THACH ANH ngoài 20000000M.
mình tính mỗi 1 chu kì máy là 0,2us.
mình để: Delay(200) = 200 x 0,2 x (100x255)=1020000 us ~ 1s
ko hiểu sao khi mình chạy trên mạch thật thì thời gian ko đúng và sai lệch rất nhiều.
mong các bạn chỉ giúp
cám ơn các bạn nhiều!
Chào bạn, bạn có kiểm soát được vòng lặp FOR mất bao nhiêu thời gian ko? con số 0,2 của bạn nên xem xét lại. nếu muôn đơn giảng thì dùng hàm delay có sẵn đi.
ví dụ: delay_ms(1000); thì ta có được 1s như mong muốn.
MAINGUYEN_STU vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 29-04-2010, 12:01 PM   #4
kiemkhach10
Đệ tử 5 túi
 
Tham gia ngày: Jan 2010
Bài gửi: 114
:
Trích:
Nguyên văn bởi MAINGUYEN_STU View Post
Chào bạn, bạn có kiểm soát được vòng lặp FOR mất bao nhiêu thời gian ko? con số 0,2 của bạn nên xem xét lại. nếu muôn đơn giảng thì dùng hàm delay có sẵn đi.
ví dụ: delay_ms(1000); thì ta có được 1s như mong muốn.
vì mình dùng Hi-tec PIC nên ko bít hàm Delay có sẵn ở đâu?
bạn có thể port lên dùm mình ko?
cám ơn bạn!
kiemkhach10 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à 06:47 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