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

📄 modify.c

📁 液晶屏的单片机demo程序
💻 C
字号:

#include <absacc.h>                  //长沙太阳人电子有限公司北京办事处  胡莲技术负责人
#include <reg52.h>                   //向左滚动显示

#define DISPLAY_ON 0x3f
#define STARTLINE 0xc0
#define lcda XBYTE[0x8400]
#define lcdb XBYTE[0x8200]
#define lcdc XBYTE[0x8500]
#define lcdd XBYTE[0x8300]

sbit LCD_RS=P2^0;
sbit LCD_CS1=P2^2;
sbit LCD_CS2=P2^1;
sbit LCD_RW=P2^3;
sbit LCD_CE=P2^7;
sbit CPU_WR=P3^6;
sbit CPU_RD=P3^7;

unsigned char code kaiping[6][280]={
0x00,0x00,0x80,0xC0,0xF0,0x38,0x18,0x1C,0x0E,0x06,0x07,0x03,0x03,0x03,0x03,0x03,
0x03,0x03,0x03,0x03,0x02,0x06,0x0E,0x1C,0x18,0x38,0xF0,0xC0,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x80,0x80,0x80,0x80,0xFF,0xA0,0xA0,0x90,0x90,0x88,0x84,0x82,0x80,0x80,0x80,0x00,
0x00,0x10,0x21,0x86,0x60,0x80,0x60,0x18,0x00,0xFF,0x00,0x08,0x10,0x20,0x40,0x00,
0x00,0x10,0x10,0x10,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,
0x00,0xFE,0x02,0x22,0x5A,0x86,0x00,0xFE,0x42,0x42,0x42,0x42,0x42,0xFE,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x3F,0xC2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,



0xF8,0xFE,0x07,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x06,0x0C,0x38,
0x38,0x0C,0x06,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x07,0x3E,0x38,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xFF,0x40,0x21,0x12,0x04,0x08,0x10,0x30,0x60,0x20,0x00,0x00,
0x04,0x04,0xFE,0x01,0x80,0x80,0x40,0x40,0x20,0x23,0x10,0x08,0x04,0x03,0x00,0x00,
0x00,0x80,0x40,0x20,0x10,0x0C,0x03,0x08,0x71,0x22,0x04,0x18,0x30,0xE0,0x40,0x00,
0x00,0xFF,0x04,0x08,0x04,0x03,0x00,0x3F,0x10,0x10,0x10,0x10,0x10,0x3F,0x00,0x00,
0x00,0x40,0x20,0x10,0x0C,0x03,0x00,0x00,0x01,0x06,0x0C,0x18,0x30,0x60,0x20,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,


0x39,0xF9,0xC1,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x3F,0x3F,0x00,0x00,0x00,
0x00,0x00,0x00,0x3F,0x3F,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0xC1,0xFF,0x3F,0x00,
0x00,0x00,0xF8,0x48,0x48,0x48,0x48,0xFF,0x48,0x48,0x48,0x48,0xF8,0x00,0x00,0x00,
0x00,0x00,0x02,0x02,0x02,0x02,0x02,0xE2,0x12,0x0A,0x06,0x02,0x00,0x80,0x00,0x00,
0x00,0x04,0x84,0x44,0xE4,0x34,0x2C,0x27,0x24,0x24,0x24,0xE4,0x04,0x04,0x04,0x00,
0xFE,0x02,0x32,0x4E,0x82,0x00,0xFE,0x4A,0xCA,0x4A,0x4A,0x4A,0x7E,0x00,0x00,0x00,
0x00,0x00,0x80,0x40,0x30,0x0E,0x84,0x00,0x00,0x0E,0x10,0x60,0xC0,0x80,0x80,0x00,
0x00,0x10,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x12,0x02,0x02,0xFE,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,
0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0x80,
0x80,0x80,0xC0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,
0xC0,0xC0,0x80,0x80,0x80,0x80,0xC0,0xC0,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,




0x00,0x00,0x03,0x07,0x1E,0x38,0x30,0x70,0xE0,0xC0,0xC0,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0xC0,0xE0,0x70,0x30,0x38,0x1E,0x07,0x03,0x00,0x00,0x00,
0x00,0x00,0x0F,0x04,0x04,0x04,0x04,0x3F,0x44,0x44,0x44,0x44,0x4F,0x40,0x70,0x00,
0x01,0x01,0x01,0x01,0x01,0x41,0x81,0x7F,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,
0x02,0x01,0x00,0x00,0xFF,0x09,0x09,0x09,0x29,0x49,0xC9,0x7F,0x00,0x00,0x00,0x00,
0xFF,0x00,0x02,0x04,0x03,0x00,0xFF,0x40,0x20,0x03,0x0C,0x12,0x21,0x60,0x20,0x00,
0x00,0x01,0x20,0x70,0x28,0x24,0x23,0x31,0x10,0x10,0x14,0x78,0x30,0x01,0x00,0x00,
0x00,0x00,0x1F,0x04,0x04,0x04,0x04,0x04,0x04,0x0F,0x00,0x20,0x40,0x3F,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x06,0x06,0xF6,0xE6,0x26,0x3F,0x3F,0x22,0xF2,0xE2,0x02,0x02,0xFF,0xFF,0x4C,
0x44,0x44,0x6C,0xFF,0x83,0x00,0x00,0x00,0x00,0x00,0x21,0x21,0x26,0xE4,0xE4,0x24,
0x01,0xA5,0xB4,0xBC,0xAC,0xA6,0xFD,0xF5,0xA4,0xA4,0xA4,0x80,0x80,0x00,0x00,0x00,
0x08,0x08,0x88,0xFF,0x48,0x28,0x00,0xC8,0x48,0x48,0x7F,0x48,0xC8,0x48,0x08,0x00,
0x10,0x10,0x10,0x10,0x10,0x90,0x50,0xFF,0x50,0x90,0x12,0x14,0x10,0x10,0x10,0x00,
0x00,0x20,0x10,0xF8,0x14,0x13,0x12,0x92,0x12,0x1A,0x16,0xF0,0x00,0x00,0x00,0x00,
0x20,0x22,0x2A,0xAA,0xAA,0xAA,0xAA,0xBF,0xAA,0xAA,0xAA,0xAA,0x2A,0x22,0x20,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x3F,0xC2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,



0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x20,0x20,0x20,0x20,0xFF,0x00,0x00,0x00,0xFF,0x40,0x20,0x30,0x18,0x10,0x00,
0x00,0x04,0x04,0xE4,0x24,0x24,0x25,0x26,0x24,0x24,0x24,0xE4,0x06,0x04,0x00,0x00,
0x00,0x08,0xC8,0x08,0x08,0x88,0x7F,0x08,0x08,0x08,0xFC,0x48,0x80,0x00,0x00,0x00,
0x02,0x02,0x82,0xBA,0xAA,0xAA,0xAA,0xFF,0xAA,0xAA,0xAA,0xAA,0xBA,0x02,0x02,0x00,
0x00,0xC0,0x78,0x97,0x12,0x10,0xF0,0x00,0x00,0x00,0xFF,0x20,0x40,0x80,0x80,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x03,0x07,0x02,0x02,0x02,0x0A,0x0F,0x1F,0x0C,0x0F,0x07,0x01,0x00,
0x00,0x00,0x00,0x1F,0x1F,0x00,0x00,0x00,0x00,0x06,0x02,0x02,0x02,0x02,0x03,0x02,
0x03,0x02,0x06,0x06,0x04,0x04,0x0F,0x0F,0x0C,0x1C,0x1C,0x1C,0x0C,0x0C,0x04,0x00,
0x01,0x41,0x80,0x7F,0x00,0x40,0x40,0x20,0x13,0x0C,0x0C,0x12,0x21,0x60,0x20,0x00,
0x10,0x10,0x08,0x04,0x02,0x01,0x00,0x7F,0x00,0x00,0x01,0x06,0x0C,0x18,0x08,0x00,
0x00,0x80,0x80,0x4F,0x40,0x20,0x18,0x07,0x08,0x10,0x20,0xEF,0x40,0x00,0x00,0x00,
0x00,0x80,0x80,0x5F,0x40,0x20,0x10,0x0F,0x10,0x10,0x20,0xEF,0x40,0x00,0x00,0x00,
0x00,0x40,0x20,0x10,0x0C,0x03,0x00,0x00,0x01,0x06,0x0C,0x18,0x30,0x60,0x20,0x00,



0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x10,0x30,0x18,0x08,0x04,0x7F,0x00,0x00,0x00,0x3F,0x40,0x40,0x40,0x40,0x78,0x00,
0x00,0x20,0x10,0x19,0x0D,0x41,0x81,0x7F,0x01,0x01,0x05,0x0D,0x38,0x10,0x00,0x00,
0x04,0x42,0x21,0x10,0x0C,0x03,0x00,0x00,0x20,0x40,0x3F,0x00,0x00,0x07,0x02,0x00,
0x02,0x02,0x0A,0x0A,0x2A,0x4A,0x8A,0x7F,0x0A,0x0A,0x0A,0x0A,0x1F,0x02,0x02,0x00,
0x41,0x20,0x10,0x0B,0x04,0x0B,0x10,0x10,0x20,0x20,0x5F,0x40,0x40,0x41,0x40,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};



