PIC16F648A模拟SPI求助
时间:10-02
整理:3721RD
点击:
![](../imgqa/ele/mcu/mcu-3721rd.com-32178iyvbzlkdbvr.png)
![](../imgqa/ele/mcu/mcu-3721rd.com-321791aulwufgoow.png)
注:#include <pic.h>
__CONFIG(0x0050);
#define _XTAL_FREQ 4000000
#define CLK RA7 //
#define DATA RA6 //
const unsigned long Daima[] ={ 0b11000000110000000,0b11000000111110010};
// ================------
// ========送数据========32bit
void power_on(void)//I/O配置
{
CMCON = 0x07;//定义关闭比较器
PORTA = 0;//初始设置GPIO引脚为低
PORTB = 0;//初始设置GPIO引脚为低
INTCON= 0x00;//中断使能
TRISA = 0x00;//
TRISB = 0xFF;//
}
void send(unsigned long txdata )
{
char i;
unsigned long m_test = 0b10000000000000000;
for(i=0;i<17;i++)
{
CLK=0;
__delay_us(2);
if( (txdata & m_test)== m_test)
DATA=0;
else
DATA=1;
NOP();
CLK=1;
m_test >>= 1;
}
}
void main()
{
__delay_us(100);
power_on();
INTCON=0x88;
__delay_us(100);
send(Daima[1]);
SLEEP();
}
这是我单片机的程序,希望有大虾可以帮我解决一下,万分感谢。