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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4909|回復: 2
收起左側

stm32讀取ZLG7290按鍵鍵值實驗源碼

[復制鏈接]
ID:281433 發表于 2018-2-1 14:34 | 顯示全部樓層 |閱讀模式
stm32使用I2C讀取zlg7290芯片鍵值連擊次數實驗,建議周立功芯片晶振選用4M。附件中存有程序添加入正點原子實驗源碼用keill5跑程序。
0.png


單片機源程序如下:
  1. #include "ZLG7290.h"
  2. #include "sys.h"
  3. #include "myiic.h"
  4. #include "delay.h"
  5. #include "led.h"

  6. void delayMS(unsigned char i)
  7. {
  8. unsigned char j,k;
  9. for(k=0;k<i;k++)
  10.    for(j=0;j<60;j++);
  11. }

  12. //初始化
  13. void ZLG7290_Init(void)
  14. {
  15.     IIC_Init();
  16. }

  17. /*********************************************************************************************************
  18. ** 函數名稱        :        ZLG7290_GetKey
  19. ** 功能描述        :        讀取鍵值
  20. ** 調用模塊:         IRcvStr、delayMS
  21. ********************************************************************************************************/
  22. u8        ZLG7290_GetKey(u8        recv)
  23. {
  24.         u8 data;
  25. //        recv=0;
  26.         data=IRcvStr(zlg7290,1,&recv,1);
  27.         delayMS(10);
  28.         return data;
  29. }
  30. //讀取連擊數
  31. u8 read_key(u8 lj)
  32. {

  33.                 u8 dataa;
  34.         dataa=IRcvStr(zlg7290,2,&lj,1);   
  35.                 delayMS(10);
  36.         return dataa;       
  37.                
  38.                        
  39. }
  40. /*********************************************************************************************************
  41. ** 函數名稱        :         ZLG7290_SendData
  42. ** 功能描述        :         發送數據
  43. ** 輸 入        :        SubAdd         :        輸入子地址
  44. **                                  Data        :        輸入數據     
  45. ** 輸 出        :        0         :        Fail
  46. **                         1         :         OK
  47. ** 調用模塊        :         ISendStr、delayMS
  48. ********************************************************************************************************/
  49. //u8        ZLG7290_SendData(u8 SubAdd,u8 Data)
  50. //{
  51. //        if(SubAdd>0x17)
  52. //                return 0;
  53. //        ISendStr(zlg7290,SubAdd,&Data,1);
  54. //        delayMS(10);
  55. //                return 1;
  56. //}

  57. /*********************************************************************************************************
  58. ** 函數名稱        :         ZLG7290_SendBuf
  59. ** 功能描述        :         向顯示緩沖區發送數據
  60. ** 輸 入        :        SubAdd         :        輸入子地址
  61. **                                  *buf        :        輸入數據的首地址
  62. **                                num         :        發送個數
  63. ** 調用模塊        :         ISendStr、delayMS
  64. ********************************************************************************************************/
  65. //void        ZLG7290_SendBuf( u8 SubAdr, u8 *buf, u8 num)
  66. //{
  67. //        ISendStr(zlg7290, SubAdr, buf, num);
  68. //        delayMS(10);
  69. //}

  70. /*********************************************************************************************************
  71. ** 函數名稱        :         ZLG7290_SendCmd
  72. ** 功能描述        :         發送命令(對子地址7、8)
  73. ** 輸 入        :        Data1        :        命令1
  74. **                        Data2        :        命令2
  75. ** 調用模塊        :        ISendStr、delayMS
  76. ********************************************************************************************************/
  77. //void        ZLG7290_SendCmd(u8 Data1,u8 Data2)
  78. //{
  79. //        u8        Data[2];
  80. //        Data[0]=Data1;
  81. //        Data[1]=Data2;
  82. //        ISendStr(zlg7290,0x07,Data,2);
  83. //        delayMS(10);
  84. //}

  85. /*********************************************************************************************************
  86. ** 函數名稱        :        ZLG7290_Disp
  87. ** 功能描述        :        向顯示緩沖區發送數據
  88. ** 輸 入        :        * disp_buf  :        要發送數據的起始地址
  89. **                   num                        :        發送個數
  90. ** 調用模塊        :         ZLG7290_SendCmd
  91. ********************************************************************************************************/
  92. ……………………

  93. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
周立功按鍵讀取實驗.zip (6.51 KB, 下載次數: 73)



評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:736501 發表于 2020-4-23 21:56 | 顯示全部樓層
ZLG7290如何防止按鍵連續讀取,實際中只需要讀一次就行了
回復

使用道具 舉報

ID:281433 發表于 2020-9-15 16:26 | 顯示全部樓層
Jim168 發表于 2020-4-23 21:56
ZLG7290如何防止按鍵連續讀取,實際中只需要讀一次就行了

將讀取連擊數的函數內的返回值寫成固定
u8 read_key(u8 lj)
{              u8 dataa;
        //dataa=IRcvStr(zlg7290,2,&lj,1);   //屏蔽
           dataa=1;   //寫成固定
                delayMS(10);
        return dataa;                              
}
然后讀取的連擊都是1 表示實際中每次只按了一次按鍵
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产草草视频 | 不卡av电影在线播放 | 涩色视频在线观看 | 亚洲成人黄色 | 国产 日韩 欧美 在线 | 国产精品美女 | 国产精品国产精品国产专区不片 | 国产在线h| 国产一区二区三区在线 | 看片wwwwwwwwwww| 欧美日韩亚洲国产 | 国产精品一级 | 欧美做暖暖视频 | 久久国产高清 | 一级毛片视频在线 | 国产一区二区三区在线 | 国产精品久久久久久久午夜片 | 国产精品中文字幕在线 | 久久www免费人成看片高清 | 免费成人高清在线视频 | 日一区二区 | 中文字幕精品一区 | 天天干天天操天天射 | 国产精品久久久久久久久久妞妞 | 日韩精品免费 | 又黑又粗又长的欧美一区 | 一区二区三区亚洲 | 日本一道本视频 | 91国内精精品久久久久久婷婷 | 久久久91精品国产一区二区三区 | 久久大陆 | 欧美色欧美亚洲另类七区 | 夜夜av| 欧美日韩中文在线 | 精品一区二区三区在线播放 | 国产亚洲成av人在线观看导航 | 成av人电影在线 | 久久亚洲春色中文字幕久久久 | 久久激情视频 | 久久中文字幕视频 | 一区二区三区亚洲 |