void delay(int num)         //延时,执行一次延时用时约10us
{
	while(num--);
}
/*
void lcd_write(unsigned char x,unsigned char y,unsigned char dd)      //在(x,y)处显示
{
	bit i;
        unsigned char j;
        j=1;
	if(y<64)
		i=1;
	else
	{
		i=0;
		y=y-64;
	}
        x=x/8;
        if(i==1)
	    lcda=0xb8+x;
        else
            lcdb=0xb8+x;
        while(j--);   //下降沿锁存数据
        j++;
        if(i==1)
	    lcda=0x40+y;
        else
            lcdb=0x40+y;
        while(j--);
        j++;
	LCD_RS=1;
        if(i==1)
	    lcdc=dd;
        else
            lcdd=dd;
        while(j--);
}
     */
void lcd_clear(void)
{
	unsigned char x,y;
	for(x=0;x<8;x++)
	{
                lcda=0xb8+x;
                lcda=0x40;
                lcdb=0xb8+x;
                lcdb=0x40;
		for (y=0;y<64;y++)
		{
                     lcdc=0;
                     lcdd=0;
 		}
	}
}



 /*void lcd_write_array(unsigned char array[8][128])      //在(x,y)处显示数据dd
{
   unsigned char x,y;
    for(x=0;x<8;x++)             //x轴页的选择
    {
           lcda=0xB8+x;
           lcdb=0xB8+x;
           lcda=0x40;
           lcdb=0x40;
           for(y=0;y<64;y++)
           {
                 lcdc=array[x][y];
                 lcdd=array[x][y+64];
           }
    }
} */

