資源簡介
030 矩陣鍵盤 電子琴 仿真 51單片機 proteus仿真

代碼片段和文件信息
#include
#include
#define?uchar?unsigned?char?
#define?uint?unsigned?int
//以下是C調低音的音頻宏定義
#define?L1??262????//將“L1“宏定義為低音“1“的頻率262Hz?????????時間是1/262=3826/2?us????取半周期
#define?L2??286????//將“L2“宏定義為低音“2“的頻率286Hz
#define?L3??311????//將“L3“宏定義為低音“3“的頻率311Hz
#define?L4??349????//將“L4“宏定義為低音“4“的頻率349Hz
#define?L5??392????//將“L5“宏定義為低音“5“的頻率392Hz
#define?L6??440????//將“l_a“宏定義為低音“6“的頻率440Hz
#define?L7??494????//將“L7“宏定義為低音“7“的頻率494Hz
//以下是C調中音的音頻宏定義
#define?Z1????523?????//將“Z1“宏定義為中音“1“的頻率523Hz
#define?Z2????587?????//將“Z2“宏定義為中音“2“的頻率587Hz
#define?Z3????659?????//將“Z3“宏定義為中音“3“的頻率659Hz
#define?Z4????698?????//將“Z4“宏定義為中音“4“的頻率698Hz
#define?Z5????784?????//將“Z5“宏定義為中音“5“的頻率784Hz
#define?Z6????880?????//將“Z6“宏定義為中音“6“的頻率880Hz
#define?Z7????987?????//將“Z7“宏定義為中音“7“的頻率523H??????
//以下是C調高音的音頻宏定義
#define?H1??1046????//將“H1“宏定義為高音“1“的頻率1046Hz
#define?H2??1174????//將“H2“宏定義為高音“2“的頻率1174Hz
#define?H3??1318????//將“H3“宏定義為高音“3“的頻率1318Hz
#define?H4??1396????//將“H4“宏定義為高音“4“的頻率1396Hz
#define?H5??1567????//將“H5“宏定義為高音“5“的頻率1567Hz
#define?H6??1760????//將“H6“宏定義為高音“6“的頻率1760Hz
#define?H7??1975????//將“H7“宏定義為高音“7“的頻率1975Hz
#define?GPIO_KEY?P3
#define?WEI?P2??
#define?DATA?P0
/*??******************************************????*/
//??********???硬件端口定義???
/*??******************************************????*/
sbit?sound?=?P1?^?6;????//蜂鳴器
/*??******************************************????*/
//??********???程序變量定義
/*??******************************************????*/
char?code?table[]={0xc00xf90xa40xb00x990x920x820xf80x800x900x880x830xc60xa10x860x8e};
char?code?wei[]={0x010x020x040x08};
unsigned?int?C;?????//儲存定時器的定時常數
unsigned?KeyValue;
unsigned?int?TEMP_C=0;
/*??******************************************????*/
//??********???延時1ms?????????用于一般延時
/*??******************************************????*/
void?delay(uint?z)
{
????uint?x;
????while?(z--)
????{
????????for?(x?=?125;?x?>?0;?x--)
????????????;
????}
}
/*??******************************************????*/
//??********???定時器初始化函數??用了定時器1
/*??******************************************????*/
void?init_timer(void)
{
????EA?=?1;?????????//開總中斷
????ET1?=?1;????????//定時器T1中斷允許
????TMOD?&=?0x0f;
????TMOD?|=?0x00;????//?使用定時器T1的模式1(13位計數器)
????TR1?=?1;
TMOD?|=?0x01;
ET0?=?1;
TR0?=?1;
TH0?=(65536-50000)/256;???????????????//計數初值重裝載
????TL0?=(65536-50000)%256;
}
/*??******************************************????*/
//??********???按鍵掃描???
/*??******************************************????*/
void?ScanKey(void)
{
????char?a?=?0;
????GPIO_KEY?=?0x0f;
????if?(GPIO_KEY?!=?0x0f)????//讀取按鍵是否按下
????{
????????delay(5);????//延時10ms進行消抖
????????if?(GPIO_KEY?!=?0x0f)????//再次檢測鍵盤是否按下
????????{
????????????//測試列
????????????GPIO_KEY?=?0X0F;
????????????switch?(GPIO_KEY)
????????????{
????????????case?(0X07):
???????????????KeyValue?=?0;?
????????????????break;
????????????case?(0X0b):
?????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-04-24?16:47??030?矩陣鍵盤電子琴\
?????文件???????23209??2018-06-24?15:08??030?矩陣鍵盤電子琴\adasdas.PDF
?????文件???????24431??2019-04-24?16:47??030?矩陣鍵盤電子琴\adasdas.pdsprj
?????文件????????2198??2019-04-24?16:47??030?矩陣鍵盤電子琴\adasdas.pdsprj.ANOOP.PC1.workspace
?????文件???????24203??2019-04-24?16:45??030?矩陣鍵盤電子琴\Last?Loaded?adasdas.pdsbak
?????目錄???????????0??2019-04-24?16:42??030?矩陣鍵盤電子琴\程序\
?????文件????????6776??2018-06-23?21:56??030?矩陣鍵盤電子琴\程序\main.c
?????文件???????12792??2018-06-23?21:56??030?矩陣鍵盤電子琴\程序\main.LST
?????文件???????10402??2018-06-23?21:56??030?矩陣鍵盤電子琴\程序\main.OBJ
?????文件????????9474??2018-06-23?21:56??030?矩陣鍵盤電子琴\程序\PWM_MOTOS
?????文件????????4096??2018-06-23?21:56??030?矩陣鍵盤電子琴\程序\PWM_MOTOS.hex
?????文件??????????45??2018-06-23?21:56??030?矩陣鍵盤電子琴\程序\PWM_MOTOS.lnp
?????文件???????12801??2018-06-23?21:56??030?矩陣鍵盤電子琴\程序\PWM_MOTOS.M51
?????文件???????10461??2018-06-23?21:56??030?矩陣鍵盤電子琴\程序\PWM_MOTOS.plg
?????文件???????71125??2019-04-24?16:42??030?矩陣鍵盤電子琴\程序\PWM_MOTOS.uvgui.PC1
?????文件????????5567??2019-04-24?16:42??030?矩陣鍵盤電子琴\程序\PWM_MOTOS.uvopt
?????文件???????13776??2019-04-24?16:42??030?矩陣鍵盤電子琴\程序\PWM_MOTOS.uvproj
?????文件???????55212??2018-06-19?23:19??030?矩陣鍵盤電子琴\程序\PWM_MOTOS_uvopt.bak
?????文件???????????0??2018-05-13?17:17??030?矩陣鍵盤電子琴\程序\PWM_MOTOS_uvproj.bak
?????文件????????7241??2018-06-24?13:22??030?矩陣鍵盤電子琴\程序\新建文本文檔.txt
?????文件??????274617??2018-11-21?20:51??如何運行仿真.docx
?????文件?????????691??2019-04-24?15:13??說明書.txt
評論
共有 條評論