SOURCE
*******************************
Project : PIC16F Giao Tiếp SPI
Date : 11-Nov-2013
Author : quinguyen
Company : Vinasemiconductor
Chip type : PIC16F88
Program type : Application
Core Clock frequency: 20.000000 MHz
*******************************
MASTER
#include <pic16f88>
#use delay(clock=20000000)
#use rs232(baud=9600,parity=N,xmit=PIN_A2,rcv=PIN_A3)
int8 x=66, data;
#INT_SSP
void spi()
{
if( spi_data_is_in() )
{
data=spi_read();
printf("%u\n\r",data);
}
}
void main()
{
// port_b_pullups(TRUE);
setup_spi(spi_master|spi_l_to_h|spi_clk_div_16);
enable_interrupts(INT_SSP);
enable_interrupts(GLOBAL);
while(1)
{
delay_ms(1000);
output_low(PIN_A5);//Chân C2 dùng Select chip.
delay_ms(10);//Tao tre de Slave chuan bi.
spi_write(x);
output_high(PIN_A5);
}
}
SLAVE
#include <pic16f88>
#use delay(clock=20000000)
#use rs232(baud=9600,parity=N,xmit=PIN_A2,rcv=PIN_A3)
int8 data=0,x=22;
#INT_SSP
void spi()
{
data=spi_read(x);//Vua nhan vua truyen.
printf("%u\n\r",data);
}
void main()
{
setup_spi(spi_slave|spi_l_to_h|spi_clk_div_16);
enable_interrupts(INT_SSP);
enable_interrupts(GLOBAL);
while(1)
{
}
}
KẾT QUẢ MÔ PHỎNG
Mô tả: Master ghi giá trị vào Slave, Slave đọc giá trị đồng thời gửi lái Master một dữ liệu mới, tất cả được in ra màn hình
Chúc các bạn thành công với Project này!
Thanks and Best Regards
Nguyễn Ngọc Qui
Automation Engineer
Email: quinguyentgvn@gmail.com
Phone: 0938 430 305
Thứ Ba, 12 tháng 11, 2013
Đăng ký:
Đăng Nhận xét (Atom)
0 nhận xét:
Đăng nhận xét