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单片机 串口通信
- 下一篇: C++ 形状类继承