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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1692|回復(fù): 4
收起左側(cè)

單片機(jī)矩陣鍵盤顯示電路 數(shù)碼管顯示是亂碼的情況,怎么辦

[復(fù)制鏈接]
ID:1104202 發(fā)表于 2023-12-13 22:44 | 顯示全部樓層 |閱讀模式
目的:矩陣鍵盤顯示電路,采用4*4鍵盤,用4位數(shù)碼管顯示輸入的數(shù)字,依次將輸入數(shù)字組合在一起顯示
51hei圖片20231213224401.jpg
單片機(jī)源程序如下:
  1. #include <reg51.h>
  2. unsigned char  WEI[]={0x01,0x02,0x04,0x08,0x10,0x20};
  3. unsigned char table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
  4. unsigned char a[4] = {0,0,0,0};
  5. unsigned char temp;
  6. unsigned char key();
  7. unsigned char i,n,shu;
  8. void delayms(unsigned int ms);
  9. void keyscan(void);
  10. void shuma(unsigned char par,unsigned char dat)
  11. {
  12. P2 = WEI[par];
  13. P0 = table[dat];
  14. }

  15. void main()
  16. {
  17. i = n = 0;
  18.   while(1)
  19.   {
  20.    shu = key();
  21.    if(shu !=17)
  22.    {
  23.     a[n] = shu;
  24.     n++;
  25.     if(n>3) n = 0;
  26.    }
  27.    shuma(i,a[i]);
  28.    i++;
  29.    if(i>3) i = 0;
  30.    delayms(10);
  31.   }
  32. }
  33. unsigned char key()
  34. {
  35. unsigned char key1;
  36. key1 = 17;
  37. P3 = 0xEf;
  38. if (P3 != 0xEf)
  39. {
  40.   delayms(10);
  41.   switch(P3)
  42.   {
  43.    case 0xE7:key1 = 0;break;
  44.    case 0xEB:key1 = 1;break;
  45.    case 0xED:key1 = 2;break;
  46.    case 0xEE:key1 = 3;break;
  47.   }
  48.   while(P3 != 0xEf);
  49. }

  50. P3 = 0xDF;
  51. if (P3 != 0xDF)
  52. {
  53.   delayms(10);
  54.   switch(P3)
  55.   {
  56.    case 0xD7:key1 = 4;break;
  57.    case 0xDB:key1 = 5;break;
  58.    case 0xDD:key1 = 6;break;
  59.    case 0xDE:key1 = 7;break;
  60.   }
  61.   while(P3 != 0xDF);

  62. }

  63. P3 = 0xBF;
  64. if (P3 != 0xBF)
  65. {
  66.   delayms(10);
  67.   switch(P3)
  68.   {
  69.    case 0xb7:key1 = 8;break;
  70.    case 0xBB:key1 = 9;break;
  71.    case 0xBD:key1 = 10;break;
  72.    case 0xBE:key1 = 11;break;
  73.   }
  74.     while(P3 != 0xBF);
  75. }


  76. P3 = 0x7f;
  77. if (P3 != 0x7f)
  78. {
  79. delayms(10);
  80.   switch(P3)
  81.   {
  82.    case 0x77:key1 = 12;break;
  83.    case 0x7B:key1 = 13;break;
  84.    case 0x7D:key1 = 14;break;
  85.    case 0x7E:key1 = 15;break;
  86.   }
  87.   while(P3 != 0x7f);
  88. }

  89. return key1;
  90. }



  91. void delayms(unsigned int ms)
  92. {
  93.   unsigned int x,y;
  94. for (x=ms;x>0;x--)        
  95.   for(y=120;y>0;y--);
  96. }
復(fù)制代碼

回復(fù)

使用道具 舉報(bào)

ID:883242 發(fā)表于 2023-12-13 23:37 | 顯示全部樓層
根本就沒亂,那么顯眼的“6512”四個(gè)數(shù)字看不見???
回復(fù)

使用道具 舉報(bào)

ID:1104185 發(fā)表于 2023-12-13 23:52 | 顯示全部樓層
送你模塊化的程序

3.矩陣按鍵行列掃描法.rar

291.97 KB, 下載次數(shù): 6

回復(fù)

使用道具 舉報(bào)

ID:190832 發(fā)表于 2023-12-14 08:43 | 顯示全部樓層
Hephaestus 發(fā)表于 2023-12-13 23:37
根本就沒亂,那么顯眼的“6512”四個(gè)數(shù)字看不見???

哈哈    好眼力
回復(fù)

使用道具 舉報(bào)

ID:161164 發(fā)表于 2023-12-14 09:03 | 顯示全部樓層
  1. void shuma(unsigned char par,unsigned char dat)
  2. {
  3. P0 = 0xFF;//消影
  4. P2 = WEI[par];
  5. P0 = table[dat];
  6. }
復(fù)制代碼

先試試加消影
感覺共陰共陽弄錯(cuò)了
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 午夜视频在线播放 | 久久久www成人免费精品 | 婷婷综合五月 | 在线观看不卡av | 清清草视频 | 激情综合网站 | 日韩黄色一级片 | 日韩午夜精品 | 天天爽天天干 | av免费观看在线 | 国产黄a三级三级三级看三级男男 | 黄视频网站在线观看 | 三级黄色片网站 | 少妇一级淫片免费看 | 免费黄色av | 亚洲欧洲综合 | 欧美狠狠干 | 饥渴放荡受np公车奶牛 | 性生活网址 | 四虎在线播放 | 亚洲精品社区 | 国产日本在线 | 97国产在线观看 | 亚洲激情欧美 | 一区二区日韩 | 久久免费看视频 | 日韩福利在线 | 日韩毛片在线观看 | avxxxxx| 国产日韩欧美在线观看 | 97国产精品视频 | 久久精品一区二区三区不卡牛牛 | 精品视频免费观看 | 国产成人免费在线观看 | 男人午夜影院 | 人人爱人人 | 国产欧美精品 | 久久国产欧美 | 中文字幕免费高清 | 欧美在线视频一区 | 日韩精品久久久久久久 |