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

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 06-10-2013, 08:21 PM   #1
kysytoctrang
Nhập môn đệ tử
 
Tham gia ngày: Mar 2008
Nơi Cư Ngụ: hanoi
Bài gửi: 5
:
Send a message via Yahoo to kysytoctrang
Question [Xin giúp đỡ]Bài tập về led và nút bấm với PIC16F886

Chào các bạn trong diễn đàn. Hiện mình đang bắt đầu học PIC và tự mình đặt ra bài toán như sau

Cổng vào :

Port A0-A5 là các nút nhấn Sw1-sw6
Port C0-C2 lad các nút nhấn sw7-sw9

Cổng ra :

PortB

Khi nhấn các nút thì sẽ cho đầu ra ở portB xuất các tín hiệu khác nhau

Không bấm nút thì outport_B=0

Mình đã lập trình và chạy thử trên protues 7 thì hoạt động được, nhưng khi đổ chương trình vào chip thật thì không hoạt động được.

Mong cac bạn chỉ giúp mình chỗ nào sai hay thiếu sót để mình được học hỏi thêm

P/s : Trong mô phỏng, khi bấm nút có những lúc đầu ra bị nháy nháy không giữ được, vậy có phải do chương trình của mình có vấn đề không ?

Đây là chương trình của mình

Trích:
#include <16F886.h>

#use delay(crystal=20000000)

#define sw1 PIN_A0
#define sw2 PIN_A1
#define sw3 PIN_A2
#define sw4 PIN_A3
#define sw5 PIN_A4
#define sw6 PIN_A5

#define sw7 PIN_C0
#define sw8 PIN_C1
#define sw9 PIN_C2

#FUSES NOWDT //No Watch Dog Timer
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O

void main()
{

while(TRUE)
{
//sw1
if(!input(sw1))
OUTPUT_B(0x70);

///sw2
else if(!input(sw2))
OUTPUT_B(0x0C);

///sw3
else if(!input(sw3))
OUTPUT_B(0x04);

///sw4
else if (!input(sw4))
OUTPUT_B(0x07);

///sw5
else if (!input(sw5))
OUTPUT_B(0x02);

///sw6
else if (!input(sw6))
OUTPUT_B(0x05);


///sw7
else if (!input(sw7))
OUTPUT_B(0x0E);

///sw8
else if (!input(sw8))
OUTPUT_B(0x0B);

///sw9
else if (!input(sw9))
OUTPUT_B(0x0A);

else
OUTPUT_B(0x00);
}

}
Phần mô phỏng

kysytoctrang vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 


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:28 AM.


Đượ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