共1条
1/1 1 跳转至页
LPC938控制1602液晶显示的问题???

各位好!我现在用LPC938单片机控制1602液晶显示,但为什么显示不出来,问一下,IO配置为推挽输出还是准双向口?演示用多大?代码如下,哪位大神解释下:
#include
#include
sbit rs=P1^1;
sbit rw=P2^6;
sbit e=P2^7;
sbit led=P1^0;
#define dataport P0
void delay_us(unsigned int t) //延时(t*2+5) us
{
t *= 6;
while(--t);
}
void delay_ms(unsigned int t) //延时t ms
{
while(t--)
{
delay_us(245);
delay_us(245);
}
}
void LPC938_Init(void)
{
//CLK_RESET_Init();
// UCFG1=0x40; //禁止看门狗复位、禁止掉电检测、使能P1.5复位,使用外部高频晶振12MHz
DIVM=0x00; //外部晶振作为CPU时钟,不分频
//IO_Init();
P0M1=0x00;
P0M2=0xff;
P1M1=0x2c; //P15(RST)、P12(SCL/T0)、P13(SDA/INT0)配置为输入,其他的均为准双向口
P1M2=0xd3;
P2M1=0x00;
P2M2=0xff;
}
void lcd_write_com(unsigned char com)
{
// while(lcd_check_busy()); //忙则等待
rs=0;
rw=0;
e=1;
dataport=com;
_nop_();
e=0;
}
void lcd_write_data(unsigned char dat)
{
// while(lcd_check_busy()); //忙则等待
rs=1;
rw=0;
e=1;
dataport=dat;
_nop_();
e=0;
}
void lcd_clear(void)
{
lcd_write_com(0x01);
delay_ms(5);
}
void lcd_write_char(unsigned char x,unsigned char y,unsigned char dat)
{
if (y==0)
{
lcd_write_com(0x80+x);
}
else
{
lcd_write_com(0xC0+x);
}
lcd_write_data(dat);
}
void lcd_write_string(unsigned char x,unsigned char y,unsigned char *s)
{
while(*s)
{
lcd_write_char(x,y,*s);
s++;x++;
}
}
void lcd_init(void)
{
lcd_write_com(0x38); /*显示模式设置*/
delay_ms(5);
lcd_write_com(0x38);
delay_ms(5);
lcd_write_com(0x38);
delay_ms(5);
lcd_write_com(0x38);
lcd_write_com(0x08); /*显示关闭*/
lcd_write_com(0x01); /*显示清屏*/
lcd_write_com(0x06); /*显示光标移动设置*/
delay_ms(5);
lcd_write_com(0x0C); /*显示开及光标设置*/
}
main()
{
LPC938_Init();
lcd_init();
lcd_clear();
lcd_write_string(0,1,"lcd1602");
delay_ms(500);
while(1)
{
led =~ led;
delay_ms(500);
}
}
下载时时钟配置为:高频外部晶振12MHz,使能P1^5,那位有用过的代码让我参考下!!!谢谢啦!!!
关键词: LPC938 控制 液晶显示 问题 delay u
共1条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
“我踩过的那些坑”主题活动——第001期 | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
分享汽车通信和多媒体总线结构被打赏20分 | |
【我踩过的那些坑】结构堵孔导致的喇叭无声问题被打赏50分 | |
NUCLEO-U083RC学习历程38+串口通过队列的方式输出两个字符串被打赏20分 | |
【我踩过的那些坑】分享一下调试一款AD芯片的遇到的“坑”被打赏50分 | |
电流检测模块MAX4080S被打赏10分 | |
【我踩过的那些坑】calloc和malloc错误使用导致跑飞问题排查被打赏50分 | |
分享电控悬架的结构与工作原理(一)被打赏20分 | |
多组DCTODC电源方案被打赏50分 | |
【我踩过的那些坑】STM32cubeMX软件的使用过程中的“坑”被打赏50分 | |
新手必看!C语言精华知识:表驱动法被打赏50分 |