當前位置:妙知谷 >

母嬰教育 >學習交流 >

單片機LCM1602液晶顯示實驗

單片機LCM1602液晶顯示實驗

實驗九LCM1602液晶顯示實驗

一、實驗目的

1、掌握keil C51軟件與Protues軟件聯合仿真調試的方法;

2、掌握LCM1602液晶模塊顯示西文的原理及使用方法;

3、掌握8位數據模式驅動LCM1602液晶的C語言編程方法。

4、掌握用LCM1602液晶模塊顯示數字的C語言編程方法。

二、實驗內容

1、用Protues設計一LCM1602液晶顯示接口電路。要求利用P0口接LCM1602液晶的數據段,P2.0~P2.2做LCM1602液晶的控制信號輸入端。P3.0~P3.3口擴展三個功能鍵K1~K3。

2、編寫程序,實現字符的靜態和動態顯示。字符為“姓名全拼+學號”。液晶的初始化、字符顯示程序可參考STC官網上的程序文件。

3、編寫程序,利用功能鍵實現字符的縱向滾動和橫向滾動等效果顯示。

三、實驗原理及步驟

1、用Protues設計1602液晶顯示接口電路;

2、在Keil C51中編寫液晶顯示控制程序,編譯通過後,與Protues聯合調試;

3、按動功能按鍵,觀察字符及效果是否正確顯示。

四、實驗儀器與設備

1.微機1台 2. keilC51集成開發環境 eus仿真軟件

五、電路設計及調試

(1)實驗電路

單片機LCM1602液晶顯示實驗

(2)程序設計與調試

#include

#include

#include"lcd.h"

#define uint unsigned int

#define uchar unsigned char

uchar num,TEMP;

bit flag=1;

uchar keynum;

sbit K1=P3^0;

sbit K2=P3^1;

sbit K3=P3^2;

void delay(uint x)

{

uchar i;

while(x--) for(i=0;i<120;i++);

}

uchar keypress()

{

if(P3!=0XFF)

{

delay(5);

num=0;

if(P3!=0XFF)

{

TEMP=P3;

switch(TEMP)

{

case 0xfe:num=1;break;

case 0xfd:num=2;break;

}

while(TEMP==0XFF);

}

return num;

}

}

void main()

{

uchar i;

P0=P3=0XFF;

IT0=1;

EX0=1;EA=1;

Initialize_LCD();

display_string(0,0," gaoqinag");

display_string(0,1,"201012301043 ");

while(flag)

{

keypress();

if(num==1)

{

for(i=0;i<16;i++)

{

Write_LCD_Command(0x1c);

display_string(16-i,0," gaoqiang");

display_string(16-i,1,"201012301043");

display_string(16+i,0," gaoqinag");

display_string(16+i,1,"201012301043");

display_string(0x0f,0," gaoqinag");

display_string(0x0f,1,"201012301043");

delay(20);

}

display_string(0x0f,0," gaoqinag");

display_string(0x0f,1,"201012301043");

delay(20);

if(num==2){Write_LCD_Command(0x01);break;}

}

if(num==2)

{

display_string(0,0,"gaoqinag");

delay(100);

display_string(0,1,"201012301043");

delay(100);

display_string(0,1,"gaoqinag");

delay(100);

display_string(0,0,"201012301043");

delay(100);

if(num==1) {Write_LCD_Command(0x01);break;}

}

}

}

void exter0()interrupt 0

{

flag=~flag;

}

(3)實驗中遇到的問題:

1.編寫的實驗程序不能正確顯示學號,輸入學號時不能加入空格,不然液晶顯示屏幕顯示不開!

六、實驗總結

1.掌握了proteus基本的操作方法.

2.做實驗時要仔細,要按步驟來,,避免人為錯誤。

3.做實驗要獨立完成,學會了液晶顯示屏幕的控制程序.

七、對實驗課的建議

做實驗應多給學生時間自主練習,讓同學們對於實驗有更深刻的理解,從實踐中找出問題,解決問題.

  • 文章版權屬於文章作者所有,轉載請註明 https://miaozhigu.com/jy/jiaoliu/0o5o5y.html