c语言数码管按键计数,长按键实现加减计数及数码管显示例程

#include

实现功能:利用2个键:加、减键,实现一个加减计数器,每短按一下加键,数码管显示加1,最大到999999,长按加键3秒,进入到自加模式,每0.25秒加1,直到加键放开。减键也是一样处理。显示时,高位的0不要显示出来,比如要显示的计数值为586,那么左边的3个数码管将不显示。

///KEY4键为加键,KEY12键为减键

sbit ADDR0 = P1^0;

sbit ADDR1 = P1^1;

sbit ADDR2 = P1^2;

sbit ADDR3 = P1^3;

sbit ENLED = P1^4;

sbit KEY1 = P2^4;

sbit KEY2 = P2^5;

sbit KEY3 = P2^6;

sbit KEY4 = P2^7;

sbit kout1 = P2^3;

sbit kout3 = P2^1;

#define uchar unsigned char

#define uint  unsigned

int

#define  add_key  1

#define sub_key  2

unsigned char key_value=0;

static unsigned long cnt =0 ;

unsigned long t =0 ;

unsigned char flagls=0;

bit t3s_time_flag=0;

bit t05s_time_flag=0;

uchar t3s_time_count=0;

bit  t3s_time_over_flag=0;

uchar t05s_time_count=0;

bit  t05s_time_over_flag=0;

unsigned char code LedChar[] = {

//数码管显示字符转换表

0xC0, 0xF9, 0xA4, 0xB0,

0x99, 0x92, 0x82, 0xF8,

0x80, 0x90, 0x88, 0x83,

0xC6, 0xA1, 0x86, 0x8E

};

unsigned char LedBuff[6] = {

//数码管显示缓冲区

0xFF, 0xFF, 0xFF, 0xFF,

0xFF, 0xFF

};

void delay(void);

void key_sca

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值