完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
编译也没错误,液晶就是不显示,线路连接也没错,请大侠看看程序有木有问题
工程上传了,小弟还是再贴一份吧。 用的是原子的system文件夹 /*********************************************/ 下面是主函数 #include<STM32f10x_lib.h> #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 /**********************************************************/ |
|
相关推荐
11个回答
|
|
管脚的连接关系都没有说明
|
|
|
|
并行数据口PB0-7,RS PA4 ;RW PA5, EN PA6;程序不是有写吗,呵呵呵 |
|
|
|
KAN BU DONG
|
|
|
|
|
|
好多看不懂
|
|
|
|
|
|
|
|
|
|
我也在学习中,谢谢。
|
|
|
|
STM32单片机怎么驱动3.2寸240x400液晶 求大神的程序代码借鉴一下 本人是新手
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
195 浏览 0 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
172 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
453 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
697 浏览 2 评论
602 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11985 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 08:57 , Processed in 0.753997 second(s), Total 90, Slave 74 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号