📄 lcd.c
字号:
#include "DSP28_Device.h"
#define comm 0
#define dat 1
extern const unsigned char *ASCIITAB[];
extern const unsigned char *Welcome[];
const unsigned char disline[8] = {0xFF,0x7F,0x3F,0x1F,0x0F,0x07,0x03,0x01};
void delay(unsigned int d_time)
{
while(d_time--);
}
/*----------------LCD忙检测----------------*/
void chk_busy()
{
unsigned int temp;
LCD_REG = 0x06;//RS=0(comm), RW=1(read)
temp = 0x0080;
while((temp&0x0080)!=0)
{
temp = LCD_DAT;
}
//while((LCD_DAT&0x80)!=0);
}
/*------------------写LCD------------------*/
void wr_lcd(unsigned char dat_comm, unsigned int content)
{
chk_busy();
if(dat_comm)
{
LCD_REG = 0x05;//RS=1(data), RW=0(write)
}
else
{
LCD_REG = 0x04;//RS=0(comm), RW=0(write)
}
LCD_DAT = content;
}
/*----------------清DDRAM------------------*/
void clrram (void)
{
wr_lcd (comm,0x30);
wr_lcd (comm,0x01);
}
/*------------------初始化-----------------*/
void lcd_init(void)
{
LCD_REG = 0x03;//RESET
delay(1000);
LCD_REG = 0x04;
wr_lcd (comm,0x30); /*30---基本指令动作*/
wr_lcd (comm,0x01); /*清屏,地址指针指向00H*/
wr_lcd (comm,0x06); /*光标的移动方向*/
wr_lcd (comm,0x0c); /*开显示,关游标*/
}
/*---------------欢迎界面------------------*/
void Smenu()
{
wr_lcd (comm,0x30);
wr_lcd (comm,0x92);
wr_lcd (dat,0xc3); //"明"
wr_lcd (dat,0xf7);
wr_lcd (dat,0xce); //"伟"
wr_lcd (dat,0xb0);
wr_lcd (dat,0xb5); //"电"
wr_lcd (dat,0xe7);
wr_lcd (dat,0xd7); //"子"
wr_lcd (dat,0xd3);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -