久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3570|回復: 15
收起左側

請問單片機+lcd1602怎么輸入一串數字啊

  [復制鏈接]
ID:959883 發表于 2021-8-13 02:42 | 顯示全部樓層 |閱讀模式
比如我按下6,lcd上顯示6,繼續按2,顯示62,可以一直輸入連續的,我現在只會顯示一個數字的。。。。想了好久不知怎么辦,求大神
回復

使用道具 舉報

ID:213173 發表于 2021-8-13 06:43 | 顯示全部樓層
        write_com(0x80);//第一行起始位置
        write_date('6');

        write_com(0x80+1);//第一行次位置
        write_date('2');

        write_com(0x80+2);//以此類推
        write_date('5');

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:190577 發表于 2021-8-13 06:43 | 顯示全部樓層
這個簡單,改變顯示的地址就行了
回復

使用道具 舉報

ID:584195 發表于 2021-8-13 07:09 | 顯示全部樓層
坐標沒有加上,最好附上顯示的程序,大神們才好給你建議。

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:94031 發表于 2021-8-13 07:31 | 顯示全部樓層
把按下的數放在一個數組里,然后顯示一個數組。
回復

使用道具 舉報

ID:959439 發表于 2021-8-13 07:34 | 顯示全部樓層
如果讓lcd1602顯示數字,需要用ascll碼。0x30+(要顯示的數字)=要顯示的數字的ascll碼。如果要顯示的數字有多個位數的話,需要用求模運算和求余運算把各個位數分開,再用lcd1602顯示相應的內容

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:161164 發表于 2021-8-13 07:40 | 顯示全部樓層
上代碼
看看你是怎樣寫的
回復

使用道具 舉報

ID:155507 發表于 2021-8-13 07:44 | 顯示全部樓層
可供參考


單片機+LCD1602矩陣鍵盤的計算器程序
http://www.zg4o1577.cn/bbs/dpj-210086-1.html
回復

使用道具 舉報

ID:743654 發表于 2021-8-13 08:35 | 顯示全部樓層
這個是萬年歷的時鐘設置,可以參考

萬年歷.zip

1.6 KB, 下載次數: 9

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:97554 發表于 2021-8-13 09:48 | 顯示全部樓層
設一個變量n,初始值為0,按鍵檢測到一次n+1,把這個n給寫命令的地址(比如從第一行第一個字符開始就是  w_com (ox80+n );)這樣可以實現按鍵一次寫入一個數字且光標后移一位。

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:71233 發表于 2021-8-13 13:16 | 顯示全部樓層
//顯示字符串:第x行第y列顯示什么內容
void ShowString(unsigned char x,unsigned char y,unsigned char *str)
{
       
        //設置起始位置
        if(x == 1)
        {
                write_LCD_Command(0x80 | y-1);//  |相當于加法
        }
        if(x == 2)
        {
                write_LCD_Command(0xc0 | y-1);
        }
        //輸出字符串
        delayms(2);
        while(*str!='\0')
        {               
                write_LCD_data(*str);               
                str++;
        }

}

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:71233 發表于 2021-8-13 13:17 | 顯示全部樓層
//顯示字符串:第x行第y列顯示什么字符串
void ShowString(unsigned char x,unsigned char y,unsigned char *str)
{
       
        //設置起始位置
        if(x == 1)
        {
                write_LCD_Command(0x80 | y-1);//  |相當于加法
        }
        if(x == 2)
        {
                write_LCD_Command(0xc0 | y-1);
        }
        //輸出字符串
        delayms(2);
        while(*str!='\0')
        {               
                write_LCD_data(*str);               
                str++;
        }

}
ShowString(1,1,"12345678ABC");
回復

使用道具 舉報

ID:959883 發表于 2021-8-14 13:24 | 顯示全部樓層
zyluglugl 發表于 2021-8-13 07:09
坐標沒有加上,最好附上顯示的程序,大神們才好給你建議。

#include<reg51.h>       
#include"lcd.h"

#define GPIO_KEY P1

