基于MDK编译器 STM32与12864液晶显示程序 和电路连接
2012-12-23 22:46
471 查看
这里附上的是主程序部分和电路连接
这里用的12864液晶是5v的,电路链接部分 RS PE2 RW PE4 EN PE6 15口PSB串并 PE3
这里用的12864液晶是5v的,电路链接部分 RS PE2 RW PE4 EN PE6 15口PSB串并 PE3
#include "stm32f10x.h" GPIO_InitTypeDef GPIO_InitStructure; #define RS_SET GPIO_SetBits(GPIOE, GPIO_Pin_2) #define RS_CLR GPIO_ResetBits(GPIOE, GPIO_Pin_2) #define RW_SET GPIO_SetBits(GPIOE, GPIO_Pin_4) #define RW_CLR GPIO_ResetBits(GPIOE, GPIO_Pin_4) #define EN_SET GPIO_SetBits(GPIOE, GPIO_Pin_6) #define EN_CLR GPIO_ResetBits(GPIOE, GPIO_Pin_6) #define PSB_SET GPIO_SetBits(GPIOE, GPIO_Pin_3) #define PSB_CLR GPIO_ResetBits(GPIOE, GPIO_Pin_3) #define DATA_IO GPIOC->ODR void RCC_Configuration(void); void LCD12864_Config(void); void Delay_nus(__IO uint32_t nCount); void Delay_mus(__IO uint32_t nCount); uint8_t table[]="做我女朋友吧!"; void write_12864com(uint8_t com) { RW_CLR; RS_CLR; Delay_nus(500); DATA_IO=com; EN_SET; Delay_nus(1000); EN_CLR; Delay_nus(1000); } void write_12864dat(uint8_t dat) { RW_CLR; RS_SET; Delay_nus(500); DATA_IO=dat; EN_SET; Delay_nus(1000); EN_CLR; Delay_nus(1000); } void init12864lcd(void) { Delay_mus(500); write_12864com(0x30); Delay_nus(500); write_12864com(0x30); Delay_nus(500); write_12864com(0x0f); Delay_nus(500); write_12864com(0x01); Delay_nus(25); write_12864com(0x06); Delay_nus(2500); write_12864com(0x0c); Delay_nus(500); } void display(void) { uint8_t i; write_12864com(0x80); for(i=0;i<14;i++) { write_12864dat(table[i]); Delay_mus(50); } } void LCD12864_Config(void) { RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE | RCC_APB2Periph_GPIOC , ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_6; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOE, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3 |GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOC, &GPIO_InitStructure); } int main(void) { RCC_Configuration(); //系统时钟配置 LCD12864_Config(); PSB_SET; init12864lcd(); while (1) { display(); } } void RCC_Configuration(void) { SystemInit(); } void Delay_nus(uint32_t nCount) { uint32_t j; while(nCount--) { j=8; while(j--); } } void Delay_mus(uint32_t nCount) { while(nCount--) Delay_nus(1100); }
相关文章推荐
- ATMEGA128+ADS1110+12864液晶显示程序和电路图
- STM32 驱动12864液晶显示汉字、图片、画点、横线、竖线、斜线
- 液晶12864汉字显示程序及显示顺序正常的C语言程序
- STM32 驱动12864液晶显示汉字、图片、画点、横线、竖线、斜线
- 基于Qt Gui的Led控制显示程序
- 远程显示(操作) 服务器 GUI 程序(图形化界面) (基于 X11 Forwarding + Centos + MobaXterm)
- 12864带字库显示的各种程序的总结
- C访问hadoop程序终端显示运行正确,因为连接参数错误,使得通过网页查看就是没有成功原因分析和解决方案
- 基于VB6+ADO+ListView制作的一个数据库分页显示程序(完整原程序)
- 基于stm32的usb iap程序升级步骤
- 基于对话框程序,菜单项选中后前面显示一个钩子
- 创建一个基于ViSP的图片显示程序
- 连接登陆显示FTP目录文件的程序
- 4*4键盘程序代码 基于STM32
- 基于对话框的MFC程序中,实现非模态子窗口在任务栏显示图标以及窗口左上角加图标
- 1602液晶显示程序
- 12864带字库显示屏显示汉字程序
- 使用Python语言设计基于HTML的C语言语法加亮显示程序
- 基于Qt Gui的Led控制显示程序
- 基于抛物线的空间两点圆滑线连接程序