⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd.h

📁 JDL16A..........keil c51
💻 H
字号:
#include"main.h"

 unsigned char data lcdcounter;   
sbit dc=P1^0;     /*P1.2  LCD的RS  21*/  
sbit rw=P1^1;     /*P1.1  LCD的R/W 22*/  
sbit cs=P1^2;     /*P1.0  LCD的E   25*/  
sfr lcdbus=0x80;  /*p0 LCD数据 D0=P0.0*/   
 /***************LCD函数*************/
  void soft_nop() {}
  
  void soft_10ms()                  /***********12MHZ提供10MS软件延时************/  
           {  register int i;  
              for(i=0;i<711;i++);  
           }
 
  void soft_20ms()		           /***********12MHZ提供20MS软件延时************/  
           {  soft_10ms();  
              soft_10ms();  
           }
 
  bit lcd_checkbusy()		      /*检查LCD忙*/
            {  register lcdstate;   
                  dc=0;           /*dc=1为数据,=0为命令.*/  
                    rw=1;           /*rw=1为读,=0为写.*/  
                      cs=1;           /*cs=1选通.*/  
                        soft_nop();  
                 lcdstate=lcdbus;  
                    cs=0;  
              return((bit)(lcdstate&0x80));  
            }  
  
  void lcd_wrcmd(unsigned char lcdcmd)	  /*写LCD命令*/ 
            { 
               while(lcd_checkbusy());  
                  lcdbus=lcdcmd;  
                      dc=0;           /*dc=1为数据,=0为命令.*/  
                         rw=0;           /*rw=1为读,=0为写.*/  
                         cs=1;           /*cs=1选通.*/  
                      soft_nop();  
                     cs=0;  
                  lcdbus=0xff;  

            }
  
  void lcd_moveto(char position)	     /*移动光标到指定位0-79*/
           {  register cmd=0x80;  
                 lcdcounter=position;  
                   if (position > 59)  
                      position += 0x18;  
                  else  
                     {   if (position > 39)position -= 0x14;  
                           else  
                            {             
							 if (position > 19)position += 0x2c;   
                            }         
                     }     
                 cmd=cmd|position;  
             lcd_wrcmd(cmd);  
           }
 
  void lcd_wrdata(char lcddata)	 /*在当前显示位置显示数据*/
         { 
             while(lcd_checkbusy());   
                 if(lcdcounter==20)
				          {  
                             lcd_moveto(20);  
                             while(lcd_checkbusy());   
                          }  
                if(lcdcounter==40)
				          {
				             lcd_moveto(40);  
                             while(lcd_checkbusy());   
                          }  
                if(lcdcounter==60)
				          {  
                             lcd_moveto(60);  
                             while(lcd_checkbusy());   
                           }  
                if(lcdcounter==80)
				           {  
                             lcd_moveto(0);  
                                while(lcd_checkbusy());   
                             lcdcounter=0;  
                            }              /*为通用而如此*/  
                                     lcdcounter++;  
                           lcdbus=lcddata;  
                            dc=1;           /*dc=1为数据,=0为命令.*/  
                        rw=0;           /*rw=1为读,=0为写.*/  
                    cs=1;           /*cs=1选通.*/  
             soft_nop();  
           cs=0;  
   lcdbus=0xff;  
        }

   void lcd_string(char *strpoint)    /*在当前显示位置显示LCD字符串*/
              {  register i=0;  
                  while(strpoint[i]!=0)
				      {  
                         lcd_wrdata(strpoint[i]);  
                         i++;  
                        //lcd_string(":"); 
					  }  
              }


void lcd_init()/*初始化*/  
      { 
		      lcd_wrcmd(0x38);    /*设置8位格式,2行,5*7*/  
                 lcd_wrcmd(0x0c);    /*整体显示,关光标,不闪烁*/  
                   lcd_wrcmd(0x06);    /*设定输入方式,增量不移位*/  
                  lcd_wrcmd(0x01);    /*清除显示*/  
               lcdcounter=0;  
		    lcd_string("*****NUMBER*****         ");  
			lcd_moveto(21);lcd_string("PLEASE INPUT :");   
   }  
 
			
			
			
			
			
			
			  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -