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

📄 1602lib.c

📁 基于AT89S52控制芯片的电子万年历程序
💻 C
字号:
#include "1602lib.h"

static void WriteCmd(uchar tempdata);
static void WriteDdr(uchar tempdata);
static void CheckBusy(void);
static void LCD_Delay(uint N);

void LCD_Delay(uint N)
{
   uint i;
   for(i=0;i<N;i++)
   i=i; 
}

void WriteCmd(uchar tempdata)                       /*写命令*/
{
  DB0_DB7 = tempdata;
  RS = 0;
  RW = 0;
  E = 0;
  nop;
  E = 1;
  nop;
  CheckBusy();
}

void WriteDdr(uchar tempdata)                        /*写数据*/
{
DB0_DB7 = tempdata;
  RS = 1;
  nop;
  RW = 0;
  E = 0;
  nop;
  E = 1;
  nop;
  CheckBusy();                                
}
void CheckBusy(void)                              /*查询忙状态*/
{
    uchar tmp;
    
    DB0_DB7 = 0xff;
    
    RW = 1;
    RS = 0;
    E = 0;
    nop;
    E = 1;
    do
    {
        nop;
      tmp = DB0_DB7;
    }while((tmp&0X80) == 0X80);
    RW = 0;
}

void LCD_init()                                  /*LCD初始化*/
{
    RS = 0;
    RW = 0;
    E = 1;
    WriteCmd(0x38);
    LCD_Delay(1000);
    WriteCmd(0x38);
    LCD_Delay(1000);
    WriteCmd(0x38);
    WriteCmd(0x0f);
    WriteCmd(0x06);
    WriteCmd(0x01);
}
void DisplayOneChar(uchar X,uchar Y,uchar dat)  /*在指定位置显示一个字符函数*/
{
    Y&= 0X1;
    X&= 0XF;                                  /*限制X不能大于15,Y不能大于1*/
    if(Y)X|= 0x40;                            /*当要显示第二行时地址码+0x40*/
    X|=0X80;                                  /*算出指令码*/
    WriteCmd(X);                                /*这里部检测忙信号,发送地址码*/
    WriteDdr(dat);
}

void DisplayString(uchar X,uchar Y,uchar *str)   /*在指定位置显示字符串函数*/
{
    uchar len = 0;
    
    Y&= 0x1;
    X&= 0xF;                                    /*限制X不能大于15,Y不能大于1*/
    while(len<= 15)                               
    {
        if(X<= 0XF)                               /*X坐标应小于0xF*/
        {
        DisplayOneChar(X,Y,str[len]);               /*显示单个字符*/
        len++;
        X++;
        }
    }
}

⌨️ 快捷键说明

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