共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 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| 28BYJ-48机械臂实现人脸跟随被打赏¥24元 | |
| 基于RK3506B的片温识读功能的实现被打赏¥25元 | |
| 【瑞萨RA8D1测评】基于FreeRTOS的lvgl移植教程被打赏¥29元 | |
| 电子价签墨水屏开发被打赏¥35元 | |
| 【Ozone】RTT 打印终端使用被打赏¥29元 | |
| BMS保护板绝缘检测功能-不平衡电桥技术绝缘电阻检测设计与实现被打赏¥34元 | |
| 给28BYJ-48三自由度机械臂加一个网页控制台被打赏¥32元 | |
| 用28BYJ-48电机从零搭一台三自由度机械臂被打赏¥33元 | |
| 【英飞凌开发经验】ModusToolbox配置EdgeTalk外设被打赏¥27元 | |
| 基于BQ76952PFBR的BMS保护板热插拔损坏的原因和处理措施被打赏¥32元 | |
我要赚赏金
