PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Cơ bản về vi điều khiển và PIC (http://www.picvietnam.com/forum/forumdisplay.php?f=8)
-   -   xin mọi người chỉ giúp!! (http://www.picvietnam.com/forum/showthread.php?t=30631)

HUYEN_nb 02-10-2012 10:02 AM

xin mọi người chỉ giúp!!
 
2 Attachment(s)
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

hatuan296 02-10-2012 05:33 PM

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ó .

HUYEN_nb 02-10-2012 09:29 PM

Trích:

Nguyên văn bởi hatuan296 (Post 78090)
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

tdm 03-10-2012 09:08 PM

Trích:

Nguyên văn bởi HUYEN_nb (Post 78082)
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;
}
}


HUYEN_nb 03-10-2012 11:22 PM

Trích:

Nguyên văn bởi tdm (Post 78115)
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 11-10-2012 11:44 PM

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....


Múi giờ GMT. Hiện tại là 11:28 PM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam