找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1839|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

STM8L單片機(jī)LCD不能正常顯示1個點(diǎn)和LCD映射有疑惑

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主

void LCD_Config(void)
{
  //SEG GPIO Init
  GPIO_Init(GPIOE, GPIO_Pin_0|GPIO_Pin_1,GPIO_Mode_Out_PP_Low_Fast);//SEG1,2
  GPIO_Init(GPIOE, GPIO_Pin_2|GPIO_Pin_3,GPIO_Mode_Out_PP_Low_Fast);//SEG3,4
  GPIO_Init(GPIOE, GPIO_Pin_4|GPIO_Pin_5,GPIO_Mode_Out_PP_Low_Fast);//SEG5,6
  GPIO_Init(GPIOD, GPIO_Pin_0|GPIO_Pin_2,GPIO_Mode_Out_PP_Low_Fast);//SEG7,8
  GPIO_Init(GPIOD, GPIO_Pin_3,GPIO_Mode_Out_PP_Low_Fast);//SEG9
  GPIO_Init(GPIOB, GPIO_Pin_0|GPIO_Pin_1,GPIO_Mode_Out_PP_Low_Fast);//SEG10,11
  //COM GPIO Init
  GPIO_Init(GPIOF, GPIO_Pin_4|GPIO_Pin_5,GPIO_Mode_Out_PP_Low_Fast);//COM4,5
  GPIO_Init(GPIOF, GPIO_Pin_6|GPIO_Pin_7,GPIO_Mode_Out_PP_Low_Fast);//COM6,7
  
//------打開LCD時鐘------
  CLK->PCKENR2 |= (1<<3);
//----設(shè)置LCD預(yù)分頻值----  
  LCD_FRQ_PS0=0;// 2^PS[3:0]
  LCD_FRQ_PS1=0;//分頻值為0
  LCD_FRQ_PS2=0;
  LCD_FRQ_PS3=0;
//----設(shè)置LCD分頻值----  
  LCD_FRQ_DIV0=0;//DIV[3:0]+16
  LCD_FRQ_DIV1=0;//分頻值為16
  LCD_FRQ_DIV2=0;
  LCD_FRQ_DIV3=0;  
//----1/4 duty----  
  LCD_CR1_DUTY0=1;//1/4 duty
  LCD_CR1_DUTY1=1;
/* Duty ratio selection
   00: Static duty
   01: 1/2 duty
   10: 1/3 duty
   11: 1/4 duty      */
//----1/3 bias----     
  LCD_CR1_B2=0;//1/3 bias
/* 0: 1/3 bias
   1: 1/2 bias  */
//----內(nèi)部電壓源----   
  LCD_CR2_VSEL=0;
//----打開引腳的SEG功能----     
  LCD->PM[0]|= 0xFE;//啟用seg0-7
  LCD->PM[1]|= 0x0F;//啟用seg8-10
//----To set contrast to mean value----   
  LCD_CR2_CC0=1;//對比度
  LCD_CR2_CC1=1;
  LCD_CR2_CC2=1;
/*  000: VLCD0  2.6V
    001: VLCD1  2.7V
    010: VLCD2  2.8V
    011: VLCD3  2.9V
    100: VLCD4  3.0V
    101: VLCD5  3.1V
    110: VLCD6  3.2V
    111: VLCD7    */
//----Dead time 0----         
  LCD_CR3_DEAD0=0;//no dead time
  LCD_CR3_DEAD1=0;  
  LCD_CR3_DEAD2=0;
//----LCD_PulseOnDuration_1----
  LCD_CR2_PON0=1;
  LCD_CR2_PON1=1;  
  LCD_CR2_PON2=1;         
/*  000: 0 CLKps pulses
    001: 1 CLKps pulses
    010: 2 CLKps pulses
    011: 3 CLKps pulses
    100: 4 CLKps pulses
    101: 5 CLKps pulses
    110: 6 CLKps pulses
    111: 7 CLKps pulses  */
//----Enable LCD peripheral----        
//  LCD->CR4 |=0x04;
  LCD->CR3 |= (0x01<<6);
}
//帶初始化
void test_LCD(void)
{
  LCD_Config();
  unsigned char i=0;
  uint8_t volatile *LCDRAMAddr = &(LCD->RAM[8]);
//
//  while(i<14)
//  {
//    LCD->RAM[i++] = 0x02;
//  }
  LCD->RAM[8] = 0x02;
  while(1)
  {
  }
}
會顯示三個點(diǎn),很奇怪。
附上我的圖

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

板凳
ID:226750 發(fā)表于 2019-4-16 18:08 | 只看該作者
xuyaqi 發(fā)表于 2019-4-16 17:15
彩屏一個白點(diǎn)由紅,綠,藍(lán)三個點(diǎn)合成。

段碼屏的,不好意意思沒說詳細(xì)
回復(fù)

使用道具 舉報

沙發(fā)
ID:94031 發(fā)表于 2019-4-16 17:15 | 只看該作者
彩屏一個白點(diǎn)由紅,綠,藍(lán)三個點(diǎn)合成。
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表