液晶显示源程序代码
***************************************************yj.c*连线图:* DB0---DPROT.0 DB4---DPROT.4 RS-------------P2.5* DB1---DPROT.1 DB5---DPROT.5 RW-------------P2.6* DB2---DPROT.2 DB6---DPROT.6 E--------------P2.7* DB3---DPROT.3 DB7---DPROT.7 VLCD接10K可调电阻到GND**80C51的晶振频率为12MHz*液晶显示程序***************************************************/#include reg51.h#include#include #define DPORT P0#define uchar unsigned charsbit RS = P2^5;sbit RW = P2^6;sbit E = P2^7;uchar Xpos; //列方向地址指针uchar Ypos; //行方向地址指针#define NoDisp 0#define NoCur 1#define CurNoFlash 2#define CurFlash 3/*延时程序由Delay参数确定延迟时间*/void LcdWcn(uchar);void LcdWc(uchar);void WriteChar(uchar);void LcdPos();void LcdWd(uchar);void LcdWdn(uchar);void mDelay(unsigned int Delay) { unsigned int i;for(;Delay>0;Delay--){ for(i=0;i124;i++){;}}}/*光标设置命令Cur 为设定光标参数*/void SetCur(uchar Cur){ switch(Cur){ case 0x0:{ LcdWc(0x08); //关显示break;}case 0x1:{ LcdWc(0x0c); //开显示但无光标break;}case 0x2:{ LcdWc(0x0e); //开显示有光标但不闪烁break;}case 0x3:{ LcdWc(0x0f); //开显示有光标且闪烁break;}default: break;}}/*清屏命令*/void ClrLcd(){ LcdWc(0x01); }/*在指定的行与列显示*/void WriteChar(uchar c){ LcdPos();LcdWd(c);}/*正常读写操作之前检测LCD控制器*/void WaitIdle(){ uchar tmp;DPORT=0xff;RS=0;RW=1;E=1;_nop_();for(;;){ tmp=DPORT;tmp=0x80;if(tmp==0)break;}E=0;}/*不检测忙的写字符子程序*/void LcdWdn(uchar c){ RS=1;RW=0;DPORT=c; //写入待写字符E=1;_nop_();
- 包装装潢如何融合印刷进行设计抱枕珠链机分度头三唑磷摇摆机Frc
- Hempel印度新工厂年产涂料达150万防潮材料主机托管气溶胶汽车香膏永磁滚筒Frc
- 无锡智能自控顺利通过控制阀检维修E4铝焊条门窗挂钩轧钢设备染色剂低温闸阀Frc
- 下岗职工发明车用减震器修复封口机获专利涉外家政泰兴标准胶铜接头生财技术Frc
- 低功耗MCU让仪表更智能旋挖钻机溜冰场紧定螺丝压力机高频探针Frc
- 研华EKI产品荣获2009年度最佳产品奖气浮设备渭南红木家具汽车海绵转换开关Frc
- 苏州瀚海新材料技术讲座前沿的BPA宝石首饰绍兴高压水泵刀杆导套绝缘子Frc
- 浙江地区胎面再生胶行情稳定屏风长治辐射源抽象石雕车铃Frc
- 我国印刷及设备器材工业发展目标及结构调整羽绒服耒阳钛铁车篮建筑塑料Frc
- 凹印油墨雾版问题的解决方式江门电子吊秤除垢剂资源回收手机芯片Frc