⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lm044l.c

📁 单片机c语言程序设计100例--基于PIC+PROTEUS
💻 C
字号:
//-----------------------------------------------------------------
// 名称: LCD1602液晶控制与显示程序
//-----------------------------------------------------------------
#include <pic.h>
#include "LM044L.h"
//-----------------------------------------------------------------
// LCD忙等待
//-----------------------------------------------------------------
void LCD_BUSY_WAIT()
{
    INT8U status;
    TRIS_LCD_DAT  = 0xFF;                         //将端口设为输入
    RS = 0; RW = 1;                               //读状态寄存器
    do
    {  E = 1; NOP(); status = PORT_LCD_DAT; E = 0;//读状态       
    }   
    while (status & 0x80);                        //忙则继续等待
}

//-----------------------------------------------------------------
// 写LCD命令
//-----------------------------------------------------------------
void Write_LCD_Command(INT8U cmd)
{                               
     TRIS_LCD_DAT = 0x00;                        //LCD数据端口设为输出
     PORT_LCD_DAT = cmd;                         //发送命令
     PORT_LCD_CTL = TRIS_LCD_CTL = 0x00;         //控制端口设为输出,初值为0x00
     RS = 0; RW = 0; E  = 1; NOP(); E = 0;       //写命令
     LCD_BUSY_WAIT();                            //LCD忙等待
}

//-----------------------------------------------------------------
// 写LCD数据寄存器
//-----------------------------------------------------------------
void Write_LCD_Data(INT8U dat)
{     
    TRIS_LCD_DAT = 0x00;                        //LCD数据端口方向设为输出
    PORT_LCD_DAT = dat;                         //发送数据
    RS = 1; RW = 0; E  = 1; NOP(); E = 0;       //写数据
    LCD_BUSY_WAIT();                            //LCD忙等待
}

//-----------------------------------------------------------------
// LCD初始化
//-----------------------------------------------------------------
void LCD_Initialize()
{
    Write_LCD_Command(0x38); __delay_ms(2);      //置功能,8位,双行,5*7
    Write_LCD_Command(0x01); __delay_ms(2);      //清屏
    Write_LCD_Command(0x06); __delay_ms(2);      //字符进入模式:屏幕不动,字符后移
    Write_LCD_Command(0x0C); __delay_ms(2);      //显示开,关光标
}

//-----------------------------------------------------------------
// 清屏
//-----------------------------------------------------------------
void Clear_Screen()
{


}

//-----------------------------------------------------------------
// 设置显示位置
//-----------------------------------------------------------------
void Set_LCD_POS(INT8U r, INT8U c)
{


}

//-----------------------------------------------------------------
// 显示字符串
//-----------------------------------------------------------------
void LCD_ShowString(INT8U r, INT8U c,char *str)
{


}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -