找回密码
 立即注册

QQ登录

只需一步,快速开始

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

新人制作的基于51单片机7按键电子琴

[复制链接]
跳转到指定楼层
楼主
ID:211109 发表于 2017-6-14 13:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <reg52.h>
sbit LED = P0^0;
sbit BEEP = P0^1;
unsigned int H,L;

void init(void)
{
        BEEP = 1;
        LED = 1;
        P1 = 0xff;
        EA = 1;
        ET0 = 1;
    TMOD = 0x01;
}

void main(void)
{
        unsigned int i;
        unsigned int code tone[] = {523,587,659,698,784,880,988};
        init();
        while(1)
        {
                switch(~P1)
                {
                        case 0x80: i = 0;LED=0;break;
                        case 0x40: i = 1;break;
                        case 0x20: i = 2;break;
                        case 0x10: i = 3;break;
                        case 0x08: i = 4;break;
                        case 0x04: i = 5;break;
                        case 0x02: i = 6;break;
                        case 0x00: i = 7;break;
                }
                        if(i!=7)
                        {
                                H = (65536-1000000/tone[i]/2)/256;
                                L = (65536-1000000/tone[i]/2)/256;
                                TH0 = H;
                                TH0 = L;
                                TR0=1;
                                while(P1!=0xff);
                                TR0=0;
                                BEEP=1;
                                LED = 1;
                        }
                        else
                        {
                                TR0= 0 ;
                                BEEP= 0 ;
                        }
        }
                       
}

void timer0(void) interrupt 1
{
        TH0 = H;
        TL0 = L;
        BEEP = ~BEEP;
}


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

使用道具 举报

沙发
ID:401656 发表于 2018-9-23 20:29 | 只看该作者
请问这个是可以按键的吗?
为什么这个就能发出不同频率的声音啊……新人求教!
回复

使用道具 举报

板凳
ID:401727 发表于 2018-9-24 09:36 来自手机 | 只看该作者
电路该咋连啊
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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