找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機矩陣鍵盤數(shù)碼管顯示 Proteus仿真代碼 數(shù)碼管顯示不完整

[復(fù)制鏈接]
ID:974141 發(fā)表于 2021-10-23 22:06 | 顯示全部樓層 |閱讀模式
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei.gif

單片機源程序如下:

  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int

  4. void delay1(int x){
  5.         uint i,j;
  6.         for(i=0;i<123;i++)
  7.                 for(j=0;j<x;j++);
  8. }

  9. //uchar led[]={0x00,0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0X77,0X7C,0X39,0X5e,0X79,0X71};
  10. uchar led[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0X71 };


  11. unsigned int num[]={0xee,0xed,0xeb,0xe7,0xde,0xdd,0xdb,0xd7,
  12.                                         0xbe,0xbd,0xbb,0xb7,0x7e,0x7d,0x7b,0x77};

  13. unsigned char hang[]={0xef,0xdf,0xbf,0x7f};   
  14.         uchar key_scan(){  
  15.                 uchar a,i,n;
  16.                 for(a=0;a<4;a++){         
  17.                         P1=hang[a];     
  18.                         if(P1!=hang[a]){                  
  19.                                 delay1(100);
  20.                                 if(P1!=hang[a]){                        
  21.                                         for(i=0;i<4;i++){  
  22.                                                 if(P1==num[4*a+i]){                                                
  23.                                                         n=4*a+i+1;  
  24.                                                 }               
  25.                                         }
  26.                                 }
  27.                         }
  28.         }
  29.         return n;  
  30. }

  31. main()      
  32. {
  33.         P2=0XFE;
  34.         while(1)
  35.         {
  36.                 P0=led[key_scan()];
  37.         }
  38. }
  39.         
  40.         
復(fù)制代碼

Proteus7.5版本的dsn工程文件下載:
51單片機_矩陣鍵盤.zip (66.34 KB, 下載次數(shù): 79)


評分

參與人數(shù) 1黑幣 +10 收起 理由
admin + 10 共享資料的黑幣獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:767282 發(fā)表于 2022-6-15 12:52 | 顯示全部樓層
請問為什么我的仿真數(shù)碼管顯示不完整啊
回復(fù)

使用道具 舉報

ID:1082543 發(fā)表于 2023-6-7 23:47 | 顯示全部樓層
19863998098 發(fā)表于 2022-6-15 12:52
請問為什么我的仿真數(shù)碼管顯示不完整啊

可以檢查一下電阻
回復(fù)

使用道具 舉報

ID:332444 發(fā)表于 2023-6-8 16:38 | 顯示全部樓層
編號數(shù)組={119,183,215,231,123,187,219,235,125,189,221,237,126,190,222,238}這樣就完成了對矩陣鍵盤的重編正好用上前些天寫的對無序數(shù)組四分快速查找算法.
回復(fù)

使用道具 舉報

ID:332444 發(fā)表于 2023-6-9 10:18 | 顯示全部樓層
依據(jù)不同電路圖重新排列
1.png
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表