stm32 fsmc lcd调试Word文件下载.docx
- 文档编号:17082735
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:12
- 大小:94.61KB
stm32 fsmc lcd调试Word文件下载.docx
《stm32 fsmc lcd调试Word文件下载.docx》由会员分享,可在线阅读,更多相关《stm32 fsmc lcd调试Word文件下载.docx(12页珍藏版)》请在冰豆网上搜索。
#defineLCD_Command*(*(volatileu80x6c000000
#defineLCD_Data*(*(volatileu80x6c000001(LCD数据宽度为8BIT
当数据写入LCD_Command对应的地址时地址和数据会分别被发送到对应的AFIO复用端口将AFIO的A0接至LCD的C/D(Command/data脚就自动切换了命令和数据
LCD_Command=0x55;
A0=0;
对应地址低位0x6c000000
LCD_Data=0x55;
A0=1;
对应地址低位0x6c000001
此开发板LCD与MCU的引脚对应关系为:
D0---->
PD14D4---->
PE7A0------>
PF00
D1---->
PD15D5---->
PE8FSMC_NE4------>
PG12
D2---->
PD0D6---->
PE9FSMC_NWE------->
PD5
D3---->
PD1D7---->
PE10FSMC_NOE------->
PD4
本例中所有引脚配置为AFIO
程序如下:
对于FSMC的工作模式时序配置可以看手册的18章
/****************************************************************************************************************
Funtion:
fsmc
para----|input:
null
|output:
data:
2010/5/9
ver:
0.1
modify:
author:
x
****************************************************************************************************************/
voidLCD_FSMCConfig(void
{
#ifndefNO_LCD
FSMC_NORSRAMInitTypeDefFSMC_NORSRAMInitStructure;
FSMC_NORSRAMTimingInitTypeDefp;
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC,ENABLE;
/*--FSMCConfiguration
------------------------------------------------------*/
/*-----------------------SRAMBank4
----------------------------------------*/
/*FSMC_Bank1_NORSRAM4configuration*/
p.FSMC_AddressSetupTime=1;
p.FSMC_AddressHoldTime=1;
p.FSMC_DataSetupTime=20;
p.FSMC_BusTurnAroundDuration=0;
p.FSMC_CLKDivision=0;
p.FSMC_DataLatency=1;
p.FSMC_AccessMode=FSMC_AccessMode_A;
/*ColorLCDconfiguration------------------------------------LCDconfiguredasfollow:
-Data/AddressMUX=Disable
-MemoryType=SRAM
-DataWidth=16bit
-WriteOperation=Enable
-ExtendedMode=Enable
-AsynchronousWait=Disable*/
FSMC_NORSRAMInitStructure.FSMC_Bank=FSMC_Bank1_NORSRAM4;
FSMC_NORSRAMInitStructure.FSMC_DataAddressMux=
FSMC_DataAddressMux_Disable;
FSMC_NORSRAMInitStructure.FSMC_MemoryType=FSMC_MemoryType_SRAM;
FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth=
FSMC_MemoryDataWidth_8b;
FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode=
FSMC_BurstAccessMode_Disable;
FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity=
FSMC_WaitSignalPolarity_Low;
FSMC_NORSRAMInitStructure.FSMC_WrapMode=FSMC_WrapMode_Disable;
FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive=
FSMC_WaitSignalActive_BeforeWaitState;
FSMC_NORSRAMInitStructure.FSMC_WriteOperation=
FSMC_WriteOperation_Enable;
FSMC_NORSRAMInitStructure.FSMC_WaitSignal=
FSMC_WaitSignal_Disable;
FSMC_NORSRAMInitStructure.FSMC_ExtendedMode=
FSMC_ExtendedMode_Disable;
FSMC_NORSRAMInitStructure.FSMC_WriteBurst=
FSMC_WriteBurst_Disable;
FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct=&
p;
FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct=&
FSMC_NORSRAMInit(&
FSMC_NORSRAMInitStructure;
/*BANK4(ofNOR/SRAMBank1~4isenabled*/
FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM4,ENABLE;
#endif
}
/*******************************************************************************
*FunctionName:
STM3210E_LCD_Init
*Description:
InitializestheLCD.
*Input:
None
*Output:
*Return:
*******************************************************************************/
voidSTM3210E_LCD_Init(void
/*ConfiguretheLCDControlpins
--------------------------------------------*/
LCD_IOConfig(;
/*ConfiguretheFSMCParallelinterface
-------------------------------------*/
LCD_FSMCConfig(;
LCD_Command=Display_Off;
delay(;
LCD_Command=LCD_Reset;
reset_delay(;
LCD_Command=Set_LCD_Bias_9;
LCD_Command=Set_ADC_Normal;
LCD_Command=COM_Scan_Dir_Reverse;
LCD_Command=Set_Start_Line_X|0x0;
LCD_Command=0x2c;
power_delay(;
//50msrequried
LCD_Command=0x2e;
//50ms
LCD_Command=0x2f;
LCD_Command=Set_Ref_Vol_Reg|0x05;
LCD_Command=Set_Ref_Vol_Mode;
LCD_Command=Set_Ref_Vol_Reg;
LCD_Clear(;
LCD_Command=Set_Page_Addr_X|0x0;
LCD_Command=Set_ColH_Addr_X|0x0;
LCD_Command=Set_ColL_Addr_X|0x0;
LCD_Command=Display_On;
/*********************************************************************************************************************/
voidLCD_IOConfig(void
*/
/*补充:
复位后LCD模式如下:
Pageaddress:
0
Columnaddress:
Modify-read:
OFF
DisplayON/OFF:
Initialdisplayline:
0(first
InitialCOM0register:
0(COM0
Partialdisplaydutyratio:
1/64
Iconenable/disable:
0(disable
ReversedisplayON/OFF:
OFF(normal
n-lineinversionregister:
EntiredisplayON/OFF:
Powercontrolregister(VC,VR,VF=(0,0,0
DC-DCstepup:
3timesconvertercircuit=(0,0
Regulatorresistorselectregister:
(R2,R1,R0=(0,0,0
Referencevoltagecontrolregister:
(EV5,EV4,EV3,EV2,EV1,EV0=(1,0,0,0,0,0
LCDbiasratio:
1/9
SHLselect:
ADCselect:
Oscillatorstatus:
Powersavemode:
release
GPIO_InitTypeDefGPIO_InitStructure;
GPIO_DeInit(GPIOD;
/*SetPD.00(D2,PD.01(D3,PD.04(NOE,PD.05(NWE,PD.14(D0,PD.15(D1asalternate
functionpushpull*/
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_4|GPIO_Pin_5|
GPIO_Pin_14|GPIO_Pin_15;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;
GPIO_Init(GPIOD,&
GPIO_InitStructure;
GPIO_DeInit(GPIOE;
/*SetPE.07(D4,PE.08(D5,PE.09(D6,PE.10(D7asalternatefunctionpushpull*/
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10;
GPIO_Init(GPIOE,&
//GPIO_DeInit(GPIOF;
/*SetPF.00(A0(RSasalternatefunctionpushpull*/
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;
GPIO_Init(GPIOF,&
GPIO_DeInit(GPIOG;
/*SetPG.12(NE4(LCD/CSasalternatefunctionpushpull-CE3(LCD/CS*/
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_12;
GPIO_Init(GPIOG,&
#ifdef__CC_ARM
__asmvoidwait(
nop
BXlr
voiddelay(void;
voiddelay(
vu8i=0x8;
while(i--
wait(;
#else
asm("
nop"
;
voidreset_delay(void;
voidreset_delay({
vu32i=0xff;
voidpower_delay(void;
voidpower_delay({
vu32i=0x4ffff;
LCD_Draw_ST_Logo
drawaSTlogo
0--failure
1--success
voidLCD_Draw_ST_Logo(
u8i,j;
u8*p=DispSTLoGoTable;
for(i=0;
i<
8;
i++
//foreachpage
LCD_Command=Set_Page_Addr_X|i;
//pageno.
//fixedcolfirstaddrdelay(;
j=128;
while(j--
LCD_Data=*p++;
ST的LOGO
u8DispSTLoGoTable[]={
/*page0*/0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0xC0,0xE0,0xF0,0xF8,0xF8,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0x7C,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/*page1*/0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFC,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0xBF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x0F,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/*page2*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x1F,0x3F,0x7F,0xFF,0xFF
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- stm32 fsmc lcd调试 lcd 调试
![提示](https://static.bdocx.com/images/bang_tan.gif)