51单片机按键计数c语言程序,利用AT89C51单片机制作的按键次数计数器

本文介绍了一种使用AT89C51单片机创建的按键计数器,适用于按钮测试。计数器通过比较两次定时中断的键值来防止抖动,最大计数范围为0-999999,最大频率为50Hz。电路包括按键读取和共阳极数码管显示,并提供了详细的C语言程序代码。
摘要由CSDN通过智能技术生成

该计数器用于对按键次数的计算,比如鼠标中的微按钮或其它按钮做QC测试用.该程序为汇编延时程序,用了取两次定时中断的键值做比较以达到简单防抖动和取健值的目的.本计数器的计数范围为0-999999,最大的频率为50Hz.

该电路的主要核心电路是用AT89C51组成的按键取值电路,S3S4分别控制计数值的加减.3906控制数码管使用的是共阳极.

原理图:

20110409231742019.jpg

实物图:

20110409231807472.jpg

程序如下:

#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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值