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 16-05-2009, 12:07 PM   #1
numb2008
Nhập môn đệ tử
 
Tham gia ngày: Aug 2008
Bài gửi: 10
:
À mình đã giả quyết được rồi, đoạn code như sau

void docxung()
{
if (input(PIN_C5)==0)
{
while(input(PIN_C5)==0); // ko lam gi cho toi khi thay doi muc
///
count=count+1;
x=count;
break;
}
else
{
x=count;
break;}
}
vì không thoát ra khỏi vòng lặp sau khi tăng biến count, nên biến sẽ tăng liên tục.
Nhân tiện hỏi các bạn luôn là mình định dùng timer0 để đếm giá trị xung vào(số vòng quay) trong vòng 10s chẳng hạn, vậy mình phải đặt đoạn code trên ở chỗ nào, và giá trị khai báo cho timer cụ thể ra sao?
numb2008 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-05-2009, 12:06 PM   #2
lequocbao
Đệ tử 6 túi
 
lequocbao's Avatar
 
Tham gia ngày: Oct 2008
Nơi Cư Ngụ: HCM
Bài gửi: 137
:
Trích:
Nguyên văn bởi numb2008 View Post
À mình đã giả quyết được rồi, đoạn code như sau

void docxung()
{
if (input(PIN_C5)==0)
{
while(input(PIN_C5)==0); // ko lam gi cho toi khi thay doi muc
///
count=count+1;
x=count;
break;
}
else
{
x=count;
break;}
}
vì không thoát ra khỏi vòng lặp sau khi tăng biến count, nên biến sẽ tăng liên tục.
Nhân tiện hỏi các bạn luôn là mình định dùng timer0 để đếm giá trị xung vào(số vòng quay) trong vòng 10s chẳng hạn, vậy mình phải đặt đoạn code trên ở chỗ nào, và giá trị khai báo cho timer cụ thể ra sao?
biến count tăng liên tục như bạn mô tả vì pin_c5 của bạn ở trạng thái logic 0 lâu hơn nhiều lần so với thời gian quét chương trình của pic.Vì vậy bạn cho biết lun là khi nào thì hàm void docxung() đó bạn gọi.
vd:
như bạn nói là pin_c5 sẽ ở mức logic 0 là khoảng 0.5s ,mà tạm tính thời gian để pic quét toàn bộ chương trình là 0.1s(vd thôi nha bạn hì hì) thì có phải là sau 0.5s biến count sẽ tăng lên 5 đơn vị (vì điều kiện để tăng biến count là pin_c5==0 vẫn thõa mãn ở 4 lần quét chưong trình còn lại)đúng không nào?trong khi bạn chỉ muốn là count chỉ tăng 1 đơn vị

bạn chịu khó post toàn bộ code chương trình lên đây rùi mọi người sẽ hướng dẫn cho bạn là nên "nhét" đoạn code của bạn vào chổ nào!
__________________
A&A

thay đổi nội dung bởi: lequocbao, 17-05-2009 lúc 12:18 PM.
lequocbao 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à 05:40 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