微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 51单片机程序——按键控制数码管变化

51单片机程序——按键控制数码管变化

时间:11-23 来源:互联网 点击:
#include

#define uint unsigned int

#define uchar unsigned char

#define dula P0

#define wela P1

sbit key=P3^2;

unsigned char code DuanMa[]={0xff,0xc0,0xf9,0xa4,0xb0,

0x99,0x92,0x82,0xf8,

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

0xa7,0xa1,0x86,0x8e};

uchar num;

void delay(uint z)

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

void main()

{

while(1)

{

if(key==0) //延迟再判断,确保按键确实被按下

{

delay(5);

if(key==0)

{

num++;

if(num==17)

num=0;

}

while(!key);  //同理,判断键盘确实已经松开

delay(5);

while(!key);

}

wela=0xff; //位选都打开,8位数码管都显示

dula=DuanMa[num]; //送段码

}

}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top