?? max5400drive.txt
字號:
/*-----------------------------------------
----------------陳曉濤---------------------
-------------------------------------------
名稱:SPI總路線實現數控電位器驅動程序
說明:晶振為1M
-----------------------------------------*/
#include"iom16.h"
#include"intrinsics.h"
/*-----------------------------------------
SPI接口定義
----------------------------------------*/
#define DDR_SPI DDRB //SPI總路線接口在PORTB
#define DD_MOSI DDB5 //MOSI接口定義
#define DD_SCK DDB7 //SCK接口定義
#define DD_SS DDB4//SS接口定義
#define SET_SS PORTB|=0X10;
#define CLR_SS PORTB&=0XEF;
unsigned char data;
void SPI_MasterInit(void);
void SPI_MasterTransmit(char cData);
void write_max5400(unsigned char data1);
void SPI_MasterInit(void)
{
/* MOSI SCK /SS*/
DDR_SPI = (1<<DD_MOSI)|(1<<DD_SCK)|(1<<DD_SS);
/* SPIfck/16 */
SPCR=0X5c; //(50 58 5C都可用,用54將播入一個0)SPI使能,主機模式,中斷禁止,MSB先發,上升為起始沿,起始沿采樣,SCK為Fosc/4
SPSR|=0X01;//SCK倍速為Fosc/2
}
void SPI_MasterTransmit(char cData)
{
SPDR = cData;
while(!(SPSR & (1<<SPIF)))
;
}
void write_max5400(unsigned char data1)
{
CLR_SS;
SPI_MasterTransmit(data1);
SET_SS;
}
void main()
{
SPI_MasterInit();
write_max5400(0xff);
while(1)
{
if(data>=255)
data=0;
data+=5;
write_max5400(data);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -