欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

STC89C52单片机 LCD1602液晶显示屏

发布时间:2025/5/22 编程问答 39 豆豆
生活随笔 收集整理的这篇文章主要介绍了 STC89C52单片机 LCD1602液晶显示屏 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

LCD1602显示 VVcat

#include <reg52.h>typedef unsigned char uchar; typedef unsigned int uint;sbit RS = P3^5; sbit RW = P3^6; sbit EN = P3^4;//判断液晶忙,如果忙则等待 void Read_Busy(){uchar busy;P0 = 0xff;RS = 0;RW = 1;do{EN = 1;busy = P0;EN = 0;}while(busy & 0x80); }//写LCD1602命令一个字节 void Write_Cmd(uchar cmd){Read_Busy();//判断忙RS = 0;RW = 0;P0 = cmd;EN = 1;EN = 0; }//写一个字节数据 void Write_Dat(uchar dat){Read_Busy();RS = 1;RW = 0;P0 = dat;EN = 1;EN = 0; }void main(){Write_Cmd(0x38);//设置16*2显示Write_Cmd(0x0c);//设置为0x0c为开显示 设置为0x0e为显示光标,设置为0x0f光标闪烁Write_Cmd(0x01);//清屏Write_Cmd(0x06);//地址指针移位命令Write_Cmd(0x80);//显示地址// 调动显示函数(每个方格只能显示一位)Write_Dat(0x56); // 0x56转换为十进制 86 在ASCII码表中对应的字母为 VWrite_Dat(0x56); // 0x56转换为十进制 86 在ASCII码表中对应的字母为 VWrite_Dat(0x43); // 0x43转换为十进制 67 在ASCII码表中对应的字母为 CWrite_Dat(0x61); // 0x61转换为十进制 97 在ASCII码表中对应的字母为 aWrite_Dat(0x74); // 0x74转换为十进制 116 在ASCII码表中对应的字母为 twhile(1); }

通过以下方式也可以在LCD1602液晶显示屏中显示数值

Write_Dat(0 + '0');Write_Dat(1 + '0'); Write_Dat(2 + '0');Write_Dat(3 + '0');Write_Dat(4 + '0');Write_Dat(5 + '0');Write_Dat(6 + '0');Write_Dat(7 + '0');Write_Dat(8 + '0');Write_Dat(9 + '0');

注:0 要用单引号’ '括起来而不是双引号括起来" "否则显示屏不能正常显示数值。

总结

以上是生活随笔为你收集整理的STC89C52单片机 LCD1602液晶显示屏的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。