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-07-2010, 12:01 PM   #1
kiemkhach10
Đệ tử 5 túi
 
Tham gia ngày: Jan 2010
Bài gửi: 114
:
cấu hình như thế nào để pic16f54 là cổng vào ra số

nếu dong 16f87x thì chỉ cần tác động nên thanh ghi
OPTION=0x00;
TRISA=0x00;
TRISB=0x00;
TRISC=0x00;
TRISD=0x00;
là có thể sử dụng các cổng là đầu vào ra số.

thế còn pic16f54 thì khai báo như thế nào để sử dụng các cổng là đầu vào ra số các bạn nhỉ?
cám ơn!
kiemkhach10 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 27-07-2010, 01:51 PM   #2
kiemkhach10
Đệ tử 5 túi
 
Tham gia ngày: Jan 2010
Bài gửi: 114
:
mình viết một đoạn chương trình nhỏ dùng pic16f54 để nháy led sao PIC ko chạy nhỉ?
#include <htc.h>
__CONFIG(HS & WDTDIS );
int main()
{
TRISA=0x00;
TRISB=0x00;
while(1)
{
PORTB=0b11110000;
}
return 0;
}
ai đã từng làm viết với con này góp ý cho mình chút
cám ơn!
kiemkhach10 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 27-07-2010, 02:05 PM   #3
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi kiemkhach10 View Post
mình viết một đoạn chương trình nhỏ dùng pic16f54 để nháy led sao PIC ko chạy nhỉ?
#include <htc.h>
__CONFIG(HS & WDTDIS );
int main()
{
TRISA=0x00;
TRISB=0x00;
while(1)
{
PORTB=0b11110000;
}
return 0;
}
ai đã từng làm viết với con này góp ý cho mình chút
cám ơn!
Như thế nào là không chạy? Code của bạn có đổi trạng thái các chân ở PORTB đâu mà thấy nhấp nháy. Hơn nữa, để việc nhấp nháy là có thể thấy được đối với mắt người, bạn cần làm trễ giữa các lần đổi trạng thái của PORTB.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 27-07-2010, 03:10 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 namqn View Post
Như thế nào là không chạy? Code của bạn có đổi trạng thái các chân ở PORTB đâu mà thấy nhấp nháy. Hơn nữa, để việc nhấp nháy là có thể thấy được đối với mắt người, bạn cần làm trễ giữa các lần đổi trạng thái của PORTB.

Thân,
bác nam à? em viết sai chủ đề (pic16f54 chứ ko phải pic16f854)
ở đây ko chạy có nghĩa là ko có tín hiệu gì ở mạch cả.
em nối tất cả porb với led đơn anot chung và đầu kia nối đất.
nhẽ ra với chương trình như trên thì ít nhất phải có 4 led sáng và 4 led tối.
đằng này ko thấy hiện tượng gì cả.đo điện áp ở các chân PIC cũng ko thấy gì.
VẬY CÓ NGHĨA LÀ MÌNH ĐÃ CẤU HÌNH SAI CHO PIC.KHI MỚI SỬ DUNG CON 16F877A MÌNH CŨNG GẶP HIỆN TƯỢNG NHƯ VẬY DO CẤU HÌNH CÁC CỔNG VÀO RA KO ĐÚNG.
bác nào đã làm với con PIC16F54 ruì thì cho ý kiến với!
à cách sửa chủ đề ở đâu vậy bác nam,em muốn sửa lại cho đúng con pic16f54.
cám ơn!
kiemkhach10 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 31-07-2010, 08:58 PM   #5
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi kiemkhach10 View Post
bác nam à? em viết sai chủ đề (pic16f54 chứ ko phải pic16f854)
ở đây ko chạy có nghĩa là ko có tín hiệu gì ở mạch cả.
em nối tất cả porb với led đơn anot chung và đầu kia nối đất.
nhẽ ra với chương trình như trên thì ít nhất phải có 4 led sáng và 4 led tối.
đằng này ko thấy hiện tượng gì cả.đo điện áp ở các chân PIC cũng ko thấy gì.
VẬY CÓ NGHĨA LÀ MÌNH ĐÃ CẤU HÌNH SAI CHO PIC.KHI MỚI SỬ DUNG CON 16F877A MÌNH CŨNG GẶP HIỆN TƯỢNG NHƯ VẬY DO CẤU HÌNH CÁC CỔNG VÀO RA KO ĐÚNG.
bác nào đã làm với con PIC16F54 ruì thì cho ý kiến với!
à cách sửa chủ đề ở đâu vậy bác nam,em muốn sửa lại cho đúng con pic16f54.
cám ơn!
PIC16F54 khá đơn giản để bạn gặp trục trặc khi viết code. Do đó, bạn nên xem lại mạch thử nghiệm. Tôi cũng có một nhận xét về code của bạn: về nguyên tắc thì chương trình chính của vi điều khiển là chương trình duy nhất sẽ chạy trong vi điều khiển, do đó main() sẽ không cần phải trả về giá trị gì. Tôi vẫn dùng void main(void) { ... } với HI-TECH C Compiler mà không gặp vấn đề gì, bạn thử chỉnh lại hàm main() của bạn xem.

