PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và PIC > Những câu hỏi thường gặp

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

Những câu hỏi thường gặp Những lỗi cơ bản thường gặp khi làm việc với PIC hoặc những vấn đề cơ bản nhất thường được hỏi trong những năm qua

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 16-05-2011, 06:21 PM   #31
automatic151188
Nhập môn đệ tử
 
Tham gia ngày: Apr 2011
Bài gửi: 2
:
Các A chị giúp E sửa lỗi code với!
E dùng timer1 đếm xung clock đưa vào từ chân T1CKI.Timer0 tạo thời gian1s.
nhưng giá trị hiển thị lên LCD cứ thay đổi mong mọi người giúp đỡ.Dưới đây là code
#include <16F877A.h>
#include <def_877a.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#device *=16 adc=10
#use delay(clock=20000000)
#include <lcd_lib_4bit.c>
#use fast_IO(C)
#use fast_IO(a)
#use fast_IO(B)
#use fast_IO(D)
#byte portC=0x07
int8 nghin,tram,chuc,donvi;

void tinhtoan_hienthi(int16 x);
int16 x;

//------DAT BIEN TOAN CUC----------------//

INT16 SOLANLAP=0;
INT16 BIEN;
INT16 SOXUNGDEM_1PHUT=0;


//.................................................. .....................................


#INT_TIMER0
VOID SOXUNGDEM_1S()
{
solanlap=solanlap+1;
}



void TINHTOAN_HIENTHI(int16 x) // thuc hien tach so va dua ra hien thi
{nghin = x / 1000 + 0x30;
x = x % 1000;
tram = x / 100 + 0x30; // tách s? hàng tram
x = x % 100; // chia l?y ph?n d?
chuc = x / 10 + 0x30; // tách l?y ph?n ch?c
donvi = x % 10 + 0x30; // ph?n don v?
lcd_putchar(nghin);
lcd_putchar(tram);
lcd_putchar(chuc);
lcd_putchar(donvi);
}

void main()
{
SET_TRIS_A(0X0);
set_tris_C(0x01);
lcd_putcmd(0x80);
lcd_init();
delay_ms(10);
BIEN=0;

setup_TIMER_1(T1_EXTERNAL);
set_TIMER1(0);

setup_timer_0(RTCC_INTERNAL|RTCC_DIV_2);
set_timer0(6);
enable_interrupts(INT_RTCC);
enable_interrupts(GLOBAL);
DELAY_MS(10);
while( TRUE )
{
if (solanlap==10000)
{
BIEN=GET_TIMER1();
PORTA=BIEN;
SOXUNGDEM_1PHUT=(60*BIEN);
SOLANLAP=0;
SET_TIMER1(0);
set_timer0(6);
lcd_putcmd(0x88);
TINHTOAN_HIENTHI(SOXUNGDEM_1PHUT);
}
}
}
automatic151188 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 26-05-2011, 12:26 AM   #32
hangocminh1989
Đệ tử 6 túi
 
Tham gia ngày: Apr 2009
Bài gửi: 132
:
mình dùng ngược lại với bạn, timer1 đếm time, timer0 tính xung, giá trị cũng nhảy nhảy. hic, đang mò mà chưa biết sao cho nó ok nhất, thời gian đo thực tế không chính xác lắm, đang tìm cách tính chu kì máy của pic để tính cho chuẩn. đọc cái code của bạn, có một số nhận xét sau:
bạn không cho ngắt timer1 kìa: enable_interrupts(int_timer1);
không biết timer1 của bạn có prescaler bằng bao nhiêu?
mình thấy nếu cho hiển thị lcd vào trong vòng lặp while(1) thì giá trị hiển thị lcd cứ nhảy như ngựa ấy.
tạm thời chỉ biết tới đây thui. mong cùng hợp tác.
hangocminh1989 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 27-05-2011, 04:26 AM   #33
automatic151188
Nhập môn đệ tử
 
Tham gia ngày: Apr 2011
Bài gửi: 2
:
Smile

