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

QQ登錄

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

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

通過(guò)單片機(jī)讀取TM1638的按鍵數(shù)據(jù)

  [復(fù)制鏈接]
ID:124161 發(fā)表于 2016-6-6 21:51 | 顯示全部樓層 |閱讀模式
通過(guò)單片機(jī)讀取TM1638的按鍵數(shù)據(jù),并通過(guò)數(shù)碼管顯示。

0.png


  1. #ifndef _TM1638_H
  2. #define _TM1638_H
  3. #include "reg51.h"


  4. #define segA 0x40
  5. #define segB 0x20
  6. #define segC 0x10
  7. #define segD 0x08
  8. #define segE 0x04
  9. #define segF 0x02
  10. #define segG 0x01
  11. #define segDP 0x80

  12. #define ndp0 (segA+segB+segC+segD+segE+segF)
  13. #define ndp1 (segB+segC)
  14. #define ndp2 (segA+segB+segG+segE+segD)
  15. #define ndp3 (segA+segB+segG+segC+segD)
  16. #define ndp4 (segF+segG+segB+segC)
  17. #define ndp5 (segA+segF+segG+segC+segD)
  18. #define ndp6 (segA+segF+segG+segC+segD+segE)
  19. #define ndp7 (segA+segB+segC)
  20. #define ndp8 (segA+segB+segC+segD+segE+segF+segG)
  21. #define ndp9 (segA+segB+segC+segD+segF+segG)
  22. #define ndpA (segA+segB+segC+segE+segF+segG)
  23. #define ndpB (segC+segD+segE+segF+segG)
  24. #define ndpC (segA+segD+segE+segF)
  25. #define ndpD (segB+segC+segD+segE+segG)
  26. #define ndpE (segA+segD+segE+segF+segG)
  27. #define ndpF (segA+segE+segF+segG)
  28. #define wdp0 (segA+segB+segC+segD+segE+segF+segDP)
  29. #define wdp1 (segB+segC+segDP)
  30. #define wdp2 (segA+segB+segG+segE+segD+segDP)
  31. #define wdp3 (segA+segB+segG+segC+segD+segDP)
  32. #define wdp4 (segF+segG+segB+segC+segDP)
  33. #define wdp5 (segA+segF+segG+segC+segD+segDP)
  34. #define wdp6 (segA+segF+segG+segC+segD+segE+segDP)
  35. #define wdp7 (segA+segB+segC+segDP)
  36. #define wdp8 (segA+segB+segC+segD+segE+segF+segG+segDP)
  37. #define wdp9 (segA+segB+segC+segD+segF+segG+segDP)
  38. #define wdpA (segA+segB+segC+segE+segF+segG+segDP)
  39. #define wdpB (segC+segD+segE+segF+segG+segDP)
  40. #define wdpC (segA+segD+segE+segF+segDP)
  41. #define wdpD (segB+segC+segD+segE+segG+segDP)
  42. #define wdpE (segA+segD+segE+segF+segG+segDP)
  43. #define wdpF (segA+segE+segF+segG+segDP)

  44. //引腳定義
  45. sbit    DIO=P1^0;
  46. sbit    CLK=P1^1;
  47. sbit    STB=P1^2;


  48. void TM1638_Write(unsigned char DATA);          //寫(xiě)數(shù)據(jù)函數(shù)
  49. unsigned char TM1638_Read(void);
  50. unsigned char Read_key(void);
  51. void Write_COM(unsigned char cmd);
  52. void Write_DATA(unsigned char add,unsigned char DATA);
  53. void init_TM1638(void);

  54. #endif


復(fù)制代碼
全部資料(壓縮包)下載:
Keil 89C52 驅(qū)動(dòng) V1.0.zip (36.4 KB, 下載次數(shù): 244) TM1638_V1.1.pdf (1.19 MB, 下載次數(shù): 75) TM1638鍵盤(pán)顯示電路.pdf (38.23 KB, 下載次數(shù): 116)


回復(fù)

使用道具 舉報(bào)

ID:160782 發(fā)表于 2017-1-11 08:02 來(lái)自觸屏版 | 顯示全部樓層
這個(gè),正是我在尋找的謝謝!
回復(fù)

使用道具 舉報(bào)

ID:152920 發(fā)表于 2017-3-2 08:40 | 顯示全部樓層
在尋找的謝謝!
回復(fù)

使用道具 舉報(bào)

ID:152920 發(fā)表于 2017-3-2 08:40 | 顯示全部樓層
這個(gè),正是我在尋找的謝謝!
回復(fù)

使用道具 舉報(bào)

ID:199079 發(fā)表于 2017-5-10 14:00 | 顯示全部樓層
很好的東西,謝謝樓主分享
回復(fù)

使用道具 舉報(bào)

ID:160782 發(fā)表于 2017-10-27 13:04 來(lái)自觸屏版 | 顯示全部樓層
這個(gè)TM1638的頭文件需要另外下載么?謝謝!
回復(fù)

