大家可以帮忙看一下一下代码吗? 我已经看了将近一周了但达不到我的目的,每个独立键盘控制不同频率的声音,求各位大师帮忙啊! #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++); }
|