?? mega8_spi.c
字號:
/****************************************************************************************
mega8的SPI功能實驗
程序功能:使用MEGA8的SPI口控制74HC595,
循環發送0-255到74hc595,
使LED循環點亮
硬件連接:SCK--SHCP,MOSI--DS,PB1--STCP
位時鐘 , 數據 , 楨時鐘
作者:張國旗
2008年12月29號
****************************************************************************************/
//============================
// SPI 口初始化
//主機、高位在前、SCK在閑置時
//為低電平,SPI時鐘為fosc/128
//============================
void spi_init()
{
DDRB|=0x2f; //設置SCK、MOSI、SS、使能為輸出
SPCR=0X53; //設置SPI控制寄存器SPE、MSTR、SPR1、SPR0為1
}
//============================
// 數據發送子函數
//入口參數:spi_data
//============================
void senddat(uchar spi_data)
{
uchar status;
SPSR=0; //清中斷標志
PORTB&=~BIT(PB0); //楨時鐘
SPDR=~spi_data;
while(!(SPSR&=0x80));//等待操作完成
SPSR=0; //清中斷標志
delay(10);
PORTB|=BIT(PB0); //楨時鐘
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -