亚洲春色中文字幕久久久-三上亚,91精品国产亚一区二区三区,久久久九色综合亚洲成色777,涩涩视频下载,国产午夜亚洲精品午夜鲁丝片,国产精品A一区二区三区腾讯导航,影音先锋色情AV在线看片,蜜臀国产在线视频,极品少妇高潮啪啪无码吴梦梦 ,精品人妻无码一区二区三区手机版

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2397|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

51單片機拓展lcd1602顯示不全

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:791130 發(fā)表于 2020-6-28 10:22 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式


原理圖如上。用51拓展一塊8255后將lcd連接在8255上。將數(shù)據(jù)傳到8255的PA口讓lcd顯示,但是數(shù)據(jù)少了兩位,設(shè)置值應(yīng)該是3000轉(zhuǎn)每分鐘,下面也少了一位。求大神解惑。

單片機源程序
#include <REGX51.H>

#include <ABSACC.h>
#define SET8255 XBYTE[0x8ff3]
#define PA XBYTE[0x8ff0]
#define PB XBYTE[0x8ff1]
uchar aa[]={'S','e','t','u','p',':',' ',' ',' ',' ',' ','r','/','m','i','n'};  //目標轉(zhuǎn)速。        r/min
uchar cc[]={' ',' ',' ',' ',' ',' ',' ',' ','r','/','m','i','n',' ',' ',' '};       //實測轉(zhuǎn)速:       r/min


void write_com(unsigned char com) //寫命令
{
    SET8255=0x80;//設(shè)置8255
    PB=0xf8;//rs=0 rw=0
    PA=com;
    DelayMs(10);//en=1
    PB=0xf9;
    DelayMs(10);//en=0
    PB=0xf8;
}

void write_data(unsigned char date)     //寫一個字符
{
    SET8255=0x80;
    PB=0xfc;
    PA=date;
    DelayMs(10);
    PB=0xfd;
    DelayMs(10);
    PB=0xfc;
}

void init()            //初始化
{
    write_com(0x38);
    write_com(0x0c);
    write_com(0x06);
    write_com(0x01);
}

/*------------------------------------------------
              寫入字符串函數(shù)
------------------------------------------------*/
void LCD_Write_String(unsigned char x,unsigned char y,unsigned char *s)
{     
     if (y == 0)
     {     
         write_com(0x80 + x);     
     }
     else
     {     
         write_com(0xC0 + x);     
     }        
     while (*s)
     {     
         write_data( *s);     
         s ++;     
     }
}


void SetSpeed()
{
    if(AddSpeed==0)
    {
        delay(200);
        if(AddSpeed==0)
        {
            SpeedSet+=10;
            if(SpeedSet>3500)
            {
                SpeedSet=3500;
            }
        }
    }
    if(SubSpeed==0)
    {
        delay(200);
        if(SubSpeed==0)
        {
            SpeedSet-=10;
            if(SpeedSet<0) SpeedSet=0;
        }
    }   
    aa[7]=SpeedSet/1000+'0';
    aa[8]=SpeedSet/100%10+'0';
    aa[9]=SpeedSet/10%10+'0';
    aa[10]=SpeedSet%10+'0';
    LCD_Write_String(0,0,aa);
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:791130 發(fā)表于 2020-6-28 16:51 | 只看該作者
好像是只要有兩個連續(xù)的數(shù)字就不行比如1112 1002 中間就會空一位,成了1  2以及10 2
回復(fù)

使用道具 舉報

板凳
ID:791130 發(fā)表于 2020-6-28 16:52 | 只看該作者
是不是lcd相同的信號只傳一次??
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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