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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7888|回復: 3
打印 上一主題 下一主題
收起左側

zlg7289鍵盤和數碼管驅動程序+應用電路+資料下載

[復制鏈接]
跳轉到指定樓層
樓主
zlg7289應用電路圖:

zlg7289資料:


zlg7289矩陣鍵盤的應用:



源程序:
  1. /*該程序實現的功能是在小鍵盤按鍵,在LED上顯示所按的鍵的數值*/
  2. #include <stdio.h>
  3. #include "hardware.h"
  4. #include "zlg7289.h"
  5. #define SDIO_CTRLIO      0X4  //PF2
  6. #define SDIOOUT()  (PDATF&=(~SDIO_CTRLIO));
  7. #define SDIOIN()   (PDATF|=SDIO_CTRLIO);

  8. unsigned char keymap[]={  7,4,1,0,10,0,0,0,8,5,
  9. 2,17,11,0,0,0,9,6,3,16,
  10. 12,13,0,0,14,0,15,0,0,0,
  11. 0,0,0,0,0, 0,0,0,0,0,
  12.                               0,0,0,0,0, 0,0,0,0,0,
  13. 0,0,0,0,0, 0,0,0,0,0,
  14. 0,0,0,0
  15. };        //鍵盤映射表


  16. void sendsiodata(unsigned char data)
  17. {
  18. I_ISPC=0x10;         //中斷掛起清零寄存器 清除未響應中斷請求([4] INT_SIO = 1 為清除)
  19. SIODAT=data;        //給SIO數據寄存器賦值
  20. SIOCON|=(0x1<<3);        //SIO控制寄存器澹([3] = 1 為 SIO開始)
  21. while(!(INTPND&0x10));        //中斷掛起寄存器([4] INT_SIO = 1 為請求)
  22. I_ISPC=0x10;
  23. }

  24. unsigned char readsiodata()
  25. {
  26. SDIOIN();        //端口F控制寄存器的PF2設置成Input
  27. sendsiodata(0);        
  28. SDIOOUT();        //端口F控制寄存器的PF2設置成Output
  29. return SIODAT;        //返回SIO數據寄存器的值
  30. }

  31. char getkey()
  32. {
  33. char key,mykey;
  34. INTMSK|=(0X1<<26);

  35. while(PDATG&0x10);

  36. ZLG7289_ENABLE();
  37. sendsiodata(ZLG7289_CMD_RDKEY);
  38. mykey=readsiodata();        //mykey的值為該鍵在鍵盤影射表中的位子
  39. ZLG7289_DISABLE();
  40. INTMSK&=(~0X1<<26);
  41. key=keymap[mykey];         //查表得出該鍵的值
  42. printf("mykey is %d\nreturn key is %d\n",mykey,key);
  43. return key;
  44. }

  45. static void Delay(int t)         //延時函數
  46. {
  47.         int i;
  48.         for(;t>0;t--)
  49.                 for(i=0;i<400;i++);
  50. }

  51. int led_showdata(unsigned int a)
  52. {
  53. int i=0;
  54. INTMSK|=(0X1<<26);
  55. ZLG7289_ENABLE();
  56. sendsiodata(ZLG7289_CMD_RST);         //發送鍵盤的絕對值到SIODAT
  57. Delay(20);

  58. a%=100000000;         //為了避免a的值超出8 位數,如果超出8 位則將超出部分舍去
  59. //利用ZLG7289 將a 顯示到LED上
  60. for(i=0;i<8 && a !=0 ;i++)
  61. {
  62. sendsiodata(ZLG7289_CMD_DATA1|i);
  63. sendsiodata(a%10);
  64. a/=10;
  65. Delay(10);
  66. }
  67. for(;i<8;i++)
  68. {
  69. sendsiodata(ZLG7289_CMD_DATA0|i);
  70. sendsiodata(0xf);
  71. Delay(10);
  72. }

  73. ZLG7289_DISABLE();
  74. INTMSK&=(~0X1<<26);
  75. return 0;
  76. }

  77. int main()
  78. {
  79. printf("inputEnterExit!\n");
  80. while( (i = getkey()) != 15)        //當小鍵盤按到回車鍵時退出,其他情況則將鍵盤值顯示到LED上
  81. {
  82. led_showdata(i);
  83. Delay(2000);
  84. }
  85. return 0;
  86. }
復制代碼

所有資料下載:
zlg7289鍵盤加數碼管驅動程序及資料.rar (1.42 MB, 下載次數: 112)
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂1 踩
回復

使用道具 舉報

沙發
ID:64765 發表于 2019-12-5 15:51 | 只看該作者
學習了,謝謝分享。
回復

使用道具 舉報

板凳
ID:64765 發表于 2020-2-3 20:43 | 只看該作者
正好需要此資料,雪中送炭,謝了。
回復

使用道具 舉報

地板
ID:686739 發表于 2020-2-5 09:45 來自手機 | 只看該作者
學習一下,謝謝分享
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美一区二区三区在线观看 | 一区二区三区免费 | 国产精品精品久久久 | 久久夜视频 | 久久国产精品首页 | 古装三级在线播放 | 久久99国产精品 | 成人精品福利 | 久久久男人的天堂 | 亚洲97| 久久99精品国产 | 一区二区三区四区国产 | 久久综合久 | m豆传媒在线链接观看 | 成人不卡视频 | 日韩在线精品强乱中文字幕 | 亚洲综合激情 | 午夜精品一区二区三区在线观看 | 天天夜夜人人 | 91av免费观看 | 精品在线一区二区三区 | 91就要激情 | 欧美国产日韩在线观看 | 黄网站免费在线观看 | 中文一区 | jizz在线看片| 欧美精品一区二区三区四区 在线 | 亚洲麻豆| 亚洲成人一级 | 亚洲一区二区三区高清 | 国产综合久久 | 一区二区三区中文字幕 | 久精品久久 | 本道综合精品 | 久久99深爱久久99精品 | 国产精选一区 | 久久成人综合 | 国产精品一区二区av | 欧美电影大全 | 欧美一级二级在线观看 | www在线视频|