日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

51单片机怎么显示当前时间_51单片机玩转物联网基础篇06-LCD1602液晶显示器

發布時間:2025/3/11 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 51单片机怎么显示当前时间_51单片机玩转物联网基础篇06-LCD1602液晶显示器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

本節我們開始學習LCD1602,LCD1602是字符型液晶顯示屏,在實際項目中應用非常廣泛,學完本節就可以逐步開發一些好玩的應用了。

一、基礎知識

1.LCD1602簡介

LCD1602是字符型液晶顯示模塊,專門用于顯示字母、數字、符號等點陣式LCD,顧名思義,LCD1602一共可以顯示兩行,每一行能夠顯示16個字符數據,采用5V供電,具有低功耗、長壽面、搞可靠性等特性,實物圖如下:

(1) 引腳說明

在 LCD1602 內部含有 80 個字節的 DDRAM,它是用來寄存顯示字符的。其地址

和屏幕的對應關系如下

從上圖可知,LCD1602中80個字節并不是所有的都用來顯示數據,只有第一行的00~0F,第二行的40~4F用來顯示,其他地址只能用來存儲

(2) 指令表

(3) 常用指令說明

  • 清屏指令

功能:清楚屏幕,置AC為0

  • 模式設置指令

功能:光標和顯示模式設置

設定每次輸入1位數據后光標的移位方向,并且設定每次寫入后的字符是否移動。

I/D(光標移動方向): 1:右移 0:左移

S(顯示屏整體是否移動): 1 :有效右移 0:無效

  • 顯示開關控制指令

功能:控制顯示器開/關,光標開/關,光標是否閃爍

D:1,開啟顯示功能; 0,關閉顯示功能

C:1,有光標;0,無光標

B:1,光標閃爍;0,光標不閃爍

  • 功能設定指令

功能:設置數據總線位數、顯示行數、字型

DL:1,數據總線為8位; 0,數據總線為4位

N:1,顯示2行;0,顯示1行

F:1,5X7點陣;0,5X10點陣

2.硬件設計

打開硬件設計電路,LCD相關電路如下

注意:R7控制LCD1602驅動電壓,可調,一般設計需要10K可調電阻,也可以字型調試OK后,焊接固定電阻。

二、實例

1.創建工程

將上一節工程復制出來,并修改名字為05-lcd1602

2.修改程序

/*------------------------------------------------------ *店鋪網址:https://shop321633213.taobao.com/?spm=a1z10.3-c.0.0.33816af5iLgN2F *適用于A08開發板 *實驗現象:驅動LCD1602 *QQ群:906015840 * ------------------------------------------------------*/ #include<reg51.h> //頭文件 #include <intrins.h> #define uchar unsigned char #define uint unsigned int uchar code table_xiaoyi[]="XIAOYI IOT"; // uchar code table_xiaoyi_welcome[]="Welcome!"; sbit LCD_EN=P3^7; //液晶使能信號 sbit LCD_RS=P3^5; //數據/命令選擇端 sbit LCD_WR=P3^6;void delay_ms(uint ms) {uint x,y;for(x=ms;x>0;x--)for(y=110;y>0;y--); }void write_com(uchar com) //命令 {LCD_RS=0; //選擇寫命令P0=com;delay_ms(5);LCD_EN=1; //使能信號LCD_EN=0; //關閉使能 }void write_data(uchar date) //數據 {LCD_RS=1; //選擇寫數據P0=date;delay_ms(5);LCD_EN=1;LCD_EN=0; }void init() {LCD_EN=0;write_com(0x38); //00111000 設置16*2顯示,5*7點陣 8為數據接口write_com(0x0c); //00001100 設置開顯示,不顯示光標write_com(0x06); // 00000110 寫一個字符后地址指針加 1write_com(0x01); //00000001 顯示清0,數據指針清零 }void main(void) //主函數 {uchar i;LCD_WR=0;init();// 寫第一行數據write_com(0x80); for(i=0;i<10;i++){write_data(table_xiaoyi[i]);delay_ms(5);}// 寫第二行數據write_com(0x80+0x40); for(i=0;i<8;i++){write_data(table_xiaoyi_welcome[i]);delay_ms(5);}while(1); }

程序中將字符串"XIAOYI IOT"顯示在第一行,"Welcome"顯示在第二行。

三、運行

將上述程序生成的hex文件燒錄到板子中,板子顯示如下:

硬件獲取:

51單片機物聯網開發板 STC89C52RC實驗板支持連云?item.taobao.com

一葉孤沙出品:一沙一世界,一葉一菩提

總結

以上是生活随笔為你收集整理的51单片机怎么显示当前时间_51单片机玩转物联网基础篇06-LCD1602液晶显示器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。