• 方案介紹
    • 一、前言
    • 二、代碼實(shí)現(xiàn)
  • 附件下載
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

STC51控制LCD1602字符屏顯示字符數(shù)據(jù)

4小時前
129
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

更多詳細(xì)資料請聯(lián)系.docx

共1個文件

一、前言

1.1 功能介紹

本項(xiàng)目的開發(fā)背景主要源于現(xiàn)代電子設(shè)備和系統(tǒng)中對于用戶界面的直觀性和易用性的不斷追求。在許多嵌入式系統(tǒng)微控制器應(yīng)用以及小型電子設(shè)備中,LCD(Liquid Crystal Display)屏幕被廣泛應(yīng)用以顯示必要的信息和交互指令。特別是LCD1602字符屏,以其16個字符寬度和2行顯示的特性,成為了一種經(jīng)濟(jì)、高效的顯示解決方案。

STC90C51作為一款經(jīng)典的8位微控制器,以其高性能、低功耗和豐富的I/O端口資源,在嵌入式系統(tǒng)設(shè)計中占據(jù)了重要地位。然而,僅僅依靠微控制器本身并不能直接與用戶進(jìn)行交互,因此,結(jié)合LCD1602字符屏進(jìn)行信息顯示成為了提升系統(tǒng)交互性的關(guān)鍵。

通過STC90C51微控制器控制LCD1602字符屏,可以實(shí)現(xiàn)在嵌入式系統(tǒng)中對用戶顯示必要的系統(tǒng)狀態(tài)、錯誤信息、提示指令等功能,從而提升用戶體驗(yàn)和系統(tǒng)交互性。同時,這一項(xiàng)目的開發(fā)也有助于提升開發(fā)人員對微控制器和LCD屏幕控制技術(shù)的理解和掌握,為后續(xù)的復(fù)雜系統(tǒng)設(shè)計和開發(fā)打下堅實(shí)的基礎(chǔ)。

image-20240612131134904

image-20240612131147613

image-20240612131204433

image-20240612131220236

1.2 LCD1602介紹

1602字符屏,也稱為LCD1602液晶顯示屏,是一種基于液晶顯示技術(shù)的模塊化顯示設(shè)備。它以其16列、每列可顯示2行字符的顯示區(qū)域,成為了一種廣泛應(yīng)用的顯示解決方案。該屏幕采用字符型液晶顯示技術(shù),其顯示內(nèi)容包括數(shù)字、字母、符號等,通常由一個顯示屏、一個控制器芯片和一組電路板組成。

LCD1602字符屏的主要特點(diǎn)包括:

  1. 顯示能力:LCD1602字符屏可以同時顯示兩行文字,每行最多可顯示16個字符,每個字符由5x8像素的點(diǎn)陣構(gòu)成。這種點(diǎn)陣結(jié)構(gòu)允許顯示清晰、銳利的字符。
  2. 低功耗:LCD1602字符屏采用液晶顯示技術(shù),具有較低的功耗,適合長時間運(yùn)行和嵌入式系統(tǒng)應(yīng)用。
  3. 易于控制:LCD1602字符屏通常使用HD44780控制芯片,該芯片提供了一套簡單易用的指令集,用于控制LCD的顯示內(nèi)容、光標(biāo)位置等。這使得開發(fā)人員可以通過微控制器等設(shè)備輕松控制LCD1602字符屏的顯示。
  4. 背光顯示:LCD1602字符屏通常配有背光功能,可以在暗環(huán)境中提供良好的可視性。背光可通過外部電路控制,從而實(shí)現(xiàn)顯示器的亮度調(diào)節(jié)或開關(guān)功能。

LCD1602字符屏還具有高可靠性、體積小、重量輕等特點(diǎn),使其在各種電子設(shè)備中得到廣泛應(yīng)用,如電子秤、計時器、溫度計、計數(shù)器等。通過向LCD1602字符屏發(fā)送指令,可以輕松地設(shè)置顯示內(nèi)容、光標(biāo)位置等,實(shí)現(xiàn)與用戶的直觀交互。

二、代碼實(shí)現(xiàn)

2.1 main.c

