找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機按鍵輸入一串六位數(shù)密碼顯示在lcd上,按下后沒反應(yīng)?求指導(dǎo)

[復(fù)制鏈接]
ID:959883 發(fā)表于 2021-8-14 13:28 | 顯示全部樓層 |閱讀模式
初學(xué)單片機,求大神指導(dǎo)
#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();  
void KeyDown();               

//主函數(shù)
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[ i];               
     }               
                        a[0]=KeyValue;
                        LcdWriteCom(0x80+0x40);
                       LcdWriteData(KeyValue+0x30);                 
                }        
        }               
}

//結(jié)果是按鍵按下,屏幕沒反應(yīng),求大神
回復(fù)

使用道具 舉報

ID:914633 發(fā)表于 2021-8-14 19:09 | 顯示全部樓層
代碼都不發(fā)全 怎么看得出問題
回復(fù)

使用道具 舉報

ID:960569 發(fā)表于 2021-8-15 11:23 | 顯示全部樓層
雖然不知道你的代碼  你可以換一下你的思路  看到的LCD界面并從上面做出的選項不一定就是系統(tǒng)的步驟  有可能只是讓LCD顯示了漢字并沒有給按鍵做出相應(yīng)的操作
回復(fù)

使用道具 舉報

ID:960726 發(fā)表于 2021-8-16 14:47 | 顯示全部樓層
LcdWriteCom(0x80+0x40);                        LcdWriteData(KeyValue+0x30);     
回復(fù)

使用道具 舉報

ID:960726 發(fā)表于 2021-8-16 14:50 | 顯示全部樓層
for(i=0;i<10;i++)
{
LcdWriteCom(0x80+0x40);
LcdWriteData(i+0x30);
}   
你先測試一下這個顯示部分呢?
接著看看,按鍵程序,是否建立了KeyState標志,KeyValue值的結(jié)果是否合理。
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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