大家可以幫忙看一下一下代碼嗎? 我已經看了將近一周了但達不到我的目的,每個獨立鍵盤控制不同頻率的聲音,求各位大師幫忙啊! #include <reg52.h> unsigned char i,j,key; #define uint unsigned int #define uchar unsigned char uchar table[]={63343,640,63330}; uchar hz; sbit key1=P3^2; sbit key2=P3^3; sbit key3=P1^0; sbit key4=P1^1; sbit fenmingqi=P3^4; void delay(uint x); void program(uchar key); void init(); void main(void) { init(); if(key1==0) { hz=table[0]; program(key1); } if(key2==0) { hz=table[1]; program(key2); } } void t0(void) interrupt 1 using 0 { TH0=(65536-hz)/256; TL0=(65536-hz)%256; fenmingqi=~fenmingqi; } void program(uchar key) { TH0=(65536-hz)/256; TL0=(65536-hz)%256; if (key==0) { delay(2); if(key==0) TR0=1; } while(key1==0) fenmingqi=1; TR0=1; } void init() { TMOD=0x01; ET0=1; EA=1; } void delay(uint x) { uint y,i; for (y=0;y<x;y++) for(i=0;i<3;i++); }
|