#include <reg51.h>
#include <INTRINS.H>
#include "delay.h"
#include "type.h"
#include "uart.h"
#include "lcd1602.h"
#include <string.h>
code u8 str1[]="ABCDEFGHIJ";  //字符串結(jié)尾 '?'
code u8 str2[]="1234567890";  //字符串結(jié)尾 '?'
int main()
{
    LCD1602_Init();  //1602初始化
	DelayMs(50);
	LCD1602_SetCursorAddr(0x3,0x0);  //設(shè)置光標(biāo)地址
	LCD1602_DisplayData(str1,strlen(str1)); //在1602上顯示數(shù)據(jù)
	LCD1602_SetCursorAddr(0x3,0x1);  //設(shè)置光標(biāo)地址
	LCD1602_DisplayData(str2,strlen(str2)); //在1602上顯示數(shù)據(jù)
    while(1)
    {
       
    }
}

2.2 lcd1602.c

#include "lcd1602.h"
//1602的初始化函數(shù)
void LCD1602_Init(void)
{
	LCD1602_WriteCmd(0x38); //設(shè)置顯示模式
	LCD1602_WriteCmd(0x06); //設(shè)置數(shù)據(jù)指針自增
	LCD1602_WriteCmd(0x0C); //設(shè)置光標(biāo)顯示關(guān)閉,開啟顯示
	LCD1602_WriteCmd(0x01); //清屏
}

//1602寫數(shù)據(jù)
void LCD1602_WriteData(unsigned char dat)
{
	lcd_1602_RS=1;//表示寫數(shù)據(jù)
	lcd_1602_R_W=0;//表示寫操作
	lcd_1602_data_cmd=dat;//寫入的數(shù)據(jù)
	lcd_1602_E=1;//高脈沖
    DelayMs(5);
	lcd_1602_E=0;
}

//1602寫命令
void LCD1602_WriteCmd(unsigned char cmd)
{
    lcd_1602_RS=0;
    lcd_1602_R_W=0;
    lcd_1602_data_cmd=cmd; 
    lcd_1602_E=1;
    DelayMs(5);
    lcd_1602_E=0;
}

/*
設(shè)置光標(biāo)地址
x : 顯示的位置
y :顯示的行數(shù) 0表示1行顯示  1表示第2行顯示 
*/
void LCD1602_SetCursorAddr(unsigned char x,unsigned char y)
{
	unsigned char addr=0;
	if(y==1) //表示設(shè)置在第2行顯示
	{
		addr=x+0x40;  //第二行地址
	}
	else
	{
		addr=x+0x00;    //第一行地址
	}
	LCD1602_WriteCmd(0x80|addr); //加上0x80表示設(shè)置地址
}

/*
設(shè)置顯示的數(shù)據(jù)
*dat :表示要顯示的數(shù)據(jù)
len  :顯示數(shù)據(jù)的長度
*/
void LCD1602_DisplayData(unsigned  char *dat,unsigned char len)
{
	 while(len--)
	 {
		 LCD1602_WriteData(*dat++);
	 }	 
}

2.3 lcd1602.h

#ifndef _LCD1602_H
#define _LCD1602_H
#include <reg51.h>
#include "delay.h"
sbit lcd_1602_RS=P2^6;  //區(qū)分命令和數(shù)據(jù)
sbit lcd_1602_R_W=P2^5; //讀寫區(qū)分
sbit lcd_1602_E=P2^7;   //使能信號
#define lcd_1602_data_cmd P0  //發(fā)送接收數(shù)據(jù)和命令

/*函數(shù)API聲明*/
void LCD1602_WriteCmd(unsigned char cmd); //寫命令
void LCD1602_WriteData(unsigned char dat); //寫數(shù)據(jù)
void LCD1602_DisplayData(unsigned  char *dat,unsigned char len); //顯示數(shù)據(jù)
void LCD1602_Init(void); //初始化
void LCD1602_SetCursorAddr(unsigned char x,unsigned char y); //設(shè)置光標(biāo)地址
#endif

  • 更多詳細(xì)資料請聯(lián)系.docx
    下載

相關(guān)推薦