欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

如何將單片機C語言改成匯編語言?

[復制鏈接]
跳轉到指定樓層
樓主
100黑幣
將以下改成簡單的匯編語言,并標上備注

  1. #include<reg52.h>
  2. sbit KEY0=P0^0;
  3. sbit KEY1=P0^1;
  4. sbit KEY2=P0^2;
  5. sbit KEY3=P0^3;
  6. sbit KEY4=P0^4;
  7. unsigned chara[]={0x01,0x02,0x04,0x08};
  8. unsigned charb[]={0x08,0x04,0x02,0x01};
  9. unsigned charc[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8};
  10. unsigned chari,s=0,f=0;
  11. unsigned chark=200;
  12. unsigned char l=4;
  13. voiddelay(unsigned int t)
  14. {
  15.        unsigned char j,b;
  16. b=t;
  17.        while(b--)
  18.        {
  19.               for (j=0;j<125;j++);
  20.        }
  21. }
  22. void key()
  23. {P0=0x1f;
  24.        if(P0!=0x1f)
  25.        {delay(30);
  26.               if(P0!=0x1f)
  27.               {delay(30);
  28.        if(KEY0==0)
  29.        {s=1;}
  30.        if(KEY1==0)
  31.        {f=1;}
  32.        if(KEY4==0)
  33.        {s=0;
  34.               f=0;}
  35.        if(KEY2==0)
  36.               {if(l>1)
  37.                l--;}
  38.        if(KEY3==0)
  39.         {if(l<7)
  40.      l++;}
  41.         }}
  42.         }
  43. void speed()
  44.         {switch(l)
  45.                      {case 7:k=50;P1=c[l];break;
  46.                             case6:k=100;P1=c[l];break;
  47.                             case5:k=150;P1=c[l];break;
  48.                             case4:k=200;P1=c[l];break;
  49.                             case3:k=250;P1=c[l];break;
  50.                             case2:k=300;P1=c[l];break;
  51.                             case1:k=350;P1=c[l];break;}
  52.                      }
  53. void main()
  54. {
  55.        while(1)
  56.        {key();
  57.        while(s>0)
  58.        {speed();
  59.                      for(i=0;i<4;i++)
  60.                             {
  61.                                    P2=b[i];
  62.                                    delay(k);
  63.                                    key();
  64.                             }
  65.                             delay(100);
  66.                             key();
  67.               }
  68.       
  69.        while(f>0)
  70.        {speed();
  71.                      for(i=0;i<4;i++)
  72.                             {
  73.                                    P2=a[i];
  74.                                    delay(k);
  75.                                    key();
  76.                             }
  77.                             delay(100);
  78.                             key();
  79.               }
  80.        }
  81.        }
復制代碼


51hei圖片20200524133054.png (48.49 KB, 下載次數: 61)

51hei圖片20200524133054.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:584814 發表于 2020-5-25 10:21 | 只看該作者
C改匯編可以先編譯C再反匯編
如果要有注釋的必須先讀懂C再改寫成匯編沒其他路子
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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