畢業設計我想用單片機做壹個電子琴,程序最好是c語言編寫的,那個好心人可以幫我提供點資料,要錢的免進!
www.doyoung.net
上有好多,要的話我還有流程圖
/*********************************************************************************************
程序名:DoToy系列作品?MidTouch21電子琴程序
編寫人:杜洋?
編寫時間:?2009年6月3日
硬件支持:?STC11L60XE?外部12MHZ晶振?電源3V
接口說明:?詳見《DoToy_MidTouch21電路原理圖》?
修改日誌:?
NO.1-20090603_17.54?完成電子琴21鍵的測試(20090603_1備) NO.2-20090604_01.29?改為第二次新板的硬件電路(20090604_2備)/*********************************************************************************************
說明:
用STC11Fxx單片機I/O接口的高阻態輸入功能,掃描I/O接口電平。
手指將VCC線和I/O接口線半連接,產生高電平信號。
/*********************************************************************************************/
void?INIT(void);
#include?<STC11Fxx.H>?
/*********************************************************************************************/
sbit?SPEAKER?=?P1^0;//揚聲器,低使能
sbit?LED=?P3^0;//LED正極,強推
sbit?LED2=?P3^1;//LED負極
sbit?KEY11=?P2^0;
sbit?KEY12=?P2^1;
sbit?KEY13=?P2^2;
sbit?KEY14=?P2^3;
sbit?KEY15=?P2^4;
sbit?KEY16=?P2^5;
sbit?KEY17=?P2^6;
sbit?KEY21=?P2^7;
sbit?KEY22=?P4^4;
sbit?KEY23=?P4^5;
sbit?KEY24=?P4^6;
sbit?KEY25=?P0^7;
sbit?KEY26=?P0^6;
sbit?KEY27=?P0^5;
sbit?KEY31=?P0^4;
sbit?KEY32=?P0^3;
sbit?KEY33=?P0^2;
sbit?KEY34=?P0^1;
sbit?KEY35=?P0^0;
sbit?KEY36=?P3^3;
sbit?KEY37=?P3^2;
/*********************************************************************************************/
unsigned?char?MUSIC;?
unsigned?char?STH0,STL0;
unsigned?int?code?tab[]={?//音階表
63628,63835,64021,64103,64260,64400,64524,?//低音1-7
64580,64684,64777,64820,64898,64968,65030,?//中音1-7
65058,65110,65157,65178,65217,65252,65283?//高音1-7
};?
/*********************************************************************************************/
void?delay1ms?(unsigned?int?a){?//?1ms延時程序(12MHz?10倍於51單片機速度時)
unsigned?int?i; while(?--a?!=?0){ for(i?=?0;?i?<?600;?i++);? }?}/***************************************************************************************/
void?INIT(void){//初始化程序
TMOD=0x11;? ET0=1;? ET1=1;? EA=1; P0M1?=?0xff;//I/O接口工作方式? P0M0?=?0x00;//P0全為高阻輸入? P1M1?=?0xfe;//P1.0為準雙向,其他為高阻輸入? P1M0?=?0x00;? P2M1?=?0xff;//P2全為高阻輸入? P2M0?=?0x00;? P3M1?=?0xfc;//P3.0為強推,其他為標準雙向? P3M0?=?0x01;? P4M1?=?0xff;//P4全為高阻輸入? P4M0?=?0x00;? P4SW?=?0xff;? LED?=?1; LED2?=?0; SPEAKER?=?0;}
/***************************************************************************************/
void?main(void){
INIT();?//初始化? while(1){ if(KEY37?==?1){delay1ms(20);if(KEY37?==?1){MUSIC?=?20;}}?//高音B(37) if(KEY36?==?1){delay1ms(20);if(KEY36?==?1){MUSIC?=?19;}} if(KEY35?==?1){delay1ms(20);if(KEY35?==?1){MUSIC?=?18;}} if(KEY34?==?1){delay1ms(20);if(KEY34?==?1){MUSIC?=?17;}} if(KEY33?==?1){delay1ms(20);if(KEY33?==?1){MUSIC?=?16;}} if(KEY32?==?1){delay1ms(20);if(KEY32?==?1){MUSIC?=?15;}} if(KEY31?==?1){delay1ms(20);if(KEY31?==?1){MUSIC?=?14;}}//3?
if(KEY27?==?1){delay1ms(20);if(KEY27?==?1){MUSIC?=?13;}} if(KEY26?==?1){delay1ms(20);if(KEY26?==?1){MUSIC?=?12;}} if(KEY25?==?1){delay1ms(20);if(KEY25?==?1){MUSIC?=?11;}} if(KEY24?==?1){delay1ms(20);if(KEY24?==?1){MUSIC?=?10;}} if(KEY23?==?1){delay1ms(20);if(KEY23?==?1){MUSIC?=?9;}} if(KEY22?==?1){delay1ms(20);if(KEY22?==?1){MUSIC?=?8;}} if(KEY21?==?1){delay1ms(20);if(KEY21?==?1){MUSIC?=?7;}}//2?
if(KEY17?==?1){delay1ms(20);if(KEY17?==?1){MUSIC?=?6;}} if(KEY16?==?1){delay1ms(20);if(KEY16?==?1){MUSIC?=?5;}} if(KEY15?==?1){delay1ms(20);if(KEY15?==?1){MUSIC?=?4;}} if(KEY14?==?1){delay1ms(20);if(KEY14?==?1){MUSIC?=?3;}} if(KEY13?==?1){delay1ms(20);if(KEY13?==?1){MUSIC?=?2;}} if(KEY12?==?1){delay1ms(20);if(KEY12?==?1){MUSIC?=?1;}} if(KEY11?==?1){delay1ms(20);if(KEY11?==?1){MUSIC?=?0;}}//1
if(MUSIC?!=?0xff){?//如果有音階數值(非0XFF時) STH0=tab[MUSIC]/256;?//將音階的頻率值裝入定時器T0? STL0=tab[MUSIC]%256;? TR0=1;?//啟動定時器MUSIC?=?0xff;?//清除寄存器
}else{?//否則? SPEAKER?=?1;?//關揚聲器LED?=?1;
TR0=0;?//關定時器
}?}?
}?
/***************************************************************************************/
void?t0(void)?interrupt?1?using?0{//定時器0產生音頻?
TH0=STH0;? TL0=STL0;? SPEAKER=~SPEAKER;?//取反頻率產生音調 LED?=?SPEAKER;?//LED同頻閃爍?}
/***************************************************************************************/
/*************************************************************
*?杜洋工作室?www.DoYoung.net
/*************************************************************/