PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Các ngôn ngữ lập trình khác (CCS C, HT 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

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 02-01-2011, 11:07 AM   #1
delta21
Đệ tử 5 túi
 
delta21's Avatar
 
Tham gia ngày: Mar 2010
Bài gửi: 95
:
Send a message via Yahoo to delta21
Unhappy HT PIC ,Xem giúp em chương trình quét phím!!!

em mắc 4 nút nhấn vào port B,4 led vào port d.Khi chạy thì led ở vị trí RD3 cứ nhấp nháy,mà sao em thấy có 3 nút là dùng dc,nút còn lại thì ko có tác dụng!!!!
không biết chương trình em sai ở đâu nhỉ
Trích:
#include<htc.h>
__CONFIG(EXTIO & WDTDIS & PWRTEN &
MCLREN & UNPROTECT & DUNPROTECT & BORDIS &
IESODIS & FCMDIS & LVPDIS & HS);
void init()
{
ANSEL=ANSELH=0;
WPUB=1;
RBPU=0;
TRISB=1;
TRISD=0;
}
void main()
{
init();
while(1)
{
if (RB0==0)
{
_delay(10000);
RD0^=1;
}
if (RB1==0)
{
_delay(10000);
RD1^=1;
}
if (RB2==0)
{
_delay(10000);
RD2^=1;
}
if (RB3==0)
{
_delay(10000);
RD3^=1;
}
}

}

Hình Kèm Theo
File Type: jpg Capture.JPG (88.3 KB, 59 lần tải)
__________________
Chỉ sợ thiếu tiền......

thay đổi nội dung bởi: delta21, 02-01-2011 lúc 11:14 AM.
delta21 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 03-01-2011, 09:32 AM   #2
delta21
Đệ tử 5 túi
 
delta21's Avatar
 
Tham gia ngày: Mar 2010
Bài gửi: 95
:
Send a message via Yahoo to delta21
hic!!!em biết mình sai chỗ nào rồi,doạn này đây ạ!!!phải ghi rõ từng bit cụ thế,các bác xem có đúng không!!!
Trích:
WPUB0=1;
WPUB1=1;
WPUB2=1;
WPUB3=1;
RBPU=0;
TRISB0=1;
TRISB1=1;
TRISB2=1;
TRISB3=1;
TRISD=0;
__________________
Chỉ sợ thiếu tiền......
delta21 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 06-01-2011, 02:26 PM   #3
Hieu98DT
Đệ tử 3 túi
 
Tham gia ngày: Feb 2006
Bài gửi: 50
:
Trích:
Nguyên văn bởi delta21 View Post
hic!!!em biết mình sai chỗ nào rồi,doạn này đây ạ!!!phải ghi rõ từng bit cụ thế,các bác xem có đúng không!!!
Bạn có tài liệu HT Pic tiếng việt ko cho minh xin để tham khảo được ko bạn
Hieu98DT vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 06-01-2011, 07:38 PM   #4
delta21
Đệ tử 5 túi
 
delta21's Avatar
 
Tham gia ngày: Mar 2010
Bài gửi: 95
:
Send a message via Yahoo to delta21
Smile

Trích:
Nguyên văn bởi hieu98dt View Post
bạn có tài liệu ht pic tiếng việt ko cho minh xin để tham khảo được ko bạn
mình không có bạn ạ,đọc help của ht pic thôi
__________________
Chỉ sợ thiếu tiền......
delta21 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-01-2011, 04:22 PM   #5
dinhminh09
Đệ tử 4 túi
 
dinhminh09's Avatar
 
Tham gia ngày: Mar 2010
Bài gửi: 83
:
Send a message via Yahoo to dinhminh09
mà sao ht pic mình cài nó không có phần help bạn à. có bản setup có phần help không cho mình với.............
__________________
học đến trọc vẫn học.

ngồi buồn lại nhớ tây sơn võ.
nhị khúc tam côn vẫn dùng phan.
nhâm nhi chén rượi say (cả) thiên đình.
nhưng rồi đầu óc vẫn tuệ minh.




dinhminh09 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-01-2011, 09:45 PM   #6
delta21
Đệ tử 5 túi
 
delta21's Avatar
 
Tham gia ngày: Mar 2010
Bài gửi: 95
:
Send a message via Yahoo to delta21
Wink

Trích:
Nguyên văn bởi dinhminh09 View Post
mà sao ht pic mình cài nó không có phần help bạn à. có bản setup có phần help không cho mình với.............
mình dùng MPlab bạn ạ!!có file PDF user manual đấy,bạn tìm xem.vào MPlab nhấn F11 là nó ra
__________________
Chỉ sợ thiếu tiền......
delta21 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-01-2011, 11:47 PM   #7
nhuhuan86
Đệ tử 1 túi
 
Tham gia ngày: Jul 2008
Bài gửi: 17
:
Trích:
Nguyên văn bởi delta21 View Post
em mắc 4 nút nhấn vào port B,4 led vào port d.Khi chạy thì led ở vị trí RD3 cứ nhấp nháy,mà sao em thấy có 3 nút là dùng dc,nút còn lại thì ko có tác dụng!!!!
không biết chương trình em sai ở đâu nhỉ
Cậu cần nói rõ nút ở chân nào ko dc?
- cậu xem lại phần config giùm: mình chưa hiểu cấu hình EXTIO là cấu hình gì cả??
- Hình như trong phần ADC,cậu cấu hình thiếu 1 thanh ghi ADON
Mình chỉ góp ý dc như vậy.Có gì chưa đúng xin dc chỉ giáo

Thân
nhuhuan86 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 08-01-2011, 01:17 AM   #8
delta21
Đệ tử 5 túi
 
delta21's Avatar
 
Tham gia ngày: Mar 2010
Bài gửi: 95
:
Send a message via Yahoo to delta21
Talking

Trích:
Nguyên văn bởi nhuhuan86 View Post
Cậu cần nói rõ nút ở chân nào ko dc?
- cậu xem lại phần config giùm: mình chưa hiểu cấu hình EXTIO là cấu hình gì cả??
- Hình như trong phần ADC,cậu cấu hình thiếu 1 thanh ghi ADON
Mình chỉ góp ý dc như vậy.Có gì chưa đúng xin dc chỉ giáo

Thân
chân cẳng mình nối như trên hình!!!

EXTIO :External RC No Clock ,chọn thạch anh ngoài.....
bạn có thể tham khảo thêm trong file pic6f887.h trong thư mục của HTC
phần ADC mình cấu hình cho ANSEL =ANSELH=0 rồi,như vậy mình ko chọn ngõ vào là analog nữa nên ko cần cấu hình ADON

mình chỉ thắc mắc là tại sao khi cấu hình Port B thì phải ghi rõ từng bit cụ thể thôi.....
//HT pic ít người dùng quá!!!
__________________
Chỉ sợ thiếu tiền......
delta21 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 08-01-2011, 08:57 AM   #9
duyphuoc
Nhập môn đệ tử
 
Tham gia ngày: May 2010
Bài gửi: 3
:
Theo mình thì để dùng thạch anh ngoài tầng số cao mình chỉ cần khai báo HS là đủ, tại các này mình đã từng test trên Kit rồi.
Bạn không cần phải ghi ra từng bit khi cấu hình Port B. Bạn có thể làm thế này:
TRISB = 0x0F;
PORTD = 0;
TRISD = 0xF0;
RBPU = 0;
WPUB = 0x0F;

Với lại bạn cần phải chống dội cho các phím nhấn. Thân!

thay đổi nội dung bởi: duyphuoc, 08-01-2011 lúc 09:22 AM.
duyphuoc vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 08-01-2011, 11:43 PM   #10
delta21
Đệ tử 5 túi
 
delta21's Avatar
 
Tham gia ngày: Mar 2010
Bài gửi: 95
:
Send a message via Yahoo to delta21
Cool

Trích:
Nguyên văn bởi duyphuoc View Post
Theo mình thì để dùng thạch anh ngoài tầng số cao mình chỉ cần khai báo HS là đủ, tại các này mình đã từng test trên Kit rồi.
Bạn không cần phải ghi ra từng bit khi cấu hình Port B. Bạn có thể làm thế này:
TRISB = 0x0F;
PORTD = 0;
TRISD = 0xF0;
RBPU = 0;
WPUB = 0x0F;

Với lại bạn cần phải chống dội cho các phím nhấn. Thân!
ủa,mình tưởng chống dội bằng hàm _delay(10000) là đủ,bạn nói rõ hơn chút dc không??
__________________
Chỉ sợ thiếu tiền......
delta21 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-01-2011, 03:37 PM   #11
dinhminh09
Đệ tử 4 túi
 
dinhminh09's Avatar
 
Tham gia ngày: Mar 2010
Bài gửi: 83
:
Send a message via Yahoo to dinhminh09
cái code mình chưa xem như thây cách mắc mấy cái nút nhấn nó không nhảy từa lưa mới lạ.
bạn cần mắc cho rõ ràng. lúc nào là mức không lúc nào là mức 1. chứ để như vậy nó không hiểu là mức 0 hay mức 1 rõ ràng. nên nó muống hiểu thế nào thì hiểu. ví dụ khi bạn nhấn nút nó hiểu là mức 0. nhưng khi bạn thả nút nhấn ra thì nó không hiểu là đang ở mức nào.
thân
__________________
học đến trọc vẫn học.

ngồi buồn lại nhớ tây sơn võ.
nhị khúc tam côn vẫn dùng phan.
nhâm nhi chén rượi say (cả) thiên đình.
nhưng rồi đầu óc vẫn tuệ minh.




dinhminh09 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-01-2011, 07:07 PM   #12
duyphuoc
Nhập môn đệ tử
 
Tham gia ngày: May 2010
Bài gửi: 3
:
Cậu này không xem code nên không biết rồi, bạn ý đã set R pullup rồi mà, nên khi thả nút thì nó hiểu là mức 1 thôi, hiển nhiên.
Tiện thể về vấn đề chống dội phím của delta để hôm nào rảnh mình sẽ giải thích rõ rang với bạn nhé. Hiện giờ mình đang bận thi nên không thể trả lời lúc này được, bạn thông cảm.
Ah, việc dùng delay để chống dội như bạn cũng là một cách nhưng nó khồng tối ưu và sẽ gặp vấn đề nếu bạn sử dụng trong các trường hợp khác. Bạn có thể tìm thêm thông tin trên forum. Thân!
duyphuoc vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-01-2011, 08:15 PM   #13
delta21
Đệ tử 5 túi
 
delta21's Avatar
 
Tham gia ngày: Mar 2010
Bài gửi: 95
:
Send a message via Yahoo to delta21
Unhappy

Trích:
Nguyên văn bởi duyphuoc View Post
Cậu này không xem code nên không biết rồi, bạn ý đã set R pullup rồi mà, nên khi thả nút thì nó hiểu là mức 1 thôi, hiển nhiên.
Tiện thể về vấn đề chống dội phím của delta để hôm nào rảnh mình sẽ giải thích rõ rang với bạn nhé. Hiện giờ mình đang bận thi nên không thể trả lời lúc này được, bạn thông cảm.
Ah, việc dùng delay để chống dội như bạn cũng là một cách nhưng nó khồng tối ưu và sẽ gặp vấn đề nếu bạn sử dụng trong các trường hợp khác. Bạn có thể tìm thêm thông tin trên forum. Thân!
bạn giúp mình nhé!!!!,hiện tại mình đang làm về phần nút bấm này,số nút lên tới 16,mà chưa biết chống dội sao cho hiệu quả
__________________
Chỉ sợ thiếu tiền......
delta21 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 10-01-2011, 02:52 PM   #14
dinhminh09
Đệ tử 4 túi
 
dinhminh09's Avatar
 
Tham gia ngày: Mar 2010
Bài gửi: 83
:
Send a message via Yahoo to dinhminh09
#include <16f877a.h> //PIC utilizado
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP
#use delay(clock=20000000)

#include <lcdd.c>
#define use_portb_kbd TRUE
#INCLUDE "kbdd.c"

int8 k;

void main()
{
port_b_pullups(TRUE);
lcd_init();
kbd_init();

while(1)
{
k=kbd_getc();
if (k!=0)
{

lcd_putc(k);
}
}
}



cái code này đơn giản viết bằng ccs c. thay hai thư viên lcdd.c == lcd.c và kbdd.c == kbd.c là biên dịch được tại cái này mình viết cho 16 phím. bạn chỉ cần sửa đôi chút trong file kbd.c là có thể xài với 16 phím

thân......!
Hình Kèm Theo
File Type: jpg mach.JPG (279.5 KB, 9 lần tải)
__________________
học đến trọc vẫn học.

ngồi buồn lại nhớ tây sơn võ.
nhị khúc tam côn vẫn dùng phan.
nhâm nhi chén rượi say (cả) thiên đình.
nhưng rồi đầu óc vẫn tuệ minh.




dinhminh09 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-01-2011, 08:49 PM   #15
tungbachnam
Đệ tử 2 túi
 
Tham gia ngày: Oct 2009
Bài gửi: 31
:
Bạn có thể dùng phần cứng dùng tụ 104 nối tiếp trở 10k để chông dội phím nhấn.
tungbachnam 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à 12:24 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