tft每日頭條

 > 生活

 > lcd1602顯示屏的應用場景

lcd1602顯示屏的應用場景

生活 更新时间:2024-06-29 08:18:13

單片機應用技術課程報告

實驗名稱

1602LCD液晶顯示屏的顯示

實驗時間

學生姓名

實驗地點

釘釘群線上

同組人員

專業班級

1、實驗目的

1、會使用單片機4個并行I/O端口連接外部設備并構建單片機最小應用系統。

2、能使用工具軟件繪制單片機硬件原理圖、能編寫簡LCD控制程序。

3、會使用LCD1602顯示指定的内容。

2、任務設計要求

采用STC89C52單片機構建最小系統,在I/O口外接1602,編程實現在1602字符型

LCD顯示:實現字符的靜态和動态顯示。顯示字符為第一行:“I am xx”,第二行:“Hou are you”。

3、總體設計方案

根據實驗任務要求,通過功能分析,設計的系統總體方案如圖所示。

并行接口

AT89C51單片機

電源

時鐘電路

複位電路

實現led顯示屏顯示

4、硬件電路設計

lcd1602顯示屏的應用場景(1602LCD液晶顯示屏的顯示)1

5、軟件程序設計

(1)、程序設計思路(流程圖繪制)

lcd1602顯示屏的應用場景(1602LCD液晶顯示屏的顯示)2

lcd1602顯示屏的應用場景(1602LCD液晶顯示屏的顯示)3

結束

lcd1602顯示屏的應用場景(1602LCD液晶顯示屏的顯示)4

結束

lcd1602顯示屏的應用場景(1602LCD液晶顯示屏的顯示)5

結束

(2)程序清單

#include<reg51.h>

#include<intrins.h>//包含_nop_()空函數指令的頭文件

#define uchar unsigned char

#define uint unsigned int

#define out P0

sbit RS=P2^0;//位變量

sbit RW=P2^1;//位變量

sbit E=P2^2;//位變量

void lcd_ini();//LCD初始化函數

void check_busy();//檢查忙标志函數

void w_command(uchar com);//寫命令函數

void w_data(uchar dat);//寫數據函數

void string(uchar ad,uchar*s);

void lcd_busy(void);

void delay(uint);

void lcd_ini();

void main(void)//主函數

{

lcd_ini();//調用對LCD初始化函數

while(1)

{

string(0x80,"I am dujingjing");//顯示的第1行字符串

string(0xC2,"HOW are you");//顯示的第2行字符串

delay(100);//延時

w_command(0x01);//寫入清屏命令

delay(100);//延時

}

}

void delay(uint j)//1ms延時子程序

{

uchar i=250;

for(;j>0;j--)

{

while(--i);

i=249;

while(--i);

i=250;

}

}

void check_busy(void)//檢查忙标志函數函數檢測P0.7腳電平,即檢測忙

{

uchar dt;

do

{

dt=0xff;

E=0;

RS=0;

RW=1;

E=1;

dt=out;

}

while(dt&0x80);

E=0;

}

void w_command(uchar com)//寫命令函數

{

check_busy();

E=0;

RS=0;

RW=0;

out=com;

E=1;

_nop_();

E=0;

delay(1);

}

void w_data(uchar dat)//寫數據函數

{

check_busy();

E=0;

RS=1;

RW=0;

out=dat;

E=1;

_nop_();

E=0;

delay(1);

}

void lcd_ini()//液晶顯示器初始化函數

{

w_command(0x38);//寫入命令0x38:8位兩行顯示,5×7點陣字符

w_command(0x0C);//寫入命令0x0C:開整體顯示,光标關,無黑塊

w_command(0x06);//寫入命令0x06:光标右移

w_command(0x01);//寫入命令0x01:清屏

delay(1);

}

void string(uchar ad,uchar*s)//輸出顯示字符串的函數

{

w_command(ad);

while(*s>0)

{

w_data(*s );//輸出字符串,且指針增1

delay(100);

}

}

  1. 性能指标測試及結果分析

lcd1602顯示屏的應用場景(1602LCD液晶顯示屏的顯示)6

7、項目總結

本次實驗了解到1206液晶的儲存器結構以及其基本的操作時序。了解到在指令設置中如何顯示開、關及光标設置。地址設置:第一行地址從0x80開始,第二行地址從0xC0開始。知識要慢慢積累,實踐更為重要。在做實驗的過程中會慢慢發現不足之處,強化練習,以減少錯誤的出現,使實驗順利完成。

8、項目設計報告成績

指導教師簽字:

年 月 日

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved