找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1207|回復(fù): 0
收起左側(cè)

lcd12864(st7565)要怎樣顯示溫度,求大佬幫忙

[復(fù)制鏈接]
ID:567996 發(fā)表于 2020-2-6 13:43 | 顯示全部樓層 |閱讀模式
//--定時使用的IO口--//
#define DATA_PORT P0
sbit LCD12864_CS   = P3^2;
sbit LCD12864_RSET = P3^3;
sbit LCD12864_RS   = P2^6;
sbit LCD12864_RW   = P2^7;
sbit LCD12864_RD   = P2^5;
uchar Lcd12864_Write16CnCHAR(uchar x, uchar y, uchar *cn)
{
        uchar j, x1, x2, wordNum;

        //--Y的坐標(biāo)只能從0到7,大于則直接返回--//
        if(y > 7)
        {
                return 0;
        }

        //--X的坐標(biāo)只能從0到128,大于則直接返回--//
        if(x > 128)
        {
                return 0;
        }
        y += 0xB0;           //求取Y坐標(biāo)的值
        //--設(shè)置Y坐標(biāo)--//
        LcdSt7565_WriteCmd(y);
        while ( *cn != '\0')         //在C語言中字符串結(jié)束以‘\0’結(jié)尾
        {       
       
                //--設(shè)置Y坐標(biāo)--//
                LcdSt7565_WriteCmd(y);

                x1 = (x >> 4) & 0x0F;   //由于X坐標(biāo)要兩句命令,分高低4位,所以這里先取出高4位
                x2 = x & 0x0F;          //去低四位
                //--設(shè)置X坐標(biāo)--//
                LcdSt7565_WriteCmd(0x10 + x1);   //高4位
                LcdSt7565_WriteCmd(0x04 + x2);        //低4位

                for (wordNum=0; wordNum<50; wordNum++)
                {
                    //--查詢要寫的字在字庫中的位置--//
                        if ((CN16CHAR[wordNum].Index[0] == *cn)
                             &&(CN16CHAR[wordNum].Index[1] == *(cn+1)))
                        {
                                for (j=0; j<32; j++) //寫一個字
                                {               
                                        if (j == 16)         //由于16X16用到兩個Y坐標(biāo),當(dāng)大于等于16時,切換坐標(biāo)
                                        {
                                                //--設(shè)置Y坐標(biāo)--//
                                                   LcdSt7565_WriteCmd(y + 1);
                       
                                                //--設(shè)置X坐標(biāo)--//
                                                LcdSt7565_WriteCmd(0x10 + x1);   //高4位
                                                LcdSt7565_WriteCmd(0x04 + x2);        //低4位
                                        }
                                        LcdSt7565_WriteData(CN16CHAR[wordNum].Msk[j]);
                                }
                                x += 16;
                        }//if查到字結(jié)束               
                } //for查字結(jié)束       
                cn += 2;
        }        //while結(jié)束
        return 1;
}

#endif

回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表