您当前的位置:五五电子网电子知识单片机-工控设备51单片机c8051F040液晶显示程序 正文
c8051F040液晶显示程序

c8051F040液晶显示程序

点击数:7507 次   录入时间:03-04 11:49:50   整理:http://www.55dianzi.com   51单片机
      writelcd(virt_port);                    //先写高4位后再写低4位 这是在选择四个数据线的时候
     
      virt_port|=0x08;                          
      writelcd(virt_port);                    //使能E脚为高电平
      virt_port&=~0x08;                    
      writelcd(virt_port);                    //使能E脚为低电平

      t=ins<<4;             
      virt_port|=t&0xf0;                      //取低字节向1602写数据
      writelcd(virt_port);
      virt_port|=0x08;                        //使能E脚为高电平
      writelcd(virt_port);
      virt_port&=~0x08;                        //使能E脚为低电平
      writelcd(virt_port);
      virt_port=0;
      writelcd(virt_port);
     }

void writedata(uchar d)                       //写数据到1602
     {
      uchar xdata i,t;
      uint xdata j;
      
      for(j=0;j<500;j++);        
      virt_port|=0x02;                       //光标返回指令
      writelcd(virt_port);
      virt_port|=d&0xf0;                   //取高字节数据给数据寄存器
      writelcd(virt_port);
      virt_port|=0x08;                     //使能E脚为高电平
      writelcd(virt_port);
      virt_port&=0xf7;                     //使能E脚为低电平
      writelcd(virt_port);
      virt_port&=0x07;                       //设置光标右移,文字也右移
      writelcd(virt_port);
           
      t=d&0x0f;
      virt_port|=t<<4;                       //取低字节数据给数据寄存器
      writelcd(virt_port);

      virt_port|=0x08;                     //使能E脚为高电平
      writelcd(virt_port);
      for(i=3;i>0;i--); 
      virt_port&=0xf7;                     //使能E脚为低电平
      writelcd(virt_port);
      virt_port=0;                           //数据清零
      writelcd(virt_port);
    }

 void lcdchar (void)
     {
     
      uchar a,b,c,d;
     h=h<<8;
     temp=h+l;
      temp=temp*250;
        temp=temp/4096;
       a=temp/1000;d=temp%1000;    
    if(a!=0)
    {
     writedata(tab1[a]);                  //除100
     }
     b=d/100;d=d%100;
     
     writedata(tab1[b]);
      writedata(tab1[10]);
      c=d/10; d=d%10;
    
     writedata(tab1[c]);
    
     writedata(tab1[d]);
     writedata(tab1[11]);                                   
  
   
     }


void lcdinit()
{
     uint xdata i;
    
      virt_port=0x00;
      writelcd(virt_port);         //RS脚为零写指令寄存器     RW为低电平
      virt_port|=0x08;              //使能脚E=1
      writelcd(virt_port);
       virt_port&=0xf7;             //使E=0使能脚发生跳变高--低
      writelcd(virt_port);
      for(i=1000;i>0;i--);         //3次延时,重要!

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]  下一页


本文关键字:程序  51单片机单片机-工控设备 - 51单片机