一、使用proteus绘制简单的电路图,用于后续仿真
二、编写程序
/********************************************************************************************************************
---- @Project: Independent-KEY
---- @File: main.c
---- @Edit: ZHQ
---- @Version: V1.0
---- @CreationTime: 20200506
---- @ModifiedTime: 20200506
---- @Description: 两个独立按键S1和S2,按住其中一个按键,在短时间内松手,则认为是短按,触发蜂鸣器短鸣一声。如果一直按住这个按键不松手,那么超过规定的长时间内,则认为是长按,触发蜂鸣器长鸣一声。
---- 单片机:AT89C52
********************************************************************************************************************/
#include "reg52.h"
/*——————宏定义——————*/
#define FOSC 11059200L
#define T1MS (65536-FOSC/12/1000) /*1ms timer calculation method in 12Tmode*/
#define const_voice_short 80 /*蜂鸣器短叫的持续时间*/
#define const_voice_long 600 /*蜂鸣器长叫的持续时间*/
#define const_key_time_short1 60 /*短按的按键去抖动延时的时间*/
#define const_key_time_long1 1000 /*长按的按键去抖动延时的时间*/
#define const_key_time_short2 60 /*短按的按键去抖动延时的时间*/
#define const_key_time_long2 1000 /*长按的按键去抖动延时的时间*/
/*——————变量函数定义及声明