新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > AVR單片機與74HC595的SPI顯示程序

AVR單片機與74HC595的SPI顯示程序

作者: 時間:2016-11-29 來源:網絡 收藏

//*******************************************//            74HC595/165驅動程序//            (165,595均為兩片)//*******************************************unsigned int LED;unsigned int KEY_DATA;void Driver_595(unsigned char Bit,unsigned char State){if(State)LED|=(0x00001<>8));set_bit(1,0);clr_bit(1,0);SPI_W_R((int)LED);set_bit(1,0);clr_bit(1,0);}void Port_Init(void){DDRB=0xff;PORTB=0x00;}//****************************************************************void Driver_165(void)            //Bite所取位0~15,State為改位的狀態(tài)0,1{ unsigned char a1;unsigned char a2;clr_bit(1,3);  set_bit(1,3); a1=SPI_W_R(0x00);                //74HC165輸入使能       a2=SPI_W_R(0x00);           //讀出鍵值KEY_DATA=a1;KEY_DATA<<=8;KEY_DATA+=a2;return;}//*******************************************************************void set_bit(unsigned char port,unsigned char n)//port為端口號分別用0~3表示A~D,n該端口的引腳號0~7{switch(port){case 0x00:PORTA|=(0x01<>7)==0x00);     //等待數據發(fā)送完畢return SPDR;                //返回收到的數據}//*********************OK*****************************************


總結:以上是AVR單片機使用SPI接口控制74HC595的例子,這些例子經過簡單的修改就可以應用到其它具有SPI即可的芯片上,如SPI接口的Flash存儲芯片AT45DB系列、SPI接口的時鐘芯片DS1302、SPI接口的AD或DA芯片等等。

對于AVR mega系列單片機一般都具有硬件SPI接口,建議客戶使用硬件SPI接口,這樣可以占用更少的硬件和軟件資源。但軟件實現SPI接口,也有一定的優(yōu)勢,如它使用的IO口不是固定的,可以根據需要來指定,它一次發(fā)送的數據可以不是8位,而是可以根據需要來指定。

Shiftout VS Spiout

這兩個語句都是SPI輸出語句,與它們對應的分別是shiftin和spiin
shiftout語句可以使用在硬件spi或軟件spi接口,通過config語句來確定:
Config Spi = Hard/soft
Shiftout語句使用在軟件spi接口。


上一頁 1 2 下一頁

關鍵詞: AVR單片機74HC595SP

評論


技術專區(qū)

關閉