您当前的位置:五五电子网电子知识单片机-工控设备51单片机c8051F040单片机驱动74HC595程序 正文
c8051F040单片机驱动74HC595程序

c8051F040单片机驱动74HC595程序

点击数:7237 次   录入时间:03-04 12:03:42   整理:http://www.55dianzi.com   51单片机
      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)
     {
     uint xdata i,j,k;
     for(j=0;j<5000;j++);                  //数据读、写操作,画面不动
     for(k=0;k<5000;k++);
  
     for(i=0;i<16;i++)
     {
       writedata(tab1[i]);
       for(j=0;j<1000;j++);
       for(k=0;k<1000;k++);
       for(k=0;k<5000;k++);
       for(k=0;k<1000;k++);
       for(k=0;k<5000;k++);
       for(k=0;k<5000;k++);
       for(k=0;k<5000;k++);
     
      }
                                        
  
      writecode(0xb0);                       // 换行                   
      for(j=0;j<5000;j++);                                        
      for(k=0;k<5000;k++);
 
     for(i=0;i<16;i++)
     {
       writedata(Netdata[i]);
       for(j=0;j<5000;j++)    delay1us();
       for(k=0;k<5000;k++);
       for(k=0;k<5000;k++);
       for(k=0;k<5000;k++);
       for(k=0;k<5000;k++);
       
               
      };
   
     }


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);

上一页  [1] [2] [3]  下一页


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