PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Các ngôn ngữ lập trình khác (CCS C, HT 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

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 17-01-2013, 11:24 AM   #5
toila83
Nhập môn đệ tử
 
Tham gia ngày: Aug 2010
Bài gửi: 3
:
Trích:
Nguyên văn bởi dragon2005 View Post
Mình mới học về PIC có tham khảo về phần SPI, mình viết 1 chương trình để điều khiển led đơn, nhưng ko hiểu sao nó ko chạy vì trình độ còn kém, mong bạn giúp mình: salve kết nối 8led ở portb.

Chương trình Master:

#include <16F877A.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP,NOBROWNOUT
#use delay(clock=4000000)

void main(void)
{
int i=0;
setup_spi(SPI_MASTER|SPI_L_TO_H|SPI_CLK_DIV_4);
enable_interrupts(GLOBAL);
enable_interrupts(INT_SSP);
delay_ms(1000);
spi_write(i);
}

Chương trình Slave:

#include <16F877A.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP,NOBROWNOUT
#use delay(clock=4000000)

void main(void)
{
int i,j=0;
output_b(0x00);
setup_spi(SPI_SLAVE|SPI_L_TO_H|SPI_CLK_DIV_4);
enable_interrupts(GLOBAL);
enable_interrupts(INT_SSP);
while(!j)
{
j=spi_data_is_in();
}
i=spi_read();
while(1)
{
output_b(0xff);
delay_ms(100);
output_b(i);
delay_ms(100);
}
}
Trong chương trình slave bạn có sử dụng delay, nếu trong thời gian delay mà con master có gửi dữ liệu đến slave cũng đâu có nhận được dù bạn có sử dụng thuật toán thăm dò.Bạn nên sử dụng ngắt :

#INT_SSP
void ngat()
{
i=spi_read();
}
void main(void)
{
int i,j=0;
output_b(0x00);
setup_spi(SPI_SLAVE|SPI_L_TO_H|SPI_CLK_DIV_4);
enable_interrupts(GLOBAL);
enable_interrupts(INT_SSP);
while(1)
{
output_b(0xff);
delay_ms(100);
output_b(i);
delay_ms(100);
}
toila83 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à 05:40 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