找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 10105|回复: 9
打印 上一主题 下一主题
收起左侧

单片机简易电子琴(蜂鸣器)制作

  [复制链接]
跳转到指定楼层
楼主
简易电子琴制作出来的实物图:


喇叭用 的蜂鸣器代替

单片机源程序如下:
  1. #include <reg52.h>

  2. unsigned char i,j,temp;
  3. sbit P3_3=P3^3;
  4. void delay(unsigned int c);
  5. void DO();
  6. void RA();
  7. void MI();
  8. void FA();
  9. void SO();
  10. void LA();
  11. void XI();
  12. void HDO();
  13. void MUSIC();

  14. void main()
  15. {
  16.   IE=0;
  17.         TMOD=0x10;
  18.         TR1=1;
  19.         while(1)
  20.         {
  21.                 do
  22.                 {
  23.                   P1=0xff;
  24.                         temp=P1;
  25.                         temp=~temp;
  26.                 }
  27.                 while(temp==0x00);
  28.                                 switch(temp)
  29.                                 {
  30.                                         case(0x01):DO(); break;
  31.                                         case(0x02):RA(); break;
  32.                                         case(0x04):MI(); break;
  33.                                         case(0x08):FA(); break;
  34.                                         case(0x10):SO(); break;
  35.                                         case(0x20):LA(); break;
  36.                                         case(0x40):XI(); break;
  37.                                         default   :HDO();  break;
  38.                                 }
  39.                       MUSIC();
  40.   }      
  41. }

  42. void DO()
  43. {
  44.   i=0x21;
  45.         j=0xf9;
  46. }

  47. void RA()
  48. {
  49.   i=0xe0;
  50.         j=0xf9;
  51. }

  52. void MI()
  53. {
  54.   i=0x8b;
  55.         j=0xfa;
  56. }

  57. void FA()
  58. {
  59.   i=0xd7;
  60.         j=0xfa;
  61. }

  62. void SO()
  63. {
  64.   i=0x67;
  65.         j=0xfb;
  66. }

  67. void LA()
  68. {
  69.   i=0xe8;
  70.         j=0xfb;
  71. }

  72. void XI()
  73. {
  74.   i=0x5b;
  75.         j=0xfc;
  76. }

  77. void HDO()
  78. {
  79.   i=0x8e;
  80.         j=0xfc;
  81. }

  82. void MUSIC()
  83. {
  84.   TL1=i;
  85.         TH1=j;
  86.         do
  87.         {
  88.     while(TF1!=1);
  89.     TF1=0;
  90.     TL1=i;
  91.     TH1=j;
  92.     P3_3=~P3_3;
  93.     temp=~P1;               
  94.         }
  95.                 while(temp!=0x00);
  96.                 P3_3=1;
  97. ……………………

  98. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
简易电子琴(蜂鸣器).zip (27.11 KB, 下载次数: 102)



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏5 分享淘帖 顶1 踩1
回复

使用道具 举报

沙发
ID:308395 发表于 2018-4-17 16:54 | 只看该作者
审核人到底有没有认真审核,楼主压缩包里根本就没有编程,这不是在耗费我黑币嘛!
已经发生过好几次这样的情况了。
回复

使用道具 举报

板凳
ID:1 发表于 2018-4-17 18:05 | 只看该作者
宫商角徵羽smile 发表于 2018-4-17 16:54
审核人到底有没有认真审核,楼主压缩包里根本就没有编程,这不是在耗费我黑币嘛!
已经发生过好几次这样的 ...

buzz.c 就是程序文件 我刚下载看了
回复

使用道具 举报

地板
ID:310787 发表于 2018-4-18 13:02 | 只看该作者
不错,值得学习学习
回复

使用道具 举报

5#
ID:331797 发表于 2018-5-17 01:30 | 只看该作者
buzz.c 就是程序文件啊,我刚也做了一个类似的 就来看看.
回复

使用道具 举报

6#
ID:331922 发表于 2018-5-17 10:22 | 只看该作者
不错,值得学习学习
回复

使用道具 举报

7#
ID:362555 发表于 2019-7-19 11:28 | 只看该作者
不错,值得学习学习
回复

使用道具 举报

8#
ID:448788 发表于 2019-7-23 10:48 | 只看该作者
确实制作不错
回复

使用道具 举报

9#
ID:282095 发表于 2019-7-23 11:23 | 只看该作者
就是按键+蜂鸣器不是很难
回复

使用道具 举报

10#
ID:382375 发表于 2019-9-7 15:14 | 只看该作者
admin 发表于 2018-4-17 18:05
buzz.c 就是程序文件 我刚下载看了

为什么总看见你这个头像,长得那么丑
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表