找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

單片機(jī)矩陣鍵盤(pán)控制12864 液晶屏能顯示,但是鍵盤(pán)無(wú)效 求幫助

[復(fù)制鏈接]
ID:492954 發(fā)表于 2019-3-18 09:18 來(lái)自觸屏版 | 顯示全部樓層 |閱讀模式
求助大佬,用矩陣鍵盤(pán)控制12864液晶屏的程序,液晶屏能顯示,但是鍵盤(pán)無(wú)效
回復(fù)

使用道具 舉報(bào)

ID:134317 發(fā)表于 2019-3-18 12:14 | 顯示全部樓層
不放程序出來(lái),誰(shuí)也幫不了你
回復(fù)

使用道具 舉報(bào)

ID:277550 發(fā)表于 2019-3-18 13:40 | 顯示全部樓層
功能也不說(shuō),電路、程序也沒(méi)有,,看天書(shū)
回復(fù)

使用道具 舉報(bào)

ID:492967 發(fā)表于 2019-3-18 14:55 | 顯示全部樓層
把程序跟對(duì)應(yīng)仿真圖發(fā)一下  要不怎么解決問(wèn)題
回復(fù)

使用道具 舉報(bào)

ID:339010 發(fā)表于 2019-3-18 15:20 | 顯示全部樓層
液晶能顯示說(shuō)明數(shù)碼管顯示部分的代碼是正確的,鍵盤(pán)無(wú)響應(yīng)說(shuō)明問(wèn)題在鍵盤(pán)邏輯控制上出錯(cuò),你需要仔細(xì)排查。我有相關(guān)代碼,可供參考。#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int

uchar code table[]={
0xfe,0xfc,0xf8,0xf0,
0xe0,0xc0,0x80,0x00};
void delay(uint z){
        uchar x,y;
        for(x=z;x>0;x--)
         for(y=199;y>0;y--);
}

uchar keyscan(void)  
{
        uchar cord_h,cord_l;
        P1=0x0f;            
        cord_h=P1&0x0f;     
        if(cord_h!=0x0f)   
        {
                delay(100);        
                if(cord_h!=0x0f)
                {
                        cord_h=P1&0x0f;  
                        P1=cord_h|0xf0;  
                        cord_l=P1&0xf0;  
                        return(cord_h+cord_l);
                }
        }
        return(0xff);     
}

void key_word(uint key)
{
        switch(key)
        {
           case 0xee:P0=table[0],P2=0xff;break;
           case 0xde:P0=table[1],P2=0xff;break;
           case 0xbe:P0=table[2],P2=0xff;break;
           case 0x7e:P0=table[3],P2=0xff;break;
           case 0xed:P0=table[4],P2=0xff;break;
           case 0xdd:P0=table[5],P2=0xff;break;
           case 0xbd:P0=table[6],P2=0xff;break;
           case 0x7d:P0=table[7],P2=0xff;break;
           case 0xeb:P0=table[7],P2=table[0];break;
           case 0xdb:P0=table[7],P2=table[1];break;
           case 0xbb:P0=table[7],P2=table[2];break;
           case 0x7b:P0=table[7],P2=table[3];break;
           case 0xe7:P0=table[7],P2=table[4];break;
           case 0xd7:P0=table[7],P2=table[5];break;
           case 0xb7:P0=table[7],P2=table[6];break;
           case 0x77:P0=table[7],P2=table[7];break;
        }
}
void main(){
        uchar i=0;
        P1=0xf0;
        while(1){
         key_word(keyscan());
        }
}
回復(fù)

使用道具 舉報(bào)

ID:275449 發(fā)表于 2019-3-18 18:01 | 顯示全部樓層
我這有模塊化的例程需要嗎?  stm32的   你這個(gè)原因得先查是不是你的矩陣按鍵 不觸發(fā)  做小測(cè)試程序  很快就能排出了
回復(fù)

使用道具 舉報(bào)

ID:643286 發(fā)表于 2020-1-5 09:30 來(lái)自觸屏版 | 顯示全部樓層
樓主,問(wèn)題解決了嗎
回復(fù)

使用道具 舉報(bào)

ID:643286 發(fā)表于 2020-1-5 09:32 來(lái)自觸屏版 | 顯示全部樓層
12345678110 發(fā)表于 2019-3-18 18:01
我這有模塊化的例程需要嗎?  stm32的   你這個(gè)原因得先查是不是你的矩陣按鍵 不觸發(fā)  做小測(cè)試程序  很快 ...

老哥,我也遇到了這個(gè)問(wèn)題,加上顯示屏后,按鍵工作一次便不能用了,矩陣按鍵程序在別的板上能用,這是把板子給燒了嗎?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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