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

📄 lcd12864.c

📁 液晶12864显示程序,用C语言编写的.
💻 C
📖 第 1 页 / 共 2 页
字号:
                            lcd_dd=0xff;
                            lcd_en=1;
                        }
                        
                        lcd_en=0;
                        lcd_di=1;
                        lcd_dd=0xff;
                        lcd_en=1;
                        reddd=lcd_dd;
                        lcd_en=0;
                                        
                        return reddd;
                    }
                    
                //*********************right_read data***************************//
                    unsigned char right_read()
                    {
                        char reddd;
                        
                        lcd_en=0;
                        lcd_csa=1;
                        lcd_csb=0;
                        lcd_di=0;
                        lcd_rw=1;
                        lcd_dd=0xff;
                        lcd_en=1;
                        
                        while(DD7==1)
                        {
                            lcd_en=0;
                            lcd_dd=0xff;
                            lcd_en=1;
                        }
                        
                        lcd_en=0;
                        lcd_di=1;
                        lcd_dd=0xff;
                        lcd_en=1;
                        reddd=lcd_dd;
                        lcd_en=0;
                                    
                        return reddd;
                    }
                
                //************************ display ascii at x,y 
*********************//
                void display_ascii(unsigned char xrow,unsigned char yrow, unsigned 
char *tata)
                {
                    int i;
                    left_command(lcd_xrow|0x00);
                    right_command(lcd_xrow|0x00);
                    
                                        
                    while(*tata!='\0')
                    {
                        if(xrow>15)
                        {
                            xrow=xrow-16;
                            yrow=yrow+2;
                        }
                        else 
                    {
                        if(xrow<8)
                        {
                            left_command(lcd_page|yrow);
                            left_command(lcd_y|xrow*8);
                            for(i=0;i<8;i++)
                            {
                                left_data(reg[(*tata-32)
*16+i]);
                            }
                            
                            left_command(lcd_page|yrow+1);
                            left_command(lcd_y|xrow*8);
                            for(i=8;i<16;i++)
                            {
                                left_data(reg[(*tata-32)
*16+i]);
                            }
                            *(tata++);
                            xrow=xrow+1;
                        }
                        else    
                        {
                            right_command(lcd_page|yrow);
                            right_command(lcd_y|xrow*8);
                            for(i=0;i<8;i++)
                            {
                                right_data(reg[(*tata-
32)*16+i]);
                            }
                            
                                right_command
(lcd_page|yrow+1);
                                right_command
(lcd_y|xrow*8);
                                for(i=8;i<16;i++)
                            {
                                right_data(reg[(*tata-
32)*16+i]);
                            }
                            *(tata++);
                            xrow=xrow+1;
                        }
                    }
                    }    
                }    
                
                //***********display number with 7 data******************//
                void display_fnumber(unsigned char xrow,unsigned char yrow, float 
number)
                {
                    
                    int tem[5];
                    long no;
                    no=number*1000000;
                    if(no<0)
                    {
                        display_ascii(xrow,yrow,"-");
                    }
                    tem[4]=(no/10)%10;
                    tem[3]=(no/100)%10;
                    tem[2]=(no/1000)%10;
                    tem[1]=(no/10000)%10;
                    tem[0]=(no/100000)%10;
                    
                    display_ascii(xrow+1,yrow,&tem[0]);
                    display_ascii(xrow+2,yrow,&tem[1]);
                    display_ascii(xrow+3,yrow,&tem[2]);
                    display_ascii(xrow+4,yrow,&tem[3]);
                    display_ascii(xrow+5,yrow,&tem[4]);
                }
                
                //*****************display picture**********************//
            void display_pic(unsigned int xrow,unsigned char yrow, unsigned char 
xsize,unsigned char ysize,unsigned char *picadd)//[3][24])
            {
                unsigned int i,j,k;
                        
                left_command(lcd_xrow|0x00);
                right_command(lcd_xrow|0x00);
        
                    for(j=yrow;j<yrow+(ysize/8);j++)
                    {
                        if(xrow<8)
                        {
                            left_command(lcd_page|j);    
                                        
    
                            left_command(lcd_y|xrow*8);
                            
                            if((xrow*8+xsize)>64)
                            {
                                k=64-(xrow*8);
                                for(i=0;i<k;i++)
                                {
                                    left_data(*
(picadd+((j-yrow)*xsize+i)));//pp[j-yrow][i]);
                                    delay(1);
                                }
                                
                                right_command
(lcd_page|j);
                                right_command
(lcd_y|0x00);
                                k=xsize;
                                for(i=64-
(xrow*8);i<k;i++)
                                {
                                    right_data(*
(picadd+((j-yrow)*xsize+i)));//pp[j-yrow][i]);
                                    delay(1);
                                }
                            }
                            else
                            {
                                for(i=0;i<xsize;i++)
                                {
                                    left_data(*
(picadd+((j-yrow)*xsize+i)));//pp[j-yrow][i]);
                                    delay(1);
                                }
                            }
                        }
                        else
                        {
                            right_command(lcd_page|j);
                            right_command(lcd_y|xrow*8);
                            
                            for(i=0;i<xsize;i++)
                            {
                                right_data(*(picadd+((j-
yrow)*xsize+i)));//pp[j-yrow][i]);
                                delay(1);
                            }
                        }
                    }
                }                        
    

⌨️ 快捷键说明

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