使用道具 舉報(bào)

ID:160782 發(fā)表于 2017-10-29 19:25 來(lái)自觸屏版 | 顯示全部樓層
謝謝樓主,如果前面部分再注釋一下的就更完美了!
回復(fù)

使用道具 舉報(bào)

ID:196311 發(fā)表于 2017-11-4 16:13 | 顯示全部樓層
好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

ID:196311 發(fā)表于 2017-11-4 17:46 | 顯示全部樓層
終于可以下載了,謝謝管理員和樓主
回復(fù)

使用道具 舉報(bào)

ID:244616 發(fā)表于 2017-11-24 16:18 | 顯示全部樓層
您好  懇請(qǐng)大神解釋這兩段代碼含義吧 謝謝了unsigned char code tab[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,0x40,0xef};這個(gè)編碼是什么上面的編碼
        還有這個(gè)writedata0=(tab[data0]&0x01)+((tab[data1]&0x01)<<1)+((tab[data2]&0x01)<<2)+((tab[data3]&0x01)<<3)+((tab[data4]&0x01)<<4)
                +((tab[data5]&0x01)<<5)+((tab[data6]&0x01)<<6)+((tab[data7]&0x01)<<7);是什么意思啊,謝謝您了

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:241128 發(fā)表于 2018-3-24 08:39 | 顯示全部樓層
TM1638按鍵怎么消抖?以前單片機(jī)IO口用軟件延時(shí)消抖效果很好,現(xiàn)在用這個(gè)按鍵消抖無(wú)從下手,用軟件延時(shí)效果不理想,按鍵很不靈...

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:112693 發(fā)表于 2018-3-24 13:09 | 顯示全部樓層
值得學(xué)習(xí)。
回復(fù)

使用道具 舉報(bào)

ID:281632 發(fā)表于 2018-4-20 21:55 | 顯示全部樓層
在尋找的謝謝!
回復(fù)

使用道具 舉報(bào)

ID:36359 發(fā)表于 2018-5-1 15:20 | 顯示全部樓層
正在找這類(lèi)程序
回復(fù)

使用道具 舉報(bào)

ID:433219 發(fā)表于 2018-11-26 10:04 | 顯示全部樓層
你這個(gè)是驅(qū)動(dòng) 共陽(yáng) 還是共陰的??網(wǎng)上都是共陰的,,,共陽(yáng)的很少驅(qū)動(dòng),,
回復(fù)

使用道具 舉報(bào)

ID:433219 發(fā)表于 2018-11-26 10:59 | 顯示全部樓層
好不容易斬夠積分下載程序測(cè)試,是共陽(yáng)的,,,但是按鍵沒(méi)有任何反應(yīng)啊!奇怪?
回復(fù)

使用道具 舉報(bào)

ID:240034 發(fā)表于 2018-11-26 14:30 | 顯示全部樓層
看筆畫(huà)是共陰管
回復(fù)

使用道具 舉報(bào)

ID:412814 發(fā)表于 2019-2-14 11:20 | 顯示全部樓層
謝謝樓主,學(xué)習(xí)了。
回復(fù)

使用道具 舉報(bào)

ID:884711 發(fā)表于 2022-8-6 13:39 | 顯示全部樓層
這是一個(gè)共陽(yáng)的好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

ID:884711 發(fā)表于 2022-8-6 13:41 | 顯示全部樓層
fzhlpp 發(fā)表于 2018-3-24 08:39
TM1638按鍵怎么消抖?以前單片機(jī)IO口用軟件延時(shí)消抖效果很好,現(xiàn)在用這個(gè)按鍵消抖無(wú)從下手,用軟件延時(shí)效果 ...

TM1638按鍵依然用延時(shí)消抖
回復(fù)

使用道具 舉報(bào)

ID:967056 發(fā)表于 2022-12-5 11:47 | 顯示全部樓層
哈哈,某寶上有這個(gè)板子賣(mài),提供原程序
回復(fù)

使用道具 舉報(bào)

ID:996773 發(fā)表于 2022-12-5 13:46 | 顯示全部樓層
fzhlpp 發(fā)表于 2018-3-24 08:39
TM1638按鍵怎么消抖?以前單片機(jī)IO口用軟件延時(shí)消抖效果很好,現(xiàn)在用這個(gè)按鍵消抖無(wú)從下手,用軟件延時(shí)效果 ...

看你程序安排,一般情況下程序設(shè)計(jì)是讀取到1638按鍵數(shù)據(jù)過(guò)來(lái)就去執(zhí)行子程序的,執(zhí)行完了再去循環(huán)等待1638再次讀鍵,執(zhí)行子程序的時(shí)間正好消抖動(dòng),如果太快不夠在另外延時(shí)
回復(fù)

使用道具 舉報(bào)

ID:1055802 發(fā)表于 2022-12-5 16:25 | 顯示全部樓層

謝謝樓主,如果前面部分再注釋一下的就更完美了!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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