Việc sửa chủ đề của luồng chỉ có mod hoặc cấp cao hơn mới thực hiện được. Tôi đã sửa chủ đề của luồng dựa vào thông tin mà bạn cung cấp ở trên.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-08-2010, 12:00 AM   #6
kiemkhach10
Đệ tử 5 túi
 
Tham gia ngày: Jan 2010
Bài gửi: 114
:
Trích:
Nguyên văn bởi namqn View Post
PIC16F54 khá đơn giản để bạn gặp trục trặc khi viết code. Do đó, bạn nên xem lại mạch thử nghiệm. Tôi cũng có một nhận xét về code của bạn: về nguyên tắc thì chương trình chính của vi điều khiển là chương trình duy nhất sẽ chạy trong vi điều khiển, do đó main() sẽ không cần phải trả về giá trị gì. Tôi vẫn dùng void main(void) { ... } với HI-TECH C Compiler mà không gặp vấn đề gì, bạn thử chỉnh lại hàm main() của bạn xem.

Việc sửa chủ đề của luồng chỉ có mod hoặc cấp cao hơn mới thực hiện được. Tôi đã sửa chủ đề của luồng dựa vào thông tin mà bạn cung cấp ở trên.

Thân,
đúng như bác nampn nói mạch thí nghiệm của mình có vấn đề thật,sử lại 1 chút là chạy được rùi.
bác cho em hỏi? vậy dùng hàm
int main()
{
return 0;
}
là đúng hay là dùng hàm
void main(void)
{
}
mới là đúng.
hàm int main() mình làm theo và tham khảo trên diễn đàn http://forum.htsoft.com
ko biết có đúng ko nhỉ?
cám ơn!
kiemkhach10 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-08-2010, 12:43 AM   #7
nbb3i
Đệ tử 2 túi
 
Tham gia ngày: Aug 2008
Nơi Cư Ngụ: Hà Nội
Bài gửi: 45
:
Trong C chuẩn người ta vẫn dùng int main, hiện tại mấy chương trình dùng C30, C32 vẫn phải dùng int main. Nói chung cái đó cũng không ảnh hưởng nhiều lắm.
Còn về mạch của bạn không chạy thì bạn nên post sơ đồ nguyên lý lên đây. Mình nghĩ có thể bạn khai báo fuse chưa đúng, hoặc biết đâu nối ngược chân LED thì sao
__________________
http://group3i.net
nbb3i vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 24-04-2015, 08:01 PM   #8
phankieu32k0515
Nhập môn đệ tử
 
Tham gia ngày: Jun 2013
Bài gửi: 10
:
nếu viết bằng ccs thì sao nhỉ: như thế này có được ko?

#include<16F54A.h>
#include<def_54a.h>
#fuses NOWDT,PUT,HS,NOPROTECT,NOLVP
#use delay(clock=20000000)
main()
{
TRISA=0x00;
TRISB=0x00;
while(1)
{
PORTB=0b11110000;
}
return 0;
}
phankieu32k0515 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à 09:38 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