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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

51單片機(jī)電子琴實(shí)物與源代碼

[復(fù)制鏈接]
ID:249096 發(fā)表于 2018-1-3 19:01 | 顯示全部樓層 |閱讀模式
51單片機(jī)電子琴實(shí)物圖:
IMG_20180103_185254.jpg

單片機(jī)源程序如下:
  1. #include<reg52.h>
  2. unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
  3. unsigned char temp;
  4. unsigned char key;
  5. unsigned char i,j;
  6. unsigned char STH0;
  7. unsigned char STL0;
  8. unsigned int code tab[]={64021,64103,64260,64400,64524,64580,64684,64777,64820,64898,64968,65030,65058,65110,65157,65178};
  9. sbit P3_4=P3^4;
  10. sbit P3_5=P3^5;
  11. sbit P3_6=P3^6;
  12. sbit P3_7=P3^7;
  13. sbit P1_0=P1^0;

  14. void main(void)
  15. {
  16.    TMOD=0x01;
  17.    ET0=1;
  18.    EA=1;

  19.    while(1)
  20.      {
  21.             P3=0xff;
  22.                 P3_4=0;
  23.                 temp=P3;
  24.                 temp=temp&0x0f;
  25.         if
  26.                 (temp!=0x0f)
  27.                 {
  28.                            for(i=50;i>0;i--)
  29.                         for(j=200;j>0;j--)
  30.                         temp=P3;
  31.                         temp=temp&0x0f;
  32.                 if
  33.                     (temp!=0x0f)
  34.                         {
  35.                            temp=P3;
  36.                            temp=temp&0x0f;
  37.                            switch(temp)
  38.                            {
  39.                               case 0x0e:
  40.                                   key=0;
  41.                                   break;
  42.                                    case 0x0d:
  43.                                   key=1;
  44.                                   break;
  45.                                    case 0x0b:
  46.                                   key=2;
  47.                                   break;
  48.                                    case 0x07:
  49.                                   key=3;
  50.                                   break;
  51.                            }
  52.                            temp=P3;
  53.                            P1_0=~P1_0;
  54.                            P0=table[key];
  55.                            STH0=tab[key]/256;
  56.                            STL0=tab[key]%256;
  57.                            TR0=1;
  58.                            temp=temp&0x0f;
  59.                            while(temp!=0x0f)
  60.                            {
  61.                               temp=P3;
  62.                                   temp=temp&0x0f;
  63.                            }
  64.                            TR0=0;
  65.                         }
  66.                 }
  67.                 P3=0xff;
  68.                 P3_5=0;
  69.                 temp=P3;
  70.                 temp=temp&0x0f;
  71.                 if
  72.                     (temp!=0x0f)
  73.                  {
  74.                            for(i=50;i>0;i--)
  75.                         for(j=200;j>0;j--)
  76.                         temp=P3;
  77.                         temp=temp&0x0f;
  78.                 if
  79.                     (temp!=0x0f)
  80.                         {
  81.                            temp=P3;
  82.                            temp=temp&0x0f;
  83.                            switch(temp)
  84.                            {
  85.                               case 0x0e:
  86.                                   key=4;
  87.                                   break;
  88.                                    case 0x0d:
  89.                                   key=5;
  90.                                   break;
  91.                                    case 0x0b:
  92.                                   key=6;
  93.                                   break;
  94.                                    case 0x07:
  95.                                   key=7;
  96.                                   break;
  97.                            }
  98.                           temp=P3;
  99.                            P1_0=~P1_0;
  100.                            P0=table[key];
  101.                            STH0=tab[key]/256;
  102.                            STL0=tab[key]%256;
  103.                            TR0=1;
  104.                            temp=temp&0x0f;
  105.                            while(temp!=0x0f)
  106.                            {
  107.                               temp=P3;
  108.                                   temp=temp&0x0f;
  109.                            }
  110.                            TR0=0;
  111.                         }
  112.                 }
  113.                 P3=0xff;
  114.                 P3_6=0;
  115.                 temp=P3;
  116.                 temp=temp&0x0f;
  117.                 if
  118.                     (temp!=0x0f)
  119.                  {
  120.                            for(i=50;i>0;i--)
  121.                         for(j=200;j>0;j--)
  122.                         temp=P3;
  123.                         temp=temp&0x0f;
  124.                 if
  125.                     (temp!=0x0f)
  126.                         {
  127.                            temp=P3;
  128.                            temp=temp&0x0f;
  129.                            switch(temp)
  130.                            {
  131.                               case 0x0e:
  132.                                   key=8;
  133.                                   break;
  134.                                    case 0x0d:
  135.                                   key=9;
  136.                                   break;
  137.                                    case 0x0b:
  138.                                   key=10;
  139.                                   break;
  140.                                    case 0x07:
  141.                                   key=11;
  142.                                   break;
  143.                            }
  144.                         temp=P3;
  145.                            P1_0=~P1_0;
  146.                            P0=table[key];
  147.                            STH0=tab[key]/256;
  148.                            STL0=tab[key]%256;
  149.                            TR0=1;
  150.                            temp=temp&0x0f;
  151.                            while(temp!=0x0f)
  152.                            {
  153.                               temp=P3;
  154.                                   temp=temp&0x0f;
  155.                            }
  156.                            TR0=0;
  157.                         }
  158.                 }
  159.                 P3=0xff;
  160.                 P3_7=0;
  161.                 temp=P3;
  162.                 temp=temp&0x0f;
  163.                 if
  164.                     (temp!=0x0f)
  165.                  {
  166.                            for(i=50;i>0;i--)
  167.                         for(j=200;j>0;j--)
  168.                         temp=P3;
  169.                         temp=temp&0x0f;
  170.                 if
  171.                     (temp!=0x0f)
  172.                         {
  173.                            temp=P3;
  174.                            temp=temp&0x0f;
  175.                            switch(temp)
  176.                            {
  177.                               case 0x0e:
  178.                                   key=12;
  179.                                   break;
  180.                                    case 0x0d:
  181.                                   key=13;
  182.                                   break;
  183.                                    case 0x0b:
  184.                                   key=14;
  185.                                   break;
  186.                                    case 0x07:
  187.                                   key=15;
  188.                                   break;
  189.                            }
  190.                         temp=P3;
  191.                            P1_0=~P1_0;
  192.                            P0=table[key];
  193.                            STH0=tab[key]/256;
  194.                            STL0=tab[key]%256;
  195.                            TR0=1;
  196.                            temp=temp&0x0f;
  197.                            while(temp!=0x0f)
  198.                            {
  199.                               temp=P3;
  200.                                   temp=temp&0x0f;
  201.                            }
  202.                            TR0=0;
  203.                         }
  204.                 }
  205.     }
  206. }
  207. void t0(void) interrupt 1 using 0
  208. {
  209.    TH0=STH0;
  210.    TL0=STL0;
  211.    P1_0=~P1_0;
  212. }
