基于51单片机的按键计数设计,4位,0到9999
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于51单片机的按键计数设计,4位,0到9999相关的知识,希望对你有一定的参考价值。
2. 基于51单片机的按键计数器设计显示格式为:XX XX ,4位LED数码管显示0 ~ 9999。操作要求:KEY1 、KEY2分别用于加减预置计数次数,按下一次数字分别加减一,如果连续按下超过2秒,则数字快速连续加减变化;KEY3用于计数器启动/预置状态切换,按第一次进入预置状态,再按一次回到计数状态;KEY4用于模拟单片机外部计数脉冲,每按下一次显示的设置加一,如果计数次数到预置数,则数字闪烁,蜂鸣器发音。源程序
数码管有四位一体的,只用一个就行了,你这用两个二位一体的数码管,电路就显得有些乱。还有,你那数码管的段控端少接一条导线,就是数码管的G端也要连线哪。
更重要的是,共阳数码管位控端用三极管驱动,当写程序扫描时,数码管不亮。追问
最重要是程序,电路都是小问题,改改就好了。。
追答程序可以有偿代写
参考技术A 百度一下基于单片机8位竞赛抢答器仿真设计-全套资料
【资源下载】下载地址:点击下载(1266) 百度网盘
#include<reg51.h>
sbit DIN=P3^0;//与max7219接口定义
sbit LOAD=P3^1;
sbit CLK=P3^2;
sbit key0=P1^0;//8路抢答器按键
sbit key1=P1^1;
sbit key2=P1^2;
sbit key3=P1^3;
sbit key4=P1^4;
sbit key5=P1^5;
sbit key6=P1^6;
sbit key7=P1^7;
sbit key_clear=P2^0;//主持人时间设置、清除
sbit begin=P2^1;//主持人开始按键
sbit sounder=P3^7;//蜂鸣器
unsigned char second=30;//秒表计数值
unsigned char counter=0;//counter每100,minite加1
unsigned char people=0;//抢答结果
unsigned char num_add[]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08};//max7219读写地址、内容
unsigned char num_dat[]={0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89};
unsigned char keyscan()//键盘扫描函数
{
unsigned char keyvalue,temp;
以上是关于基于51单片机的按键计数设计,4位,0到9999的主要内容,如果未能解决你的问题,请参考以下文章
基于51单片机定时器计数+2片74HC595联级+8位数码管时钟+按键修改时间