还剩22页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
wr itecom0x80+0x40;for num=0;num16;num++write_datatablel[num];按键实现不一样效果delay200;#includereg
51.h#define ucharunsigned charwrite_com0x01;#define uintunsigned intuchar codeinformation!uchar code tablel口=〃
1.Huang XirT;uchar codetable2[]=z/
2.Tongxin412381〃;uchar codetable3[]=//
3.MCS-51EXP8〃;uchar codetable4[]=〃
4.LCDDISPLAY;uchar num,i,j;delay5;TM0D=0x01;lcden=O;THO=65536-10000/256;}TL0=65536-10000%256;EA=1;void initETO=1;TRO=1;lcden=0;EXO=1;lcdrw=0;IT0=l;write_com0x38;IP=0x05;write_com0x0f;EXI=1;write_com0x06;IT1=1;write_com0x01;delay100;while1{flag3=0;void mainwrite_com0x01;init;writecom0x80+0x01;delay50;fornum=0;num15;num++if kl==0ifflagl==l break;if flag3==0//write_datatable[num];delay200;{if flagl==l break;〃控制返回write_com0x01;delay200;write_com0x80+0x00;write_com0x01;delay50;f ornum=0;num11;num++〃显示〃}
1.Huang Xin〃void display{ifflagl-1break;while flag3==ldelay200;while1}write_com0x01;wri te_com0x80+0x00;write_com0x80+0x40;for num=0;num16;num++〃显示f ornum=0;num16;num++〃显示/z
2.Tongxin412381〃/z
2.Tongxin412381〃ifflagl==l break;ifflagl==l break;while flag3==lwhile flag3==l{if flagl==lbreak;{ifflagl==l break;writedatatable2[num];delay200;write_datatable2[num];}delay200;write_com0x80+0x40;f ornum=0;num13;num++〃显示〃
3.MCS-51EXP8〃if flagl-1break;if flagl==lbreak;ifflagl==l break;while flag3==lwrite datatable3[num];{delay200;if flagl==lbreak;}delay200;ifflagl==l break;write_datatable3[num];write_com0x80+0x40;delay200;f ornum=0;num13;num++〃显示〃
4.LCD DISPLAYwritecom0x01;wri te_com0x80+0x00;ifflagl-1break;f ornum=0;num13;num++〃显while flag3==l示〃
3.MCS-51EXP8〃if flagl-Dbreak;while flag3==ldelay200;write_datatable4[num];for num=0;num11;num++〃显示
1.Huang Xin〃write_com0x01;write_com0x80+0x00;ifflagl==l break;for num=0;num13;num++//显示〃
4.LCD DISPLAYwhile flag3==l{if flagl==lbreak;ifflagl==l break;}while flag3==lwrite_datatablel[num];delay200;if flagl-1break;delay200;flag3=0;flagl=O;〃清标志位f ornum=0;num16;num++〃显示write_com0x01;//清屏/z
2.Tongxin412381〃}if flagl==lbreak;if k2=0write_datatable2[num];{delay50;//if flagl==lbreak;}write_com0x01;〃清屏write_com0x02;wri te_com0x80+0x00;write_com0x80+0x40;for num=0;num11;num++〃显示
1.Huang Xin〃f ornum=0;num13;num++〃显示〃
3.MCS-51EXP8〃{if flagl-1break;if flagl=l break;write_datatablet[num];write datatable3[num];delay50;delay50;write_com0x80+0x10;f ornum=0;num13;num++〃显if flagl==lbreak;write comOxlc;//整屏左示〃
4.LCD DISPLAY移或右移delay100;if flagl==l break;ifflagl==l break;write datatable4[num];}delay50;}}flag3=0;while1flagl=0;〃清除标志位write_com0x01;//清屏ifflagl==l break;whileflag3-1}{void timeOinterrupt1THO=65536-1000/256;if flag3==0display;EX1=1;}flagl=l;void INTOinterrupt0EX0=0;delay20;EXO=1;flag3=!flag3;}void INTIinterrupt2EX1=O;
七、试验问题处理及总结试验中出现了运行垂直或水平效果时若按下暂停/继续按键再按返回按
1.姓名全拼
2.专业全拼+学号
3.MCS-51EXP
84.LCD DISPLAYv
四、主程序静态显示“My information!”
五、试验原理
1.液晶显示的J原理采用於I LCD显示屏都是由不一样部分构成的;分层构造,位于最背面的一层是由荧光物质构成时可以发射光线的背光层,背光层发出的光线在穿过第一层偏振过滤层之后进入包括成千上万水晶液滴的液晶层,液晶层中的I水晶液滴都被包括在细小日勺单元格构造中,一种或多种单元格构成屏幕上的一种像素当LCD中时电极产生电场时,液晶分子就会产生扭曲,从而将穿越其中的光线进行有规则日勺折射,然后通过第二层过滤层的过滤在屏幕上显示出来LCD1602采用符号引脚阐明编号符号引脚阐明原则的14引脚(无背光)或16引脚(带背光)接口,各引脚接口阐明如表编号1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据键后,再按垂直或水平按键不继续运行的状况重要原因是标志位设置及功能不明确导致,应在执行完效果程序后将暂停与返回的标志位都清零最佳对每个按键设置一种标志位,轻易控制将效果函数与标志位的处理放在主函数中,不波及中断嵌套等问题通过本次试验,掌握了对LCD1602编程的措施,学会了运用标志位对程序进行更好的J控制,并深入培养了编程似日勺逻辑思维4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极R/W D7D6D5D3D1D0序号指令RS清显示0000010光标返回0000120置输入模式00001D I/304显示开/关控制000001R/L D5光标或字符移位0000S/C6置功能000DL N7置字符发生存储器地址001字符发生存储器地址8置数据存储器地址01显示数据存储器地址9读忙标志或地址0BF计数器地址10写数到或要写的数据内容CGRAM DDRAM111读出的数据内容从或读数CGRAM DDRAM11602液晶模块内部日勺控制器共有11条控制指令,如表所示:芯片时序表:功能RS RAVE卜像沿写指令代码0001高电平读忙标志和AC值下降沿写数据10高电平读数据
114.1602LCD H勺一般初始化复位过程1延时15mso2写指令38H不检测忙信号信3延时5mso4写指令38H不检测忙信号5延时5ms o6写指令38H不检测忙信号7后来每次写指令、读/写数据操作均需要检测忙信号8写指令38H:显示模式设置9写指令08H:显示关闭10写指令01H:显示清屏11写指令06H:显示光标移动设置12写指令0CH:显示开及光标设置
五、试验环节
1.用Proteus设计1602液晶显示接口电路;在Keil C51中编写液晶显示控制程序,编译通过后,与Proteus联合调试;按动功能键,观测字符及效果与否对的显示
六、电路设计调试及程序1)试验电路LCD1LM016L八RV110k.RP1U1239~XTAL1P
0.0/AD0383P
0.1/AD
1375.P
0.2/AD2亘1836XTAL2P
0.3/AD3357P
0.4/AD434亘P
0.5/AD5339P
0.6/AD632RST P
0.7/AD7RESPACK-821P
2.0/A822P
2.1/A923P
2.2/A102930_24PSEN P
2.3/A112531ALE P
2.4/A12EA P
2.5/A1327P
2.6/A1428P
2.7/A15_1p4cm DQn/QYn10_L
1.yjf\/P
1.1/T2EX Ko.U/HAUP
3.1/TXD jT712P
1.2P
3.2/INT0亘7P
1.3P
3.3/INT1£P
1.4P
3.4/T01475P
1.5P
3.5/T
16.16P
1.6P
3.6M/R7_P
1.7P
3.7/RD178AT89C522程序设计与调试静态显示#includereg
51.h uchar codetablel[]=//
2.Tongxin412381〃;#define ucharunsigned charsbitlcden=P2^2;#define uintunsigned intsbit lcdrw=P2^1;ucharcodetable[]=,/l.Huang Xin〃;sbit Icdrs=P20;lcden=0;uchar num;void delayuint zlcdrs=l;P0=date;for y=110;y0;y--;delay5;lcden=l;delay5;void write_datauchar dateuint x,y;for x=z;x0;x一void write_comuchar comlcden=0;lcdrs=0;P0=com;void initddleeclldaaeyyn=55l;;;llccddernw==00;;write_com0x38;delay200;write_com0x0c;write_com0x06;write_com0x02;wr ite_com0x80+0x40;write_com0x01;for num=0;num16;num++write_com0x80+0x00;write_datatablel[num];delay200;void mainwhile1;init;delay100;while1{fornum=0;num12;num++write datatable[num];uintx,y;for x=z;xO;x一一for y=110;y0;y—;动态显示#includereg
51.h#define ucharunsigned charvoidwrite comucharcom#define uintunsigned intuchar codetable[]=z/l.Huang Xin〃;ucharcodetablel[]=z/
2.TongxinPO=com;lcdrs=0;412381〃;delay5;sbit Icden=P2八2;lcden=l;sbitlcdrw=P21;delay5;sbit lcdrs=P20;lcden=0;uchar num;void delayuint zwritecom0x01;lcdrs=l;wri te_com0x80+0x00;P0=date;delay5;lcden=l;void maindelay5;lcden=0;init;delay100;while1void initfornum=0;num12;num++lcden=0;lcdrw=0;write datatable[num];write_com0x38;delay200;write_com0x0f;write_com0x06;。