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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2253|回復: 4
打印 上一主題 下一主題
收起左側(cè)

摁第一個鍵,數(shù)碼管第一位顯示加數(shù)1. 摁第二個鍵,選擇加法 摁第三個鍵,數(shù)碼管第...

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:150397 發(fā)表于 2017-3-25 14:03 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. #include<reg52.h>                                                                                                                                                                                                                                                                                                                  #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit dula=P2^6;
  5. sbit wela=P2^7;

  6. uchar code table[]={
  7. 0x3f,0x06,0x5b,0x4f,
  8. 0x66,0x6d,0x7d,0x07,
  9. 0x7f,0x6f,0x77,0x7c,                  
  10. 0x39,0x5e,0x79,0x71};

  11. uchar jia,dengyu,qian,hou,gongneng,yunsuan,key;


  12. void delayms(uint xms)
  13. {
  14.         uint i,j;
  15.         for(i=xms;i>0;i--)
  16.         for(j=110;j>0;j--);
  17. }


  18. void display(int num)
  19. {
  20.         uchar ge,shi;
  21.         switch(num)
  22.         {
  23.                 case 1:dula=0;
  24.                            P0=table[key];
  25.                            dula=1;

  26.                            wela=0;
  27.                            P0=0xef;
  28.                            wela=1;
  29.                            delayms(5);
  30.                            break;

  31.                 case 2:dula=0;
  32.                            P0=table[key];
  33.                            dula=1;
  34.                            dula=0;

  35.                            wela=0;
  36.                            P0=0xdf;
  37.                        wela=1;
  38.                            delayms(5);
  39.                 case 3:dula=0;
  40.                            P0=table[key];
  41.                            dula=1;
  42.                            dula=0;

  43.                            wela=0;
  44.                            P0=0xbf;
  45.                        wela=1;
  46.                            delayms(5);
  47.                 case 4:ge=key/10;
  48.                            shi=key%10;
  49.                            dula=0;
  50.                            P0=table[ge];
  51.                            dula=1;
  52.                            dula=0;

  53.                            wela=0;
  54.                            P0=0xfe;
  55.                        wela=1;
  56.                            delayms(5);

  57.                            dula=0;
  58.                            P0=table[shi];
  59.                            dula=1;
  60.                            dula=0;

  61.                            wela=0;
  62.                            P0=0xfd;
  63.                        wela=1;
  64.                            delayms(5);
  65.                 }
  66.   
  67. }

  68.        
  69.        
  70. void matrixkeyscan()
  71. {
  72.         int temp;

  73.         P3=0xfe;
  74.         temp=P3;
  75.         temp=temp&0xf0;
  76.         if(temp!=0xf0)
  77.         {
  78.                 delayms(5);
  79.                 temp=P3;
  80.                 temp=temp&0xf0;
  81.                 if(temp!=0xf0)
  82.                 {
  83.                         temp=P3;
  84.                         switch(temp)
  85.                         {
  86.                                 case 0xee:key=1;break;
  87.                                 case 0xde:key=2;break;
  88.                                 case 0xbe:key=3;break;
  89.                                 case 0x7e:key=4;break;               
  90.                         }
  91.                         while(temp!=0xf0)        //等待按鍵釋放
  92.                         {
  93.                                 temp=P3;
  94.                                 temp=temp&0xf0;
  95.                         }
  96.                        
  97.                 }
  98.         }

  99.         delayms(5);
  100.         P3=0xfd;
  101.         temp=P3;
  102.         temp=temp&0xf0;
  103.         if(temp!=0xf0)
  104.         {
  105.                 delayms(5);
  106.                 temp=P3;
  107.                 temp=temp&0xf0;
  108.                 if(temp!=0xf0)
  109.                 {
  110.                         temp=P3;
  111.                         switch(temp)
  112.                         {
  113.                                 case 0xed:key=5;break;
  114.                                 case 0xdd:key=6;break;
  115.                                 case 0xbd:key=7;break;
  116.                                 case 0x7d:key=8;break;       
  117.                        
  118.                         }
  119.                         while(temp!=0xf0)
  120.                         {
  121.                                 temp=P3;
  122.                                 temp=temp&0xf0;
  123.                         }
  124.                 }
  125.         }

  126.         delayms(5);
  127.         P3=0xfb;
  128.         temp=P3;
  129.         temp=temp&0xf0;
  130.         if(temp!=0xf0)
  131.         {
  132.                 delayms(5);
  133.                 temp=P3;
  134.                 temp=temp&0xf0;
  135.                 if(temp!=0xf0)
  136.                 {
  137.                         temp=P3;
  138.                         switch(temp)
  139.                         {
  140.                                 case 0xeb:key=9;break;
  141.                                 case 0xdb:key=0;break;
  142.                                 case 0x7b:key=dengyu;break;       
  143.                         }
  144.                         while(temp!=0xf0)
  145.                         {
  146.                                 temp=P3;
  147.                                 temp=temp&0xf0;
  148.                         }
  149.                 }
  150.         }

  151.         delayms(5);
  152.         P3=0xf7;
  153.         temp=P3;
  154.         temp=temp&0xf0;
  155.         if(temp!=0xf0)
  156.         {
  157.                 delayms(5);
  158.                 temp=P3;
  159.                 temp=temp&0xf0;
  160.                 if(temp!=0xf0)
  161.                 {
  162.                         temp=P3;
  163.                         switch(temp)
  164.                         {
  165.                                 case 0xe7:key=jia;break;
  166.                         }
  167.                         while(temp!=0xf0)
  168.                         {
  169.                                 temp=P3;
  170.                                 temp=temp&0xf0;
  171.                         }
  172.                 }               
  173.         }
  174. }


  175. void main()
  176. {
  177.         while(1)
  178.         {
  179.                 matrixkeyscan();//不停用鍵盤掃描程序
  180.                 gongneng=jia|dengyu;
  181.                 if(gongneng==0)
  182.                 {
  183.                         qian=key;
  184.                         display(1);
  185.                 }

  186.                 yunsuan=jia;
  187.                 if(yunsuan==1)
  188.                 {
  189.                         display(2);       
  190.                 }
  191.                 if(gongneng==0)
  192.                 {
  193.                         hou=key;
  194.                         display(3);
  195.                 }                       
  196.                 if(dengyu==1)
  197.                 {
  198.                         hou=qian+hou;
  199.                         display(hou);
  200.                 }
  201.         }
  202. }
