ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:17.93KB ,
资源ID:16614494      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16614494.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(STM32的LCD1926412864经典程序Word格式文档下载.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

STM32的LCD1926412864经典程序Word格式文档下载.docx

1、#define LCD_RW_L GPIO_ResetBits(GPIOA, GPIO_Pin_1)#define LCD_E1_H GPIO_SetBits(GPIOA, GPIO_Pin_2)#define LCD_E1_L GPIO_ResetBits(GPIOA, GPIO_Pin_2)#define LCD_E2_H GPIO_SetBits(GPIOA, GPIO_Pin_3)#define LCD_E2_L GPIO_ResetBits(GPIOA, GPIO_Pin_3)#define LCD_PSB_H GPIO_SetBits(GPIOA, GPIO_Pin_4)#defi

2、ne LCD_PSB_L GPIO_ResetBits(GPIOA, GPIO_Pin_4)#define LCD_DATA_PORT GPIOD#define LCD_DATA GPIOD-BSRR /BSRR高十六位是复位,低十六位是置位void Lcm_Wr_Dat(u8 wrdata,u8 enable); /写数据 void Lcm_Wr_Com(u8 wrcommand,u8 enable); /写指令 void Lcm_Rd_Status(u8 enable);/读忙状态 void Lcm_Init(u8 enable); /液晶初始化 void Lcm_GotoXY(u8 po

3、s_X,u8 pos_y); /设定坐标 void Lcm_SETXY(u8 pos_X,u8 pos_y,u8 enable); void Lcm_Disp_Char(u8 onechar,u8 enable);/显示单个字符 void Lcm_Disp_Char_setxy(u8 x,u8 y,u8 ch,u8 enable); /定坐标显示单个字符 void Lcm_Disp_Str(u8 *string,u8 enable);/显示字符串 void Lcm_Disp_Str_setxy(u8 x,u8 y,u8 *strings,u8 enable);/定坐标显示字符串 void De

4、lay_ms(u32 m);/1ms延时 void Lcm_Delay(void);/*function all -函数定义- 以下函数包含19264液晶的串并行方式-*/#define PSB_SERIAL 0#ifdef PSB_SERIAL / -以下为串口函数- serial transmission-/-传送8bits 数据-void Send_byte(u8 bbyte,u8 enable) u8 i; for(i=0;i8;i+) LCD_E1_L; LCD_E2_L; if(0x80&bbyte) LCD_RW_H; /SID=1; else LCD_RW_L; if(!ena

5、ble) /CLK = 01 ; 串行用下降沿 LCD_E1_H; Lcm_Delay(); LCD_E1_L; else LCD_E2_H; LCD_E2_L; bbyte=1; Lcm_Delay(); /? /-写指令函数 -void Lcm_Wr_Com(u8 wcomd,u8 enable) Lcm_Delay(); Send_byte(0xf8,enable); /1111_1,RW(0),RS(0),0 -指令 Send_byte(0xf0&wcomd,enable); /high 4bits Send_byte(0xf8&(wcomd4),enable); /low 4bits