Trích:
Nguyên văn bởi hangocminh1989 View Post
mình dùng ngược lại với bạn, timer1 đếm time, timer0 tính xung, giá trị cũng nhảy nhảy. hic, đang mò mà chưa biết sao cho nó ok nhất, thời gian đo thực tế không chính xác lắm, đang tìm cách tính chu kì máy của pic để tính cho chuẩn. đọc cái code của bạn, có một số nhận xét sau:
bạn không cho ngắt timer1 kìa: enable_interrupts(int_timer1);
không biết timer1 của bạn có prescaler bằng bao nhiêu?
mình thấy nếu cho hiển thị lcd vào trong vòng lặp while(1) thì giá trị hiển thị lcd cứ nhảy như ngựa ấy.
tạm thời chỉ biết tới đây thui. mong cùng hợp tác.
////////////////////////////////////////////////////////////////////////////////////////////////////////
enable_interrupts(int_timer1);
cấu hình Timer1 làm đếm xung thì Mình không cần dùng ngắt Timer1 nữa.Khi đó Mình dùng Timer0 đọc giá trị của Timer1 để biết số xung đã đếm dc trong 1 giây (ngắt Timer0 của Mình là 1 giây) từ đó tính ra tốc độ.
Hiện mình đã sửa được và tốc độ hiển thị LCD là chính xác.
Mình đang làm phần giao tiếp với máy tình bằng Lapview! Điều khiển (on-off) động cơ thì đc rồi nhưng lại mắc ở việc hiển thị tốc độ lên máy tính!(Mình đọc dữ liệu từ bộ đệm và đã thử tách nhưng hiển thị không chuẩn). Mong Bạn và các A (Chị) giúp đỡ.
automatic151188 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 23-10-2011, 12:50 AM   #34
nguyenuoc02
Đệ tử 1 túi
 
Tham gia ngày: Apr 2011
Bài gửi: 11
:
Can_Su_Giup_Do_Ve_Pic 16f877A

hj cac pan, minh mun tim hiu ve mach thiet ke dong co DC dieu khien tu xa bang Remote dung Pic 16f877A, thi can nhug con linh kien nao de hoan thanh mach nay. Neu pan nao pit thi huong dan cho m voi nha, ah kem theo ca doan Code thi cang tot, boi vi m cug chua am hiu may ve Lap trinh Pic 16f877A. Mog dc su hoi am cua cac pan doc yeu thik dien dan http://www.picvietnam.com
Nick: nguyenuoc02@gmail.com
Thanks nhiu nhiu nha
nguyenuoc02 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 23-10-2011, 12:56 AM   #35
nguyenuoc02
Đệ tử 1 túi
 
Tham gia ngày: Apr 2011
Bài gửi: 11
:
Post Can_Su_Giup_Do_Ve_Pic 16f877A

Can_Su_Giup_Do_Ve_Pic 16f877A

hj cac pan, minh mun tim hiu ve mach thiet ke dong co DC dieu khien tu xa bang Remote dung Pic 16f877A, thi can nhug con linh kien nao de hoan thanh mach nay. Neu pan nao pit thi huong dan cho m voi nha, ah kem theo ca doan Code thi cang tot, boi vi m cug chua am hiu may ve Lap trinh Pic 16f877A. Mog dc su hoi am cua cac pan doc yeu thik dien dan http://www.picvietnam.com
Nick: nguyenuoc02@gmail.com
Thanks nhiu nhiu nha
nguyenuoc02 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 05-07-2012, 10:42 AM   #36
masterking
Nhập môn đệ tử
 
Tham gia ngày: Jan 2012
Bài gửi: 3
:
Trích:
Nguyên văn bởi pk178 View Post
Bạn có thể tham khảo 1 đồ án tốt nghiệp của trường ĐH BKHN về vấn đề này ở địa chỉ
http://www.mediafire.com/?oo34ztnmdq0

Còn 1 đồ án tương tự nữa bạn có thể tham khảo, cũng là bộ điều khiển PID, điều khiển trực tiếp qua giao diện trên máy tính, ở đây mình dùng ngôn ngữ C#, viết trên VS2008, bạn phải có bộ này hoặc mới hơn mới xem được code giao diện. Còn PIC thì mình dùng dòng 16F887, cũng tương tự với dòng 16F877A. Địa chỉ download : http://www.mediafire.com/?116d1d14019zdij
Bác này cho link nhưng không cho pass thì em làm sao down về nghiên cứu được đây? Mong bác hồi âm sớm...thank's
masterking vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-08-2012, 12:13 PM   #37
vandung1234
Nhập môn đệ tử
 
Tham gia ngày: Jul 2012
Bài gửi: 3
:
điều khiển động cơ dc giao tiếp lcd

Mới lụm dc đồ án điều khiển động cơ nhưng phần code bị lỗi anh em chỉ giúp mình với có gì thì gởi wa meo mình cảm ơn nhìu
email:dungnguyencg@yahoo.com.vn
File Kèm Theo
File Type: rar code.doc.rar (16.1 KB, 65 lần tải)
File Type: rar mo phong..rar (105.6 KB, 92 lần tải)
vandung1234 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 26-09-2012, 11:55 PM   #38
baoitc
Nhập môn đệ tử
 
