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

QQ登錄

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

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

求4*3矩陣鍵盤(pán)輸入多位數(shù)碼管顯示,51單片機(jī)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:146408 發(fā)表于 2016-12-6 23:14 來(lái)自手機(jī) | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
如依次鍵入1234,數(shù)碼管既顯示1234
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:1 發(fā)表于 2016-12-7 03:32 | 只看該作者
看下面這個(gè)4*3矩陣鍵盤(pán)的程序:

回復(fù)

使用道具 舉報(bào)

板凳
ID:1 發(fā)表于 2016-12-7 03:36 | 只看該作者
另外還有一個(gè)3*4矩陣鍵盤(pán),稍微修改一下即可:

  1. #include "reg51.h"

  2. #define uint8 unsigned char

  3. #define uint16 unsigned int

  4. uint8 code tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39}; //0~9,AbC

  5. void delay(uint16 x)

  6. {

  7. uint8 i;

  8. for(x;x>0;x--)

  9. for(i=110;i>0;i--);

  10. }

  11. uint8 scanf()

  12. {

  13. uint8 temp,key=0;

  14. P1=0x07; //行掃描

  15. temp=P1&0x07;

  16. delay(5);

  17. if(temp != 0x07)

  18. {

  19. if(temp==1) key=0;

  20. if(temp==2) key=4;

  21. if(temp==4) key=8;

  22. }

  23. P1=0xf8; //列掃描

  24. temp=P1&0xf8;

  25. delay(5);

  26. if(temp != 0xf8)

  27. {

  28. if(temp==0xf0) key=key+1;

  29. if(temp==0xe8) key=key+2;

  30. if(temp==0xd8) key=key+3;

  31. if(temp==0xb8) key=key+4;

  32. }

  33. while(P1!=0xf8); //松手檢測(cè)

  34. return key;

  35. }

  36. void main()

  37. {

  38. uint8 key;

  39. while(1)

  40. {

  41. key=scanf();

  42. P2=tab[key]; //當(dāng)顯示0表示沒(méi)按下按鍵,顯示其他則表示按下相應(yīng)按鍵了

  43. }

  44. }
復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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