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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機按鍵程序調試

[復制鏈接]
回帖獎勵 20 黑幣 回復本帖可獲得 20 黑幣獎勵! 每人限 1 次
跳轉到指定樓層
樓主
ID:1079270 發(fā)表于 2023-6-29 10:02 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
unsigned char code KeyCodeMap[4][4] = { //矩陣按鍵編號到標準鍵盤鍵碼的映射表
    { '1',  '2',  '3', 0x26 }, //數(shù)字鍵1、數(shù)字鍵2、數(shù)字鍵3、向上鍵
    { '4',  '5',  '6', 0x25 }, //數(shù)字鍵4、數(shù)字鍵5、數(shù)字鍵6、向左鍵
    { '7',  '8',  '9', 0x28 }, //數(shù)字鍵7、數(shù)字鍵8、數(shù)字鍵9、向下鍵
    { '0', 0x1B, 0x0D, 0x27 }  //數(shù)字鍵0、ESC鍵、  回車鍵、 向右鍵

};
void KeyAction(unsigned char keycode)
{
    if  ((keycode>='0') && (keycode<='9'))  //輸入字符
    {
        NumKeyAction(keycode - '0');
    }
    else if (keycode == 0x26)  //向上鍵,+
    {
        OprtKeyAction(0);
    }    else if (keycode == 0x0D)  //回車鍵,計算結果
    {
        GetResult();
    }
    else if (keycode == 0x1B)  //Esc鍵,清除
    {
        Reset();
        LcdShowStr(15, 1, "0");
    }
}


問:在LCD上可以直接keycode - '0'得出想要的數(shù)嗎,為什么要用字符,不用0x26 的格式

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

使用道具 舉報

沙發(fā)
ID:404160 發(fā)表于 2023-6-29 10:18 | 只看該作者
‘0’表示ascii碼字符,其二進制數(shù)是0x30.而0x26(上箭頭)沒有方便的ascii碼字符,所以,用二進制數(shù)。當然,前面的‘0’,你可以改用0x30.功能一樣

評分

參與人數(shù) 1黑幣 +10 收起 理由
xnysfh + 10 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

板凳
ID:883242 發(fā)表于 2023-6-29 10:22 | 只看該作者
很多余,讀鍵盤程序轉成ASCII碼,在顯示程序里面又要keycode - '0'得出想要的數(shù),不如這樣:
  1. unsigned char code KeyCodeMap[4][4] = { //矩陣按鍵編號到標準鍵盤鍵碼的映射表
  2.     { 1,  2,  3, 0x26 }, //數(shù)字鍵1、數(shù)字鍵2、數(shù)字鍵3、向上鍵
  3.     { 4,  5,  6, 0x25 }, //數(shù)字鍵4、數(shù)字鍵5、數(shù)字鍵6、向左鍵
  4.     { 7,  8,  9, 0x28 }, //數(shù)字鍵7、數(shù)字鍵8、數(shù)字鍵9、向下鍵
  5.     { 0, 0x1B, 0x0D, 0x27 }  //數(shù)字鍵0、ESC鍵、  回車鍵、 向右鍵
復制代碼

就不用keycode - '0',直接拿keycode就能用。

評分

參與人數(shù) 1黑幣 +10 收起 理由
xnysfh + 10

查看全部評分

回復

使用道具 舉報

地板
ID:89606 發(fā)表于 2023-6-29 10:22 | 只看該作者
0’表示ascii碼字符,直接減去48也可以
回復

使用道具 舉報

5#
ID:1066599 發(fā)表于 2023-6-29 21:36 | 只看該作者
用0x26要轉格式
回復

使用道具 舉報

6#
ID:1086796 發(fā)表于 2023-7-1 21:16 | 只看該作者
在給定的代碼中,keycode - '0'是用于將字符型的按鍵編號轉換為相應的數(shù)字。這是因為在KeyCodeMap中,數(shù)字鍵的按鍵編號是以字符形式表示的,例如'0'、'1'、'2'等。通過將字符型的按鍵編號減去字符'0',可以得到對應的數(shù)字值。  在LCD上直接使用keycode - '0'可以得到想要的數(shù),因為字符型的按鍵編號與相應的數(shù)字字符的ASCII碼是按照順序排列的。例如,字符'0'的ASCII碼是48,字符'1'的ASCII碼是49,以此類推。因此,將字符型的按鍵編號減去字符'0',可以得到對應的數(shù)字值。  使用字符型的按鍵編號而不是直接使用0x26的格式,可能是為了方便理解和維護代碼。使用字符形式的按鍵編號可以更直觀地表示對應的按鍵,而不需要記住每個按鍵編號的十六進制值。此外,通過使用字符型的按鍵編號,可以在代碼中添加注釋,說明每個按鍵對應的功能,提高代碼的可讀性。  總的來說,通過keycode - '0'將字符型的按鍵編號轉換為相應的數(shù)字是有效的,并且可以在LCD上直接使用。使用字符型的按鍵編號可以提高代碼的可讀性和可維護性。
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 午夜在线视频 | 中文字幕一区二区三区四区五区 | 日韩欧美在线精品 | 蜜桃视频在线观看www社区 | 亚洲人va欧美va人人爽 | 亚洲日本欧美日韩高观看 | 狠狠躁天天躁夜夜躁婷婷老牛影视 | 国产黄色在线观看 | 岛国二区| 国产馆| 一级黄色在线 | 国产高清在线 | 91国自视频 | 日韩电影一区二区三区 | 91视视频在线观看入口直接观看 | 自拍偷拍亚洲一区 | 日韩免费一区二区 | 欧美精品三区 | 91精品国产91久久久久游泳池 | 伊人无码高清 | 成人国产精品久久 | 欧美国产一区二区 | 羞羞视频一区二区 | 久久国产欧美日韩精品 | 中文字幕国产在线 | 99久久婷婷国产综合精品电影 | 成人精品久久 | 99精品久久久| 久久久精品视 | 久久国产精品99久久久久久丝袜 | 91精品久久久久久久99 | 国产91精品久久久久久久网曝门 | 成人免费视频 | 国产资源在线观看 | 国产高清视频 | 欧美中文字幕一区二区三区亚洲 | 91精品国产色综合久久 | 国产福利资源在线 | 午夜理伦三级理论三级在线观看 | 亚洲国产日韩欧美 | 欧美日韩高清一区 |