您的位置:

cc语言独立按键,cc单键是什么键

本文目录一览:

C语言独立按键按第一下为什么归0

if(k==0)

{

i++;

if(i15)

{i=0;}

while((a50)(k==0))

{

delay();

a++;

}a=0;

P0=bl[i];

}

把i++;这行放到 P0=bl[i]; 后面

c语言独立按键控制程序复位

第一,直接使用硬件来复位,将原本要接到P3.3的电平接到硬件复位上,当然需要一定的设计

第二,还是硬件,直接将此电平接到看门狗电路上

第三,软件,前提是你的单片机支持软件复位(包括直接复位和内置的看门狗)

51单片机 ,用C语言编程 通过独立按键控制蜂鸣器和静态数码管,

1.数码管前三位显示一个跑表,从000到999之间以1%秒速度运行,当按下一个独立键盘时跑表停止,松开手后跑表继续运行。(用定时器设计表)。

code:

#includereg52.h

#define uchar unsigned char

#define uint unsigned int

sbit key1 = P3^4;

sbit dula = P2^6;

sbit wela = P2^7;

uchar code table[]={

0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71};

uint num;

uchar bai, shi, ge, flag = 0,t0 = 0;

void delay(uchar z);

void display(void);

void main(void)

{

num = 0;

P3 = 0xff;

TMOD = 0x01;

TH0 = (65536-10000) / 256;

TL0 = (65536-10000) % 256;

EA = 1;

ET0 = 1;

TR0 = 1;

while(1) {

if(key1 == 0) {

delay(5);

if(key1 == 0) {

flag = 1;

}

while(!key1);

delay(5);

while(!key1);

}

display();

}

}

void display(void)

{

dula = 1;

P0 = table[num / 100];

dula = 0;

P0 = 0xff;

wela = 1;

P0 = 0xfe;

wela = 0;

delay(1);

dula = 1;

P0 = table[num % 100 / 10];

dula = 0;

P0 = 0xff;

wela = 1;

P0 = 0xfd;

wela = 0;

delay(1);

dula = 1;

P0 = table[num % 10];

dula = 0;

P0 = 0xff;

wela = 1;

P0 = 0xfb;

wela = 0;

delay(1);

}

void delay(uchar z)

{

uchar

c语言 独立按键按下计数

一般是200MS的时间,如果有大部分是按下的就算按下

比如此阶段扫描十次的话,7次按下就算按下

或者扫描一次就把结果放入缓存区,缓存区里有十个数,取平均值作为结果

作为按键的实际情况

c语言 怎样用两个独立按键控制一位数码管显示 就是按下其中一个按键就加1 按下另一个按键就减1 0~9显示

这个实现是很容易的,定义两个键,一个为加,一个为减,数码管因为只有一个,所以可以用静态显示。程序和仿真图如下:

#includereg51.h

#define uchar unsigned char

uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f};

sbit keyup=P3^0;

sbit keydn=P3^1;

main()

{

uchar i;

i=0;

while(1)

{

P1=table[i];

if(keyup==0)

{

i++;

while(keyup==0);

}

if(keydn==0)

{

if(i0)i--;

while(keydn==0);

}

i%=10;

}

}