STC89C52单片机 LCD1602液晶显示屏
生活随笔
收集整理的这篇文章主要介绍了
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液晶显示屏的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: STC89C52单片机 串口通信
- 下一篇: MATLAB 结构型变量