單片機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)實驗電路
(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.做實驗要獨立完成,學會了液晶顯示屏幕的控制程序.
七、對實驗課的建議
做實驗應多給學生時間自主練習,讓同學們對於實驗有更深刻的理解,從實踐中找出問題,解決問題.
-
為什麼跳蚤能跳很高?有比身體還要長的後足(能跳1.5米)
解答:跳蚤之所以能跳的很高,都是因為它強健有力的後足,以及關節處的彈性蛋白物質,起跳時,跳蚤會將自己的後足摺疊,並在蹬地的瞬間釋放彈性能量,就像子彈一樣飛出去了,下面就跟着探祕志一起來看看吧!為什麼跳蚤能跳很高?英國物理學家虎克第一次用顯微鏡研究跳蚤,因為跳蚤...
-
致命毒藥有哪些?盤點致死速度最快的十種毒藥
導語:在中國古代就有很多關於能讓人致命的毒藥的記載,比如説常在電視上看到的鴆酒、斷腸草和鶴頂紅等等,這些畢竟都只是在古代出現過。那麼你們知道現今有哪些致命毒藥嗎?接下來呢就由探祕志小編為大家盤點致命速度最快的十種毒藥,以下排名不分先後,感興趣的不妨一...
-
無限恐怖盒子理論:人類世界被操控,我們只是盒子裏的人
盒子理論源自上世紀80年代少數派的科幻世界觀,也是《無限恐怖》一個重要的概念理論。簡單來説就是將我們所處的世界比作一個盒子,我們很有可能就是這個盒子裏的某個程序或物種,而盒子只是操縱者創造的一個小世界,甚至可能不是真實存在的,下面就讓我們一起來看一看吧...
-
空調除濕是什麼意思?什麼時候最適合開除濕(別超過2小時)
解答:空調除濕是一種排出房間濕氣的運行模式,主要是將室內機的風扇運轉減慢,使房間內的水氣遇到蒸發器後凝集為液體,通過導管排出室外,達到減輕房間濕度的目的。最適用於梅雨和雨後的天氣。空調除濕是什麼意思?一般來説空調都是人們用來調節空氣温度的,但是還有另一...