独立按键和矩阵键盘差不多,不过它因为只有8个,不用刷,更为简单,这里我就不详说了。
#include <reg52.h>
#include "delay.h"//延时程序
#define KEYPORT P1//独立按键连接P1口
sbit beep = P2^7;//蜂鸣器
unsigned char High,Low;//高低音
unsigned char code freq[][2]={ //发出”到瑞秘法少拉稀倒“音
0xD8,0xF7,//00440HZ 1
0xBD,0xF8,//00494HZ 2
0x87,0xF9,//00554HZ 3
0xE4,0xF9,//00587HZ 4
0x90,0xFA,//00659HZ 5
0x29,0xFB,//00740HZ 6
0xB1,0xFB,//00831HZ 7
0xEF,0xFB,//00880HZ `1
};
void timer0_isr(void) interrupt 1
{
TH0 = High;
TL0 = Low;
beep = ~beep;
}
void timer0_init(void)
{
EA = 1;
TMOD |= 0x01;
TH0 = 0;
TL0 = 0;
ET0 = 1;
TR0 = 0;
}