Tham gia ngày: Sep 2012
Bài gửi: 1
:
Trích:
Nguyên văn bởi pk178 View Post
Trong PIC16F877A đã có sẵn module PWM, bạn có thể sử dụng luôn module này, khi dùng module PWM thì timer 2 mặc định được sử dụng cho module này (xem trang 65/234 - datasheet PIC16F877A)



Quá ổn chứ sao không ! Khi sử dụng phương pháp điều khiển phản hồi như vậy, bạn nên áp dụng các luật điều khiển như PID, điều khiển mờ... Điều này sẽ giúp hệ thống ổn định hơn !


Việc set duty phụ thuộc vào mô hình đối tượng (động cơ) của bạn, để làm được điều này, bạn cần biết các thông số của động cơ, nếu không biết các thông số của động cơ, bạn có thể sử dụng các phương pháp nhận dạng, trong Matlab có toolbox Identification, bạn có thể dùng toolbox này để nhận dạng động cơ !


Phần cứng thì có nhiều lưu ý lắm, điều đó phụ thuộc nhiều vào cách bạn định sử dụng những gì. Mình chỉ có 1 lưu ý cho bạn là bộ nguồn, bạn phải xem xét xem bộ nguồn bạn dùng có đủ công suất không. Đây là 1 trong những vấn đề rất quan trọng.


Đây là 1 trong những đồ án điều khiển động cơ sử dụng bộ PID số của các anh K49, bạn có thể dùng nó để tham khảo : http://www.mediafire.com/?oo34ztnmdq0

Bạn học BKHN thì có thể lên văn phòng bộ môn ĐKTĐ để mượn các đồ án này về tham khảo.

Thân ái !
Mật khẩu download MF là gì hả bạn?
baoitc vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 04-10-2012, 12:16 AM   #39
long91
Nhập môn đệ tử
 
Tham gia ngày: Oct 2012
Bài gửi: 4
:
su dung ic dich 74hc595 va pic 16f877a led matrix 8*8

nhan pim 1 bang den hien lan luot cac chu cai va chu so mau do
nhan pim 2bang den hien tu dong cac chu cai va chu so mau do
nhan pim 3 bang den hien lan luot cac chu cai va chu so mau xanh
nhan pim 4bang den hien tu dong cac chu cai va chu so mau xanh
cac anh giup e voi

thay đổi nội dung bởi: long91, 04-10-2012 lúc 01:38 AM. Lý do: nham
long91 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 04-10-2012, 12:19 AM   #40
long91
Nhập môn đệ tử
 
Tham gia ngày: Oct 2012
Bài gửi: 4
:
help me.cac ban giup em voi
long91 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 11-11-2012, 08:38 AM   #41
trungkien0911
Nhập môn đệ tử
 
Tham gia ngày: Feb 2012
Bài gửi: 5
:
Nguyên văn bởi pk178
Bạn có thể tham khảo 1 đồ án tốt nghiệp của trường ĐH BKHN về vấn đề này ở địa chỉ
http://www.mediafire.com/?oo34ztnmdq0

Còn 1 đồ án tương tự nữa bạn có thể tham khảo, cũng là bộ điều khiển PID, điều khiển trực tiếp qua giao diện trên máy tính, ở đây mình dùng ngôn ngữ C#, viết trên VS2008, bạn phải có bộ này hoặc mới hơn mới xem được code giao diện. Còn PIC thì mình dùng dòng 16F887, cũng tương tự với dòng 16F877A. Địa chỉ download : http://www.mediafire.com/?116d1d14019zdij
nhưng có mã khóa mà e đâu có biết mà download về đc.
trungkien0911 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-11-2013, 03:05 PM   #42
20090227
Nhập môn đệ tử
 
Tham gia ngày: Jan 2013
Bài gửi: 1
:
pas download la j the ban
20090227 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 31-10-2016, 09:36 PM   #43
hoangvanan
Nhập môn đệ tử
 
Tham gia ngày: Mar 2016
Bài gửi: 1
:
Trích:
Nguyên văn bởi pk178 View Post
Bạn có thể tham khảo 1 đồ án tốt nghiệp của trường ĐH BKHN về vấn đề này ở địa chỉ
http://www.mediafire.com/?oo34ztnmdq0

Còn 1 đồ án tương tự nữa bạn có thể tham khảo, cũng là bộ điều khiển PID, điều khiển trực tiếp qua giao diện trên máy tính, ở đây mình dùng ngôn ngữ C#, viết trên VS2008, bạn phải có bộ này hoặc mới hơn mới xem được code giao diện. Còn PIC thì mình dùng dòng 16F887, cũng tương tự với dòng 16F877A. Địa chỉ download : http://www.mediafire.com/?116d1d14019zdij
pass để unlock là gì anh ơi?
hoangvanan 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à 01:08 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