51单片机上有两个独立按键,一个共阳极数码管!

51单片机上有两个独立按键,一个共阳极数码管,当按下K1不放时显示数值,接着按下K2时数值加1;当按下K2不放时显示数值,接着按下K1时数值减1;这要用到组合键,怎么编程???

第1个回答  2012-05-24
if(K1)
{
if(K2) num+; //此处设一标志位,做好按钮的单次处理,即K2从按下到释放只处理一次。
display(num); //数码管显示子程序
}
K2同。
这算不上是组合键,组合键一般指,多键按下时处理不同于任何单健按下的效果。
第2个回答  2012-05-24
一定需要这么麻烦吗?那你可以while(K1==0)//K1接按键接地
{
if(K2==0)//消抖
{
delay(5);
if(K2)
/*数值加一程序*/
}
K2的同理
}

编程实现51单片机,P2口连接一个共阳极数码管,每到1s更新显示0~9s,要求...
include<reg52.h> include <intrins.h> define uchar unsigned char define uint unsigned int uchar code TABLE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77};\/\/七段码表 主程序中:TMOD=0X10;TH1=(65536-50000)\/256;TL1=(65536-50000)%256;ET1=1;\/\/开定时器1...

51单片机为什么要先按独立按键才能正常工作
51(开发板)中的数码管一次只能显示一位数,属于硬件限制,不能同时显示两位。在数码管上显示多位数只能靠高频率的刷新显示,在视觉上显示多位。所以可以定义一个变量i,按键i自加,然后用循环显示,循环次数为i。根据提供的函数,表明你的板子LED是共阳极连接的,即LED阳极接到一起,每个LED阴极接IO...

51单片机仿真软件中数码管叫什么
数码管(其实就是LED)如果是共阳极,那么单片机可以驱动显示。如果是共阴极,单片机则不能驱动显示(或者灯光微弱),因为单片机的IO口无法提供足够高的电流,此时需要外部电路器件提供一个大电流驱动的芯片。51单片机介绍 51单片机是对兼容英特尔8051指令系统的单片机的统称。51单片机广泛应用于家用电器、汽车、...

现有一个51单片机系统,P2口接一个共阳极的LED数码管,编写程序满足如下要 ...
另外你程序里出现的是P1,但你的题目描述是P2,如果真是P2口,那么我给你的程序中P1要改为P2,还有就是还不知你的硬件接的对不,要注意一点,51单片机是弱上拉的。

51单片机控制的数码管原理是什么?
数码管其实是由发光二极管组成,有共阴极和共阳极之分,对于共阳极来说,一位数码管由8个二极管组成,他们的阳极接在一起接+5v电源,而各个阴极与某个端口,如p1的8个引脚相连,当某个引脚输出低电平的时候数码管对应的二极管亮。问题补充:因为人的眼睛具有迟滞性,如果给一位数码管接通0.3秒地时间,...

求汇编程序,两个按键开关,一个数码管,一个开关按一按使数码管加一,另一...
硬件连接:按键1连接在P1。0口 按键2连接在P1。1口 数码管连接在P0口 an1 bit p1.0 an2 bit p1.1 con equ 31h org 0 ajmp start org 30h start:mov dptr,#table mov con,#0 main: lcall anjian lcall display ajmp main anjian:jb an1,next lcall dely jb an1,next inc con mo...

51单片机数码管如何依次点亮?
51单片机数码管依次点亮:选择数码管操作称为位选,根据自己的开发板原理图找到位选对应的管脚,以共阴极为例。要在编程时执行选中操作,只要给对应管脚低电平即可。段选同样。如果每个单独连接占用管脚太多,很浪费硬件资源,所以采用多位串联控制。数码管通常有两种不同的接法,共阴极和共阳极,共阴极顾...

51单片机c语言设计,按键控制数码管,依次按下显示0到9循环?
假设你的是共阳极数码管,P0接数码。按键接P2^0;include<reg52.h> typedef unsinged int uint;sbit key=P2^0;unsigned char tab[]={0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};void denay(uint x){ uint i,j;for(i=x;i>0;i--)for(j=110;j>0;j--)} void main(){ u...

一位共阳极数码管怎么与单片机相连
1、首先你要明白一位共阳极数码管可以理解为8个发光二极管的正极连在一起构成了他们的公共正极,即共阳极。如果公共的正极接在了正电源上得话,8个发光二级管的负极分别接电源的负极就可以分别点亮8个发光二极管中的一个,不同的接法可以构成不同的数字,这8个负极叫做笔选端。2、和单片机连接的话(...

...显示数字加一,两个按键控制分别控制两个数码管的计数显示
include <reg51.h>sbit k1=P3^0;sbit k2=P3^1;unsigned char shi,ge;unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; \/\/共阳极数码管void delay(unsigned int z){unsigned int x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void display...

相似回答
大家正在搜