📄 lcd2.c
字号:
#include <stdio.h>
#include <absacc.h>
#include <intrins.h>
//显示"Welcome to UCos-II world!"
//采用液晶屏以HD4478控制器,双行显示
//效果为上述字符以Welcome to
// UCos-II world ! 形式从屏幕最右侧开始向左侧双行滚动显示
//采用keil编译器
//单片机与lcd采用直接连接方式
#define W_command XBYTE[0XF800]//根据实际定义写命令寄存器地址
#define R_command XBYTE[0XF801]//读命令寄存器地址
#define RS XBYTE[0XF802]//RS选择地址
char display_buffer1[13]={0x57,0x65,0x6c,0x63,0x6f,0x6d,0x65,0x20,0x20,0x20,0x74,0x6f,0x20};//Welcome to 字码,其中0x20为空格字码
char display_buffer2[15]={0x55,0x43,0x6f,0x73,0x2d,0x49,0x49,0x20,0x77,0x6f,0x72,0x6c,0x64,0x20,0x21};//UCos-II world !字码
void c_send(unsigned char a);//写命令到lcd
void d_send(unsigned char b);//写数据到lcd
void delay()
{
int i;
for(i=0;i<2000;i++);
}
void c_send(unsigned char a)
{
RS=0x00;
W_command=a;
delay();
}
void d_send(unsigned char b)
{
RS=0x01;
W_command=b;
delay();
}
//命令字察看相关手册
void main()
{
unsigned char i,j,m,n;
delay();
c_send(0x38);
c_send(0x01);
c_send(0x0c);
c_send(0x07);
c_send(0x1c);
while(1)
{
c_send(0x81);
for(i=0;i<=12;i++)
{
d_send(display_buffer1[i]);
for(m=0;m<20;m++)
{
delay();
}
}
c_send(0xc1);
for(j=0;j<=15;j++)
{
d_send(display_buffer2[j]);
for(n=0;n<20;n++)
{
delay();
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -