色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > CEPARK AVR大學(xué)堂----Linglong AVR單片機之SPI通信

          CEPARK AVR大學(xué)堂----Linglong AVR單片機之SPI通信

          作者: 時間:2016-11-22 來源:網(wǎng)絡(luò) 收藏
          #include <avr/io.h>
          #include

          #define DD_SPI DDRB
          #define DD_MOSI PB5
          #define DD_SS PB4
          #define DD_SCK PB7

          unsigned char DispBuff[] = {0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90}; //共陽數(shù)碼管字庫

          void SPIMasterInit(void ) //SPI初始代函數(shù)
          {
          DD_SPI = (1 << DD_MOSI)|(1 << DD_SS)|(1 << DD_SCK); // MOSI,SS,SCK 設(shè)置為輸出

          SPCR = (1 << SPE)|(1 << MSTR)|(1 << SPR0); //設(shè)置SPI始能,主機模式,時鐘速率為fck/16.

          }

          void SPIDataTrantsmit(unsigned char cData) //SPI傳輸函數(shù)
          {
          SPDR = cData;
          while(!(SPSR&(1 << SPIF))); //這里是判斷SPIF是否為1,為1表示8位數(shù)據(jù)傳完了。這里我們沒有用中斷的方式。
          }

          int main(void)
          {
          unsigned char count = 0; //設(shè)制循環(huán)變量
          PORTB = 0xff;
          // DDRB = 0xff;
          SPIMasterInit();

          while(1)
          {

          PORTB &= ~(1 << DD_SS);
          SPIDataTrantsmit(DispBuff[count]);
          PORTB |= (1 << DD_SS); //上升沿
          _delay_ms(500);


          count++;
          if(count > 9)
          {
          count = 0;
          }
          }

          }


          關(guān)鍵詞: AVR單片機SPI通

          評論


          技術(shù)專區(qū)

          關(guān)閉