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

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

QQ登錄

只需一步,快速開始

搜索
查看: 1255|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

電子琴51單片機(jī)開發(fā)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:671640 發(fā)表于 2019-12-23 19:24 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include<REG52.H>
sbit speaker=P3^1;             //無源蜂鳴器
#define KeyPort P1                                        //按鍵
//////////////////////////////////////////////
unsigned char timer0h,timer0l,time;        //timer0h,timer0l為定時(shí)器T1的高低位初值,time為對(duì)應(yīng)的節(jié)拍時(shí)間
unsigned char key_num;  
signed int fre;                           //對(duì)應(yīng)頻率數(shù)據(jù)表的地址
void delay(unsigned char t);                   //延時(shí)子函數(shù),控制發(fā)音的時(shí)間長(zhǎng)度
void delayms(unsigned int t);                   //普通延時(shí)子程序,可用于按鍵消抖
// 頻率-半周期數(shù)據(jù)表 高八位  共保存了四個(gè)八度的28個(gè)頻率數(shù)據(jù)
unsigned char code FREQH[]={
    0xF2, 0xF3, 0xF5, 0xF5, 0xF6, 0xF7, 0xF8,            //低音1234567
    0xF9, 0xF9, 0xFA, 0xFA, 0xFB, 0xFB, 0xFC, 0xFC,        //1,2,3,4,5,6,7,i
    0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFE,                    //高音 234567
    0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF};           //超高音 1234567
// 頻率-半周期數(shù)據(jù)表 低八位
unsigned char code FREQL[]={
    0x42, 0xC1, 0x17, 0xB6, 0xD0, 0xD1, 0xB6,            //低音1234567
    0x21, 0xE1, 0x8C, 0xD8, 0x68, 0xE9, 0x5B, 0x8F, //1,2,3,4,5,6,7,i
    0xEE, 0x44, 0x6B, 0xB4, 0xF4, 0x2D,             //高音 234567
    0x47, 0x77, 0xA2, 0xB6, 0xDA, 0xFA, 0x16};           //超高音 1234567  
sbit smg=P3^0;
unsigned char table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//數(shù)碼管字符碼0-9
unsigned char High,Low;                         //定時(shí)器預(yù)裝值的高8位和低8位
void display(unsigned char n)         //顯示函數(shù)
{
  smg=0;                                                         //選中1位
  P2=table[n];                                         //P0口輸出數(shù)字碼,顯示十位數(shù)
  delayms(5);                                                         //延時(shí)5ms
}
/* 按鍵處理 */
void KEY()
{
        switch(KeyPort)                          //對(duì)按鍵進(jìn)行處理
        {
                 case 0xfe:key_num= 1;display(1);break;                //分別對(duì)應(yīng)不用的音調(diào)
                 case 0xfd:key_num= 2;display(2);break;
                 case 0xfb:key_num= 3;display(3);break;
                 case 0xf7:key_num= 4;display(4);break;
                 case 0xef:key_num= 5;display(5);break;
                 case 0xdf:key_num= 6;display(6);break;
                 case 0xbf:key_num= 7;display(7);break;
                 case 0x7f:key_num= 8;display(8);break;     
                 default:key_num= 0;break;
        }
        if(key_num==0)
        {
                   TR1=0;
          }
        else
        {       
                TR1=1;
                High=FREQH[key_num+6];                    //從數(shù)據(jù)表中讀出頻率數(shù)值,實(shí)際上是定時(shí)的時(shí)間長(zhǎng)度
                Low=FREQL[key_num+6];
        }
}
/* 主函數(shù) */
void main(void)
{
        TMOD=0x11;         //T0 T1 均在工作方式1
        ET1=1;          //T1開中斷
        EA=1;           //開總中斷         
        while(1)
        {
                KEY();                          //按鍵處理函數(shù)
        }
}
void delayms(unsigned int t)           //MS延時(shí)子程序
{
        unsigned int i,j;
        for(i=0;i<t;i++)
        {
                for(j=0;j<123;j++)
                        ;
        }
}
/* 定時(shí)器T1中斷子程序 */
void Timer1_isr(void) interrupt 3
{
        speaker=!speaker;        //輸出方波, 發(fā)音
        TH1=High;
        TL1=Low;
}
/* end */


3_7N1B6F7JYRFD(9CC{ZLX2.png (198.8 KB, 下載次數(shù): 47)

3_7N1B6F7JYRFD(9CC{ZLX2.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 狠狠躁18三区二区一区 | 国产一区二区毛片 | 一区二区三区四区在线 | 精品中文字幕视频 | 日韩欧美精品一区 | 一区二区三区四区不卡 | 日韩精品久久久久久 | 久久99精品久久久久 | www.色午夜.com | 久久亚洲精品国产精品紫薇 | 91免费观看 | 免费看a | 欧美成年网站 | 国产精品精品久久久 | 国产精品一区在线观看 | 亚洲美女在线视频 | 亚洲一区二区高清 | 国产一区二区在线观看视频 | 成人黄色三级毛片 | 欧美一区在线视频 | 亚洲风情在线观看 | 国产高清一区二区 | 精品久久国产 | 成人精品福利 | 男女免费在线观看视频 | 欧美三级在线 | 欧美日韩在线一区二区 | 欧美亚洲视频在线观看 | 国产一区不卡 | 欧美在线二区 | 九九精品热 | 国产精品久久午夜夜伦鲁鲁 | 久久青草av | 亚洲黄色av网站 | 毛片免费在线观看 | 日韩aⅴ视频 | 人人亚洲| 久久av一区二区三区 | 亚洲国产精品久久 | 五月天激情综合网 | 免费的av网站 |