<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      STM32串行通信驅動LCD12864(使用5V電源,驅動信號用5VFT的引腳(3.3V MCU))

      #include "spi.h"
       
      
      void SPI_GPIO_Init(void)
      {
          //hardware make PSB low to enable serial communication
          GPIO_InitTypeDef   GPIO_InitStruct;
      
          RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
      
          GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
          GPIO_InitStruct.GPIO_Pin = GPIO_Pin_10;
          GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
      
          GPIO_Init(GPIOB, &GPIO_InitStruct);
      
          GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
          GPIO_InitStruct.GPIO_Pin = GPIO_Pin_11;
          GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
      
          GPIO_Init(GPIOB, &GPIO_InitStruct);
      
          GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
          GPIO_InitStruct.GPIO_Pin = GPIO_Pin_12;
          GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
      
          
          GPIO_Init(GPIOB, &GPIO_InitStruct);
      }
      
      void SPI_SID_IN(void)
      {
          GPIO_InitTypeDef   GPIO_InitStruct;
      
          GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IPU;
          GPIO_InitStruct.GPIO_Pin = GPIO_Pin_12;
          
      
          GPIO_Init(GPIOB, &GPIO_InitStruct);
      }
      
      void SPI_SID_OUT(void)
      {
          GPIO_InitTypeDef   GPIO_InitStruct;
      
          GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
          GPIO_InitStruct.GPIO_Pin = GPIO_Pin_12;
          GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
      
          GPIO_Init(GPIOB, &GPIO_InitStruct);
      }
      void SPI_Start(void)
      {
          SPI_SID_L;
          Delayus(10);
          SPI_CLK_L;
          Delayus(10);
          SPI_CS_L;
          Delayus(10);
          SPI_CS_H;
      }
      void SPI_Stop(void)
      {
          SPI_CS_L;
          Delayus(10);
      //    SPI_SID_H;
      //    Delayus(10);
      //    SPI_CLK_H;
      }
      void SPI_Write(unsigned char data)
      {
          uint8_t i = 0;
          for(i = 0; i < 8; i ++)
          {
              if((data&0x80) == 0x80)                             
              {                                                  
                  SPI_SID_H;                                     
              }                                                  
              else                                              
              {                                                  
                  SPI_SID_L;                                      
              }                                                  
              Delayus(10);                                      
                                                                
              SPI_CLK_H;
              Delayus(10);
              
      
              SPI_CLK_L;
              data = data << 1;
              Delayus(10);
          }
          
           
      }
      
      unsigned char SPI_Read(void)
      {
          uint8_t i = 0;
          unsigned char val = 0;
          SPI_SID_IN();
          for(i = 0; i < 8; i ++)                                                   
          {
              val = val << 1;                                              
              
              SPI_CLK_H;                                                  
              Delayus(10);
                                                                        
              if(GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_12))                             
              {                                                            
                  val |= 0x01;                                           
              }                                                            
              else                                                        
              {                                                            
                  val |= 0x00;                                      
              }                                                  
              Delayus(10);
      
              SPI_CLK_L;
              
              Delayus(10);
          }
          return val;
      
      }
      void SPI_WriteCmd(unsigned char cmd)//0xf8 write cmd;0xfa write data;
      {
          unsigned char high4bit = 0, low4bit = 0;
          SPI_Start();
          high4bit = (cmd & 0xF0);
          low4bit = ((cmd << 4)&0xF0);
          SPI_Write(0xF8);
          SPI_Write(high4bit);
          SPI_Write(low4bit);
      
      
          SPI_Stop();
      
      
      }
      
      void SPI_WriteData(unsigned char data)
      {
          unsigned char high4bit = 0, low4bit = 0;
          SPI_Start();
          high4bit = (data & 0xF0);
          low4bit = ((data << 4)&0xF0);
          SPI_Write(0xFA);
          SPI_Write(high4bit);
          SPI_Write(low4bit);
      
          SPI_Stop();
      
      }
      
      uint8_t SPI_ReadCmd(void)//0xfc read cmd;0xfe read data;
      {
          unsigned char high4bit = 0, low4bit = 0, val = 0;
          SPI_Start();
          
          SPI_Write(0xFC);
          high4bit = SPI_Read();
          low4bit =  SPI_Read();
      
          SPI_Stop();
      
          val = (high4bit+(low4bit >> 4));
      
          
          return val;
      
      }
      
      uint8_t SPI_ReadData(void)
      {
          unsigned char high4bit = 0, low4bit = 0, val = 0;
          SPI_Start();
          
          SPI_Write(0xFE);
          high4bit = SPI_Read();
          low4bit =  SPI_Read();
      
          SPI_Stop();
      
          val = (high4bit+(low4bit >> 4));
      
          
          return val;
      }
      
      void WriteStr(unsigned char *s)
      {
          while(*s != '\0')
          {
              SPI_WriteData(*s);
              s ++;
      
          }
      }
      
      void LCD_PutGraphic(const unsigned char *img)
      { 
       int i,j;
      //顯示上半屏內容設置
         for(i=0;i<32;i++)            
          { 
            SPI_WriteCmd(0x80 + i); //SET  垂直地址 VERTICAL ADD
            SPI_WriteCmd(0x80);     //SET  水平地址 HORIZONTAL ADD
            for(j=0;j<16;j++)
             {
               SPI_WriteData(*img);
               img++;
             }
          }
      //顯示下半屏內容設置
         for(i=0;i<32;i++)            
          {
            SPI_WriteCmd(0x80 + i); //SET 垂直地址 VERTICAL ADD
            SPI_WriteCmd(0x88);     //SET 水平地址 HORIZONTAL ADD
            for(j=0;j<16;j++)
             {
               SPI_WriteData(*img);
               img++;
             }
          }  
                 
      }
      #include "stm32f10x.h"
      
      #include "delay.h"
      
      #include "led.h"
      #include "spi.h"
      
      //12864是5V電源供電才行;數據時鐘用3.3VMCU輸出即可,用FT5V引腳
      
      const unsigned char pic1[]=      // 圖片代碼
      {
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
      0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
      0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
      0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
      0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
      0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
      0xC0,0x1F,0xFF,0x81,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
      0xC0,0x1F,0xFF,0x81,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
      0xC0,0x18,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x08,0x00,0x00,0x00,0x03,
      0xC0,0x1F,0xFF,0x80,0x00,0x00,0x04,0x07,0x81,0xE0,0x10,0x10,0x03,0xC0,0x30,0x03,
      0xC0,0x1F,0xFF,0x80,0x00,0x00,0x0C,0x0C,0xC3,0x30,0x08,0x20,0x0C,0xE0,0x70,0x03,
      0xC0,0x18,0x01,0x87,0xFF,0xFE,0x3C,0x18,0x66,0x18,0x04,0x40,0x0C,0x60,0x70,0x03,
      0xC0,0x1F,0xFF,0x87,0xFF,0xFE,0x0C,0x18,0x66,0x18,0x02,0x80,0x18,0x00,0xB0,0x03,
      0xC0,0x1F,0xFF,0x80,0x06,0x00,0x0C,0x18,0x66,0x18,0x01,0x00,0x1B,0x81,0x30,0x03,
      0xC0,0x01,0x98,0x00,0x06,0x00,0x0C,0x00,0xE3,0x30,0x02,0x80,0x1C,0xC1,0x30,0x03,
      0xC0,0x19,0x99,0x80,0x66,0x60,0x0C,0x00,0xC1,0xE0,0x04,0x40,0x18,0x62,0x30,0x03,
      0xC0,0x19,0x99,0x80,0x66,0x30,0x0C,0x01,0x83,0x30,0x08,0x20,0x18,0x66,0x30,0x03,
      0xC0,0x0D,0x9B,0x00,0xC6,0x38,0x0C,0x03,0x06,0x18,0x10,0x10,0x18,0x67,0xFC,0x03,
      0xC0,0x0D,0x9B,0x01,0xC6,0x1C,0x0C,0x06,0x06,0x18,0x20,0x08,0x18,0x60,0x30,0x03,
      0xC0,0x01,0x98,0x03,0x86,0x0C,0x0C,0x0C,0x06,0x18,0x00,0x00,0x08,0x60,0x30,0x03,
      0xC0,0x7F,0xFF,0xE3,0x06,0x00,0x0C,0x18,0x03,0x30,0x00,0x00,0x0C,0xC0,0x30,0x03,
      0xC0,0x7F,0xFF,0xE0,0x1E,0x00,0x0C,0x1F,0xE1,0xE0,0x00,0x00,0x07,0x80,0x30,0x03,
      0xC0,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
      0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
      0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
      0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
      0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
      0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
      0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
      0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
      0xC0,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x00,0x18,0x00,0x00,0x00,0x06,0x0C,0x03,
      0xC3,0xFF,0xFC,0x3F,0xF0,0x80,0x0C,0x00,0x3F,0x18,0x01,0xFF,0xFE,0x06,0x0C,0x03,
      0xC3,0xFF,0xFC,0x3F,0xF1,0x80,0x0F,0xFC,0x3F,0x18,0x01,0xFF,0xFE,0x06,0x0C,0x03,
      0xC3,0x0C,0x0C,0x0C,0xC3,0x00,0x0F,0xFC,0x33,0x7F,0xE1,0x86,0x06,0x06,0x0C,0x03,
      0xC3,0x1F,0xCC,0x0C,0xC6,0x00,0x0C,0x00,0x33,0x7F,0xE1,0x8F,0xE6,0x06,0x0C,0x03,
      0xC3,0x3F,0xCC,0x0C,0xCC,0x00,0x0C,0x00,0x36,0x30,0x01,0x9F,0xE6,0x07,0xFF,0xE3,
      0xC3,0x79,0x8C,0x0C,0xC8,0x00,0xFF,0xF0,0x36,0x36,0x01,0xBC,0xC6,0x07,0xFF,0xE3,
      0xC3,0x6F,0x0C,0x7F,0xF0,0xC0,0xFF,0xF0,0x36,0x66,0x01,0xB7,0x86,0x06,0x00,0x03,
      0xC3,0x0F,0x0C,0x7F,0xF1,0x80,0xC0,0x30,0x36,0x7F,0xC1,0x87,0x86,0x06,0x00,0x03,
      0xC3,0x79,0xEC,0x0C,0xC3,0x00,0xC0,0x30,0x33,0x7F,0xC1,0xBC,0xF6,0x06,0x00,0x03,
      0xC3,0x76,0xEC,0x0C,0xC6,0x00,0xC0,0x30,0x33,0x06,0x01,0xBB,0x76,0x07,0xFF,0x03,
      0xC3,0x07,0x0C,0x0C,0xCC,0x20,0xFF,0xF0,0x33,0x06,0x01,0x83,0x86,0x07,0xFF,0x03,
      0xC3,0x03,0x0C,0x18,0xC8,0x60,0xFF,0xF0,0x3F,0x06,0x01,0x81,0x86,0x06,0x03,0x03,
      0xC3,0x1C,0x0C,0x18,0xC0,0xC0,0x00,0x00,0x3E,0xFF,0xE1,0x8E,0x06,0x06,0x03,0x03,
      0xC3,0x1F,0x0C,0x18,0xC1,0x81,0xB1,0x8C,0x30,0xFF,0xE1,0x8F,0x86,0x06,0x03,0x03,
      0xC3,0x03,0x0C,0x30,0xC7,0x01,0xB1,0x8C,0x30,0x06,0x01,0x81,0x86,0x0C,0x03,0x03,
      0xC3,0xFF,0xFC,0x70,0xDE,0x03,0x18,0xC6,0x30,0x06,0x01,0xFF,0xFE,0x0C,0x03,0x03,
      0xC3,0xFF,0xFC,0x20,0x18,0x03,0x18,0xC6,0x30,0x06,0x01,0xFF,0xFE,0x18,0x03,0x03,
      0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
      0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
      0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
      0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
      0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
      0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
      0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
      0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
      0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
      0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
      0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
      0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      
      };
      int main(void)
      {
          Delay_Init();
          LED_GPIO_Init();
          SPI_GPIO_Init();
          
          Delayus(10000);
          SPI_WriteCmd(0x30);
          Delayus(1000);
          SPI_WriteCmd(0x30);
          Delayus(1000);
          SPI_WriteCmd(0x0c);
          Delayus(10000);
          SPI_WriteCmd(0x01);
          Delayus(10000);
      
          SPI_WriteCmd(0x06);
          Delayus(10000);
      
      //    SPI_WriteCmd(0x80);
      //    WriteStr("你好");
      
          SPI_WriteCmd(0x36);
          Delayus(10000);
      
          LCD_PutGraphic(pic1);
          while(1)
          {
                      
          }
          
      }

       

      posted @ 2024-04-05 21:26  了解2號  閱讀(658)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产资源精品中文字幕| 天堂V亚洲国产V第一次| 久久精品女人的天堂av| 久久精品国产99久久久古代 | 国内免费视频成人精品| 日韩精品一区二区三区激情视频 | 国产亚洲欧美精品久久久| 日韩中文日韩中文字幕亚| 国产午夜视频在线观看| 人妻中文字幕亚洲精品| 俺也来俺也去俺也射| 亚洲国产av无码综合原创国产 | 国产成人拍国产亚洲精品| 国产偷国产偷亚洲综合av| 亚洲综合一区二区精品导航| 亚洲精品日本久久久中文字幕| 深夜av免费在线观看| 亚洲综合在线一区二区三区| 中文字幕国产精品av| 国产精品性色一区二区三区| 亚洲日韩国产精品第一页一区| 日韩中文字幕人妻一区| 国产在线拍揄自揄视频网试看| 亚洲国产aⅴ成人精品无吗| 精品国产成人网站一区在线| 久热这里只有精品12| 国产婷婷综合在线视频中文| 国产高清亚洲一区亚洲二区 | 国产一区二区三区亚洲精品| 午夜性刺激在线观看| 亚洲国产大胸一区二区三区| 国内精品无码一区二区三区| 欧美成人午夜在线观看视频| 久久国产国内精品国语对白| 亚洲第一无码专区天堂| 国产一区| 日韩激情无码免费毛片| 影音先锋啪啪av资源网站| 日本精品极品视频在线| 少妇高潮喷潮久久久影院| 亚洲一二区在线视频播放|