登录  | 立即注册

游客您好!登录后享受更多精彩

扫一扫,访问微社区

QQ登录

只需一步,快速开始

开启左侧

[寒假笔记] C51------ 1602液晶显示

[复制链接]
发表于 2023-1-20 10:07:16 | 显示全部楼层 |阅读模式
学习笔记
学习科目: C51
学习安排: 1602液晶显示
开始时间: 2023-01-20
结束时间: 2023-01-20
#include<STC12C5A60S2.h>
#define LCD1602_DB P0     
sbit LCD1602_RS = P2^0;
sbit LCD1602_RW = P2^1;
sbit LCD1602_E = P1^2;
void InitLcd1602();
void LcdshowStr(unsigned char x , unsignedchar y , unsigned char *str);
void LcdSetCursor(unsigned char x ,unsigned char y);
void LcdWaitReady();
void LcdWritecmd(unsigned char cmd);
void LcdSetCursor(unsigned char x ,unsigned char y);
void delay(int ms);
void main()
{      
   unsigned char str[] = "2022/10/25";
       unsignedchar wy[] = "karyl-wy";
       InitLcd1602();
       LcdshowStr(0,1,str);
       LcdshowStr(0,0,wy);
       while(1);
}
void LcdWriteDat(unsigned char dat)
{
       LcdWaitReady();
       LCD1602_RS=1;
   LCD1602_RW=0;
       LCD1602_DB= dat;
       delay(1);
       LCD1602_E=1;
       delay(1);
       LCD1602_E=0;
}
void LcdWaitReady()   
{
   unsigned char sta;
       LCD1602_RS=0;
   LCD1602_RW = 1;
       LCD1602_DB= 0xFF;
       do{
            LCD1602_E=1;
               sta=LCD1602_DB;
               LCD1602_E=0;     
        }while(sta&0x80);
}
void LcdWritecmd(unsigned char cmd)
{
   LcdWaitReady(); //??STA7=0
       LCD1602_RS=0;
   LCD1602_RW=0;
       LCD1602_DB= cmd;
       delay(1);
       LCD1602_E=1;
       delay(1);
       LCD1602_E=0;
}
void LcdSetCursor(unsigned char x ,unsigned char y)
{
    unsigned char addr;
        if(y==0)
             addr=0x00 + x;
        else
                addr=0x40 + x ;
        LcdWritecmd(addr+0x80);
}
void LcdShowStr(unsigned char x, unsignedchar y ,unsigned char*str)
{
   LcdSetCursor(x,y);
       while(*str!='\0')
       {
            LcdWriteDat(*str++);
       }
}
void InitLcd1602()
{
   LcdWritecmd(0x38);
   LcdWritecmd(0x0c);
       LcdWritecmd(0x06);
       LcdWritecmd(0x01);
}
void delay(int ms)
{
       ms*=180;
       while(ms)
       {
              ms--;
       }
}

好懒~~不想说~~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表