标题: 新人制作的基于51单片机7按键电子琴 [打印本页]

作者: 钰杰Life    时间: 2017-6-14 13:17
标题: 新人制作的基于51单片机7按键电子琴
#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;
}



作者: 祁醉醉    时间: 2018-9-23 20:29
请问这个是可以按键的吗?
为什么这个就能发出不同频率的声音啊……新人求教!
作者: 多嘉腊孜    时间: 2018-9-24 09:36
电路该咋连啊




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1