void lcd_init(void)             //LCD初始化程
{
	unsigned char x,y,i;
        CPU_RD=1;
        x=1;
        for(i=0;i<2;i++)
        {
               if(x==1)
               lcda=DISPLAY_ON;         //display on
               else
               lcdb=DISPLAY_ON;
               delay(1);
               if(x==1)
               lcda=STARTLINE;
               else
               lcdb=STARTLINE;
               delay(1);
               x=!x;
         }
        lcd_clear();
/*	for (y=0;y<128;y++)
	{
		x=0;
                while(x<64)
		{
		    lcd_write(x,y,0x55);
                    delay(100);
                    x=x+8;
 		}
	}
        delay(15000);
         lcd_clear();
        for (y=127;y>0;y--)
	{
		x=0;
                while(x<64)
		{
		    lcd_write(x,y,0xaa);
                    delay(100);
                    x=x+8;
 		}
	}
        delay(30000);
        lcd_write_array(kaiping);
        delay(30000);   */
}

/*
void lcd_write_1(unsigned char k)   //i为x轴上页的选择,取值[0,7];k为向左移位的次数,取值[0,127]
{
   unsigned char i,j,n;

   for(i=0;i<8;i++)
   {
        lcda=0xb8+i;
        lcda=0x40;
        for(j=0,n=k;j<64;j++,n++)
        {
                if(n<128)
		     lcdc=kaiping[i][n];
                else
		     lcdc=kaiping[i][n-128];

        }
   }
}
void lcd_write_2(unsigned char k)
{
    unsigned char i,j;

    for(i=0;i<8;i++)
    {
        lcdb=0xb8+i;
        lcdb=0x40;
        if(k<64)           //移位数小于64时,第一片显示64个数,第二片从64+k开始显示
	{
	       for(j=64+k;j<128;j++)
               {
                    lcdd=kaiping[i][j];
               }
               for(j=0;j<k;j++)
               {
	            lcdd=kaiping[i][j];
               }

        }
        else                         //移位数大于64时,从第k-64位起显示
        {
               for(j=k-64;j<k;j++)
	       {
	            lcdd=kaiping[i][j];
	       }
        }
    }
}
 */

void display()
{
    unsigned char i,j,k,l,m;
    for(k=0;;k++)
    {
        for(i=0;i<6;i++)
        {
            lcda=0xb8+i;
            lcda=0x40;
            for(j=0;j<64;j++)
            {
 
                lcdc=kaiping[i][(j+k)%280];
            }
            lcdb=0xb8+i;
            lcdb=0x40;
            for(l=0;l<64;l++)
            {
                lcdd=kaiping[i][(l+k+64)%280];
            }
        }
    }
}
/*
void Dydisplay()     //动态显示

{
	unsigned char i,j,k;
        k=0;
        lcd_clear();
	while(1)
	{
		if(k>=128)
		    k=k-128;                 //移位数大于等于128时,重新计数
		lcd_write_1(k);
                lcd_write_2(k);
		k++;
	}
}
*/
void main()
{
         lcd_init();
         display();
}

⌨️ 快捷键说明

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