找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3865|回復: 3
打印 上一主題 下一主題
收起左側(cè)

KEY.H文件下載-鍵盤驅(qū)動

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:70976 發(fā)表于 2014-12-25 20:43 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
key.h 文件內(nèi)容是:大家可以復制代碼 然后另存為下載到硬盤
  1. /*把我一直珍藏的程序全部拿出來,給大家共享,這也讓我想起來,我剛學的時候,搜集資料是那么辛苦,而且找不到完整的資料,我將把我整理的和自己制作的H文件共享出來,只要修改定義端口,便可以隨意的調(diào)用,以后我還會慢慢完善我的C資料,也希望大家給我指出程序的漏洞和缺點,已達到相互學習目地。*/

  2. #ifndef __key_H__
  3. #define __key_H__
  4. /************************返回值是字符****************************/
  5. #define port_k P1//單片機數(shù)據(jù)端口的定義
  6. #define uint unsigned int
  7. #define uchar unsigned char

  8. uchar a;
  9. uchar b;
  10. uchar c;
  11. uchar key_v;
  12. uchar key_val;

  13. void delay_key(uint n)
  14. {
  15. uint i;
  16. for(i=0;i<n;i++);
  17. }

  18. uchar key(void)
  19. {
  20. key_v=0;
  21. port_k=0x0f;
  22. a=port_k;
  23. delay_key(50);
  24. port_k=0xf0;
  25. b=port_k;
  26. delay_key(50);
  27. c=a+b;
  28. if(c!=0xff)
  29. {
  30.   port_k=0x0f;
  31.   a=port_k;
  32.   port_k=0xf0;
  33.   b=port_k;
  34.   key_v=a+b;
  35.   while(c!=0xff)
  36.   {
  37.    port_k=0x0f;
  38.    a=port_k;
  39.    port_k=0xf0;
  40.    b=port_k;
  41.    c=a+b;
  42.   }
  43. }

  44. switch(key_v)
  45. {
  46.   case 0xee:key_val='0';return(key_val);break;//0
  47.   case 0xde:key_val='1';return(key_val);break;//1
  48.   case 0xbe:key_val='2';return(key_val);break;//2
  49.   case 0x7e:key_val='3';return(key_val);break;//3
  50.   case 0xed:key_val='4';return(key_val);break;//4
  51.   case 0xdd:key_val='5';return(key_val);break;//5
  52.   case 0xbd:key_val='6';return(key_val);break;//6
  53.   case 0x7d:key_val='7';return(key_val);break;//7
  54.   case 0xeb:key_val='8';return(key_val);break;//8
  55.   case 0xdb:key_val='9';return(key_val);break;//9
  56.   case 0xbb:key_val='A';return(key_val);break;//a
  57.   case 0x7b:key_val='B';return(key_val);break;//b
  58.   case 0xe7:key_val='C';return(key_val);break;//c
  59.   case 0xd7:key_val='D';return(key_val);break;//d
  60.   case 0xb7:key_val='E';return(key_val);break;//e
  61.   case 0x77:key_val='F';return(key_val);break;//f
  62.   default:key_val=0;return(key_val);
  63. }
  64. }

  65. #endif
復制代碼



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:32627 發(fā)表于 2015-1-2 09:09 | 只看該作者
下載了,謝謝!!
回復

使用道具 舉報

板凳
ID:29438 發(fā)表于 2015-2-5 13:32 | 只看該作者
謝謝!
回復

使用道具 舉報

地板
ID:184107 發(fā)表于 2017-3-28 14:56 | 只看該作者

謝謝!
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表