復(fù)制代碼

所有資料51hei提供下載:
新建 Microsoft Word 97 - 2003 文檔.doc (29 KB, 下載次數(shù): 15)

評(píng)分

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

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 手机在线观看 | 国产aa| 久久伊人精品一区二区三区 | 欧美一级大片免费观看 | 丁香久久| 99热这里都是精品 | 亚洲精品一二三区 | 国产欧美精品一区二区三区 | 99久久精品一区二区毛片吞精 | 看毛片网站 | 久久精品色欧美aⅴ一区二区 | 精品无码久久久久久国产 | 久久伦理电影 | 日韩免费高清视频 | 在线观看国产网站 | 久久久免费电影 | 91视频国产区 | 午夜精品久久久久久久久久久久久 | 国产视频久久 | 国产高清在线观看 | 亚洲日日夜夜 | 中文字幕一区二区三区四区 | 久草色播 | 中文字幕高清av | 国产精品精品久久久久久 | 午夜精品一区二区三区在线播放 | 日本不卡一区 | 97日韩精品 | 亚洲国产精品99久久久久久久久 | 亚洲一区二区三区免费在线观看 | 亚洲精品高清视频在线观看 | 正在播放国产精品 | 在线一级片| 日本久久久一区二区三区 | 日韩国产一区二区三区 | 久久国产激情视频 | 欧美精品在线一区二区三区 | 草比网站| 国产日韩91| 午夜理伦三级理论三级在线观看 | 精品久久久一区 |