6、 /-写数据函数 -void Lcm_Wr_Dat(u8 wdata,u8 enable) Send_byte(0xfa,enable); /1111_1,RW(0),RS(1),0 -数据wdata,enable);(wdata #else/ -以下为并口函数- parallel Transmission-/-读忙函数-void Lcm_Rd_Status(u8 enable) u16 getd; while(1) LCD_RS_L; /命令 LCD_RW_H; /读取 /LCD_DATA=0xFFFF0000; /LCD_DATA=0xFF; 高16位为复位,即写入0使其不忙 GPIO_W

7、rite(LCD_DATA_PORT, 0XFFFF) ; /准备读取数据 , 写0x0000则与上相同enable) getd=GPIO_ReadInputData(LCD_DATA_PORT); if(getd&0x0080)=0) break; /-写指令-void Lcm_Wr_Com(u8 wcomd,u8 enable) Lcm_Rd_Status(enable); LCD_RW_L; LCD_DATA=wcomd|(wcomd16); / if(! LCD_E1_H; LCD_E1_L; else LCD_E2_H; LCD_E2_L;/ Lcm_Delay();/-写数据-vo

8、id Lcm_Wr_Dat(u8 wdata,u8 enable) LCD_RS_H; LCD_DATA=wdata|(wdata11)|(pos_y1) return; if(pos_y=0) addr=0x80+pos_x; else if(pos_y=1) addr=0x90+pos_x; Lcm_Wr_Com(addr,0);/设定DDRAM地址 Lcm_Wr_Com(addr,1);/-选定坐标,分屏选择-void Lcm_SETXY(u8 pos_x,u8 pos_y,u8 enable) if(enable=0)/-初始化-void Lcm_Init(u8 enable) #if

9、def PSB_SERIAL LCD_PSB_L; /选择串口 #else LCD_PSB_H; /选择并口 #endif Lcm_Wr_Com(0x30,enable); Delay_ms(2); Lcm_Wr_Com(0x0c,enable); /开显示及光标设置 Lcm_Wr_Com(0x01,enable); /显示清屏 Delay_ms(3); Lcm_Wr_Com(0x06,enable); /显示光标移动设置/*- display function- 以下为各种显示函数-*/void Lcm_Disp_Char(u8 onechar,u8 enable)/显示单个字符 Lcm_W

10、r_Dat(onechar,enable);void Lcm_Disp_Str(u8 *strings,u8 enable)/显示字符串 while(*strings != 0) Lcm_Wr_Dat(*strings+,enable); Lcm_Wr_Dat(,enable);void Lcm_Disp_Char_setxy(u8 x,u8 y,u8 ch,u8 enable) /指定坐标显示字符 Lcm_GotoXY(x, y); Lcm_Wr_Dat(ch,enable);void Lcm_Disp_Str_setxy(u8 x,u8 y,u8 *strings,u8 enable)/指

11、定坐标显示字符串 while(*strings ! Lcm_Wr_Dat( 二、以下是STM32配置函数void RCC_Configuration(void);void GPIO_Configuration(void);void NVIC_Configuration(void);void WWDG_Configuration(void);/* 函数名称 : RCC_Configuration(void)* 函数功能 : 时钟初始化* 输 入 : 无* 输 出 :* 返 回 :*/ GPIO_InitTypeDef GPIO_InitStructure;ErrorStatus HSEStart

12、UpStatus;void RCC_Configuration(void) /* RCC system reset(for debug purpose) */ RCC_DeInit(); /* Enable HSE */ RCC_HSEConfig(RCC_HSE_ON); /* Wait till HSE is ready */ HSEStartUpStatus = RCC_WaitForHSEStartUp(); if(HSEStartUpStatus = SUCCESS) /* HCLK = SYSCLK */ RCC_HCLKConfig(RCC_SYSCLK_Div1); /* PC

13、LK2 = HCLK */ RCC_PCLK2Config(RCC_HCLK_Div1); /* PCLK1 = HCLK/2 */ RCC_PCLK1Config(RCC_HCLK_Div2); /* Flash 2 wait state */ FLASH_SetLatency(FLASH_Latency_2); /* Enable Prefetch Buffer */ FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); /* PLLCLK = 8MHz * 9 = 72 MHz */ RCC_PLLConfig(RCC_PLLSour

14、ce_HSE_Div1, RCC_PLLMul_9); /* Enable PLL */ RCC_PLLCmd(ENABLE); /* Wait till PLL is ready */ while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) = RESET) /* Select PLL as system clock source */ RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); /* Wait till PLL is used as system clock source */ while(RCC_GetSYSCLKSou

15、rce() != 0x08) GPIO_Configuration(void) 端口初始化void GPIO_Configuration(void) /定义端口结构体 /将GPIOA端口使能有效 RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA , ENABLE ); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | /GPIOA GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7 | GPIO

16、_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12 ; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; / 推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; / 最高输出速率50MHz GPIO_Init(GPIOA, &GPIO_InitStructure); / 选择A端口 NVIC_Configuration(void) 中断初始化void NVIC_Configuration(void) NVIC_Init

17、TypeDef NVIC_InitStructure; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0); NVIC_InitStructure.NVIC_IRQChannel = WWDG_IRQChannel; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; NVIC_Init(&NVIC_InitStructure);函数功能 : 延时函数/*- Delay function- 延时函数定义/-1ms延时-void Delay_ms(u32 m) u32 i; for(; m != 0; m-) for (i=0; i25000; i+); /clk=50MHz ,25_000000 分频得1s,25000分频得1ms/-液晶延时-void Lcm_Delay(void) u8 j,i=100; while(i-) for(j=0;j100;j+) ;/*结束*/

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1