PDA

View Full Version : xin mọi người chỉ giúp!!


HUYEN_nb
02-10-2012, 10:02 AM
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
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
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.

#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
chưa cấu hình cho nó làm sao mà chạy.

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