外设篇 18LCD彩色液晶屏显示汉字英文数字9325Word文档格式.docx
- 文档编号:7552398
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:18
- 大小:19.39KB
外设篇 18LCD彩色液晶屏显示汉字英文数字9325Word文档格式.docx
《外设篇 18LCD彩色液晶屏显示汉字英文数字9325Word文档格式.docx》由会员分享,可在线阅读,更多相关《外设篇 18LCD彩色液晶屏显示汉字英文数字9325Word文档格式.docx(18页珍藏版)》请在冰点文库上搜索。
4;
i++)
{show_Font(30+i*50,50,i,RED,WHITE);
15;
{show_Str(10+i*15,100,i,RED,WHITE);
while
(1)
{delay_ms(200);
TFT_Draw_Rectangle(10,150,230,160,RED);
delay_ms(200);
TFT_Draw_Rectangle(10,150,230,160,BLUE);
TFT_Draw_Rectangle(10,150,230,160,GREEN);
}
voidRCC_Configuration(void)
{SystemInit();
//72m
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC,ENABLE);
voidGPIO_Configuration(void)
{GPIO_InitTypeDefGPIO_InitStructure;
//LED
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;
//TX
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;
GPIO_Init(GPIOA,&
GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10;
//RX
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;
//FSMC管脚初始化
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_13;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_Init(GPIOD,&
GPIO_SetBits(GPIOD,GPIO_Pin_13);
//打开背光
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1;
//复位
GPIO_Init(GPIOE,&
//启用fsmc复用功能复用上拉模式
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_14//D0
|GPIO_Pin_15//D1
|GPIO_Pin_0//D2
|GPIO_Pin_1//D3
|GPIO_Pin_8//D13
|GPIO_Pin_9//D14
|GPIO_Pin_10;
//D15
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_7//D4
|GPIO_Pin_8//D5
|GPIO_Pin_9//D6
|GPIO_Pin_10//D7
|GPIO_Pin_11//D8
|GPIO_Pin_12//D9
|GPIO_Pin_13//D10
|GPIO_Pin_14//D11
|GPIO_Pin_15;
//D12
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_11//RS
|GPIO_Pin_4//nOE
|GPIO_Pin_5;
//nWE
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_7;
//NE1
voidNVIC_Configuration(void)
{NVIC_InitTypeDefNVIC_InitStructure;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
NVIC_InitStructure.NVIC_IRQChannel=USART1_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority=1;
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
NVIC_Init(&
NVIC_InitStructure);
voidUSART_Configuration(void)
{
USART_InitTypeDefUSART_InitStructure;
USART_InitStructure.USART_BaudRate=9600;
USART_InitStructure.USART_WordLength=USART_WordLength_8b;
USART_InitStructure.USART_StopBits=USART_StopBits_1;
USART_InitStructure.USART_Parity=USART_Parity_No;
USART_InitStructure.USART_HardwareFlowControl=USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode=USART_Mode_Rx|USART_Mode_Tx;
USART_Init(USART1,&
USART_InitStructure);
USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);
USART_Cmd(USART1,ENABLE);
USART_ClearFlag(USART1,USART_FLAG_TC);
u8dt=0;
voidRCC_HSE_Configuration(void)//HSE作为PLL时钟,PLL作为SYSCLK
{RCC_DeInit();
/*将外设RCC寄存器重设为缺省值*/
RCC_HSEConfig(RCC_HSE_ON);
/*设置外部高速晶振(HSE)HSE晶振打开(ON)*/
if(RCC_WaitForHSEStartUp()==SUCCESS){/*等待HSE起振,SUCCESS:
HSE晶振稳定且就绪*/
RCC_HCLKConfig(RCC_SYSCLK_Div1);
/*设置AHB时钟(HCLK)RCC_SYSCLK_Div1——AHB时钟=系统时*/
RCC_PCLK2Config(RCC_HCLK_Div1);
/*设置高速AHB时钟(PCLK2)RCC_HCLK_Div1——APB2时钟=HCLK*/
RCC_PCLK1Config(RCC_HCLK_Div2);
/*设置低速AHB时钟(PCLK1)RCC_HCLK_Div2——APB1时钟=HCLK/2*/
RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);
/*设置PLL时钟源及倍频系数*/
RCC_PLLCmd(ENABLE);
/*使能PLL*/
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==RESET);
/*检查指定的RCC标志位(PLL准备好标志)设置与否*/
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
/*设置系统时钟(SYSCLK)*/
while(RCC_GetSYSCLKSource()!
=0x08);
/*0x08:
PLL作为系统时钟*/
}}
voiddelay(u32nCount)
{for(;
nCount!
=0;
nCount--);
/****************************************************************************
*名称:
delay_us(u32nus)
*功能:
微秒延时函数
*入口参数:
u32nus
*出口参数:
无
*说明:
*调用方法:
无
****************************************************************************/
voiddelay_us(u32nus)
{u32temp;
SysTick->
LOAD=9*nus;
VAL=0X00;
//清空计数器
CTRL=0X01;
//使能,减到零是无动作,采用外部时钟源
do
{temp=SysTick->
CTRL;
//读取当前倒计数值
}while((temp&
0x01)&
&
(!
(temp&
(1<
<
16))));
//等待时间到达
CTRL=0x00;
//关闭计数器
VAL=0X00;
//清空计数器
delay_ms(u16nms)
毫秒延时函数
u16nms
voiddelay_ms(u16nms)
{//注意delay_ms函数输入范围是1-1863
//所以最大延时为1.8秒
u32temp;
LOAD=9000*nms;
stm32f10x_it.h"
stm32f10x_exti.h"
stm32f10x_rcc.h"
misc.h"
voidUSART1_IRQHandler(void)
{if(USART_GetITStatus(USART1,USART_IT_RXNE)!
=RESET)
{USART_SendData(USART1,USART_ReceiveData(USART1));
while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET);
voidFSMC_Configuration(void)
{FSMC_NORSRAMInitTypeDefFSMC_NORSRAMInitStructure;
FSMC_NORSRAMTimingInitTypeDefp;
p.FSMC_AddressSetupTime=0x02;
//地址建立时间
p.FSMC_AddressHoldTime=0x00;
//地址保持时间
p.FSMC_DataSetupTime=0x05;
//数据建立时间
p.FSMC_BusTurnAroundDuration=0x00;
//总线恢复时间
p.FSMC_CLKDivision=0x00;
//时钟分频
p.FSMC_DataLatency=0x00;
//数据保持时间
p.FSMC_AccessMode=FSMC_AccessMode_B;
//NORFLASH的BANK1
FSMC_NORSRAMInitStructure.FSMC_Bank=FSMC_Bank1_NORSRAM1;
//数据线与地址线不复用
FSMC_NORSRAMInitStructure.FSMC_DataAddressMux=FSMC_DataAddressMux_Disable;
//存储器类型NORFLASH
FSMC_NORSRAMInitStructure.FSMC_MemoryType=FSMC_MemoryType_NOR;
//数据宽度为16位
FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth=FSMC_MemoryDataWidth_16b;
//使用异步写模式,禁止突发模式
FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode=FSMC_BurstAccessMode_Disable;
//本成员的配置只在突发模式下有效,等待信号极性为低
FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity=FSMC_WaitSignalPolarity_Low;
//禁止非对齐突发模式
FSMC_NORSRAMInitStructure.FSMC_WrapMode=FSMC_WrapMode_Disable;
//本成员配置仅在突发模式下有效。
NWAIT信号在什么时期产生
FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive=FSMC_WaitSignalActive_BeforeWaitState;
//本成员的配置只在突发模式下有效,禁用NWAIT信号
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
FSMC_NORSRAMInit(&
FSMC_NORSRAMInitStructure);
//使能FSMCBANK1_SRAM模式
FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM1,ENABLE);
constu8font[4][72]={
{0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x08,0x02,0x00,0x10,0x0C,0x00,0x10,0x38,0x00,0x20,0xE0,0x00,0x5F,0x80,0x00,0x99,0x00,0x03,0x00,0x80,0x06,0x00,0xC2,0x1C,0x00,0x72,0x70,0x00,0x04,0x28,0x00,0x08,0x04,0x00,0x30,0x03,0x03,0xE0,0x01,0xBF,0x00,0x00,0xD7,0x00,0x00,0x60,0xC0,0x00,0x60,0x30,0x00,0x30,0x18,0x00,0x30,0x0E,0x00,0x20,0x06,0x00,0x00,0x04,0x00,0x00,0x00},/*"
众"
0*/
{0x00,0x00,0x00,0x00,0x02,0x00,0x02,0x04,0x00,0x02,0x08,0x0C,0x02,0x30,0x38,0x02,0xE0,0x00,0x7F,0xFE,0x00,0x3F,0xFE,0x00,0x02,0xC0,0xFC,0x06,0x60,0x04,0x02,0x20,0x04,0x00,0x01,0x04,0x1F,0xFE,0xC4,0x09,0x24,0xE4,0x09,0x24,0x04,0x09,0x24,0x04,0x09,0x24,0x04,0x09,0x24,0x3C,0x09,0x24,0x00,0x1F,0xFE,0x40,0x1F,0xFE,0x30,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00},/*"
想"
1*/
{0x00,0x00,0x00,0x00,0x00,0x20,0x08,0x40,0x40,0x08,0x41,0x80,0x08,0x46,0x00,0x08,0x5C,0x00,0x1F,0xFF,0xFE,0x1F,0xFF,0xFE,0x10,0x48,0x00,0x30,0x8C,0x00,0x10,0x86,0x80,0x00,0x00,0x80,0x00,0x20,0x80,0x04,0x10,0x80,0x03,0x1C,0x80,0x03,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x3F,0xFF,0xFE,0x20,0x01,0x00,0x00,0x02,0x00,0x00,0x06,0x00,0x00,0x02,0x00,0x00,0x00,0x00},/*"
科"
2*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x06,0x00,0x01,0x04,0x04,0x01,0x04,0x06,0x7F,0xFF,0xFE,0x3F,0xFF,0xFC,0x21,0x08,0x00,0x02,0x10,0x02,0x02,0x10,0x02,0x01,0x10,0x02,0x01,0x10,0x04,0x01,0x1C,0x08,0x01,0x13,0x08,0x01,0x10,0xD0,0x3F,0xF0,0x30,0x21,0x10,0x70,0x01,0x11,0xC8,0x01,0x17,0x0C,0x01,0x1C,0x04,0x02,0x10,0x06,0x02,0x00,0x06,0x00,0x00,0x04,0x00,0x00,0x00}/*"
技"
3*/
};
constu8str[15][36]={
{0x00,0x20,0x00,0x00,0x3C,0x00,0x00,0x3F,0xE0,0x00,0x23,0xF8,0x00,0x00,0xE0,0x00,0x27,0x00,0x00,0x3E,0x00,0x00,0x3F,0xE0,0x00,0x21,0xF8,0x00,0x01,0xE0,0x00,0x3E,0x00,0x00,0x20,0x00},/*"
w"
{0x00,0x20,0x00,0x00,0x3C,0x
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 外设篇 18LCD彩色液晶屏显示汉字英文数字9325 外设 18 LCD 彩色 液晶屏 显示 汉字 英文 数字 9325