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液晶显示器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: enter sleep mode黑屏怎么
- 下一篇: hbase 伪分布安装 java_HBa