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

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

基于51單片機之16鍵電子琴實驗例程

作者:CaKen   來源:轉自CaKen工作室   點擊數:  更新時間:2014年08月28日   【字體:

**************************  Copyright(C) CaKe  ****************************************

========================================================================================
==============**版權信息  : CaKen工作室                                ==============
==============**文件名    : main.c              ==============
==============**作者      : CaKen              ==============
==============**版本號    : V1.0               ==============
==============**時間      : 2014.08.23               ==============
==============**功能描述  : 16鍵電子琴實驗測試         ==============
========================================================================================
****************************************************************************************
 
#include"reg52.h"
 
#define uchar unsigned  char      //宏定義
#define uint  unsigned  int
 
#define  CaKen_KEY1  P1          //定義按鍵
#define  CaKen_KEY2  P2
 
sbit CaKen_SPEAKER = P3^7;         //蜂鳴器
 
uchar CaKen_MUSIC;        //全局變量
uchar CaKen_STH0;
uchar CaKen_STL0;
 
unsigned int code Tab[]=        //電子琴音頻符
{
64021,64103,64260,64400,           //低音3開始
64524,64580,64684,64777,
64820,64898,64968,65030,
65058,65110,65157,65178
};
 
=====================================================================================
==================函數名: main
======================================================================================
void main()
{
   TMOD = 0x01;          //定時器0工作模式=方式1 (0 0 0 1) 16位定時器/計數器
   ET0  = 1;       //定時器0中斷允許
   EA   = 1;       //開啟總中斷
 
   CaKen_KEY1=0xff;   //按鍵初始化,高電平
   while(1)        //進入循環
     {
   if(CaKen_KEY1!=0xff|CaKen_KEY2!=0xff)
        {
       switch(~CaKen_KEY1)  //顯示的列位置
     {
       case 0x01: CaKen_MUSIC = 1;break;
    case 0x02: CaKen_MUSIC = 2;break;
    case 0x04: CaKen_MUSIC = 3;break;
    case 0x08: CaKen_MUSIC = 4;break;
    case 0x10: CaKen_MUSIC = 5;break;
    case 0x20: CaKen_MUSIC = 6;break;
    case 0x40: CaKen_MUSIC = 7;break;
    case 0x80: CaKen_MUSIC = 8;break;
    default:break;
   }
    switch(~CaKen_KEY2)
    {
    case 0x01: CaKen_MUSIC = 9 ;break;
    case 0x02: CaKen_MUSIC = 10;break;
    case 0x04: CaKen_MUSIC = 11;break;
    case 0x08: CaKen_MUSIC = 12;break;
    case 0x10: CaKen_MUSIC = 13;break;
    case 0x20: CaKen_MUSIC = 14;break;
    case 0x40: CaKen_MUSIC = 15;break;
    case 0x80: CaKen_MUSIC = 16;break;
    default:break;
     }
  
     CaKen_STH0 = Tab[CaKen_MUSIC]/256;
     CaKen_STL0 = Tab[CaKen_MUSIC]%6;
     TR0  = 1; //開啟定時器0 進入定時器中斷函數
 
     }
    else
    {
      CaKen_SPEAKER = 1;        //關蜂鳴器
   TR0 = 0;            //關定時器
    }
  }  
}
 
======================================================================================
  ==================函數名:定時器中斷服務函數
=======================================================================================
 
void CaKen_QQ1145266160_TIMER0(void) interrupt 1
{
   TH0 = CaKen_STH0;
 TL0 = CaKen_STL0;
 CaKen_SPEAKER = ~CaKen_SPEAKER;
}
 
 
 
 
=======================================================================================
 -------------------      CaKen工作室  原創作品     --------------------
 -------------------            CaKen工作室  版權所有       --------------------
========================================================================================
 
關閉窗口
主站蜘蛛池模板: 国产高清视频在线 | 在线播放毛片 | 中文字幕免费在线观看 | 九九在线观看高清免费 | xxxxx国产| 精品久久久久久久久久久久久久久久 | 日韩久久综合 | 日本不卡中文字幕 | 五月天婷婷在线观看 | 成人在线视频免费观看 | 国产黄色一级片 | 青草视频网站 | 欧美性爽 | 久草福利视频 | 久久久久久九九九九 | 在线网站免费观看18 | 涩涩久久| 99热99re6国产在线播放 | 国产精品日韩在线 | 蜜桃视频成人 | 日本一级大毛片a一 | 一区二区三区中文字幕 | www.一级片 | 成人av免费看 | 91久久国产综合久久91精品网站 | 国产又粗又猛又黄又爽的视频 | 欧美黄色一级 | 日本午夜视频 | 求av网址| 亚洲精品1| 久久黄色影院 | 色黄大色黄女片免费中国 | 蜜乳av懂色av粉嫩av | 精品一区二区三区中文字幕 | 午夜在线观看视频 | 亚洲成人毛片 | 欧美日韩a| 日韩在线观看中文字幕 | 天堂中文资源在线 | 日韩精品毛片 | 九九视频在线观看 |