找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機基于六位數(shù)碼管的簡易加法計算器Proteus仿真程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:711823 發(fā)表于 2020-5-8 21:12 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
自己用4*4矩陣鍵盤與六位數(shù)碼管仿真的加法計算器(已經(jīng)做好啦,按鍵消抖 ,數(shù)碼管鬼影現(xiàn)象)


  1. void LedScan()   //六位數(shù)碼管動態(tài)掃描
  2. {  
  3.           static unsigned char i=0;
  4.     P0 = 0xFF;   //顯示消隱
  5.                 switch(i)       //每過1ms從低到高位刷新一個數(shù)碼管
  6.                 {
  7.                         case 0:P2=0x01;i++; P0=        LedBuff[0]; break;
  8.                         case 1:P2=0x02;i++; P0=        LedBuff[1]; break;
  9.                         case 2:P2=0x04;i++; P0=        LedBuff[2]; break;
  10.                         case 3:P2=0x08;i++; P0=        LedBuff[3]; break;
  11.                         case 4:P2=0x10;i++; P0=        LedBuff[4]; break;
  12.                         case 5:P2=0x20;i=0; P0=        LedBuff[5]; break;
  13.                         default :break;
  14.                 }
  15. }
  16. void KeyScan()    //矩陣按鍵動態(tài)掃描
  17. {
  18.         unsigned char i;
  19.         static unsigned char keyout = 0;
  20.         static unsigned char keybuf[4][4] = {
  21.         {0xff,0xff,0xff,0xff},
  22.         {0xff,0xff,0xff,0xff},
  23.         {0xff,0xff,0xff,0xff},
  24.         {0xff,0xff,0xff,0xff},        
  25.         };
  26.               /******按鍵消抖***************/
  27.         keybuf[keyout][0] = (keybuf[keyout][0] <<1)|KEY_INT_1;
  28.         keybuf[keyout][1] = (keybuf[keyout][1] <<1)|KEY_INT_2;
  29.         keybuf[keyout][2] = (keybuf[keyout][2] <<1)|KEY_INT_3;
  30.         keybuf[keyout][3] = (keybuf[keyout][3] <<1)|KEY_INT_4;
  31.         for(i=0;i<4;i++)
  32.                 {
  33.                         if((keybuf[keyout][i] & 0x0F) == 0x00)
  34.                         {
  35.                                 KeySta[keyout][i] = 0;
  36.                         }
  37.                         else if ((keybuf[keyout][i] & 0x0F) == 0x0f)
  38.                         {
  39.                                 KeySta[keyout][i] = 1;
  40.                         }
  41.                         
  42.                 }
  43.           keyout++;
  44.           keyout=keyout & 0x03;
  45.                
  46.                 switch(keyout)    //掃描矩陣鍵盤
  47.                 {
  48.                         case 0: KEY_OUT_4 = 1;KEY_OUT_1 = 0;break;
  49.                         case 1: KEY_OUT_1 = 1;KEY_OUT_2 = 0;break;
  50.                         case 2: KEY_OUT_2 = 1;KEY_OUT_3 = 0;break;
  51.                         case 3: KEY_OUT_3 = 1;KEY_OUT_4 = 0;break;
  52.                         default:break;
  53.                 }
復制代碼
全部資料51hei下載地址:
簡單加法器.rar (70.2 KB, 下載次數(shù): 108)

評分

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

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:701343 發(fā)表于 2020-5-18 15:56 | 只看該作者
不帶仿真圖嗎?
回復

使用道具 舉報

板凳
ID:711823 發(fā)表于 2020-5-21 10:26 | 只看該作者

(.pdsprj)文件在里面啊
回復

使用道具 舉報

地板
ID:747667 發(fā)表于 2020-6-1 11:56 來自手機 | 只看該作者
沒有proteus仿真圖
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

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