51微控制器LCD1602程式詳解

2021-07-03 12:35:21 字數 1272 閱讀 4968

lcd1602

工業字元型液晶。1602是指lcd顯示的內容為16x2,即可以顯示兩行,每行16個字元.

特殊介面說明

rs:暫存器選擇輸入端

rs=1:指向資料暫存器

rs=0:指向指令暫存器

rw:讀寫控制輸入端

rw=0:寫操作 rw=1:讀操作

e:使能訊號輸入端

讀操作時,高電平有效;

寫操作時,下降沿有效;

程式編寫:

#include#include//其中有nop函式的定義

/*對於延時很短的,要求在us級的,採用「_nop_」函式,這個函式相當彙編nop指令,延時幾微秒。nop指令為單週期指令,可由晶振頻率算出延時時間,對於12m晶振,延時1us。*/

#define uchar unsigned char

#define uint unsigned int

sbit rs=p2^6; //定義資料命令選擇端

sbit rw=p2^5; //定義讀寫選擇端

sbit e=p2^7; //定義使能端

//注意:具體為哪乙個io口由你自己的接線來定,並不是一定要這樣寫!

uchar text1="welcome to"; //第一行要顯示的字元

uchar text2="lime house"; //第二行要顯示的字元

void delay_ms(uint z) //毫秒級延時函式

//為什麼要判忙?

/*因為lcd1602控制晶元也是乙個cpu,它在處理上位機發來的某些指令的時候,耗時較長。如復位命令,全屏清除命令等。另外,lcd1602的cpu速度較慢,上位機較快時,lcd1602cpu來不及完成上條命令,會對後續命令不予理睬,這樣就造成了命令序列不能正確完整地到達lcd1602cpu,以至於顯示不正常。*/

uchar lcd1602_readbusy() //判斷lcd1602是否處於忙的狀態,即讀忙

/*在lcd1602的資料中,讀寫操作都有對應的時序圖,想要理解lcd1602的具體工作流程還得認真研究時序圖!*/

void lcd1602_writecom(uchar com) //寫命令

void lcd1602_writedata(uchar dat) //寫資料

void lcd1602_init() //初始化函式

void main()

微控制器 LCD1602

lcd1602為工業字元型液晶,lcd表示liquidcrystal display。能夠同時顯示16 x 2 16列2行 即32個字元。1602液晶也叫1602字元型液晶,它是一種專門用來顯示字母 數字 符號等的點陣型液晶模組。它由若干個5x7或者5x11等點陣字元位組成,每個點陣字元位都可以顯示...

C51微控制器 LCD1602

1.在最前面定義好rs,rw,en 2.寫乙個判斷忙程式 void read busy while busy 0x80 3.寫命令程式 void write cmd uchar cmd 4.寫資料程式 void write dat uchar dat 5.主函式 void main 整體例程 lcd...

基於51微控制器LCD1602顯示

要在1602上顯示字元,要大概明白1602液晶顯示屏工作原理。一般的液晶顯示器 liquid crystal display,lcd 的主要原理是以電流刺激液晶分子產生點 線 面並配合背部燈管構成畫面。1602液晶也叫1602字元型液晶,它是一種專門用來顯示字母 數字 符號等的點陣型液晶模組。160...