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

📄 cm1601281.c

📁 keil c51编写的LCD 12864像素LCD显示屏程序,,通过调用函数,显示grom字库中的7千多个简体中文和字符
💻 C
📖 第 1 页 / 共 5 页
字号:
//-------------main function-------------------
void main()
{
    int i = 0;
    char j = 0;
    char *hello = "hello";
    unsigned char h = 0;
    //unsigned char *chPointer = &ch16[0];

    f_display_mode(codDispOff);//关闭显示
    f_ctrl_word_set(codTxtHAddSet,10,0);//文本显示区首地址设置
    f_ctrl_word_set(codTxtAreaSet,0x04,0);//文本显示区宽度设置
    //f_ctrl_word_set(codGraHAddSet,0,0x00);//图形显示区首地址设置
    //f_ctrl_word_set(codGraAreaSet,0x14,0);//图形显示区宽度设置
    f_mode_set(codORMode);//逻辑或用CGROM
    f_display_mode(codTxtOffGraOn);//关闭文本显示,打开图形显示
    f_cursor(cod8LineCursor);

    h = 0;
    while(1)
    {
         f_clean2();
         f_clean();
         f_reg_set(codAddPSet,0x00,0);
         ///f_ctrl_word_set(codGraHAddSet,0x00,0x00);//图形显示区首地址设置
         f_ctrl_word_set(codGraAreaSet,0x00,0);//图形显示区宽度设置
         f_display_mode(codTxtOnGraOff);//关闭文本显示,打开图形显示

         i = 26;
         h = 0;
         while(i--)
         {
             f_reg_set(codAddPSet,h,0);
             //f_data_write(codDataWnADPNo, 0xff);
             f_data_write(codDataWnADPNo,65+(h++));
         }
         //f_draw_bmp(rectangle);
         //delay_ms(50);
         //while(1);
         //f_data_auto_rnw(codAutoWrite);
         //delay_ms(50);
         //f_clean();
         //f_draw_bmp(&rectangle[0]);
         //delay_ms(50);
         //f_draw_bmp(&welcome[0]);
         //delay_ms(50);
         //f_draw_bmp(&heating[0]);
         //delay_ms(50);
         //f_draw_bmp(&sampling[0]);
         //delay_ms(50);
         //f_clean();
         //f_draw_bmp8064(&rectangle2[0]);
         //f_draw_bmp(&welcome[0]);
         delay_ms(50);
         while(1);
    }
}

//--------------------function---------------------------
void write_command(unsigned char ucCmd)
{
        lcd_busy();
	XBYTE[C_ADD] = ucCmd;
}

void write_data(unsigned char ucData)
{
        lcd_busy();
	XBYTE[D_ADD] = ucData;
}

unsigned char read_command(void)
{
        unsigned char ucCmd = 0;
        lcd_busy();
	ucCmd = XBYTE[C_ADD];
        return ucCmd;
}

unsigned char read_data(void)
{
        unsigned char ucData = 0;
        lcd_busy();
	ucData = XBYTE[D_ADD];
}

void lcd_busy()
{
         P1_0 = 0;
        do
        {
                lcd_busy1();
        }while(ACC0 != 1 | ACC1 != 1);
}

void lcd_busy1()
{
        ACC = XBYTE[C_ADD];
}

void delay_ms(int ms)
{
        int i = 0;
        int j = 0;

        for(i = ms; i > 0; i--)
        {
                j = 1000;
                while(j--)
                {
                }
        }
}

//function: Register Set
void f_reg_set(unsigned char codeType, unsigned char data1, unsigned char data2)
{
 write_data(data1);
 write_data(data2);
 write_command(codeType);
}
//function: Control World Set
void f_ctrl_word_set(unsigned char codeType, unsigned char data1, unsigned char data2)
{
 if(codeType == codTxtAreaSet || codeType == codGraAreaSet)
 {
       data2 = 0x00;
 }
 write_data(data1);
 write_data(data2);
 write_command(codeType);
}
//function: Mode Set
void f_mode_set(unsigned char codeType)
{
 write_command(codeType);
}
//function: Display Mode
void f_display_mode(unsigned char codeType)
{
 write_command(codeType);
}
//function: Cursor Pattern Select
void f_cursor(unsigned char codeType)
{
 write_command(codeType);
}
//function: Data Auto Read/Write
void f_data_auto_rnw(unsigned char codeType)
{
 write_command(codeType);
}
//function: Data Read Write
unsigned char f_data_read(unsigned char codeType)
{
 write_command(codeType);
 return read_data();
}
void f_data_write(unsigned char codeType, unsigned char data1)
{
 write_data(data1);
 write_command(codeType);
}
//function: Screen Peek
void f_screen_peek(void)
{
 write_command(codScreenPeek);
}
//function: Screen Copy
void f_screen_copy(void)
{
 write_command(codScreenCopy);
}
//function: Bit Set/Reset
void f_bit_set(unsigned char codeType)
{
 write_command(codeType);
}
//function: Clean the Screen
void f_clean(void)
{
        int i = 0;

        f_reg_set(codAddPSet,0,0);
        f_data_auto_rnw(codAutoWrite);
        i = 0x0100*0x21;
        while(i--)
        {
                write_data(0x00);
        }
        f_data_auto_rnw(codAutoReset);
        f_reg_set(codAddPSet,0,0);
}
//function: Clean the Screen
void f_clean2(void)
{
        int i = 0;

        f_reg_set(codAddPSet,0,0);
        f_data_auto_rnw(codAutoWrite);
        i = 0x0100*0x21;
        while(i--)
        {
                write_data(0xff);
        }
        f_data_auto_rnw(codAutoReset);
        f_reg_set(codAddPSet,0,0);
}
//function: draw a bmp, fullfill the Screen
void f_draw_bmp(unsigned char *bmp)
{

⌨️ 快捷键说明

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