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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機電子琴完整程序

[復(fù)制鏈接]
ID:244243 發(fā)表于 2018-1-5 14:28 | 顯示全部樓層 |閱讀模式
單片機源程序如下:
  1. #include<reg52.h>                         //包含頭文件
  2. #define uint unsigned int
  3. #define uchar unsigned char         //宏定義
  4. sbit speaker=P1^4;                        //喇叭引腳定義
  5. uchar a,b;                                        //聲明兩個無符號字符型變量,用于定時器初值的賦值
  6. void check_key()                        //按鍵函數(shù)
  7. {
  8.         P3=0xff;//先賦給P3組口高電平
  9.         switch(P3)//當(dāng)有按鍵按下,P3口的狀態(tài)就會改變
  10.         {
  11.                 case 0xfe:P2=0x7f;a=0xfb;b=0xe9;EA=1;break;//當(dāng)?shù)谝粋按鍵按下,P3口狀態(tài)就是11111110,也就是0xfe,就執(zhí)行后面的P2口顯示數(shù)字1,并給定時器賦初值,打開中斷系統(tǒng)總開關(guān)
  12.                 case 0xfd:P2=0xbf;a=0xfc;b=0x5c;EA=1;break;//同上
  13.                 case 0xfb:P2=0xdf;a=0xfc;b=0xc1;EA=1;break;
  14.                 case 0xf7:P2=0xef;a=0xfc;b=0xef;EA=1;break;//P2組為發(fā)光二極管組
  15.                 case 0xef:P2=0xf7;a=0xfd;b=0x45;EA=1;break;//注意:EA不能改為TR0
  16.                 case 0xdf:P2=0xfb;a=0xfd;b=0x92;EA=1;break;
  17.                 case 0xbf:P2=0xfd;a=0xfd;b=0xd0;EA=1;break;
  18.                 case 0x7f:P2=0xfe;a=0xfd;b=0xee;EA=1;break;
  19.                 default:EA=0;speaker=0;P2=0xff;                           //當(dāng)P3口為其他狀態(tài)時(包括無按鍵按下和多按鍵按下)關(guān)閉聲音輸出和顯示
  20.         }
  21. }

  22. void main()                //主函數(shù)
  23. {
  24.         TMOD=0x01;        //定時器工作方式1
  25.         TH0=a;                //定時器0初值的高八位
  26.         TL0=b;                //定時器0初值的低八位
  27.         ET0=1;                //允許中斷
  28.         TR0=1;                //打開定時器
  29.         while(1)    //進入循環(huán)
  30.         {
  31.                 check_key();//掃描按鍵
  32.         }
  33. }

  34. void time0() interrupt 1          //定時器工作函數(shù)
  35. {
  36.         TH0=a;                                          //定時器高八位賦初值
  37.         TL0=b;                                          //定時器低八位賦初值
  38.         speaker=~speaker;                  //喇叭引腳取反
  39. }
復(fù)制代碼

所有資料51hei提供下載:
完整程序.docx (13.78 KB, 下載次數(shù): 12)


回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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