Exemplo n.º 1
0
/*********************LCD初始化************************************/
void OLED_Init(void)     
{
	OLED_DLY_ms(1);
	OLED_WrCmd(0xae);//--turn off oled panel
	OLED_WrCmd(0x00);//---set low column address
	OLED_WrCmd(0x10);//---set high column address
	OLED_WrCmd(0x40);//--set start line address  Set Mapping RAM Display Start Line (0x00~0x3F)
	OLED_WrCmd(0x81);//--set contrast control register
	OLED_WrCmd(0xcf); // Set SEG Output Current Brightness
	OLED_WrCmd(0xa1);//--Set SEG/Column Mapping     0xa0左右反置 0xa1正常
	OLED_WrCmd(0xc8);//Set COM/Row Scan Direction   0xc0上下反置 0xc8正常
	OLED_WrCmd(0xa6);//--set normal display
	OLED_WrCmd(0xa8);//--set multiplex ratio(1 to 64)
	OLED_WrCmd(0x3f);//--1/64 duty
	OLED_WrCmd(0xd3);//-set display offset	Shift Mapping RAM Counter (0x00~0x3F)
	OLED_WrCmd(0x00);//-not offset
	OLED_WrCmd(0xd5);//--set display clock divide ratio/oscillator frequency
	OLED_WrCmd(0x80);//--set divide ratio, Set Clock as 100 Frames/Sec
	OLED_WrCmd(0xd9);//--set pre-charge period
	OLED_WrCmd(0xf1);//Set Pre-Charge as 15 Clocks & Discharge as 1 Clock
	OLED_WrCmd(0xda);//--set com pins hardware configuration
	OLED_WrCmd(0x12);
	OLED_WrCmd(0xdb);//--set vcomh
	OLED_WrCmd(0x40);//Set VCOM Deselect Level
	OLED_WrCmd(0x20);//-Set Page Addressing Mode (0x00/0x01/0x02)
	OLED_WrCmd(0x02);//
	OLED_WrCmd(0x8d);//--set Charge Pump enable/disable
	OLED_WrCmd(0x14);//--set(0x10) disable
	OLED_WrCmd(0xa4);// Disable Entire Display On (0xa4/0xa5)
	OLED_WrCmd(0xa6);// Disable Inverse Display On (0xa6/a7) 
	OLED_WrCmd(0xaf);//--turn on oled panel
	OLED_Fill(0x00);  //初始清屏
	OLED_Set_Pos(0,0); 	
} 
Exemplo n.º 2
0
//==============================================================
//函数名: void LCD_Rectangle(uint8 x1,uint8 y1,
//                   uint8 x2,uint8 y2,uint8 color,uint8 gif)
//功能描述:绘制一个实心矩形
//参数:左上角坐标(x1,y1),右下角坐标(x2,y2)
//      其中x1、x2的范围0~127,y1,y2的范围0~63,即真实坐标值
//返回:无
//==============================================================
void OLED_Rectangle(uint8 x1,uint8 y1,uint8 x2,uint8 y2,uint8 gif)
{
	uint8 n;

	OLED_Set_Pos(x1,y1>>3);
	for(n=x1;n<=x2;n++)
	{
		OLED_WrDat(0x01<<(y1%8));
		if(gif == 1) 	OLED_DLY_ms(50);
	}
	OLED_Set_Pos(x1,y2>>3);
  for(n=x1;n<=x2;n++)
	{
		OLED_WrDat(0x01<<(y2%8));
		if(gif == 1) 	OLED_DLY_ms(5);
	}

}
Exemplo n.º 3
0
/*************************************************************************
*                           蓝宙电子工作室
*
*  函数名称:OLED_Init
*  功能说明:初始化函数
*  参数说明:无
*  函数返回:无
*  修改时间:2014-9-13
*  备    注:
*************************************************************************/
void OLED_Init(void)
{
  PORT_PCR_REG(PORTE_BASE_PTR, 1)=  0 ;
  PORT_PCR_REG(PORTE_BASE_PTR, 1)= PORT_PCR_MUX(1);
  GPIO_PDDR_REG(PTE_BASE_PTR) |= (1 << 1);
  GPIO_PDOR_REG(PTE_BASE_PTR) |=  (1<<(1));
  PORT_PCR_REG(PORTE_BASE_PTR, 2)=  0 ;
  PORT_PCR_REG(PORTE_BASE_PTR, 2)= PORT_PCR_MUX(1);
  GPIO_PDDR_REG(PTE_BASE_PTR) |= (1 << 2);
  GPIO_PDOR_REG(PTE_BASE_PTR) |=  (1<<(2));
  PORT_PCR_REG(PORTE_BASE_PTR, 3)=  0 ;
  PORT_PCR_REG(PORTE_BASE_PTR, 3)= PORT_PCR_MUX(1);
  GPIO_PDDR_REG(PTE_BASE_PTR) |= (1 << 3);
  GPIO_PDOR_REG(PTE_BASE_PTR) |=  (1<<(3));
  PORT_PCR_REG(PORTE_BASE_PTR, 4)=  0 ;
  PORT_PCR_REG(PORTE_BASE_PTR, 4)= PORT_PCR_MUX(1);
  GPIO_PDDR_REG(PTE_BASE_PTR) |= (1 << 4);
  GPIO_PDOR_REG(PTE_BASE_PTR) |=  (1<<(4));
  PORT_PCR_REG(PORTE_BASE_PTR, 5)=  0 ;
  PORT_PCR_REG(PORTE_BASE_PTR, 5)= PORT_PCR_MUX(1);
  GPIO_PDDR_REG(PTE_BASE_PTR) |= (1 << 5);
  GPIO_PDOR_REG(PTE_BASE_PTR) |=  (1<<(5));
 /* gpio_init (PTE1, GPO,HIGH);
  gpio_init (PTE2, GPO,HIGH);
  gpio_init (PTE3, GPO,HIGH);
  gpio_init (PTE4, GPO,HIGH);
  gpio_init (PTE5, GPO,LOW);*/
  
  OLED_SCL=1;
  OLED_CS = 0 ; ///使能信号端,拉低时正常使用
  OLED_RST=0;
  OLED_DLY_ms(100);
  OLED_RST=1;
  
  OLED_WrCmd(0xae);//--turn off oled panel
  OLED_WrCmd(0x00);//---set low column address
  OLED_WrCmd(0x10);//---set high column address
  OLED_WrCmd(0x40);//--set start line address  Set Mapping RAM Display Start Line (0x00~0x3F)
  OLED_WrCmd(0x81);//--set contrast control register
  OLED_WrCmd(0xcf); // Set SEG Output Current Brightness
  OLED_WrCmd(0xa1);//--Set SEG/Column Mapping     0xa0左右反置 0xa1正常
  OLED_WrCmd(0xc8);//Set COM/Row Scan Direction   0xc0上下反置 0xc8正常
  OLED_WrCmd(0xa6);//--set normal display
  OLED_WrCmd(0xa8);//--set multiplex ratio(1 to 64)
  OLED_WrCmd(0x3f);//--1/64 duty
  OLED_WrCmd(0xd3);//-set display offset	Shift Mapping RAM Counter (0x00~0x3F)
  OLED_WrCmd(0x00);//-not offset
  OLED_WrCmd(0xd5);//--set display clock divide ratio/oscillator frequency
  OLED_WrCmd(0x80);//--set divide ratio, Set Clock as 100 Frames/Sec
  OLED_WrCmd(0xd9);//--set pre-charge period
  OLED_WrCmd(0xf1);//Set Pre-Charge as 15 Clocks & Discharge as 1 Clock
  OLED_WrCmd(0xda);//--set com pins hardware configuration
  OLED_WrCmd(0x12);
  OLED_WrCmd(0xdb);//--set vcomh
  OLED_WrCmd(0x40);//Set VCOM Deselect Level
  OLED_WrCmd(0x20);//-Set Page Addressing Mode (0x00/0x01/0x02)
  OLED_WrCmd(0x02);//
  OLED_WrCmd(0x8d);//--set Charge Pump enable/disable
  OLED_WrCmd(0x14);//--set(0x10) disable
  OLED_WrCmd(0xa4);// Disable Entire Display On (0xa4/0xa5)
  OLED_WrCmd(0xa6);// Disable Inverse Display On (0xa6/a7)
  OLED_WrCmd(0xaf);//--turn on oled panel
  OLED_Fill(0x00);  //初始清屏
  //OLED_Set_Pos(0,0);
  //OLED_Fill(0x00);//黑屏 
  //OLED_DLY_ms(100); 
}