智能车制作

标题: 8080并口oled点不亮 [打印本页]

作者: @狼/#燎牙    时间: 2015-10-18 22:55
标题: 8080并口oled点不亮
自己打板,代码参照正点原子,仔细检查了两三天竟没有发现问题,求大神指点一二。。。
作者: @狼/#燎牙    时间: 2015-10-18 22:56
  1. <blockquote>void OLED_Init(void)
复制代码


作者: @狼/#燎牙    时间: 2015-10-18 22:57
void OLED_Init(void)
{        

        GPIO_InitTypeDef  GPIO_InitStructure;
       
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);         //使能PB端口时钟

        GPIO_InitStructure.GPIO_Pin = 0xFFF8;         //PB3~PB15推挽输出  
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                  //推挽输出
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//速度50MHz
        GPIO_Init(GPIOB, &GPIO_InitStructure);          //初始化GPIOB3~15
    GPIO_SetBits(GPIOB,0xFFF8);

    delay_ms(10);
   
        OLED_CS=1;
        OLED_RS=1;         
       
        OLED_RST=0;
        delay_ms(100);
        OLED_RST=1;
                                          
        OLED_WR_Byte(0xAE,OLED_CMD); //关闭显示
        OLED_WR_Byte(0xD5,OLED_CMD); //设置时钟分频因子,震荡频率
        OLED_WR_Byte(80,OLED_CMD);   //[3:0],分频因子;[7:4],震荡频率
        OLED_WR_Byte(0xA8,OLED_CMD); //设置驱动路数
        OLED_WR_Byte(0X3F,OLED_CMD); //默认0X3F(1/64)
        OLED_WR_Byte(0xD3,OLED_CMD); //设置显示偏移
        OLED_WR_Byte(0X00,OLED_CMD); //默认为0

        OLED_WR_Byte(0x40,OLED_CMD); //设置显示开始行 [5:0],行数.
                                                                                                            
        OLED_WR_Byte(0x8D,OLED_CMD); //电荷泵设置
        OLED_WR_Byte(0x14,OLED_CMD); //bit2,开启/关闭
        OLED_WR_Byte(0x20,OLED_CMD); //设置内存地址模式
        OLED_WR_Byte(0x02,OLED_CMD); //[1:0],00,列地址模式;01,行地址模式;10,页地址模式;默认10;
        OLED_WR_Byte(0xA1,OLED_CMD); //段重定义设置,bit0:0,0->0;1,0->127;
        OLED_WR_Byte(0xC0,OLED_CMD); //设置COM扫描方向;bit3:0,普通模式;1,重定义模式 COM[N-1]->COM0;N:驱动路数
        OLED_WR_Byte(0xDA,OLED_CMD); //设置COM硬件引脚配置
        OLED_WR_Byte(0x12,OLED_CMD); //[5:4]配置
                 
        OLED_WR_Byte(0x81,OLED_CMD); //对比度设置
        OLED_WR_Byte(0xEF,OLED_CMD); //1~255;默认0X7F (亮度设置,越大越亮)
        OLED_WR_Byte(0xD9,OLED_CMD); //设置预充电周期
        OLED_WR_Byte(0xf1,OLED_CMD); //[3:0],PHASE 1;[7:4],PHASE 2;
        OLED_WR_Byte(0xDB,OLED_CMD); //设置VCOMH 电压倍率
        OLED_WR_Byte(0x30,OLED_CMD); //[6:4] 000,0.65*vcc;001,0.77*vcc;011,0.83*vcc;

        OLED_WR_Byte(0xA4,OLED_CMD); //全局显示开启;bit0:1,开启;0,关闭;(白屏/黑屏)
        OLED_WR_Byte(0xA6,OLED_CMD); //设置显示方式;bit0:1,反相显示;0,正常显示                                                              
        OLED_WR_Byte(0xAF,OLED_CMD); //开启显示         
        OLED_Clear();

}  
作者: @狼/#燎牙    时间: 2015-10-18 22:58
#define OLED_CS  PBout(3)
#define OLED_RST PBout(4)        
#define OLED_RS  PBout(5)
#define OLED_WR  PBout(6)                  
#define OLED_RD  PBout(7)          
作者: @狼/#燎牙    时间: 2015-10-18 23:01
原理图

作者: @狼/#燎牙    时间: 2015-10-18 23:02
排线引脚将检查没有虚焊,也没有短路




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2