unsigned char KeyValue;
//óÃà′′æ·Å¶áè¡μ½μļüÖμ
unsigned char KeyState;
//óÃà′′æ·Å°′¼ü×′ì¬
unsigned char dat[]="0123456789ABCDEF";
unsigned char a[6]={0,0,0,0,0,0};
void Delay10ms();   //Ñóê±50us
void KeyDown();                 //¼ì2a°′¼üoˉêy

/*******************************************************************************
* oˉ êy Ãû         : main
* oˉêy1|Äü                   : Ö÷oˉêy
* êä    èë         : ÎT
* êä    3ö         : ÎT
*******************************************************************************/
void main(void)
{
        unsigned char i;
        LcdInit();
        KeyState=0;
        while(1)
        {
                KeyDown();
                if(KeyState)
                {
                        KeyState=0;
                        for(i=0;i<6;i++)
           {
                        a[i+1]=a;               
     }               
                        a[0]=KeyValue;
                        LcdWriteCom(0x80+0x40);
      LcdWriteData(KeyValue+0x30);                 
                }       
        }               
}
回復

使用道具 舉報

ID:959883 發表于 2021-8-14 13:25 | 顯示全部樓層
lkc8210 發表于 2021-8-13 07:40
上代碼
看看你是怎樣寫的

大神,這是我寫的代碼
#include<reg51.h>       
#include"lcd.h"

#define GPIO_KEY P1

unsigned char KeyValue;
//óÃà′′æ·Å¶áè¡μ½μļüÖμ
unsigned char KeyState;
//óÃà′′æ·Å°′¼ü×′ì¬
unsigned char dat[]="0123456789ABCDEF";
unsigned char a[6]={0,0,0,0,0,0};
void Delay10ms();   //Ñóê±50us
void KeyDown();                 //¼ì2a°′¼üoˉêy

/*******************************************************************************
* oˉ êy Ãû         : main
* oˉêy1|Äü                   : Ö÷oˉêy
* êä    èë         : ÎT
* êä    3ö         : ÎT
*******************************************************************************/
void main(void)
{
        unsigned char i;
        LcdInit();
        KeyState=0;
        while(1)
        {
                KeyDown();
                if(KeyState)
                {
                        KeyState=0;
                        for(i=0;i<6;i++)
           {
                        a[i+1]=a;               
     }               
                        a[0]=KeyValue;
                        LcdWriteCom(0x80+0x40);
      LcdWriteData(KeyValue+0x30);                 
                }       
        }               
}
回復

使用道具 舉報

ID:959883 發表于 2021-8-14 13:33 | 顯示全部樓層
楊雪飛 發表于 2021-8-13 09:48
設一個變量n,初始值為0,按鍵檢測到一次n+1,把這個n給寫命令的地址(比如從第一行第一個字符開始就是  w_ ...

謝謝你,解決了
回復

使用道具 舉報

ID:161164 發表于 2021-8-14 14:04 | 顯示全部樓層
殤兩盞 發表于 2021-8-14 13:25
大神,這是我寫的代碼
#include       
#include"lcd.h"

代碼不全啊老弟~
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日干夜干| 国产精品视频网 | 国产日韩一区二区三免费高清 | 国产视频一区二区三区四区五区 | 天天操天天摸天天干 | 久久无毛 | 欧美精品综合在线 | 综合久久久久久久 | 久草久草久草 | 亚洲久久 | 超碰在线免费av | 国产精品视频 | 一区中文字幕 | 亚洲精品欧美 | 精品福利视频一区二区三区 | 国产乱码精品一区二区三区五月婷 | 欧美一级在线 | 欧美大片久久久 | 亚洲第一网站 | 国产免费观看久久黄av片涩av | 国产激情一区二区三区 | 视频在线一区二区 | 日韩精品在线一区 | 日本一二三区电影 | 日韩午夜精品 | 欧美精品在欧美一区二区少妇 | 久久免费视频2 | 羞羞网站在线观看 | 99reav| 羞羞羞视频 | 精品久久中文字幕 | 久久在线视频 | 国产一区二区三区视频 | 精品免费视频 | 日本亚洲一区二区 | 国产成人精品一区二区三区在线 | 亚洲国产成人av好男人在线观看 | 亚洲精品久久久9婷婷中文字幕 | 成人av一区 | 亚洲在线免费观看 | 久久综合久久自在自线精品自 |