#include // sbit P1_0=P1^7; //DIP-SW // ^ ^ 上面的值依照腳位更改 sbit P3_5=P3^5; //BUZZER sbit P3_3=P3^3; //BTN_SW unsigned int t=(65536 - 11059000/(12*2*998)); //F=998 Hz // 上面的公式要背 ^上面的值依照頻率改 void delay(int); // main() { IE=0x84; TMOD=0x01; TCON=0x00; loop: if(P1_0==0) { P2=0xf0; //1111 0000 P2.7~P2.4暗,P2.3~P2.0亮 delay(32); P2=0x0f; //0000 1111 P2.7~P2.4亮,P2.3~P2.0暗 delay(32); //延遲0.4秒,這裡的數值大約給32 P2=0xf0; //1111 0000 delay(32); P2=0x0f; //0000 1111 delay(32); P2=0xf0; //1111 0000 delay(32); P2=0x0f; //0000 1111 delay(32); P2=0xf0; //1111 0000 delay(32); P2=0x0f; //0000 1111 delay(32); P2=0xf0; //1111 0000 delay(32); P2=0x0f; //0000 1111 delay(32); } else { P2=0XFF; } goto loop; } // void delay(int count) { int i,j; for(i=0;i