欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: stm32讀取ZLG7290按鍵鍵值實驗源碼 [打印本頁]

作者: awzlz    時間: 2018-2-1 14:34
標題: stm32讀取ZLG7290按鍵鍵值實驗源碼
stm32使用I2C讀取zlg7290芯片鍵值連擊次數(shù)實驗,建議周立功芯片晶振選用4M。附件中存有程序添加入正點原子實驗源碼用keill5跑程序。



單片機源程序如下:
  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. ** 函數(shù)名稱        :        ZLG7290_GetKey
  19. ** 功能描述        :        讀取鍵值
  20. ** 調(diào)用模塊:         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. //讀取連擊數(shù)
  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. ** 函數(shù)名稱        :         ZLG7290_SendData
  42. ** 功能描述        :         發(fā)送數(shù)據(jù)
  43. ** 輸 入        :        SubAdd         :        輸入子地址
  44. **                                  Data        :        輸入數(shù)據(jù)     
  45. ** 輸 出        :        0         :        Fail
  46. **                         1         :         OK
  47. ** 調(diào)用模塊        :         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. ** 函數(shù)名稱        :         ZLG7290_SendBuf
  59. ** 功能描述        :         向顯示緩沖區(qū)發(fā)送數(shù)據(jù)
  60. ** 輸 入        :        SubAdd         :        輸入子地址
  61. **                                  *buf        :        輸入數(shù)據(jù)的首地址
  62. **                                num         :        發(fā)送個數(shù)
  63. ** 調(diào)用模塊        :         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. ** 函數(shù)名稱        :         ZLG7290_SendCmd
  72. ** 功能描述        :         發(fā)送命令(對子地址7、8)
  73. ** 輸 入        :        Data1        :        命令1
  74. **                        Data2        :        命令2
  75. ** 調(diào)用模塊        :        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. ** 函數(shù)名稱        :        ZLG7290_Disp
  87. ** 功能描述        :        向顯示緩沖區(qū)發(fā)送數(shù)據(jù)
  88. ** 輸 入        :        * disp_buf  :        要發(fā)送數(shù)據(jù)的起始地址
  89. **                   num                        :        發(fā)送個數(shù)
  90. ** 調(diào)用模塊        :         ZLG7290_SendCmd
  91. ********************************************************************************************************/
  92. ……………………

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

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




作者: Jim168    時間: 2020-4-23 21:56
ZLG7290如何防止按鍵連續(xù)讀取,實際中只需要讀一次就行了
作者: awzlz    時間: 2020-9-15 16:26
Jim168 發(fā)表于 2020-4-23 21:56
ZLG7290如何防止按鍵連續(xù)讀取,實際中只需要讀一次就行了

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




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1