Social Icons

Thứ Ba, 12 tháng 11, 2013

PIC truyền thông SPI

                                                 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

0 nhận xét:

Đăng nhận xét

 

Sample text

Sample Text

Sample Text