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 02-10-2012, 10:02 AM   #1
HUYEN_nb
Đệ tử 1 túi
 
Tham gia ngày: Dec 2011
Bài gửi: 11
:
xin mọi người chỉ giúp!!

trong thời gian vừa qua minh tự tìm hiểu về pic 16f877a. nhưng chỉ mô phỏng trên proteus. mới đây minh làm bằng mạch thực tế nhưng nó lại không chạy. cụ thể như thế này:
mình làm ví dụ điều khiển led cổng B như hình dưới.
khi mình cắm vào board để test nhanh thì chân MRCLR được treo bằng trở 10k, chân Vss(số 12 và 31) mình nói GND, chân Vdd( số 11 và 32) thì mình nối nguồn +5v.
con 16f877a thì mình dùng PICKIT 2 để nạp và đã báo nạp chương trình thành công. sau đó mình có kiểm tra lại bằng cách read và đã báo là có dữ liệu chương trình trong vdk.
code cụ thể của mình như ở dưới:
các pro xem lại giúp mình,chỉ giúp mình chỗ sai nhe!
thank các pro!
mong được sự chỉ giáo sớm nhất của mọi người: gửi mail cho mình với nhé : linhkithuat.mta@gmail.com
Hình Kèm Theo
File Type: png Capture.PNG (18.0 KB, 1 lần tải)
File Kèm Theo
File Type: rar New folder.rar (54.1 KB, 8 lần tải)

thay đổi nội dung bởi: HUYEN_nb, 02-10-2012 lúc 10:11 AM.
HUYEN_nb vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 02-10-2012, 05:33 PM   #2
hatuan296
Làm quen với PIC
 
Tham gia ngày: Oct 2005
Nơi Cư Ngụ: Hcm
Bài gửi: 160
:
Từ mô phỏng qua mạch thật nó khác nhau nhiều lắm bạn ơi .
Trong hình đính kèm bạn đưa lên mình không thấy các điện trở hạn dòng cho LED và thông số thạch anh . Bạn kiểm tra lại xem , mặc dù chạy mô phỏng có thể không cần điện trở nhưng khi ráp mạch thật chắc chắn phải có .
hatuan296 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 02-10-2012, 09:29 PM   #3
HUYEN_nb
Đệ tử 1 túi
 
Tham gia ngày: Dec 2011
Bài gửi: 11
:
Trích:
Nguyên văn bởi hatuan296 View Post
Từ mô phỏng qua mạch thật nó khác nhau nhiều lắm bạn ơi .
Trong hình đính kèm bạn đưa lên mình không thấy các điện trở hạn dòng cho LED và thông số thạch anh . Bạn kiểm tra lại xem , mặc dù chạy mô phỏng có thể không cần điện trở nhưng khi ráp mạch thật chắc chắn phải có .
thanks bạn nhe! trong lúc mình làm mình mắc trở 330 ohm giữa led và PIC. thạch anh mình dùng là 20MHz. tụ của mạch dao động thạch anh là tụ gốm 33pF. nhưng nó vẫn không chạy không hiểu tại sao. lúc mình rủt dây chân Vss ra thi thấy led sáng yếu toàn bộ.. như vậy là sao nhỉ?hjc
HUYEN_nb vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 03-10-2012, 09:08 PM   #4
tdm
Đệ tử 7 túi
 
Tham gia ngày: May 2005
Bài gửi: 258
:
Trích:
Nguyên văn bởi HUYEN_nb View Post
trong thời gian vừa qua minh tự tìm hiểu về pic 16f877a. nhưng chỉ mô phỏng trên proteus. mới đây minh làm bằng mạch thực tế nhưng nó lại không chạy. cụ thể như thế này:
mình làm ví dụ điều khiển led cổng B như hình dưới.
khi mình cắm vào board để test nhanh thì chân MRCLR được treo bằng trở 10k, chân Vss(số 12 và 31) mình nói GND, chân Vdd( số 11 và 32) thì mình nối nguồn +5v.
con 16f877a thì mình dùng PICKIT 2 để nạp và đã báo nạp chương trình thành công. sau đó mình có kiểm tra lại bằng cách read và đã báo là có dữ liệu chương trình trong vdk.
code cụ thể của mình như ở dưới:
các pro xem lại giúp mình,chỉ giúp mình chỗ sai nhe!
thank các pro!
mong được sự chỉ giáo sớm nhất của mọi người: gửi mail cho mình với nhé : linhkithuat.mta@gmail.com
chưa cấu hình cho nó làm sao mà chạy.
Code:
#include<16f877a.h>
#include<def_877a.h>
#device PIC16F877a*.16ADC=8
#fuses NOWDT,PUT,HS,NOPROTECT//thêm dòng này
#use delay(clock=20000000)  

void main()
{
int16 k=0x01,i;//,i,p,t;
trisb=0x00;
while(k!=0x00){
output_b(0x00); delay_ms(200);
output_b(0xFF); delay_ms(200);
for(k=0x01;k<0x100;k<<=1){output_b(k); delay_ms(200);}k=0x01;
for(k=0x100;k>0;k>>=1){output_b(k); delay_ms(200);}
for(k=0x08,i=0x10;k>0;k>>=1){output_b(k|i);delay_ms(200);i<<=1;}k=0x01;i=0x10;
for(k=0x08,i=0x10;k>0;k>>=1){output_b(k|i);delay_ms(200);i<<=1;}k=0x01;i=0x10;
for(k=0x100,i=0x01;k>0;k>>=1){output_b(k|i);delay_ms(200);i<<=1;} k=0x100;i=0x01;
}
}
__________________
viết chương trình cho vdk chạy ổn định là cả một vấn đề.
tdm vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 03-10-2012, 11:22 PM   #5
HUYEN_nb
Đệ tử 1 túi
 
Tham gia ngày: Dec 2011
Bài gửi: 11
:
Trích:
Nguyên văn bởi tdm View Post
chưa cấu hình cho nó làm sao mà chạy.
Code:
#include<16f877a.h>
#include<def_877a.h>
#device PIC16F877a*.16ADC=8
#fuses NOWDT,PUT,HS,NOPROTECT//thêm dòng này
#use delay(clock=20000000)  

void main()
{
int16 k=0x01,i;//,i,p,t;
trisb=0x00;
while(k!=0x00){
output_b(0x00); delay_ms(200);
output_b(0xFF); delay_ms(200);
for(k=0x01;k<0x100;k<<=1){output_b(k); delay_ms(200);}k=0x01;
for(k=0x100;k>0;k>>=1){output_b(k); delay_ms(200);}
for(k=0x08,i=0x10;k>0;k>>=1){output_b(k|i);delay_ms(200);i<<=1;}k=0x01;i=0x10;
for(k=0x08,i=0x10;k>0;k>>=1){output_b(k|i);delay_ms(200);i<<=1;}k=0x01;i=0x10;
for(k=0x100,i=0x01;k>0;k>>=1){output_b(k|i);delay_ms(200);i<<=1;} k=0x100;i=0x01;
}
}
đại ca ơi nó vẫn không chạy là sao nhỉ? có khi nào con thạch anh hỏng không đại ca?
HUYEN_nb vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 11-10-2012, 11:44 PM   #6
HUYEN_nb
Đệ tử 1 túi
 
Tham gia ngày: Dec 2011
Bài gửi: 11
:
thank mọi người nhé! vấn đề ở con pic minh mua lởm quá. điện áp ra ở chân đo được có 1,6v. mình mới mua con khác nạp lại chương trình chạy ngon rui....
HUYEN_nb 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à 08:15 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