⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mega8_spi.c

📁 AVR学习开发 板
💻 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 + -