當前位置:
首頁 >
1602液晶显示实验
發布時間:2024/3/12
59
豆豆
生活随笔
收集整理的這篇文章主要介紹了
1602液晶显示实验
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、實驗要求
參考書中例7.2.2的相關代碼,實現第一行從右側移入“Hello?everyone!”,同時第二行從右側移入“Welcome?to?here!”,完全移入后再完全移出屏幕,如此反復,實現滾動的效果。保存相關原理圖,代碼及實驗效果圖,完成實驗報告。
二 、實驗原理圖
三 、實驗代碼
#include<reg52.h>#define uchar unsigned char#define uint unsigned intuchar code table[]="Hello everyone!";uchar code table1[]="Welcome to here!";sbit lcden=P3^4;sbit lcdrs=P3^5;uchar num;void delay(uint z){uint x,y;for(x=z;x>0;x--){for(y=110;y>0;y--);}}void write_com(uchar com){lcdrs=0; ??????//選擇寫命令模式P0=com; ???????//將要求的命令字送到數據總線上delay(5); ?????//稍作延時以待數據穩定lcden=1; ??????//使能端給一高脈沖,因為初始化函數已經將lcden置為0delay(5);lcden=0; ??????//將使能端置0以完成高脈沖}void write_date(uchar date){lcdrs=1;P0=date;delay(5);lcden=1;delay(5);lcden=0;}void init(){lcden=0;write_com(0x38); ??//設置16*2 顯示,5*7點陣,8位數據接口write_com(0x0c); ??//設置開顯示,不顯示光標write_com(0x06); ??//寫一個字符后地址指針加1write_com(0x01); ??//顯示清0,數據指針清0}void main(){init();write_com(0x80+0x10); ?//將數據寫在液晶第一行非顯示區域地址處for(num=0;num<15;num++){write_date(table[num]);delay(5);}write_com(0x80+0x50); ?//將數據寫在第二行非顯示區域地址處for(num=0;num<16;num++){write_date(table1[num]);delay(5);}while(1){for(num=0;num<10;num++){write_com(0x18); ??//整屏左移指令,同時光標跟隨移動//write_com(0x1c); ??//整屏右移,同時光標跟隨移動delay(200);}}}四、實驗效果截圖
?
總結
以上是生活随笔為你收集整理的1602液晶显示实验的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sja1000 中断_SJA1000中断
- 下一篇: 玫瑰公主