欢迎来到天天文库
浏览记录
ID:22714723
大小:45.51 KB
页数:7页
时间:2018-10-31
《《液晶并行方式》word版》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、#include#defineucharunsignedchar#defineuintunsignedint/****************端口定义***************/#defineLCD_dataP2//定义数据口sbitLCD_RS=P0^0;//寄存器选择输入sbitLCD_RW=P0^1;//液晶读写控制sbitLCD_EN=P0^2;//液晶时能控制sbitLCD_PSB=P0^3;//串/并方式控制sbitkey1=P1^0;//按键定义sbitkey2=P1^1;sbi
2、tkey3=P1^2;/****************定义变量***************/ucharspeed=11;//即时速度ucharkey;ucharkeynum=0;//功能键按下次数intqbwei,gshwei;/****************液晶显示字符串定义***************/ucharcodedis1[]="液滴控制";ucharcodedis2[]="设定速度:0000";ucharcodedis3[]="实时速度:";ucharcodedis4[]="向前进!向前进!";
3、uchardis5[3];/****************函数声明***************/voidlcd_init();//LCD初始化voidlcdinit_display();//LCD显示初始化bitlcd_busy();//遇忙检测voidwrite_cmd(ucharcmd);//写命令voidwrite_dat(uchardat);//写数据voidlcd_pos(ucharX,ucharY);//设置显示位置voidwrite_gshb(ucharadd,uchardat);//取位设置vo
4、idmatrixkeyscan();//键盘扫描voidMoment_speed(ucharspeed);//实时速度voidlcd_display();//LCD显示voiddelay(uintn);//延时/****************主函数***************/voidmain(){lcdinit_display();while(1){lcd_display();Moment_speed(speed);}}/************子程序************/voiddelay(uintn)
5、{uinti,j;for(i=n;i>0;i--)for(j=110;j>0;j--);}/***********************液晶子程序********************************************//*******************************************************************//**//*检查LCD忙状态*//*lcd_busy为1时,忙,等待。lcd-busy为0时,闲,可写指令与数据。*//**//********
6、***********************************************************/bitlcd_busy(){bitresult;LCD_RS=0;LCD_RW=1;LCD_EN=1;delay(5);result=(bit)(P0&0x80);LCD_EN=0;return(result);}/*********写指令数据到LCD**********//*RS=L,RW=L,E=高脉冲,D0-D7=指令码*/voidwrite_cmd(ucharcmd){lcd_busy()
7、;LCD_RS=0;LCD_RW=0;LCD_EN=0;P2=cmd;delay(5);LCD_EN=1;delay(5);LCD_EN=0;}/**********写显示数据到LCD********//*RS=H,RW=L,E=高脉冲,D0-D7=数据.*/voidwrite_dat(uchardat){lcd_busy();LCD_RS=1;LCD_RW=0;LCD_EN=0;P2=dat;delay(5);LCD_EN=1;delay(5);LCD_EN=0;}/***********设定显示位置******
8、**********/voidlcd_pos(ucharX,ucharY){ucharpos;if(X==1){X=0x80;}elseif(X==2){X=0x90;}elseif(X==3){X=0x88;}elseif(X==4){X=0x98;}pos=X+Y;write_cmd(pos);//显示地址}/*LCD初始化设定*/voidlcd_ini
此文档下载收益归作者所有