PIC Vietnam

Go Back   PIC Vietnam > Các Đề Tài > Luận văn tốt nghiệ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

Luận văn tốt nghiệp Nếu bạn thắc mắc vì sao chúng tôi muốn phổ biến các luận văn tốt nghiệp? Xin xem tại đây

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 04-01-2010, 04:32 PM   #1
meopic
Đệ tử 1 túi
 
meopic's Avatar
 
Tham gia ngày: Sep 2009
Bài gửi: 18
:
Smile fix !!

dù sao thì cũng cảm ơn các bác nhìu !! các bác quả là rất nhiệt tình trong việc reply bài post của mình, hehe.
Thứ 1, việc hiển thị lên LCD thì o cần phải bàn (đã ok), sai số ở đây o liên quan j đến LCD cả, có sai là ở chỗ khắc phục việc lấy mẫu ADC như bác tungdh đã nói ( mình xài adc_clock_internal), hoặc do nhiễu đến từ các mạch module.
Thứ 2, ở đây mình đưa ra ý kiến dùng phương pháp lấy giá trị trung bình là mún các bác giúp mình hỉu rõ hơn cũng như bác nào có cao kiến j thì cho mình được học hỏi.
Thứ 3, việc hiển thị là khá chính xác rùi. VD khi o có nhuồn đo thì hiển thị 0,000v tuy nhiên đôi lúc lại hiển thị 0.004 hay 0,009v. Khi có nguồn đo thì thông số hiển thị nháy nhiều, mình dã chỉnh lại thời gian delay nhưng vẫn nháy ở 1 mức độ nào đó ( cug có thể tạm chấp nhận dc), nhưng mình vẫn mún khắc phục điều này đến mức có thể !!!
Thân !!
__________________
ALWAYS BE U !! HEHEHE
meopic vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 04-01-2010, 06:11 PM   #2
nhanh0112
Đệ tử 4 túi
 
Tham gia ngày: May 2007
Bài gửi: 81
:
Smile

Trích:
Nguyên văn bởi meopic View Post
Thứ 2, ở đây mình đưa ra ý kiến dùng phương pháp lấy giá trị trung bình là mún các bác giúp mình hỉu rõ hơn cũng như bác nào có cao kiến j thì cho mình được học hỏi.
Đúng là việc lấy chia trung bình thì sẽ bớt nháy hơn (tui đã áp dụng để làm counter). Cộng tổng các lần lấy mẫu rồi số lần lấy mẫu: trungbinh=(a1+a2+...+an)/n
ví dụ dưới đây là lấy 5 mẫu:
Code:
        ketqua[k]=read_adc();
	k++;
	if(k>4)k=0;//lay 5 mau de chia trung binh
	aver=0;
	for(i=0;i<5;i++)
		aver+=ketqua[i];
	aver=aver/5;
             => dua aver ra tinh toan va hien thi
Với việc đọc liên tục của adc bạn luôn có 5 giá trị liên tiếp cuối cùng lưu trong ketqua[] (trừ 4 lần đầu tiên đọc thôi, nhưng khi hiển thị số sẽ tăng dần đến giá trị cần ). Bạn có thể tăng số lần lấy mẫu để chia trung bình để số nhảy chậm hơn nữa và chắc là sẽ chính xác hơn.
nhanh0112 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 04-01-2010, 10:47 PM   #3
meopic
Đệ tử 1 túi
 
meopic's Avatar
 
Tham gia ngày: Sep 2009
Bài gửi: 18
:
Thumbs up hehe

đúng là cái mình đag cần. Mình chưa test thử nhưng nhìn sơ qua đoạn code của bạn mình cũng đã hỉu rõ hơn 1 chút về thuật toán này, đúng là hay thật. Thanks nhanh0112 đã chỉ giáo nhé !!
__________________
ALWAYS BE U !! HEHEHE
meopic vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 20-03-2010, 04:23 PM   #4
vuthanhcong
Nhập môn đệ tử
 
Tham gia ngày: Sep 2009
Bài gửi: 4
:
khởi tạo LCD

chào mọi người

Nhân tiện có luồng bàn về LCD, mình đang sử dụng LCD 1602 và giao tiếp 4 bit sử dụng file thư viện lcd_lib_4bit.c trong tutorial của anh Linh nhưng có cái hàm LCD_setPosition mình còn chưa hiểu rõ, mọi người có thể giải trích dùm mình được không
Code:
#separate void LCD_SetPosition ( unsigned int cX )
{
/* this subroutine works specifically for 4-bit Port A */
LCD_SetData ( swap ( cX ) | 0x08 );
LCD_PulseEnable();
LCD_SetData ( swap ( cX ) );
LCD_PulseEnable();
hàm SetData thì chỉ làm việc với 4 bit cuối của cX, vậy ở đây anh Linh or với 0x08 tức là set chân D4 lên High, vậy để làm gì nhỉ ?
vuthanhcong 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à 11:35 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