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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

一個簡單的51單片機 4x4 Keypad 測試小程序

[復制鏈接]
跳轉到指定樓層
樓主
這里介紹一個簡單的51單片機 4x4 Keypad 測試小程序,它同樣可以用在 4x1, 4x2 或者 4x3 Keypad 上。希望對大家有用。

  1. unsigned short kp, cnt, oldstate = 0;
  2. char txt[6];

  3. // Keypad module connections
  4. char keypadPort at P0;
  5. // End Keypad module connections

  6. // Lcd module connections
  7. sbit LCD_RS at P2_0_bit;
  8. sbit LCD_EN at P2_1_bit;

  9. sbit LCD_D4 at P2_2_bit;
  10. sbit LCD_D5 at P2_3_bit;
  11. sbit LCD_D6 at P2_4_bit;
  12. sbit LCD_D7 at P2_5_bit;
  13. // End Lcd module connections

  14. void main() {
  15.   cnt = 0;                                 // Reset counter
  16.   Keypad_Init();                           // Initialize Keypad
  17.   Lcd_Init();                              // Initialize Lcd
  18.   Lcd_Cmd(_LCD_CLEAR);                     // Clear display
  19.   Lcd_Cmd(_LCD_CURSOR_OFF);                // Cursor off

  20.   Lcd_Out(1, 1, "Key  :");                 // Write message text on Lcd
  21.   Lcd_Out(2, 1, "Times:");

  22.   do {
  23.     kp = 0;                                // Reset key code variable

  24.     // Wait for key to be pressed and released
  25.     do
  26.       // kp = Keypad_Key_Press();          // Store key code in kp variable
  27.       kp = Keypad_Key_Click();             // Store key code in kp variable
  28.     while (!kp);
  29.    // Prepare value for output, transform key to it's ASCII value
  30.     switch (kp) {
  31.       //case 10: kp = 42; break;  // '*'   // Uncomment this block for keypad4x3
  32.       //case 11: kp = 48; break;  // '0'   
  33.       //case 12: kp = 35; break;  // '#'
  34.       //default: kp += 48;

  35.       case  1: kp = 49; break; // 1        // Uncomment this block for keypad4x4
  36.       case  2: kp = 50; break; // 2
  37.       case  3: kp = 51; break; // 3
  38.       case  4: kp = 65; break; // A
  39.       case  5: kp = 52; break; // 4
  40.       case  6: kp = 53; break; // 5
  41.       case  7: kp = 54; break; // 6
  42.       case  8: kp = 66; break; // B        
  43.       case  9: kp = 55; break; // 7
  44.       case 10: kp = 56; break; // 8
  45.       case 11: kp = 57; break; // 9
  46.       case 12: kp = 67; break; // C
  47.       case 13: kp = 42; break; // *
  48.       case 14: kp = 48; break; // 0
  49.       case 15: kp = 35; break; // #
  50.       case 16: kp = 68; break; // D

  51.     }

  52.     if (kp != oldstate) {                  // Pressed key differs from previous
  53.       cnt = 1;
  54.       oldstate = kp;
  55.       }
  56.     else {                                 // Pressed key is same as previous
  57.       cnt++;
  58.       }

  59.     Lcd_Chr(1, 10, kp);                    // Print key ASCII value on Lcd

  60.     if (cnt == 255) {                      // If counter varialble overflow
  61.       cnt = 0;
  62.       Lcd_Out(2, 10, "   ");
  63.       }

  64.     WordToStr(cnt, txt);                   // Transform counter value to string
  65.     Lcd_Out(2, 10, txt);                   // Display counter value on Lcd
  66.   } while (1);
  67. }
復制代碼
相關信息:http://www.zg4o1577.cn/bbs/dpj-136722-1.html




評分

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

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 夜夜爽99久久国产综合精品女不卡 | 中文字幕人成乱码在线观看 | 成人水多啪啪片 | 偷拍自拍网 | 99草免费视频 | 午夜影院在线视频 | 欧美一区二区在线免费观看 | 婷婷成人在线 | 国产在线播放av | 成人欧美一区二区三区黑人孕妇 | 亚洲国产精品人人爽夜夜爽 | 日韩av免费看| 国产精品视频网 | 中文字幕在线免费观看 | 午夜合集| 国内精品久久久久久久影视简单 | 欧美日韩亚洲在线 | 婷婷二区 | 国产美女网站 | 日韩1区| av在线播放网 | 狠狠艹 | 日韩欧美中文字幕在线观看 | www在线视频 | 国产亚洲精品综合一区 | 亚洲不卡一| 日韩中文字幕在线观看 | 视频一区二区三区四区五区 | 成人亚洲精品 | 欧美日韩精品一区 | 久久99久久98精品免观看软件 | 欧美aa在线 | 精品视频导航 | 狠狠草视频 | 日本在线小视频 | 国产精品一区二区三区久久 | 欧美一区二区三区在线看 | 免费一区二区三区在线视频 | 视频一区二区中文字幕 | 成人av观看 | 伊人免费在线观看 |