1. 程式人生 > >Arduino和C51開發LCD1602顯示屏

Arduino和C51開發LCD1602顯示屏

param play pos out tro 安裝 oda data brush

技術:51單片機、Arduino、LCD1602

概述

本文介紹了LCD1602顯示屏,並在LCD1602上顯示字符串,對LCD1602常見的問題的解決和開發方法也做了簡單介紹。

詳細

代碼下載:http://www.demodashi.com/demo/14741.html

一、LCD1602

技術分享圖片LCD1602是一種工業字符型液晶,能夠同時顯示16x02即32個字符,1602液晶也叫1602字符型液晶,它是一種專門用來顯示字母、數字、符號的點陣型液晶模塊。它是由若幹個5x7或者5x10的點陣字符位組成,每個點陣字符位都可以用顯示一個字符,每位之間有一個點距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因為如此,所以它不能很好的顯示圖片。

二、51單片機 - LCD1602顯示字符串

硬件連接:

技術分享圖片

對比度太大或者太小都容易看不到東西,這裏要註意了,接著在LCD1602上顯示"This is lcd1602":

#include "reg52.h"    //此文件中定義了單片機的一些特殊功能寄存器
#include "lcd.h"
 
typedef unsigned int u16;   //對數據類型進行聲明定義
typedef unsigned char u8;
 
u8 Disp[]="This is lcd1602";
 
void main(void)
{
    u8 i;
    LcdInit();
    for(i=0;i<15;i++)
    {
        LcdWriteData(Disp[i]);
    
    } 
    while(1);    
}

LCD1602顯示屏效果如下:

技術分享圖片

除了這些簡單的顯示字符串功能外,LCD1602顯示屏上還可以顯示一些簡單的中文。LCD1602內部有80個字節的顯存,即DDRAM。但LCD1602的顯示屏幕只有16×2大小,因此,並不是所有寫入DDRAM的字符代碼都能在屏幕上顯示出來,只有寫在範圍內的字符才可以顯示出來,寫在範圍外的字符不能顯示出來。這樣,我們在程序中利用“光標或顯示移動指令”使字符慢慢移動到可見的顯示範圍內,看到字符的移動效果。這些大家可以嘗試做一下!!!

三、Arduino - LCD顯示字符串

硬件連接:

技術分享圖片

加載庫文件:

打開Arduino IDE -> 項目 -> 加載庫 -> 管理庫中搜索LiquidCrystal,然後安裝即可。

技術分享圖片

LCD1602顯示字符串代碼:

#include <LiquidCrystal.h> //引入依賴
 
/* 初始化針腳 */
const int rs = 3;
const int en = 5;
const int d4 = 10;
const int d5 = 11; 
const int d6 = 12;
const int d7 = 13;
const int lcdlight = 9; //調節對比度
 
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
 
void setup() {
   pinMode(lcdlight,OUTPUT);
   analogWrite(lcdlight, 130);//用於調節對比度(0-255)
    
   lcd.begin(16, 2);//設置LCD要顯示的列數、行數,即2行16列
    
   lcd.print("This is lcd1602!");//輸出Hello World
}
 
void loop() {
   lcd.setCursor(0, 1); //設置光標定位到第0列,第1行(從0開始)
   lcd.print( millis() / 1000);//打印從重置後的秒數
}

LCD1602顯示字符串:

技術分享圖片

LCD1602自動滾屏:

四、總結

本文介紹了LCD1602顯示屏,並在LCD1602上顯示字符串。大家也可以使用LCD1602顯示時鐘和溫濕度值等等,也可以嘗試顯示中文,後面一篇文章會教大家使用OLED顯示屏!!!

五、項目結構圖

技術分享圖片

代碼下載:http://www.demodashi.com/demo/14741.html

註:本文著作權歸作者,由demo大師發表,拒絕轉載,轉載需要作者授權

Arduino和C51開發LCD1602顯示屏