PDA

View Full Version : Giúp về PIC16F628A!


lee_phong
01-03-2012, 04:36 PM
Em đang tập viết một chương trình chạy đơn giản cho Pic 16F628A vì nó hợp lí về số lượng Port và túi tiền! NHưng sau khi viết xong em gặp một số vấn đề khi mô phỏng trên Protues.



#include<16f628a.h>
#FUSES NOWDT, HS, NOPUT
#use delay(clock=20M)

void s1()
{
output_a(0xff);
output_b(0x00);
delay_ms(10);
}

void main()
{
set_tris_a(0);
set_tris_b(0);
s1();
}



Khi mô phỏng trên Protues thì các chân RA0--> RA3 vẫn cho tín hiệu cao để làm cháy 4 đèn đầu tiên nhưng từ các chân RA4--> RA7 lại không có tín hiệu ra. EM không biết mình mắc lỗi ở điểm nào, có phải ở phần khai báo em đã thiếu sót hay không, vì các chân từ RA4-->RA7 có nhiều chức năng!
Xin chỉ giúp em!

tdm
01-03-2012, 10:27 PM
Em đang tập viết một chương trình chạy đơn giản cho Pic 16F628A vì nó hợp lí về số lượng Port và túi tiền! NHưng sau khi viết xong em gặp một số vấn đề khi mô phỏng trên Protues.



#include<16f628a.h>
#FUSES NOWDT, HS, NOPUT
#use delay(clock=20M)

void s1()
{
output_a(0xff);
output_b(0x00);
delay_ms(10);
}

void main()
{
set_tris_a(0);
set_tris_b(0);
s1();
}



Khi mô phỏng trên Protues thì các chân RA0--> RA3 vẫn cho tín hiệu cao để làm cháy 4 đèn đầu tiên nhưng từ các chân RA4--> RA7 lại không có tín hiệu ra. EM không biết mình mắc lỗi ở điểm nào, có phải ở phần khai báo em đã thiếu sót hay không, vì các chân từ RA4-->RA7 có nhiều chức năng!
Xin chỉ giúp em!
code sử dụng được chân RA6,RA7

#include <16f628a.h>
#FUSES NOWDT,RC, NOPUT,NOMCLR,INTRC_IO
#use delay(clock=4M)

void s1()
{
output_a(0xff);
delay_ms(1000);
output_a(0x00);
delay_ms(1000);
}

void main()
{
set_tris_a(0);
set_tris_b(0);
WHILE(1)
{
s1();
}
}

lưu ý:
chân RA4 nối với r=10k lên nguồn +
chân RA5 chỉ có thể làm chân input

lee_phong
02-03-2012, 11:12 AM
Cảm ơn bạn rất nhiều!