復制代碼


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

使用道具 舉報

沙發(fā)
ID:150397 發(fā)表于 2017-3-25 14:04 | 只看該作者
我的顯示根本就不對   是哪里錯了請大神們指教
回復

使用道具 舉報

板凳
ID:82765 發(fā)表于 2017-3-25 14:30 | 只看該作者
提示: 作者被禁止或刪除 內(nèi)容自動屏蔽
回復

使用道具 舉報

地板
ID:150397 發(fā)表于 2017-3-25 15:04 | 只看該作者
cjjcjj1 發(fā)表于 2017-3-25 14:30
你的具體功能要求是什么?

摁第一個鍵,數(shù)碼管第一位顯示加數(shù)1.
摁第二個鍵,選擇加法
摁第三個鍵,數(shù)碼管第三位顯示加數(shù)2
緊接著數(shù)碼管后兩位顯示和
回復

使用道具 舉報

5#
ID:82765 發(fā)表于 2017-3-25 15:08 | 只看該作者
提示: 作者被禁止或刪除 內(nèi)容自動屏蔽
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一级毛毛片 | 成年人在线 | 欧美理论在线观看 | h视频免费在线观看 | 国产欧美一区二区三区日本久久久 | 三级成人在线 | 国产精品69毛片高清亚洲 | 国产日韩视频 | 最新中文字幕在线播放 | 亚洲午夜网 | 成人高清在线视频 | 国产a一区二区 | 韩国主播午夜大尺度福利 | 日本高清视频在线播放 | 一区二区国产精品 | 国产在线一区二区三区 | 插插插干干干 | 久久久久久国模大尺度人体 | 亚洲视频一区在线观看 | 国产高清视频一区 | 乱一性一乱一交一视频a∨ 色爱av | 性一交一乱一伦视频免费观看 | 亚洲午夜精品一区二区三区他趣 | 成年人在线观看 | 国产精品久久久久久久久久久久久 | 亚洲精品一区二区三区在线 | 国产精品美女久久久久久久久久久 | www.av在线| 中文字幕亚洲欧美日韩在线不卡 | 97伦理| 国产精品一区在线 | 羞羞视频免费观看入口 | 亚洲福利网 | 国产情侣激情 | 黑人久久久 | 国产视频中文字幕 | 久久国产精品久久 | 亚州一区二区三区 | 2019中文字幕视频 | 亚洲精品乱码久久久久久蜜桃91 | 伊人免费在线观看 |