3316|0

5

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

stm32驱动液晶12864,有程序,求助 [复制链接]

编译也没错误,液晶就是不显示,线路连接也没错,请大侠看看程序有木有问题


工程上传了,小弟还是再贴一份吧。  用的是原子的system文件夹

/*********************************************/
下面是主函数

#include
#include"delay.h"
#include"sys.h"
#include"usart.h"
#include"lcd_12864.h"

int main(void)
{
Stm32_Clock_Init(9);
delay_init(72);
LCD_Init();
JTAG_Set(JTAG_SWD_ENABLE);
init_lcd_12864();
while(1)
{
  JTAG_Set(SWD_ENABLE);
  display_lcd12864();
}

}
/*********************************************/
下面是液晶.c
#include
#include"lcd_12864.h"
#include"delay.h"

void LCD_Init(void)
{
RCC->APB2ENR|=1<<2;   //使能PORTA时钟
RCC->APB2ENR|=1<<3;   //使能PORTB时钟


GPIOA->CRL&=0XF000FFFF;  //将PORTA的4-6置零 初始化该位
GPIOA->CRL|=0X03330000;  //设置4-6为推挽输出模式
GPIOA->ODR|=1<<4;
GPIOA->ODR|=1<<5;   //端口数据输出寄存器,向该就寄存器写数据可以控制IO的输出电平
GPIOA->ODR|=1<<6;   // 上拉模式设置

// GPIOB->CRL&=0X00000000;  //将PORTB的0-7置零
GPIOB->CRL|=0X33333333;  //0-7  推挽输出
GPIOB->ODR|=0X0000FFFF;  //上拉
}

void write_com(u8 com)
{
LCD_RS=0; //写指令
DATAOUT(com);
delay_ms(5);
LCD_EN=1;
delay_ms(5);
LCD_EN=0;
}


void write_dat(u8 dat)
{
LCD_RS=1; //写数据
DATAOUT(dat);
delay_ms(5);
LCD_EN=1;
delay_ms(5);
LCD_EN=0;
}

void init_lcd_12864(void)
{
LCD_EN=0;
LCD_RW=0;
write_com(0x30); //基本指令操作
delay_ms(5);
write_com(0x0c);//开显示,关光标
delay_ms(5);
write_com(0x01);//清屏
delay_ms(5);
}

void display_lcd12864(void)
{
write_com(0x80);
write_dat('Z');

}
/*******************************************/
下面是液晶.h
#ifndef __LCD_12864_H__
#define __LCD_12864_H__

#include"sys.h"

#define LCD_RS PAout(4)
#define LCD_RW PAout(5)
#define LCD_EN PAout(6)

//#define pb0 PBout(0)
//#define pb1 PBout(1)
//#define pb2 PBout(2)
//#define pb3 PBout(3)
//#define pb4 PBout(4)
//#define pb5 PBout(5)
//#define pb6 PBout(6)
//#define pb7 PBout(7)
#define DATAOUT(x) GPIOB->ODR=(GPIOB->ODR&0XFF00)|(x&0X00FF)   //大侠看看这句,并口传输数据给液晶,这样可以达到目的吗?

void LCD_Init(void);
void write_com(u8 com);
void write_dat(u8 dat);
extern void init_lcd_12864(void);
extern void display_lcd12864(void);

#endif
/**********************************************************/
此帖出自stm32/stm8论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表