text1.c

来自「串口锻码液晶驱动程序,连续送入的是3个八位数据,包括,后面的功能知识」· C语言 代码 · 共 82 行

C
82
字号
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint  unsigned int

sbit LCD_DATA = P2^1;     //液晶数据线

sbit LCD_CLK = P2^0;    //液晶时钟线

uchar  data_tab[16]={0xc0,0xf6,0xa1,0xa4,0x96,0x8c,0x88,0xe6,0x00,0x84,0x82,0x98,0xc9,0xb0,0x89,0x8b};//液晶显示的数据0-9,a-f

// uchar lcd_i;
//_nop_();
void delay(uint n)
{
  while(n--)
  {
   _nop_();//_nop_();_nop_();_nop_();_nop_();
  }
}
//=============================================================
//LCD显示
//IN: dis_temp1,dis_temp2,dis_temp3
//OUT:NONE
//=============================================================
void display(uint dis_temp1,uint dis_temp2,uint dis_temp3)
{  
    uchar lcd_i;
  //  for(lcd_i=0;lcd_i<8;lcd_i++)
   // {   LCD_CLK=0;
  ////      delay(5);
   //     LCD_CLK=1;
//    }   
    for(lcd_i=0;lcd_i<24;lcd_i++)
    {
         LCD_CLK=0;
         LCD_DATA=0;
      
         if((dis_temp1&0x80)==0x80)
              LCD_DATA=1;
              delay(5);
              LCD_CLK=1;
              dis_temp1<<=1;
         if((dis_temp2&0x80)==0x80)
              dis_temp1|=0x01;
         dis_temp2<<=1;
         if((dis_temp3&0x80)==0x80)
              dis_temp2|=0x01;
         dis_temp3<<=1;
     }

     LCD_CLK=0;delay(5);LCD_CLK=1;delay(5);LCD_CLK=0;delay(5);LCD_CLK=1;
}

main( )
{

uchar k;

for(k=0;k<16;k++)

{


display(data_tab[k],data_tab[k+1],data_tab[k]);    


/***********************************************************************

数据说明:第三位0:无设施度标志。1无任何标志,2,3无超量标志,4是   5快是闪屏,
7只有燃烧,8是无显示,9是慢闪,13只有温度标志
************************************************************************/

delay(65000);
delay(65000);delay(65000);delay(65000);
if(k==15)k=0;
}
//while(1);
 //while(1)
 //{display(2,3,4);}
}

⌨️ 快捷键说明

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