该计数器用于对按键次数的计算,比如鼠标中的微按钮或其它按钮做QC测试用.该程序为汇编延时程序,用了取两次定时中断的键值做比较以达到简单防抖动和取健值的目的.本计数器的计数范围为0-999999,最大的频率为50Hz.
该电路的主要核心电路是用AT89C51组成的按键取值电路,S3S4分别控制计数值的加减.3906控制数码管使用的是共阳极.
原理图:
实物图:
程序如下:
#include
#define Key_UP P3_6 //上调
#define Key_DOWN P3_7 //下调
#define LED P0
#define LED1 P2_2 //LED控制
#define LED2 P2_3 //LED控制
#define LED3 P2_4 //LED控制
#define LED4 P2_5 //LED控制
#define LED5 P2_6 //LED控制
#define LED6 P2_7 //LED控制
unsigned char code LEDDis[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
//共阳0-9的LED笔划
static unsigned cha